@media (min-width: 1680px) {
  .pc-header-inner,
  .pc-detail-card,
  .pc-footer-inner {
    width: 1600px;
  }
}
@media (max-width: 1679.98px) and (min-width: 1400px) {
  .pc-header-inner,
  .pc-detail-card,
  .detail-card,
  .pc-article-card,
  .article-card,
  .pc-search-card,
  .search-card,
  .search-result-card,
  .pc-home-section,
  .home-section,
  .pc-list-card,
  .list-card,
  .page-title,
  .pc-footer-inner {
    width: 1280px;
  }
  .pc-nav li {
    padding-left: 28px;
  }
  .pc-detail-card {
    grid-template-columns: minmax(0, 470px) minmax(0, 1fr);
    gap: 42px 40px;
    height: auto;
  }
  .pc-detail-info {
    width: auto;
  }
  .detail-info {
    width: auto;
  }
  .pc-detail-info dd {
    width: auto;
  }
  .detail-meta dd {
    width: auto;
  }
  .pc-copy-section {
    width: 100%;
  }
  .copy-section {
    width: 100%;
  }
  .pc-detail-figure {
    justify-self: center;
  }
  .detail-figure {
    justify-self: center;
  }
  .pc-footer-text {
    flex: 1 1 auto;
    flex-basis: auto;
    max-width: calc(100% - 310px - 1px - 244px - 84px);
    font-size: 14px;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .results-page .result-grid {
    gap: 42px 30px;
  }
  .results-page .result-card {
    padding-bottom: 24px;
  }
  .results-page .result-card .box-info {
    padding: 0 24px;
  }
  .results-page .result-card p {
    max-height: 48px;
    margin: 12px 0 0;
    font-size: 15px;
    line-height: 24px;
  }
  .results-page .pager {
    margin-top: 48px;
  }
  .cases-page .result-grid {
    gap: 42px 30px;
  }
  .cases-page .result-card {
    padding-bottom: 40px;
  }
  .cases-page .result-card .box-info {
    padding: 0 24px;
  }
  .cases-page .result-card h3 {
    height: 26px;
    margin: 24px 0 0;
    font-size: 18px;
    line-height: 26px;
  }
  .cases-page .result-card p {
    max-height: 48px;
    margin: 12px 0 0;
    font-size: 15px;
    line-height: 24px;
  }
  .search-result-item {
    min-height: 158px;
  }
  .search-result-item .box-info {
    padding: 0 40px 0 34px;
  }
  .search-result-item h3 {
    height: 28px;
    margin-bottom: 14px;
    font-size: 19px;
    line-height: 28px;
  }
  .search-result-item p {
    max-height: 46px;
    font-size: 14px;
    line-height: 23px;
  }
  .video-card h3 {
    padding: 21px 20px 22px;
    font-size: 16px;
    line-height: 24px;
    color: #333333;
    text-align: center;
  }
  .video-thumb i {
    width: clamp(58px, 3.9vw, 66px);
    height: clamp(58px, 3.9vw, 66px);
  }
  .platform-list {
    gap: 34px 30px;
  }
  .platform-card {
    grid-template-columns: 70px minmax(0, 1fr) 38px;
    column-gap: 24px;
    min-height: 142px;
    padding: 32px 24px 32px 26px;
  }
  .platform-icon {
    width: 70px;
    height: 70px;
    border-radius: 14px;
  }
  .platform-icon img {
    width: 35px;
    height: 35px;
  }
  .platform-copy strong {
    font-size: 19px;
    line-height: 25px;
  }
  .platform-copy em {
    max-height: 48px;
    font-size: 15px;
    line-height: 24px;
  }
  .platform-arrow {
    width: 38px;
    height: 38px;
  }
}
@media (max-width: 1399.98px) and (min-width: 1200px) {
  .pc-header-inner,
  .pc-detail-card,
  .detail-card,
  .pc-article-card,
  .article-card,
  .pc-search-card,
  .search-card,
  .search-result-card,
  .pc-home-section,
  .home-section,
  .pc-list-card,
  .list-card,
  .page-title,
  .pc-footer-inner {
    width: 1120px;
  }
  .pc-logo {
    width: 538px;
    height: auto;
  }
  .pc-nav li {
    padding-left: 20px;
  }
  .pc-nav a {
    font-size: 18px;
  }
  .pc-detail-card,
  .detail-card {
    grid-template-columns: minmax(0, 300px) minmax(0, 1fr);
    gap: 40px 36px;
  }
  .detail-thumb {
    width: 300px;
  }
  .pc-detail-info,
  .detail-info {
    width: auto;
  }
  .pc-detail-info dd,
  .detail-meta dd {
    width: auto;
  }
  .pc-copy-section {
    width: 100%;
  }
  .copy-section {
    width: 100%;
  }
  .pc-detail-info {
    width: auto;
  }
  .detail-info {
    width: auto;
  }
  .pc-detail-info dd {
    width: auto;
  }
  .detail-meta dd {
    width: auto;
  }
  .pc-copy-section {
    width: 100%;
  }
  .copy-section {
    width: 100%;
  }
  .pc-detail-figure {
    justify-self: center;
  }
  .detail-figure {
    justify-self: center;
  }
  .pc-footer-inner {
    display: grid;
    grid-template-columns: 250px 1px minmax(0, 1fr) 244px;
    gap: 20px;
    align-items: center;
  }
  .pc-footer-logo {
    width: 250px;
    height: auto;
  }
  .pc-footer-divider {
    height: 72px;
  }
  .pc-footer-text {
    width: auto;
    min-width: 0;
    font-size: 14px;
    line-height: 24px;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .pc-footer-qrcode {
    justify-self: end;
    width: 244px;
  }
  .results-page .result-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 42px 30px;
  }
  .results-page .result-card {
    padding-bottom: 26px;
  }
  .results-page .result-card .box-info {
    padding: 0 26px;
  }
  .results-page .result-card p {
    max-height: 48px;
    margin: 12px 0 0;
    font-size: 15px;
    line-height: 24px;
  }
  .results-page .pager {
    margin-top: 46px;
  }
  .cases-page .result-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 42px 30px;
  }
  .cases-page .result-card {
    padding-bottom: 38px;
  }
  .cases-page .result-card .box-info {
    padding: 0 26px;
  }
  .cases-page .result-card h3 {
    height: 26px;
    margin: 24px 0 0;
    font-size: 18px;
    line-height: 26px;
  }
  .cases-page .result-card p {
    max-height: 48px;
    margin: 12px 0 0;
    font-size: 15px;
    line-height: 24px;
  }
  .search-result-list li {
    margin-bottom: 22px;
  }
  .search-result-item {
    min-height: 139px;
  }
  .search-result-item .box-info {
    padding: 0 34px 0 30px;
  }
  .search-result-item h3 {
    height: 26px;
    margin-bottom: 12px;
    font-size: 18px;
    line-height: 26px;
  }
  .search-result-item p {
    max-height: 44px;
    font-size: 13px;
    line-height: 22px;
  }
  .video-card h3 {
    padding: 19px 18px 20px;
    font-size: 16px;
    line-height: 24px;
    color: #333333;
    text-align: center;
  }
  .video-thumb i {
    width: clamp(52px, 4.2vw, 58px);
    height: clamp(52px, 4.2vw, 58px);
  }
  .platform-list {
    gap: 30px 28px;
  }
  .platform-card {
    grid-template-columns: 64px minmax(0, 1fr) 36px;
    column-gap: 22px;
    min-height: 132px;
    padding: 28px 22px 28px 24px;
  }
  .platform-icon {
    width: 64px;
    height: 64px;
    border-radius: 13px;
  }
  .platform-icon img {
    width: 32px;
    height: 32px;
  }
  .platform-copy strong {
    font-size: 18px;
    line-height: 24px;
  }
  .platform-copy em {
    max-height: 44px;
    margin-top: 8px;
    font-size: 14px;
    line-height: 22px;
  }
  .platform-arrow {
    width: 36px;
    height: 36px;
  }
}
@media (max-width: 1199.98px) and (min-width: 768px) {
  .pc-header {
    height: 250px;
  }
  .pc-header .pc-header-bg {
    height: 250px;
  }
  .pc-header-inner,
  .pc-detail-card,
  .detail-card,
  .pc-article-card,
  .article-card,
  .pc-search-card,
  .search-card,
  .search-result-card,
  .pc-home-section,
  .home-section,
  .pc-list-card,
  .list-card,
  .page-title,
  .pc-footer-inner {
    width: 92%;
  }
  .pc-header-inner {
    height: 250px;
  }
  .pc-logo {
    width: clamp(330px, 44vw, 445px);
    height: auto;
  }
  .pc-logo-divider,
  .pc-site-title {
    display: none;
  }
  .pc-nav {
    top: 38px;
    left: auto;
    right: 0;
    max-width: calc(100% - clamp(330px, 44vw, 445px) - 16px);
    white-space: nowrap;
  }
  .pc-nav li {
    padding-left: clamp(8px, 1.6vw, 24px);
  }
  .pc-nav li:first-child {
    padding-left: 0;
  }
  .pc-nav a {
    font-size: clamp(15px, 1.72vw, 18px);
    line-height: 18px;
    white-space: nowrap;
  }
  .pc-main {
    padding-top: 70px;
  }
  .site-main,
  .home-main,
  .list-main,
  .search-main,
  .detail-main,
  .article-main {
    padding-top: 70px;
  }
  .pc-detail-card {
    grid-template-columns: minmax(260px, 42%) minmax(0, 1fr);
    gap: 42px 4%;
    height: auto;
    padding: 42px 34px 70px;
  }
  .detail-card {
    grid-template-columns: minmax(300px, 32%) minmax(0, 1fr);
    gap: 42px 4%;
    height: auto;
    padding: 42px 34px 70px;
  }
  .pc-article-main {
    padding-top: 70px;
  }
  .pc-article-card {
    min-height: 0;
    padding: 50px 42px 56px;
  }
  .article-card {
    min-height: 0;
    padding: 50px 42px 56px;
  }
  .platform-detail-page .article-card h2 {
    display: block;
    width: auto;
    max-width: none;
    margin: 0 0 32px;
    text-align: center;
    white-space: normal;
  }
  .pc-search-main {
    padding-top: 70px;
  }
  .pc-search-card {
    min-height: 0;
  }
  .search-card {
    min-height: 0;
  }
  .search-result-list li {
    margin-bottom: 18px;
  }
  .search-result-item {
    grid-template-columns: 22% minmax(0, 1fr);
    min-height: clamp(116px, 14.5vw, 140px);
  }
  .search-result-item .box-img {
    aspect-ratio: 300 / 198;
  }
  .search-result-item .box-info {
    padding: 0 clamp(20px, 3vw, 32px) 0 clamp(20px, 3vw, 28px);
  }
  .search-result-item h3 {
    height: 26px;
    margin-bottom: 10px;
    font-size: clamp(17px, 2vw, 19px);
    line-height: 26px;
  }
  .search-result-item p {
    max-height: 44px;
    font-size: clamp(13px, 1.55vw, 14px);
    line-height: 22px;
  }
  .pc-card-topline,
  .pc-detail-thumb,
  .pc-detail-info,
  .pc-copy-section,
  .pc-detail-figure {
    position: static;
  }
  .card-topline,
  .detail-thumb,
  .detail-info,
  .copy-section,
  .detail-figure {
    position: static;
  }
  .pc-detail-thumb {
    float: none;
    width: 100%;
    height: auto;
    margin-right: 0;
  }
  .detail-thumb {
    float: none;
    width: 100%;
    height: auto;
    margin-right: 0;
  }
  .pc-detail-info {
    float: none;
    width: auto;
  }
  .detail-info {
    float: none;
    width: auto;
  }
  .detail-info h2 {
    margin-bottom: clamp(18px, 2.4vw, 24px);
    font-size: clamp(24px, 2.65vw, 30px);
    line-height: clamp(32px, 3.45vw, 40px);
  }
  .pc-detail-info dd {
    width: auto;
  }
  .detail-meta dd {
    width: auto;
  }
  .pc-copy-section {
    clear: none;
    width: 100%;
    padding-top: 0;
  }
  .copy-section {
    clear: none;
    width: 100%;
    padding-top: 0;
  }
  .pc-detail-figure {
    width: 425px;
    max-width: 100%;
    margin: 0 auto;
  }
  .detail-figure {
    width: 425px;
    max-width: 100%;
    margin: 0 auto;
  }
  .pc-copy-innovation,
  .pc-copy-patent {
    padding-top: 0;
  }
  .copy-innovation,
  .copy-patent {
    padding-top: 0;
  }
  .pc-footer {
    height: auto;
    padding: 0;
  }
  .pc-footer-inner {
    display: grid;
    grid-template-columns: minmax(220px, 260px) 244px;
    grid-template-areas: "logo qr" "text text";
    gap: 20px 28px;
    justify-content: space-between;
    height: auto;
    min-height: 0;
    padding: 32px 0;
  }
  .pc-footer-logo,
  .pc-footer-divider,
  .pc-footer-text,
  .pc-footer-qrcode {
    position: static;
  }
  .pc-footer-logo {
    grid-area: logo;
    width: 260px;
    margin-bottom: 0;
  }
  .pc-footer-divider {
    display: none;
  }
  .pc-footer-text {
    grid-area: text;
    width: auto;
    font-size: 14px;
    line-height: 26px;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .pc-footer-qrcode {
    grid-area: qr;
    justify-self: end;
    width: 244px;
    margin-top: 0;
  }
  .pc-home-header,
  .pc-home-header .pc-header-bg,
  .pc-home-header .pc-header-inner {
    height: 340px;
  }
  .pc-home-title {
    top: 180px;
    width: 100%;
  }
  .pc-home-title h1 {
    font-size: 38px;
    line-height: 48px;
  }
  .pc-home-title p {
    margin-top: 10px;
    font-size: 18px;
    line-height: 28px;
  }
  .results-page .result-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px 24px;
    margin: 0;
  }
  .results-page .result-grid:after {
    display: none;
    content: none;
  }
  .results-page .result-grid li {
    float: none;
    width: auto;
    padding: 0;
  }
  .results-page .result-card {
    height: auto;
    min-height: 0;
    padding-bottom: 22px;
    overflow: hidden;
  }
  .results-page .result-card .box-img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 370 / 244;
    overflow: hidden;
  }
  .results-page .result-card .box-img img,
  .results-page .result-card > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .results-page .result-card .box-info {
    padding: 0 22px;
  }
  .results-page .result-grid li:nth-last-child(-n+4) {
    padding-bottom: 0;
  }
  .results-page .pager {
    margin-top: 34px;
  }
  .cases-page .result-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 34px 24px;
    margin: 0;
  }
  .cases-page .result-grid:after {
    display: none;
    content: none;
  }
  .cases-page .result-grid li {
    float: none;
    width: auto;
    padding: 0;
  }
  .cases-page .result-card {
    height: auto;
    min-height: 0;
    padding-bottom: 32px;
    overflow: hidden;
  }
  .cases-page .result-card .box-img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 370 / 244;
    overflow: hidden;
    background: #ffffff;
  }
  .cases-page .result-card .box-img img,
  .cases-page .result-card > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #ffffff;
  }
  .cases-page .result-card .box-info {
    padding: 0 20px;
  }
  .cases-page .result-card h3 {
    height: 24px;
    margin: 20px 0 0;
    font-size: 17px;
    line-height: 24px;
  }
  .cases-page .result-card p {
    max-height: 44px;
    margin: 10px 0 0;
    font-size: 14px;
    line-height: 22px;
  }
  .cases-page .result-grid li:nth-last-child(-n+4) {
    padding-bottom: 0;
  }
  .cases-page .pager {
    margin-top: 8px;
  }
  .platform-page .list-card {
    padding-bottom: 60px;
  }
  .platform-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
  }
  .platform-card {
    grid-template-columns: 56px minmax(0, 1fr) 32px;
    column-gap: 18px;
    min-height: 118px;
    padding: 24px 18px 24px 20px;
  }
  .platform-icon {
    width: 56px;
    height: 56px;
    border-radius: 12px;
  }
  .platform-icon img {
    width: 28px;
    height: 28px;
  }
  .platform-copy strong {
    font-size: 17px;
    line-height: 23px;
  }
  .platform-copy em {
    max-height: 42px;
    margin-top: 7px;
    font-size: 13px;
    line-height: 21px;
  }
  .platform-arrow {
    width: 32px;
    height: 32px;
  }
  .news-page .list-card {
    min-height: 0;
  }
  .video-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 34px 28px;
  }
  .video-card h3 {
    padding: 19px 18px 20px;
    font-size: 16px;
    line-height: 24px;
    color: #333333;
    text-align: center;
  }
  .video-thumb i {
    width: clamp(44px, 5.2vw, 56px);
    height: clamp(44px, 5.2vw, 56px);
  }
  .video-thumb i:after {
    display: none;
  }
}
@media (max-width: 767.98px) {
  body {
    background: #eef3f7;
    padding-bottom: 75px;
  }
  .site-header .pc-header {
    display: none;
  }
  .site-header .mobile-header {
    display: block;
  }
  .mobile-header {
    position: relative;
    height: 118.5px;
    overflow: hidden;
    background: linear-gradient(to bottom, #cdeff6, #ffffff);
  }
  .mobile-header-bg {
    position: absolute;
    left: 0;
    top: -46.85px;
    width: 100%;
    height: 207.7px;
    object-fit: cover;
    opacity: 0.3;
  }
  .mobile-logo {
    position: absolute;
    left: 15px;
    top: 28.5px;
    width: 306.5px;
    height: 65px;
  }
  .mobile-logo-image {
    display: block;
    width: 306.5px;
    height: 65px;
    object-fit: contain;
  }
  .mobile-main {
    position: relative;
    padding: 10px 7.5px 0;
    background: linear-gradient(to bottom, #004b9b 0, rgba(0, 75, 155, 0) 336px) left top / 100% 336px no-repeat;
  }
  .mobile-detail-card {
    position: relative;
    height: 1460px;
    background: #ffffff;
    border-radius: 10px;
    overflow: hidden;
  }
  .mobile-product-image {
    width: 330px;
    height: 218.5px;
    object-fit: cover;
    border-radius: 8px;
  }
  .mobile-product-image-top {
    position: absolute;
    left: 15px;
    top: 20px;
  }
  .mobile-detail-card h1 {
    position: absolute;
    left: 15px;
    top: 267.5px;
    width: 257.5px;
    font-size: 18px;
    font-weight: 700;
    line-height: 22px;
    color: #004b9b;
  }
  .mobile-meta dt,
  .mobile-meta dd {
    position: absolute;
    font-size: 15px;
    line-height: 23px;
  }
  .mobile-meta dt {
    left: 15px;
    width: 75px;
    color: #004b9b;
    font-weight: 400;
  }
  .mobile-meta dd {
    left: 112.5px;
    color: #666666;
  }
  .mobile-meta-maturity {
    top: 300.5px;
  }
  .mobile-value-maturity {
    top: 300.5px;
  }
  .mobile-meta-contact {
    top: 333.5px;
  }
  .mobile-value-contact {
    top: 333.5px;
  }
  .mobile-meta-scope {
    top: 411px;
  }
  .mobile-value-scope {
    top: 411px;
    width: 240px;
    text-align: justify;
  }
  .mobile-copy-section {
    position: absolute;
    left: 15px;
    width: 330px;
  }
  .mobile-copy-section h2 {
    position: relative;
    height: 30px;
    padding-left: 11.5px;
    background: #eef3f7;
    font-size: 15px;
    font-weight: 700;
    line-height: 30px;
    color: #004b9b;
  }
  .mobile-copy-section h2:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 1.5px;
    height: 30px;
    background: #004b9b;
  }
  .mobile-copy-section p {
    padding-top: 15px;
    font-size: 14px;
    line-height: 23px;
    color: #333333;
    text-align: justify;
  }
  .mobile-intro {
    top: 613.5px;
  }
  .mobile-figure {
    position: absolute;
    left: 15px;
    top: 891.5px;
    width: 330px;
  }
  .mobile-figure figcaption {
    padding-top: 10.5px;
    font-size: 14px;
    line-height: 23px;
    color: #333333;
    text-align: center;
    white-space: nowrap;
  }
  .mobile-innovation {
    top: 1161px;
  }
  .mobile-patent {
    top: 1384.5px;
  }
  .mobile-tabbar {
    position: fixed;
    left: 50%;
    right: auto;
    bottom: 0;
    z-index: 999;
    width: 100%;
    max-width: 767px;
    transform: translateX(-50%);
    height: 75px;
    margin: 0;
    background: #ffffff;
    box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.1);
  }
  .mobile-tabbar ul {
    display: table;
    width: 100%;
    height: 75px;
    table-layout: fixed;
  }
  .mobile-tabbar li {
    display: table-cell;
    text-align: center;
    vertical-align: top;
  }
  .mobile-tabbar a {
    display: block;
    height: 75px;
    padding-top: 18px;
    font-size: 12px;
    line-height: 14px;
    color: #000000;
  }
  .mobile-tabbar .active a {
    color: #004b9b;
  }
  .mobile-tabbar .mobile-tab-icon-default,
  .mobile-tabbar .mobile-tab-icon-active {
    display: block;
  }
  .mobile-tabbar .mobile-tab-icon-active {
    display: none;
  }
  .mobile-tabbar .active .mobile-tab-icon-default {
    display: none;
  }
  .mobile-tabbar .active .mobile-tab-icon-active {
    display: block;
  }
  .mobile-tabbar img {
    width: 24px;
    height: 24px;
    margin: 0 auto 5px;
    object-fit: contain;
  }
  .mobile-tabbar span {
    display: block;
    white-space: nowrap;
  }
  .site-footer .mobile-tabbar {
    display: block;
  }
  .mobile-article-main {
    padding-top: 10px;
  }
  .mobile-article-card {
    min-height: 613px;
    padding: 20px 30px 26px;
    background: #ffffff;
    border-radius: 10px;
  }
  .mobile-article-card h1 {
    margin-bottom: 17px;
    font-size: 18px;
    font-weight: 700;
    line-height: 26px;
    color: #333333;
    text-align: center;
  }
  .mobile-article-copy p {
    margin-bottom: 23px;
    font-size: 14px;
    line-height: 23px;
    color: #333333;
    text-align: justify;
  }
  .mobile-article-copy a {
    color: #333333;
    text-decoration: underline;
  }
  .mobile-case-main {
    padding-top: 10px;
  }
  .mobile-case-card {
    position: relative;
    min-height: 900px;
    padding: 20px 15px 26px;
    background: #ffffff;
    border-radius: 10px;
  }
  .mobile-case-card h1 {
    margin-bottom: 16px;
    font-size: 18px;
    font-weight: 700;
    line-height: 26px;
    color: #333333;
    text-align: center;
  }
  .mobile-case-copy p {
    margin-bottom: 23px;
    font-size: 14px;
    line-height: 23px;
    color: #333333;
    text-align: justify;
  }
  .mobile-case-product {
    width: 148px;
    height: 203px;
    margin: 8px auto 0;
    object-fit: contain;
  }
  .mobile-search-main {
    position: relative;
    min-height: 816px;
    padding: 15px 0 0;
    background: #eef3f7;
  }
  .mobile-search-form {
    position: relative;
    height: 70px;
    padding: 15px 21px 0 15px;
    background: #004b9b;
  }
  .mobile-search-form input {
    width: 100%;
    height: 40px;
    padding: 0 114px 0 37px;
    border: 0;
    border-radius: 4px;
    background: #ffffff;
    font-size: 13px;
    line-height: 40px;
    color: #333333;
    outline: 0;
  }
  .mobile-search-form button {
    position: absolute;
    right: 24px;
    top: 18px;
    width: 78px;
    height: 34px;
    border: 0;
    border-radius: 3px;
    padding: 0;
    background: #ff7a00;
    color: #ffffff;
    font-size: 15px;
    line-height: 34px;
  }
  .mobile-search-icon {
    position: absolute;
    left: 30px;
    top: 27px;
    width: 16px;
    height: 16px;
    border: 2px solid #777;
    border-radius: 50%;
    z-index: 2;
  }
  .mobile-search-icon:after {
    content: "";
    position: absolute;
    right: -6px;
    bottom: -5px;
    width: 8px;
    height: 2px;
    background: #777;
    transform: rotate(45deg);
  }
  .mobile-hot-section {
    padding-top: 20px;
  }
  .mobile-hot-section h1 {
    padding: 0 15px 35px;
    font-size: 18px;
    font-weight: 700;
    line-height: 18px;
    color: #333333;
  }
  .mobile-hot-list li {
    height: 45px;
    background: #ffffff;
    border-top: 1px solid #eef3f7;
  }
  .mobile-hot-list a {
    position: relative;
    display: block;
    height: 45px;
    padding: 0 60px 0 47px;
    font-size: 15px;
    line-height: 45px;
    color: #333333;
  }
  .mobile-hot-list em {
    position: absolute;
    left: 15px;
    top: 11.5px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #004b9b;
    color: #ffffff;
    font-style: normal;
    font-size: 15px;
    line-height: 22px;
    text-align: center;
  }
  .mobile-hot-list span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    height: 45px;
    line-height: 45px;
  }
  .mobile-hot-list b {
    position: absolute;
    right: 35px;
    top: 0;
    font-weight: 400;
    color: #333333;
  }
  .mobile-home-main {
    padding-top: 10px;
    background: linear-gradient(to bottom, #004b9b 0, rgba(0, 75, 155, 0) 290px) left top / 100% 290px no-repeat;
  }
  .mobile-home-banner {
    margin: 0 7.5px;
    padding: 15px;
    background: #ffffff;
    border-radius: 10px;
  }
  .mobile-home-banner img {
    width: 100%;
    height: 164px;
    object-fit: cover;
    border-radius: 8px;
  }
  .mobile-home-banner h1 {
    padding-top: 14px;
    font-size: 18px;
    font-weight: 700;
    line-height: 24px;
    color: #004b9b;
  }
  .mobile-home-section {
    padding: 24px 15px 0;
  }
  .mobile-home-section h2 {
    margin-bottom: 16px;
    font-size: 18px;
    font-weight: 700;
    line-height: 24px;
    color: #333333;
  }
  .mobile-category-list {
    margin: 0 -5px;
  }
  .mobile-category-list li {
    float: left;
    width: 50%;
    padding: 0 5px 10px;
  }
  .mobile-category-list a {
    display: block;
    height: 48px;
    background: #ffffff;
    border-radius: 4px;
    font-size: 14px;
    line-height: 48px;
    color: #004b9b;
    text-align: center;
  }
  .mobile-card-list li {
    margin-bottom: 10px;
  }
  .mobile-card-list a {
    display: table;
    width: 100%;
    padding: 12px;
    background: #ffffff;
    border-radius: 4px;
  }
  .mobile-card-list img {
    display: table-cell;
    width: 100px;
    height: 66px;
    object-fit: cover;
    vertical-align: middle;
  }
  .mobile-card-list span {
    display: table-cell;
    padding-left: 15px;
    font-size: 15px;
    font-weight: 700;
    line-height: 22px;
    color: #333333;
    vertical-align: middle;
  }
  .mobile-list-main {
    padding: 20px 15px 0;
    background: #eef3f7;
  }
  .mobile-list-main > h1 {
    margin-bottom: 14px;
    font-size: 18px;
    font-weight: 700;
    line-height: 24px;
    color: #333333;
  }
  .mobile-filter-list {
    margin: 0 -4px 10px;
  }
  .mobile-filter-list li {
    float: left;
    padding: 0 4px 8px;
  }
  .mobile-filter-list a {
    display: block;
    height: 30px;
    padding: 0 12px;
    border: 1px solid #004b9b;
    border-radius: 15px;
    font-size: 13px;
    line-height: 28px;
    color: #004b9b;
  }
  .mobile-filter-list .active a {
    background: #004b9b;
    color: #ffffff;
  }
  .mobile-filter-list:after {
    content: "";
    display: table;
    clear: both;
  }
  .mobile-result-list {
    clear: both;
  }
  .site-main {
    max-width: 767px;
    margin: 0 auto;
    overflow: hidden;
  }
  .home-main {
    padding-top: 10px;
    background: linear-gradient(to bottom, #004b9b 0, rgba(0, 75, 155, 0) 290px) left top / 100% 290px no-repeat;
  }
  .home-hero-card {
    display: block;
    margin: 0 7.5px;
    padding: 15px;
    background: #ffffff;
    border-radius: 10px;
  }
  .home-hero-card img {
    width: 100%;
    height: 164px;
    object-fit: cover;
    border-radius: 8px;
  }
  .home-hero-card h1 {
    padding-top: 14px;
    font-size: 18px;
    font-weight: 700;
    line-height: 24px;
    color: #004b9b;
  }
  .home-hero-card p {
    display: none;
  }
  .home-section {
    width: auto;
    margin: 0;
    padding: 24px 15px 0;
  }
  .home-section h2 {
    margin-bottom: 16px;
    font-size: 18px;
    font-weight: 700;
    line-height: 24px;
    color: #333333;
    text-align: left;
  }
  .category-list {
    display: block;
    margin: 0 -5px;
  }
  .category-list li {
    display: block;
    float: left;
    width: 50%;
    padding: 0 5px 10px;
  }
  .category-list a {
    height: 48px;
    padding-top: 0;
    font-size: 14px;
    line-height: 48px;
    border-radius: 4px;
  }
  .category-list span {
    font-size: 14px;
    line-height: 48px;
  }
  .result-grid {
    margin: 0;
  }
  .results-page .result-grid {
    display: block;
  }
  .cases-page .result-grid {
    display: block;
  }
  .results-page .result-grid:after,
  .cases-page .result-grid:after {
    display: table;
    content: "";
    clear: both;
  }
  .result-grid li {
    float: none;
    width: auto;
    padding: 0 0 10px;
  }
  .result-card {
    position: relative;
    display: block;
    width: 100%;
    min-height: 102px;
    height: auto;
    padding: 18px 15px 14px 130px;
    background: #ffffff;
    border-radius: 0;
    box-shadow: none;
  }
  .result-card img {
    position: absolute;
    left: 15px;
    top: 18px;
    width: 100px;
    height: 66px;
    object-fit: cover;
  }
  .result-card .box-img {
    width: 0;
    height: 0;
    overflow: visible;
    background: transparent;
  }
  .result-card .box-img img {
    position: absolute;
    left: 15px;
    top: 18px;
    width: 100px;
    height: 66px;
    object-fit: cover;
  }
  .result-card .box-info {
    padding: 0;
  }
  .result-card h3 {
    display: block !important;
    width: auto;
    margin: 0;
    padding-left: 0;
    text-overflow: ellipsis !important;
    white-space: normal !important;
    font-size: 15px;
    font-weight: 700;
    line-height: 24px;
    color: #333333;
    text-align: left;
    overflow: visible !important;
    -webkit-line-clamp: none;
    height: auto !important;
  }
  .result-card p {
    display: block;
    display: -webkit-box;
    height: 40px;
    margin: 8px 0 0;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    font-size: 13px;
    line-height: 20px;
    color: #666666;
  }
  .results-page .result-card {
    min-height: 102px;
    height: auto;
    padding: 18px 15px 14px 130px;
  }
  .results-page .result-card .box-img {
    width: 0;
    height: 0;
    overflow: hidden;
    background: transparent;
  }
  .results-page .result-card .box-img img,
  .results-page .result-card > img {
    position: absolute;
    left: 15px;
    top: 18px;
    width: 100px;
    height: 66px;
    aspect-ratio: auto;
    object-fit: cover;
  }
  .results-page .result-card .box-info {
    padding: 0;
  }
  .results-page .result-card p {
    height: 40px;
    margin: 8px 0 0;
    font-size: 13px;
    line-height: 20px;
    text-align: left;
  }
  .cases-page .result-card {
    display: grid;
    grid-template-columns: 100px minmax(0, 1fr);
    column-gap: 16px;
    align-items: start;
    min-height: 102px;
    height: auto;
    padding: 18px 16px 16px 15px;
    border-radius: 8px;
  }
  .cases-page .result-card .box-img {
    display: block;
    width: 100px;
    height: 66px;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #eef2f6;
  }
  .cases-page .result-card .box-img img,
  .cases-page .result-card > img {
    position: static;
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    object-fit: contain;
    background: #ffffff;
  }
  .cases-page .result-card .box-info {
    min-width: 0;
    padding: 0;
  }
  .cases-page .result-card h3 {
    display: -webkit-box !important;
    height: auto !important;
    max-height: 46px;
    margin: 0;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: normal !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    font-size: 15px;
    line-height: 23px;
    text-align: left;
  }
  .cases-page .result-card p {
    height: 42px;
    margin: 9px 0 0;
    font-size: 14px;
    line-height: 21px;
    text-align: left;
  }
  .list-main {
    padding: 7.5px 7.5px 40px;
    background: #eef3f7;
  }
  .page-title {
    width: auto;
    margin: 0 0 14px;
    text-align: left;
  }
  .page-title h1 {
    font-size: 18px;
    font-weight: 700;
    line-height: 24px;
    color: #333333;
  }
  .list-card {
    width: auto;
    min-height: 0;
  }
  .list-page .page-title {
    display: none;
  }
  .page-title:after,
  .inner-category,
  .pager {
    display: none;
  }
  .results-page .list-main {
    padding-top: 7.5px;
  }
  .results-page .result-grid li {
    padding-bottom: 10px;
  }
  .results-page .result-grid li:nth-child(n+6),
  .cases-page .result-grid li:nth-child(n+6),
  .news-page .video-grid li:nth-child(n+4) {
    display: block;
  }
  .results-page .result-grid.is-mobile-lazy li,
  .cases-page .result-grid.is-mobile-lazy li,
  .news-page .video-grid.is-mobile-lazy li,
  .result-grid.is-mobile-lazy li,
  .video-grid.is-mobile-lazy li,
  .search-result-list.is-mobile-lazy li {
    display: block;
  }
  .results-page .result-grid.is-mobile-lazy li.is-lazy-hidden,
  .cases-page .result-grid.is-mobile-lazy li.is-lazy-hidden,
  .news-page .video-grid.is-mobile-lazy li.is-lazy-hidden,
  .result-grid.is-mobile-lazy li.is-lazy-hidden,
  .video-grid.is-mobile-lazy li.is-lazy-hidden,
  .search-result-list.is-mobile-lazy li.is-lazy-hidden {
    display: none;
  }
  .mobile-load-status {
    height: 44px;
    margin: 0;
    padding-bottom: 12px;
    font-size: 13px;
    line-height: 32px;
    color: #666666;
    text-align: center;
    transform: translateY(1px);
  }
  .results-page .result-grid li:nth-last-child(-n+4),
  .cases-page .result-grid li:nth-last-child(-n+4),
  .video-grid li:nth-last-child(-n+3) {
    padding-bottom: 10px;
  }
  .video-grid {
    grid-template-columns: 1fr;
    gap: 10px;
    margin: 0;
  }
  .video-grid li {
    float: none;
    width: auto;
    padding: 0 0 10px;
  }
  .video-card {
    display: block;
    height: auto;
    padding: 15px 15px 0;
    background: #ffffff;
    box-shadow: none;
  }
  .video-thumb {
    aspect-ratio: 330 / 185.5;
    height: auto;
  }
  .video-thumb img {
    height: 100%;
  }
  .video-thumb i {
    width: clamp(38px, 11.8vw, 48px);
    height: clamp(38px, 11.8vw, 48px);
    margin: 0;
  }
  .video-thumb i:after {
    display: none;
  }
  .video-card h3 {
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    white-space: normal;
    height: auto;
    min-height: 0;
    margin: 10px 0 0;
    padding: 0 0 12px;
    font-size: 15px;
    font-weight: 400;
    line-height: 24px;
    color: #333333;
    text-align: center;
  }
  .news-page .list-card,
  .cases-page .list-card {
    min-height: 0;
  }
  .cases-page .result-grid li {
    padding-bottom: 10px;
  }
  .cases-page .list-main {
    padding-bottom: 86px;
  }
  .platform-page .list-main {
    padding: 7.5px 7.5px 0;
  }
  .platform-page .list-card {
    padding-bottom: 0;
  }
  .platform-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 5px;
    margin: 0;
  }
  .platform-card {
    grid-template-columns: 40px minmax(0, 1fr) 20px;
    column-gap: 25px;
    min-height: 65px;
    padding: 12.5px 13.5px 12.5px 15px;
    border: 0;
    border-radius: 8px;
    box-shadow: none;
  }
  .platform-icon {
    width: 40px;
    height: 40px;
    border-radius: 8px;
  }
  .platform-icon img {
    width: 20px;
    height: 20px;
  }
  .platform-copy strong {
    display: block;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
    font-size: 15px;
    font-weight: 400;
    line-height: 22px;
  }
  .platform-copy em {
    display: none;
  }
  .platform-arrow {
    width: 20px;
    height: 20px;
  }
  .filter-list {
    margin: 0 -4px 10px;
    text-align: left;
  }
  .filter-list li {
    float: left;
    margin: 0;
    padding: 0 4px 8px;
  }
  .filter-list a {
    min-width: 0;
    height: 30px;
    padding: 0 12px;
    border-radius: 15px;
    font-size: 13px;
    line-height: 28px;
  }
  .search-main {
    min-height: 0;
    padding: 15px 0 0;
    background: #eef3f7;
  }
  .search-page .search-main {
    padding-top: 0;
  }
  .search-result-main {
    min-height: 1060.5px;
    padding: 15px 0 0;
    background: #eef3f7;
  }
  .search-main .page-title {
    display: none;
  }
  .search-result-main .page-title {
    display: none;
  }
  .search-card {
    width: auto;
    min-height: 0;
    padding: 0;
    background: transparent;
    box-shadow: none;
  }
  .search-result-card {
    width: auto;
    min-height: 0;
    padding: 0;
  }
  .search-form {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    height: 70px;
    padding: 15px 15px 0;
    border-radius: 0;
    background: #004b9b;
    overflow: visible;
  }
  .search-result-form {
    margin: 0;
  }
  .search-form input {
    flex: 1 1 auto;
    min-width: 0;
    height: 40px;
    padding: 0 10px 0 37px;
    border-radius: 4px;
    background: #ffffff;
    font-size: 13px;
    line-height: 40px;
  }
  .search-form button {
    position: static;
    flex: 0 0 78px;
    width: 78px;
    height: 34px;
    margin-top: 3px;
    border-radius: 3px;
    padding: 0;
    font-size: 15px;
    line-height: 34px;
  }
  .search-result-count {
    margin: 28px 8px 0;
    font-size: 14px;
    line-height: 20px;
    color: #666666;
  }
  .search-result-count strong {
    font-weight: 700;
    color: #333333;
  }
  .search-result-list {
    margin: 24px 8px 0;
  }
  .search-result-list li {
    height: auto;
    margin-bottom: 15px;
  }
  .search-result-item {
    display: grid;
    grid-template-columns: 104px minmax(0, 1fr);
    align-items: center;
    column-gap: 14px;
    min-height: 108px;
    padding: 17px 14px;
    background: #ffffff;
    border-radius: 8px;
    box-shadow: none;
  }
  .search-result-item .box-img {
    width: 104px;
    height: 69px;
    overflow: hidden;
  }
  .search-result-item .box-info {
    min-width: 0;
    padding: 0;
  }
  .search-result-item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .search-result-item h3 {
    display: block !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    height: auto !important;
    margin: 0 0 6px;
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
    color: #333333;
  }
  .search-result-item p {
    display: block;
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    max-height: 44px;
    font-size: 14px;
    line-height: 22px;
    color: #666666;
  }
  .search-result-item .search-hit {
    padding: 0;
    background: transparent;
    color: #004b9b;
  }
  .hot-section {
    padding-top: 20px;
  }
  .search-page .hot-section {
    padding-top: 0;
  }
  .hot-section h2 {
    margin: 0;
    padding: 0 15px 35px;
    font-size: 18px;
    line-height: 18px;
  }
  .search-page .hot-section h2 {
    margin: 0;
    height: 48px;
    padding: 20px 15px 10px;
    font-size: 18px;
    font-weight: 400;
    line-height: 18px;
    color: #004b9b;
  }
  .hot-list li {
    height: 45px;
    background: #ffffff;
    border-top: 1px solid #eef3f7;
  }
  .search-page .hot-list li {
    height: 45px;
    border-top: 1px solid #eef3f7;
  }
  .hot-list a {
    height: 45px;
    padding: 0 60px 0 47px;
    font-size: 15px;
    line-height: 45px;
  }
  .search-page .hot-list a {
    height: 45px;
    padding: 0 87px 0 47px;
    font-size: 15px;
    line-height: 45px;
  }
  .hot-list em {
    left: 15px;
    top: 11.5px;
    width: 22px;
    height: 22px;
    font-size: 15px;
    line-height: 22px;
  }
  .search-page .hot-list em,
  .search-page .hot-list li:nth-child(1) em,
  .search-page .hot-list li:nth-child(2) em,
  .search-page .hot-list li:nth-child(3) em {
    left: 15px;
    top: 11.5px;
    width: 22px;
    height: 22px;
    background: transparent;
    color: #333333;
    font-size: 15px;
    font-weight: 400;
    line-height: 22px;
  }
  .search-page .hot-list li:nth-child(1) em {
    background: #fff0f0;
    color: #f83f45;
    font-weight: 700;
  }
  .search-page .hot-list li:nth-child(2) em {
    background: #fff1e8;
    color: #ff7a00;
    font-weight: 700;
  }
  .search-page .hot-list li:nth-child(3) em {
    background: #fff4d8;
    color: #ffb436;
    font-weight: 700;
  }
  .hot-list span {
    height: 45px;
    line-height: 45px;
  }
  .search-page .hot-list span {
    height: 45px;
    line-height: 45px;
  }
  .hot-list b {
    right: 35px;
  }
  .search-page .hot-list b {
    right: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 11px;
    height: 45px;
    min-width: 57px;
    padding-right: 0;
    font-size: 15px;
    line-height: 45px;
    color: #999999;
    text-align: right;
  }
  .search-page .hot-list b:before,
  .search-page .hot-list b:after {
    content: none;
    display: none;
  }
  .search-page .hot-list b .fa {
    flex: 0 0 11px;
    width: 11px;
    font-size: 14px;
    line-height: 1;
    text-align: center;
    color: #999999;
  }
  .search-page .hot-list .trend-up b .fa {
    color: #f83f45;
  }
  .search-page .hot-list .trend-down b .fa {
    color: #004b9b;
  }
  .detail-main {
    position: static;
    padding: 10px 7.5px 0;
    background: linear-gradient(to bottom, #004b9b 0, rgba(0, 75, 155, 0) 336px) left top / 100% 336px no-repeat;
  }
  .detail-main .page-title {
    display: none;
  }
  .detail-page .page-title {
    margin-bottom: 14px;
  }
  .detail-card {
    display: block;
    position: static;
    width: auto;
    height: auto;
    min-height: 0;
    padding: 20px 15px 28px;
    background: #ffffff;
    border-radius: 10px;
    overflow: visible;
  }
  .card-topline {
    display: none;
    position: static;
  }
  .detail-thumb {
    position: static;
    float: none;
    width: 100%;
    height: auto;
    margin: 0;
  }
  .detail-thumb img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 330 / 218.5;
    object-fit: cover;
    border-radius: 8px;
  }
  .detail-info {
    position: static;
    float: none;
    width: auto;
    margin-top: 24px;
  }
  .detail-info h2 {
    position: static;
    display: block;
    width: auto;
    height: auto !important;
    margin: 0 0 16px;
    overflow: visible !important;
    -webkit-line-clamp: unset !important;
    font-size: 20px;
    line-height: 28px;
    color: #004B9B;
  }
  .detail-meta {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    column-gap: 15px;
    row-gap: 10px;
    width: 100%;
  }
  .detail-meta dt,
  .detail-meta dd {
    position: static;
    float: none;
    min-height: 0;
    font-size: 15px;
    line-height: 23px;
  }
  .detail-meta dt {
    width: auto;
  }
  .detail-meta dd {
    width: auto;
    min-width: 0;
    margin: 0;
  }
  .detail-meta dt:nth-of-type(1),
  .detail-meta dd:nth-of-type(1),
  .detail-meta dt:nth-of-type(2),
  .detail-meta dd:nth-of-type(2),
  .detail-meta dt:nth-of-type(3),
  .detail-meta dd:nth-of-type(3) {
    top: auto;
  }
  .detail-meta dd:nth-of-type(3) {
    width: auto;
    text-align: justify;
  }
  .copy-section {
    position: static;
    clear: none;
    width: auto;
    margin: 30px 0 0;
    padding-top: 0;
  }
  .copy-section h2 {
    position: static;
    height: 30px;
    padding-left: 11.5px;
    border-left: 1.5px solid #004b9b;
    font-size: 15px;
    line-height: 30px;
  }
  .copy-section h2:before {
    display: none;
  }
  .copy-section p {
    padding-top: 15px;
    font-size: 14px;
    line-height: 23px;
  }
  .copy-intro {
    margin-top: 30px;
  }
  .detail-figure {
    position: static;
    width: 100%;
    margin: 28px 0 0;
  }
  .detail-figure img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 330 / 218.5;
    object-fit: cover;
    border-radius: 8px;
  }
  .detail-figure figcaption {
    padding-top: 10.5px;
    font-size: 14px;
    line-height: 23px;
  }
  .copy-innovation {
    margin-top: 30px;
  }
  .copy-patent {
    margin-top: 28px;
  }
  .article-main {
    padding: 10px 7.5px 0;
  }
  .article-main .page-title {
    display: none;
  }
  .article-card {
    width: auto;
    min-height: 613px;
    padding: 20px 30px 26px;
    background: #ffffff;
    border-radius: 10px;
    box-shadow: none;
  }
  .article-card h2 {
    margin-bottom: 17px;
    font-size: 18px;
    line-height: 26px;
  }
  .article-copy p {
    margin-bottom: 23px;
    font-size: 14px;
    line-height: 23px;
  }
  .case-card {
    position: static;
    min-height: 0;
    padding: 20px 15px 26px;
  }
  .case-product {
    position: static;
    width: 148px;
    height: 203px;
    margin: 8px auto 0;
    transform: none;
  }
  .platform-detail-page .article-main {
    height: auto;
    padding: 10px 7.5px 0;
    background: linear-gradient(to bottom, #004b9b 0, #004b9b 10px, #eef3f7 10px, #eef3f7 100%);
  }
  .platform-detail-page .article-card {
    min-height: 0;
    padding: 20px 30px 26px;
    border-top: 0;
  }
  .platform-detail-page .article-card h2 {
    margin: 0 0 17px;
    font-size: 18px;
    line-height: 26px;
  }
  .platform-detail-page .article-copy p {
    margin-bottom: 23px;
    font-size: 15px;
    line-height: 23px;
  }
  .platform-detail-page .article-copy p:last-child {
    margin-bottom: 0;
  }
  .case-detail-page .article-main {
    height: auto;
    min-height: 0;
    padding: 10px 7.5px 0;
    background: linear-gradient(to bottom, #004b9b 0, #004b9b 10px, #eef3f7 10px, #eef3f7 100%);
  }
  .case-detail-page .article-card {
    height: auto;
    min-height: 0;
    padding: 20px 30px 26px;
    border-top: 0;
    background: #ffffff;
  }
  .case-detail-page .article-card h2 {
    margin: 0 0 17px;
    font-size: 18px;
    line-height: 26px;
    text-align: center;
    white-space: normal;
    word-break: normal;
  }
  .case-detail-page .article-copy p {
    margin-bottom: 18px;
    font-size: 14px;
    line-height: 23px;
  }
  .case-detail-page .case-product {
    position: static;
    width: 148px;
    height: auto;
    margin: 8px auto 0;
    transform: none;
  }
  .site-footer .pc-footer {
    display: none;
  }
}
@media (max-width: 1679.98px) and (min-width: 1400px) {
  .home-category-list,
  .home-focus,
  .home-hot {
    width: 1280px;
  }
  .home-focus {
    height: 611px;
    margin-top: 40px;
  }
  .home-focus-stage,
  .home-focus-visual {
    height: 475px;
  }
  .home-focus-visual {
    width: 100%;
  }
  .home-focus-info {
    left: 720px;
    width: 560px;
    height: 475px;
    padding: 64px 48px 0;
  }
  .home-focus-info:before {
    top: 74px;
    width: 560px;
    height: 330px;
    background-size: 560px auto;
  }
  .home-focus-info h1 {
    margin-bottom: 27px;
    font-size: 21px;
    line-height: 21px;
  }
  .home-focus-info p {
    width: 464px;
    max-height: 116px;
    font-size: 18px;
    line-height: 29px;
  }
  .home-focus-count {
    left: 249px;
    bottom: 51px;
    width: 63px;
    height: 40px;
  }
  .home-focus-count span {
    font-size: 40px;
    line-height: 40px;
  }
  .home-focus-count em {
    margin-left: 7px;
    font-size: 24px;
    line-height: 24px;
    vertical-align: 8px;
  }
  .home-focus-btn {
    bottom: 48px;
    width: 40px;
    height: 40px;
    border-width: 2px;
  }
  .home-focus-btn:before {
    left: 14px;
    top: 11px;
    width: 12px;
    height: 12px;
    border-left-width: 2px;
    border-bottom-width: 2px;
  }
  .home-focus-prev {
    left: 48px;
  }
  .home-focus-next {
    right: 48px;
  }
  .home-focus-next:before {
    left: 10px;
  }
  .home-focus-thumbs {
    height: 112px;
  }
  .home-focus-thumbs li {
    width: 236px;
    height: 112px;
    margin-left: 25px;
  }
  .home-focus-thumbs a {
    height: 112px;
  }
  .home-focus-thumbs li.active a:after {
    border-width: 2px;
  }
  .home-focus-thumbs span {
    width: calc(100% - 56px);
    margin-left: 32px;
    max-height: 50px;
    font-size: 18px;
    line-height: 25px;
    text-align: left;
  }
  .home-focus-thumbs li:nth-child(1) span,
  .home-focus-thumbs li:nth-child(3) span {
    max-height: 50px;
  }
  .home-hot {
    margin: 48px auto 56px;
  }
  .home-hot-list {
    gap: 0 32px;
  }
  .home-hot-card {
    min-height: 350px;
  }
  .home-hot-card .box-info {
    padding: 0 24px 30px;
  }
  .home-hot-card h3 {
    margin-top: 24px;
    display: -webkit-box;
    height: auto !important;
    max-height: 32px;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: normal !important;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    font-size: 18px;
    line-height: 32px;
  }
  .home-hot-card p {
    height: 48px;
    margin-top: 12px;
    font-size: 15px;
    line-height: 24px;
  }
}
@media (max-width: 1399.98px) and (min-width: 1200px) {
  .home-category-list,
  .home-focus,
  .home-hot {
    width: 1120px;
  }
  .home-focus {
    height: 535px;
    margin-top: 35px;
  }
  .home-focus-stage,
  .home-focus-visual {
    height: 416px;
  }
  .home-focus-visual {
    width: 100%;
  }
  .home-focus-info {
    left: 630px;
    width: 490px;
    height: 416px;
    padding: 56px 42px 0;
  }
  .home-focus-info:before {
    top: 64px;
    width: 490px;
    height: 288px;
    background-size: 490px auto;
  }
  .home-focus-info h1 {
    margin-bottom: 24px;
    font-size: 18px;
    line-height: 18px;
  }
  .home-focus-info p {
    width: 406px;
    max-height: 101px;
    font-size: 15px;
    line-height: 25px;
  }
  .home-focus-count {
    left: 218px;
    bottom: 45px;
    width: 55px;
    height: 35px;
  }
  .home-focus-count span {
    font-size: 35px;
    line-height: 35px;
  }
  .home-focus-count em {
    margin-left: 6px;
    font-size: 21px;
    line-height: 21px;
    vertical-align: 7px;
  }
  .home-focus-btn {
    bottom: 42px;
    width: 35px;
    height: 35px;
    border-width: 2px;
  }
  .home-focus-btn:before {
    left: 12px;
    top: 10px;
    width: 10px;
    height: 10px;
    border-left-width: 2px;
    border-bottom-width: 2px;
  }
  .home-focus-prev {
    left: 42px;
  }
  .home-focus-next {
    right: 42px;
  }
  .home-focus-next:before {
    left: 9px;
  }
  .home-focus-thumbs {
    height: 98px;
  }
  .home-focus-thumbs li {
    width: 208px;
    height: 98px;
    margin-left: 20px;
  }
  .home-focus-thumbs a {
    height: 98px;
  }
  .home-focus-thumbs li.active a:after {
    border-width: 2px;
  }
  .home-focus-thumbs span {
    width: calc(100% - 46px);
    margin-left: 26px;
    max-height: 46px;
    font-size: 16px;
    line-height: 23px;
    text-align: left;
  }
  .home-focus-thumbs li:nth-child(1) span,
  .home-focus-thumbs li:nth-child(3) span {
    max-height: 46px;
  }
  .home-hot-list {
    gap: 0 28px;
  }
  .home-hot-card {
    min-height: 318px;
  }
  .home-hot-card .box-info {
    padding: 0 18px 26px;
  }
  .home-hot-card h3 {
    margin-top: 21px;
    display: -webkit-box;
    height: auto !important;
    max-height: 50px;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: normal !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    font-size: 17px;
    line-height: 25px;
  }
  .home-hot-card p {
    height: 48px;
    margin-top: 10px;
    font-size: 15px;
    line-height: 24px;
  }
  .home-hot {
    margin: 42px auto 49px;
  }
}
@media (max-width: 1199.98px) and (min-width: 768px) {
  .home-page .pc-home-header,
  .home-page .pc-home-header .pc-header-bg,
  .home-page .pc-home-header .pc-header-inner {
    height: 340px;
  }
  .home-category {
    height: 130px;
  }
  .home-category-list,
  .home-focus,
  .home-hot {
    width: 92%;
  }
  .home-category-list {
    height: 96px;
    padding-top: 18px;
    table-layout: fixed;
  }
  .home-category-list a {
    height: 96px;
    max-width: 100%;
    overflow: hidden;
    font-size: clamp(12px, 1.5vw, 15px);
    line-height: 16px;
    text-overflow: clip;
    white-space: nowrap;
  }
  .home-category-list i {
    width: clamp(54px, 7vw, 62px);
    height: clamp(54px, 7vw, 62px);
    margin-bottom: 8px;
    background-size: contain;
  }
  .home-category-list i:before {
    width: 30px;
    height: 30px;
    margin-top: 16px;
  }
  .home-category-list li.active:after {
    top: 106px;
  }
  .home-category-list li:hover:after {
    top: 106px;
  }
  .home-focus {
    --home-stage-h: clamp(262px, 34.2vw, 410px);
    --home-thumb-h: clamp(64px, 8.2vw, 96px);
    --home-thumb-gap: clamp(10px, 1.8vw, 18px);
    height: calc(var(--home-stage-h) + var(--home-thumb-gap) + var(--home-thumb-h));
    margin-top: 40px;
  }
  .home-focus-stage {
    height: var(--home-stage-h);
  }
  .home-focus-visual {
    width: 100%;
    height: var(--home-stage-h);
  }
  .home-focus-info {
    left: auto;
    right: 0;
    width: 44%;
    height: var(--home-stage-h);
    padding: clamp(28px, 4vw, 48px) clamp(22px, 3vw, 36px) 0;
  }
  .home-focus-info h1 {
    margin-bottom: clamp(14px, 2.1vw, 24px);
    font-size: clamp(20px, 2.7vw, 30px);
    line-height: 1.14;
  }
  .home-focus-info p {
    width: auto;
    max-height: calc(clamp(22px, 2.55vw, 28px) * 4);
    font-size: clamp(13px, 1.55vw, 17px);
    line-height: clamp(22px, 2.55vw, 28px);
  }
  .home-focus-count,
  .home-focus-btn {
    display: block;
  }
  .home-focus-count {
    left: 50%;
    bottom: clamp(22px, 3.1vw, 36px);
    width: clamp(46px, 6vw, 62px);
    height: clamp(28px, 3.6vw, 36px);
    transform: translateX(-50%);
  }
  .home-focus-count span {
    font-size: clamp(28px, 3.6vw, 36px);
    line-height: clamp(28px, 3.6vw, 36px);
  }
  .home-focus-count em {
    margin-left: 5px;
    font-size: clamp(16px, 2vw, 20px);
    line-height: clamp(16px, 2vw, 20px);
    vertical-align: clamp(4px, 0.8vw, 6px);
  }
  .home-focus-btn {
    bottom: clamp(22px, 3vw, 35px);
    width: clamp(30px, 3.8vw, 38px);
    height: clamp(30px, 3.8vw, 38px);
    border-width: 2px;
  }
  .home-focus-btn:before {
    left: clamp(10px, 1.3vw, 13px);
    top: clamp(9px, 1.1vw, 11px);
    width: clamp(8px, 1.1vw, 11px);
    height: clamp(8px, 1.1vw, 11px);
    border-left-width: 2px;
    border-bottom-width: 2px;
  }
  .home-focus-prev {
    left: clamp(20px, 3vw, 30px);
  }
  .home-focus-next {
    right: clamp(20px, 3vw, 30px);
  }
  .home-focus-next:before {
    left: clamp(8px, 1vw, 10px);
  }
  .home-focus-thumbs {
    display: block;
    height: var(--home-thumb-h);
  }
  .home-focus-thumbs li {
    width: calc((100% - (var(--home-thumb-gap) * 4)) / 5);
    height: var(--home-thumb-h);
    margin-left: var(--home-thumb-gap);
  }
  .home-focus-thumbs a {
    height: var(--home-thumb-h);
  }
  .home-focus-thumbs li.active a:after {
    border-width: 2px;
  }
  .home-focus-thumbs span {
    width: calc(100% - clamp(26px, 3.7vw, 36px));
    margin-left: clamp(13px, 1.85vw, 18px);
    max-height: clamp(34px, 4vw, 40px);
    font-size: clamp(11.5px, 1.35vw, 14px);
    line-height: clamp(17px, 1.95vw, 20px);
    text-align: left;
  }
  .home-focus-thumbs li:nth-child(1) span,
  .home-focus-thumbs li:nth-child(3) span {
    max-height: clamp(34px, 4vw, 40px);
  }
  .home-hot-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px;
  }
  .home-hot-list li {
    width: auto;
    padding-bottom: 0;
  }
  .home-hot-card {
    min-height: 342px;
  }
  .home-hot-card .box-img {
    height: clamp(190px, 22vw, 244px);
    aspect-ratio: auto;
  }
  .home-hot-card .box-info {
    padding: 0 clamp(22px, 3vw, 30px) 28px;
  }
  .home-hot-card h3 {
    margin-top: 22px;
    display: -webkit-box;
    height: auto !important;
    max-height: 52px;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: normal !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    font-size: clamp(18px, 2.15vw, 20px);
    line-height: 28px;
  }
  .home-hot-card p {
    height: 48px;
    margin-top: 10px;
    font-size: 15px;
    line-height: 24px;
  }
}
@media (max-width: 767.98px) {
  .home-main {
    max-width: 767px;
    min-height: 910.5px;
    margin: 0 auto;
    padding: 0;
    overflow: hidden;
    background: #eef3f7;
  }
  .home-category {
    height: 90px;
    overflow: hidden;
    background: #004b9b;
  }
  .home-category:after {
    display: none;
  }
  .home-category-list {
    display: flex;
    width: calc(100% - 82px);
    height: 90px;
    margin: 0 41px;
    padding: 12.5px 0 0;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    scroll-padding-left: 0;
    scroll-padding-right: 0;
    white-space: nowrap;
    scrollbar-width: none;
    touch-action: pan-x;
  }
  .home-category-list::-webkit-scrollbar {
    display: none;
  }
  .home-category-list li {
    display: block;
    flex: 0 0 auto;
    width: 62px;
    margin-right: 17px;
    vertical-align: top;
  }
  .home-category-list li:nth-child(2) {
    width: 92px;
  }
  .home-category-list li:nth-child(3) {
    width: 62px;
  }
  .home-category-list li:nth-child(4) {
    width: 132px;
  }
  .home-category-list li:nth-child(5) {
    width: 92px;
  }
  .home-category-list li:nth-child(6) {
    width: 62px;
  }
  .home-category-list li:last-child {
    margin-right: 0;
  }
  .home-category-list li.active:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 75px;
    width: 100%;
    height: 3px;
    border-radius: 3px;
    background: #E50717;
  }
  .home-category-list li:hover:after {
    display: none;
    content: none;
  }
  .home-category-list a {
    min-width: 0;
    width: 100%;
    height: 60px;
    font-size: 14px;
    line-height: 14px;
    color: #ffffff;
    overflow: visible;
    text-align: center;
    text-overflow: initial;
  }
  .home-category-list i {
    width: 40px;
    height: 40px;
    margin-bottom: 7.5px;
    background-size: 40px 40px;
  }
  .home-category-arrow {
    display: block;
    position: absolute;
    top: 18px;
    z-index: 3;
    width: 33px;
    height: 54px;
    border: 0;
    padding: 0;
    background-color: transparent;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 16.5px 27px;
  }
  .home-category-arrow:before {
    display: none;
    content: none;
  }
  .home-category-prev {
    left: 4px;
    background-image: url("gibh_mobile_prev.png");
  }
  .home-category-prev:before {
    display: none;
  }
  .home-category-next {
    right: 4px;
    background-image: url("gibh_mobile_next.png");
  }
  .home-category-next:before {
    display: none;
  }
  .home-focus {
    width: auto;
    height: 237.5px;
    margin: 10px 7.5px 0;
  }
  .home-focus-stage {
    height: 237.5px;
    border-radius: 4px;
    background: #2f4353;
    overflow: hidden;
    touch-action: pan-y;
  }
  .home-focus-visual {
    width: 100%;
    height: 237.5px;
  }
  .home-focus-info {
    left: 0;
    top: auto;
    bottom: 0;
    width: 100%;
    height: auto;
    min-height: 98px;
    padding: 42px 15px 14px;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.72));
  }
  .home-focus-info:before {
    display: none;
  }
  .home-focus-info h1 {
    display: block;
    display: -webkit-box;
    max-height: 48px;
    margin: 0 0 10px;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    font-size: 16px;
    font-weight: 400;
    line-height: 26px;
  }
  .home-focus-info p {
    display: block;
    width: 100%;
    height: 20px;
    margin: 0;
    overflow: hidden;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 14px;
    line-height: 20px;
  }
  .home-focus-count,
  .home-focus-btn,
  .home-focus-thumbs {
    display: none;
  }
  .home-hot {
    width: auto;
    margin: 23px 7.5px 20px;
    position: relative;
  }
  .home-hot:before {
    content: "";
    position: absolute;
    right: -11px;
    top: -40px;
    width: 372px;
    height: 219px;
    background: url("gibh_mobile_logo_symbol.png") right top / 372px auto no-repeat;
    opacity: 0.05;
    pointer-events: none;
  }
  .home-hot h2 {
    display: block;
    position: relative;
    z-index: 2;
    margin: 0 0 12px 7.5px;
    font-size: 20px;
    font-weight: 400;
    line-height: 30px;
    color: #004b9b;
    text-align: left;
  }
  .home-hot-list {
    display: block;
    position: relative;
    z-index: 2;
    margin: 0;
  }
  .home-hot-list li {
    float: none;
    width: auto;
    padding: 0 0 10px;
  }
  .home-hot-card {
    display: block;
    min-height: 106px;
    height: auto;
    padding: 18px 15px 14px 130px;
    background: #ffffff;
    border-radius: 4px;
    box-shadow: none;
  }
  .home-hot-card .box-img {
    width: 0;
    height: 0;
    overflow: visible;
    background: transparent;
  }
  .home-hot-card .box-img img {
    position: absolute;
    left: 15px;
    top: 18px;
    width: 100px;
    height: 66px;
    object-fit: cover;
  }
  .home-hot-card .box-info {
    padding: 0;
  }
  .home-hot-tag {
    display: none;
  }
  .home-hot-card h3 {
    height: auto !important;
    margin: 0 0 8px;
    overflow: visible !important;
    text-overflow: ellipsis !important;
    white-space: normal !important;
    font-size: 15px;
    line-height: 24px;
    color: #333333;
    text-align: left;
  }
  .home-hot-card p {
    height: 40px;
    margin: 0;
    font-size: 13px;
    line-height: 20px;
    color: #666666;
    text-align: left;
  }
  .home-more {
    display: block;
    position: relative;
    z-index: 2;
    width: 120px;
    height: 36px;
    margin: 8px auto 0;
    border-radius: 18px;
    font-size: 14px;
    line-height: 36px;
  }
}
/* final guard: platform single-page title must not inherit narrow desktop margins */
@media (min-width: 768px) {
  .article-page.platform-detail-page .article-card > h2 {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    text-align: center !important;
    white-space: normal !important;
    word-break: normal !important;
    writing-mode: horizontal-tb !important;
  }
}
/* final guard: platform single-page mobile card follows content height */
@media (max-width: 767.98px) {
  .article-page.platform-detail-page .article-main {
    height: auto !important;
    min-height: 0 !important;
    padding-bottom: 12px !important;
    width: 100%;
  }
  .article-page.platform-detail-page .article-card {
    height: auto !important;
    min-height: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 18px !important;
  }
  .article-page.platform-detail-page .article-copy p:last-child {
    margin-bottom: 0 !important;
  }
}
/* final guard: case detail must stay fluid and match the single-article frame */
@media (min-width: 768px) {
  .article-page.case-detail-page .article-main {
    height: auto !important;
    min-height: 0 !important;
    padding-top: clamp(60px, 5vw, 80px) !important;
  }
  .article-page.case-detail-page .article-card {
    height: auto !important;
    min-height: 0 !important;
    padding: 50px clamp(36px, 4.27vw, 50px) 70px !important;
    border-top: 3px solid #004b9b !important;
    background: #ffffff !important;
  }
  .article-page.case-detail-page .article-card > h2 {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 0 38px !important;
    text-align: center !important;
    white-space: normal !important;
    word-break: normal !important;
    writing-mode: horizontal-tb !important;
  }
  .article-page.case-detail-page .case-product {
    position: static !important;
    display: block !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 42px auto 0 !important;
    transform: none !important;
  }
}
@media (max-width: 767.98px) {
  .article-page.case-detail-page .article-main {
    height: auto !important;
    min-height: 0 !important;
    padding-bottom: 12px !important;
  }
  .article-page.case-detail-page .article-card {
    height: auto !important;
    min-height: 0 !important;
    margin-bottom: 0 !important;
    padding: 20px 15px 26px !important;
  }
  .article-page.case-detail-page .article-card > h2 {
    margin-right: 0 !important;
    margin-left: 0 !important;
    text-align: center !important;
    white-space: normal !important;
    word-break: normal !important;
    writing-mode: horizontal-tb !important;
  }
  .article-page.case-detail-page .case-product {
    position: static !important;
    display: block !important;
    height: auto !important;
    margin: 8px auto 0 !important;
    transform: none !important;
  }
}
@media (max-width: 1679.98px) and (min-width: 1400px) {
  .subarticle-shell {
    width: 1280px;
    grid-template-columns: 230px minmax(0, 1fr);
    gap: 24px;
  }
  .subarticle-page .subarticle-card {
    padding: 44px 42px 64px;
  }
  .subarticle-figure-row {
    grid-template-columns: minmax(0, 500px) minmax(0, 340px);
    column-gap: 52px;
  }
  .contact-panel h3 span {
    font-size: 20px;
    line-height: 23px;
  }
  .flow-panel h3 span {
    font-size: 17px;
    line-height: 21px;
  }
}
@media (max-width: 1399.98px) and (min-width: 1200px) {
  .subarticle-shell {
    width: 1120px;
    grid-template-columns: 210px minmax(0, 1fr);
    gap: 22px;
  }
  .subarticle-sidebar a {
    min-height: 56px;
    padding: 0 18px;
    font-size: 15px;
    line-height: 21px;
  }
  .subarticle-page .subarticle-card {
    padding: 40px 36px 58px;
  }
  .subarticle-page .subarticle-copy p {
    font-size: 15px;
    line-height: 30px;
  }
  .subarticle-figure-row {
    grid-template-columns: minmax(0, 450px) minmax(0, 320px);
    column-gap: 38px;
  }
  .contact-panel h3 span {
    font-size: 19px;
    line-height: 22px;
  }
  .contact-table dl {
    padding-right: 12px;
    padding-left: 12px;
  }
  .contact-table dt,
  .contact-table dd {
    font-size: 14px;
    line-height: 21px;
  }
  .flow-panel h3 span {
    font-size: 16px;
    line-height: 20px;
  }
  .flow-panel li {
    border-width: 5px;
  }
}
@media (max-width: 1199.98px) and (min-width: 768px) {
  .subarticle-shell {
    width: 92%;
    grid-template-columns: 190px minmax(0, 1fr);
    gap: 20px;
  }
  .subarticle-sidebar a {
    min-height: 54px;
    margin-bottom: 8px;
    padding: 0 14px;
    font-size: 14px;
    line-height: 20px;
  }
  .subarticle-page .subarticle-card {
    padding: 36px 30px 54px;
  }
  .subarticle-page .subarticle-card h2 {
    margin-bottom: 30px;
    font-size: 26px;
    line-height: 34px;
  }
  .subarticle-page .subarticle-copy p {
    margin-bottom: 22px;
    font-size: 15px;
    line-height: 28px;
  }
  .subarticle-figure-row {
    grid-template-columns: 1fr;
    justify-items: center;
    row-gap: 34px;
  }
  .contact-panel {
    width: min(100%, 560px);
  }
  .flow-panel {
    width: min(100%, 390px);
  }
}
@media (max-width: 767.98px) {
  .subarticle-page .subarticle-main {
    height: auto !important;
    min-height: 0 !important;
    padding: 10px 7.5px 0 !important;
    background: linear-gradient(to bottom, #004b9b 0, #004b9b 10px, #eef3f7 10px, #eef3f7 100%) !important;
  }
  .subarticle-shell {
    display: block;
    width: auto;
    margin: 0;
  }
  .subarticle-sidebar {
    display: none;
  }
  .subarticle-page .subarticle-card {
    width: auto !important;
    min-height: 0 !important;
    padding: 20px 15px 26px !important;
    border-top: 0 !important;
    border-radius: 0 0 10px 10px !important;
    background: #ffffff !important;
    box-shadow: none !important;
  }
  .mobile-sub-select {
    display: block;
    position: relative;
    z-index: 5;
    margin: 4px 0 31px;
  }
  .mobile-sub-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 40px;
    padding: 0 17px;
    border: 1px solid #dbe3ea;
    border-radius: 4px;
    font-size: 17px;
    line-height: 40px;
    color: #0b70b5;
  }
  .mobile-sub-select i {
    font-size: 12px;
  }
  .mobile-sub-menu {
    position: absolute;
    left: 0;
    right: 0;
    top: 44px;
    display: none;
    overflow: hidden;
    border: 1px solid #dbe3ea;
    border-radius: 4px;
    background: #ffffff;
    box-shadow: 0 8px 18px rgba(0, 75, 155, 0.16);
  }
  .mobile-sub-select.is-open .mobile-sub-menu {
    display: block;
  }
  .mobile-sub-menu li {
    border-top: 1px solid #edf2f6;
  }
  .mobile-sub-menu li:first-child {
    border-top: 0;
  }
  .mobile-sub-menu a {
    display: block;
    height: 40px;
    padding: 0 17px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 15px;
    line-height: 40px;
    color: #333333;
  }
  .mobile-sub-menu a.active {
    color: #0b70b5;
    background: #eef7ff;
  }
  .subarticle-page .subarticle-card h2 {
    margin: 0 0 14px;
    font-size: 20px;
    line-height: 28px;
    text-align: center;
  }
  .subarticle-page .subarticle-copy p {
    margin-bottom: 27px;
    font-size: 16px;
    line-height: 28px;
  }
  .subarticle-figure-row {
    display: block;
    margin-top: 18px;
  }
  .contact-panel {
    width: 100%;
    max-width: 300px;
    margin: 0 auto;
  }
  .contact-panel h3 {
    margin-bottom: 14px;
  }
  .contact-panel h3 span,
  .flow-panel h3 span {
    padding-top: 8px;
    font-size: 17px;
    line-height: 20px;
  }
  .contact-panel h3 span:before,
  .flow-panel h3 span:before {
    width: 78px;
    height: 3px;
  }
  .contact-panel h3 em,
  .flow-panel h3 em {
    margin-top: 2px;
    font-size: 18px;
    line-height: 22px;
  }
  .contact-phone {
    margin-bottom: 12px;
    font-size: 14px;
    line-height: 20px;
  }
  .contact-phone i {
    margin-right: 8px;
    font-size: 18px;
  }
  .contact-table strong {
    height: 32px;
    font-size: 13px;
    line-height: 32px;
  }
  .contact-table dl {
    padding: 5px 8px 4px;
  }
  .contact-table dt,
  .contact-table dd {
    font-size: 10px;
    line-height: 15px;
  }
  .flow-panel {
    width: 100%;
    max-width: 330px;
    margin: 34px auto 0;
  }
  .flow-panel h3 {
    margin-bottom: 28px;
  }
  .flow-panel h3 span {
    font-size: 18px;
    line-height: 22px;
  }
  .flow-panel h3 em {
    font-size: 20px;
    line-height: 24px;
  }
  .flow-panel ol {
    margin-top: 0;
  }
  .flow-panel li {
    min-height: 76px;
    margin-bottom: 28px;
    padding: 21px 10px 11px;
    border-width: 4px;
    border-radius: 6px;
  }
  .flow-panel li i {
    top: -21px;
    width: 38px;
    height: 38px;
    border-width: 2px;
    font-size: 17px;
  }
  .flow-panel li strong {
    margin-bottom: 4px;
    font-size: 13px;
    line-height: 18px;
  }
  .flow-panel li span {
    font-size: 10px;
    line-height: 15px;
  }
  .flow-panel p {
    margin-top: 2px;
    font-size: 10px;
    line-height: 15px;
  }
}
@media (max-width: 767.98px) {
  .results-page .list-main {
    padding: 0 0 40px;
    background: #eef3f7;
  }
  .results-page .inner-category {
    display: block;
    height: 90px;
    margin: 0;
    overflow: hidden;
    background: #0059a8;
  }
  .results-page .inner-category .home-category-list {
    display: flex;
    width: calc(100% - 82px);
    height: 90px;
    margin: 0 41px;
    padding: 12px 0 0;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
    scrollbar-width: none;
  }
  .results-page .inner-category .home-category-list::-webkit-scrollbar {
    display: none;
  }
  .results-page .inner-category .home-category-list li {
    display: block;
    flex: 0 0 auto;
    width: 62px;
    margin-right: 17px;
  }
  .results-page .inner-category .home-category-list li:nth-child(2),
  .results-page .inner-category .home-category-list li:nth-child(5) {
    width: 92px;
  }
  .results-page .inner-category .home-category-list li:nth-child(4) {
    width: 132px;
  }
  .results-page .inner-category .home-category-list li:last-child {
    margin-right: 0;
  }
  .results-page .inner-category .home-category-list li.active:after {
    display: block;
  }
  .results-page .inner-category .home-category-list a {
    display: block;
    min-width: 0;
    width: 100%;
    height: 64px;
    overflow: visible;
    font-size: 14px;
    line-height: 16px;
    color: #ffffff;
    text-align: center;
    white-space: normal;
  }
  .results-page .inner-category .home-category-list i {
    width: 42px;
    height: 42px;
    margin-bottom: 7px;
    background-size: 42px 42px;
  }
  .results-page .inner-category .home-category-arrow {
    display: block;
    position: absolute;
    top: 18px;
    z-index: 3;
    width: 33px;
    height: 54px;
    border: 0;
    padding: 0;
    background-color: transparent;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 16.5px 27px;
  }
  .results-page .inner-category .home-category-prev {
    left: 4px;
    background-image: url("gibh_mobile_prev.png");
  }
  .results-page .inner-category .home-category-next {
    right: 4px;
    background-image: url("gibh_mobile_next.png");
  }
  .results-page .page-title {
    display: block;
    width: 100%;
    margin: 0;
    padding: 26px 15px 22px;
    background: #cfe6fb;
    text-align: center;
    display: none;
  }
  .results-page .page-title h1 {
    font-size: 24px;
    font-weight: 400;
    line-height: 32px;
    color: #2d4358;
  }
  .results-page .page-title:after {
    display: block;
    width: 30px;
    height: 3px;
    margin: 12px auto 0;
    background: #005bac;
  }
  .results-page .list-card {
    width: auto;
    padding: 12px 7.5px 0;
  }
}
@media (max-width: 767.98px) {
  .subarticle-page {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
  }
  .subarticle-page .subarticle-main {
    flex: 1 0 auto;
    min-height: calc(100vh - 180px) !important;
    padding-bottom: 86px !important;
  }
  .subarticle-page .subarticle-card {
    min-height: 360px !important;
  }
}
/* final guard: home media boxes keep text rhythm even when CMS images vary */
@media (min-width: 1680px) {
  .home-focus {
    --home-focus-stage-h: 594px;
    --home-focus-thumb-gap: 30px;
    --home-focus-thumb-h: 140px;
    height: calc(var(--home-focus-stage-h) + var(--home-focus-thumb-gap) + var(--home-focus-thumb-h));
  }
  .home-focus-stage,
  .home-focus-visual {
    height: var(--home-focus-stage-h);
  }
  .home-focus-thumbs {
    bottom: 0;
    height: var(--home-focus-thumb-h);
  }
  .home-focus-thumbs li,
  .home-focus-thumbs a {
    height: var(--home-focus-thumb-h);
  }
  .home-hot-card .box-img {
    height: 244px;
    aspect-ratio: auto;
  }
  .home-hot-card h3 {
    display: -webkit-box;
    height: 32px;
    max-height: none;
    margin-top: 24px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    line-height: 32px;
  }
}
@media (min-width: 768px) {
  .home-focus,
  .home-focus-stage,
  .home-focus-visual,
  .home-focus-thumbs,
  .home-focus-thumbs li,
  .home-focus-thumbs a,
  .home-hot-card,
  .home-hot-card .box-img {
    box-sizing: border-box;
  }
  .home-slide img,
  .home-focus-thumbs img,
  .home-hot-card .box-img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .home-focus-thumbs a {
    position: relative;
    overflow: hidden;
  }
  .home-focus-thumbs span {
    pointer-events: none;
  }
  .home-hot-card {
    display: flex;
    flex-direction: column;
    height: 100%;
  }
  .home-hot-card .box-img {
    flex: 0 0 auto;
  }
  .home-hot-card .box-info {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
  }
  .home-hot-card h3 {
    display: -webkit-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: break-word;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
  }
  .home-hot-card p {
    overflow: hidden;
  }
}
@media (max-width: 1679.98px) and (min-width: 1400px) {
  .home-focus {
    --home-focus-stage-h: 475px;
    --home-focus-thumb-gap: 24px;
    --home-focus-thumb-h: 112px;
    height: calc(var(--home-focus-stage-h) + var(--home-focus-thumb-gap) + var(--home-focus-thumb-h));
  }
  .home-focus-stage,
  .home-focus-visual {
    height: var(--home-focus-stage-h);
  }
  .home-focus-thumbs {
    bottom: 0;
    height: var(--home-focus-thumb-h);
  }
  .home-focus-thumbs li,
  .home-focus-thumbs a {
    height: var(--home-focus-thumb-h);
  }
  .home-hot-card .box-img {
    height: 195px;
    aspect-ratio: auto;
  }
  .home-hot-card h3 {
    height: 28px !important;
    max-height: none;
    margin-top: 22px;
    line-height: 28px;
  }
}
@media (max-width: 1399.98px) and (min-width: 1200px) {
  .home-focus {
    --home-focus-stage-h: 416px;
    --home-focus-thumb-gap: 21px;
    --home-focus-thumb-h: 98px;
    height: calc(var(--home-focus-stage-h) + var(--home-focus-thumb-gap) + var(--home-focus-thumb-h));
  }
  .home-focus-stage,
  .home-focus-visual {
    height: var(--home-focus-stage-h);
  }
  .home-focus-thumbs {
    bottom: 0;
    height: var(--home-focus-thumb-h);
  }
  .home-focus-thumbs li,
  .home-focus-thumbs a {
    height: var(--home-focus-thumb-h);
  }
  .home-hot-card .box-img {
    height: 170px;
    aspect-ratio: auto;
  }
  .home-hot-card h3 {
    height: 26px !important;
    max-height: none;
    margin-top: 20px;
    line-height: 26px;
  }
}
@media (max-width: 1199.98px) and (min-width: 768px) {
  .home-focus-thumbs li,
  .home-focus-thumbs a {
    height: var(--home-thumb-h);
  }
  .home-hot-card h3 {
    height: 28px !important;
    max-height: none;
    line-height: 28px;
  }
}
@media (max-width: 767.98px) {
  .home-focus {
    height: 237.5px;
  }
  .home-focus-stage,
  .home-focus-visual {
    height: 237.5px;
  }
  .home-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .home-hot-card {
    min-height: 106px;
  }
  .home-hot-card h3 {
    height: auto !important;
    max-height: none !important;
    line-height: 24px !important;
  }
}
/* final guard: focus title is a single-line white link */
.home-focus-info h1 {
  display: block !important;
  max-width: 100%;
  overflow: hidden !important;
  color: #ffffff !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  -webkit-line-clamp: unset;
  -webkit-box-orient: initial;
}
.home-focus-info h1 .home-focus-title-link {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  color: #ffffff !important;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: larger;
}
.home-focus-info h1 .home-focus-title-link:hover,
.home-focus-info h1 .home-focus-title-link:focus {
  color: #ffffff !important;
  opacity: 0.92;
}
/* final guard 20260709: image intrinsic height must not move titles */
.home-page .home-focus-thumbs {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  column-gap: var(--home-focus-thumb-gap, 30px);
}
.home-page .home-focus-thumbs li {
  float: none !important;
  width: auto !important;
  min-width: 0;
  margin-left: 0 !important;
  overflow: hidden;
}
.home-page .home-focus-thumbs a {
  position: relative;
  display: block !important;
  width: 100%;
  overflow: hidden;
}
.home-page .home-focus-thumbs img {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  max-width: none;
  object-fit: cover;
}
.home-page .home-focus-thumbs a:before,
.home-page .home-focus-thumbs a:after {
  position: absolute !important;
  inset: 0;
}
.home-page .home-focus-thumbs span {
  position: absolute !important;
  left: 0;
  top: 50%;
  z-index: 3;
  display: -webkit-box !important;
  width: 100% !important;
  margin-left: 0 !important;
  max-height: 56px !important;
  padding: 0 32px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  line-height: 28px;
  text-align: left;
  transform: translateY(-50%);
}
.home-page .home-hot-card {
  display: grid !important;
  grid-template-rows: auto 1fr;
  align-content: start;
}
.home-page .home-hot-card .box-img {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
}
.home-page .home-hot-card .box-img img {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  max-width: none;
  object-fit: cover;
}
.home-page .home-hot-card .box-info {
  min-width: 0;
}
.home-page .home-hot-card h3 {
  margin-right: 0;
  margin-left: 0;
}
@media (min-width: 1680px) {
  .home-page .home-hot-card .box-img {
    height: 244px !important;
  }
}
@media (max-width: 1679.98px) and (min-width: 1400px) {
  .home-page .home-focus-thumbs {
    column-gap: var(--home-focus-thumb-gap, 24px);
  }
  .home-page .home-hot-card .box-img {
    height: 195px !important;
  }
  .home-page .home-focus-thumbs span {
    padding-right: 28px;
    padding-left: 28px;
    max-height: 50px !important;
    line-height: 25px;
  }
}
@media (max-width: 1399.98px) and (min-width: 1200px) {
  .home-page .home-focus-thumbs {
    column-gap: var(--home-focus-thumb-gap, 21px);
  }
  .home-page .home-hot-card .box-img {
    height: 170px !important;
  }
  .home-page .home-focus-thumbs span {
    padding-right: 23px;
    padding-left: 23px;
    max-height: 46px !important;
    line-height: 23px;
  }
}
@media (max-width: 1199.98px) and (min-width: 768px) {
  .home-page .home-focus-thumbs {
    column-gap: var(--home-thumb-gap, 18px);
  }
  .home-page .home-hot-card .box-img {
    height: clamp(190px, 22vw, 244px) !important;
  }
  .home-page .home-focus-thumbs span {
    padding-right: clamp(13px, 1.85vw, 18px);
    padding-left: clamp(13px, 1.85vw, 18px);
    max-height: calc(clamp(17px, 1.95vw, 20px) * 2) !important;
    line-height: clamp(17px, 1.95vw, 20px);
  }
}
@media (max-width: 767.98px) {
  .home-page .home-focus-thumbs {
    display: none !important;
  }
  .home-page .home-hot-card {
    display: block !important;
  }
  .home-page .home-hot-card .box-img {
    position: static;
    width: 0;
    height: 0 !important;
    overflow: visible;
  }
  .home-page .home-hot-card .box-img img {
    position: absolute;
    inset: auto;
    left: 15px;
    top: 18px;
    width: 100px !important;
    height: 66px !important;
  }
}
.copy-section img,
.article-copy img,
.article-card img,
.case-card img {
  display: inline-block;
  max-width: 100%;
}
@media (min-width: 768px) {
  .subarticle-page .subarticle-shell {
    align-items: stretch;
  }
  .subarticle-page .subarticle-card {
    justify-self: stretch;
    width: 100% !important;
    min-height: 420px;
    margin: 0 !important;
    box-sizing: border-box;
  }
}
