/* Homepage-only visual hierarchy; loaded after CMS compatibility styles. */
.news-zone { padding: 78px 0 58px; background: #fff; }
.news-grid { grid-template-columns: minmax(0, 1.9fr) minmax(0, 1fr); gap: 48px; }
.news-zone .notice-module { min-width: 0; padding: 0; }
.news-zone .title, .info-module .title { height: auto; min-height: 68px; align-items: center; border-bottom: 1px solid #c9d7e0; padding-bottom: 14px; }
.news-zone .sText, .info-module .sText { height: auto; color: #132e40; font-size: 26px; font-weight: 600; line-height: 1.4; }
.news-zone .sText::after, .info-module .sText::after { display: none; }
.news-zone .sText::before, .info-module .sText::before { display: block; margin-bottom: 5px; color: #748c9d; font-size: 10px; font-weight: 600; letter-spacing: 0; }
.cms-work > .title .sText::before { content: "CAMPUS NEWS / 01"; }
#n_n02 > .title .sText::before { content: "NOTICE BOARD / 02"; color: #aa7040; }
.news-zone .more, .info-module .more { padding: 0; gap: 12px; color: #607b8c; font-size: 10px; }
.news-zone .more svg, .info-module .more svg { width: 30px; height: 30px; padding: 6px; border: 1px solid #c9d7e0; border-radius: 50%; }
.news-zone .more:hover svg, .info-module .more:hover svg { background: #0878cf; color: #fff; border-color: #0878cf; }
.work-body { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 25px; padding-top: 24px; }
.cms-work-image { height: 330px; position: relative; background: #e2edf3; border-radius: 4px; }
.cms-work-image img { height: 330px; object-fit: cover; }
.cms-work-image::after { content: ""; position: absolute; inset: 55% 0 0; pointer-events: none; background: linear-gradient(transparent, rgba(5, 24, 35, .55)); }
.cms-work-image a { height: 100%; }
.cms-work-image a span, .cms-work-image .title { z-index: 2; padding: 20px; font-size: 15px; line-height: 1.7; background: transparent; }
.cms-work-list.news_list ul { margin: 0; }
.cms-work-list.news_list li { display: flex; flex-wrap: wrap; align-items: center; padding: 12px 0; gap: 4px 10px; border-bottom: 1px solid #e3ebf0; }
.cms-work-list.news_list li a { flex: 1 1 100%; min-width: 0; min-height: 0; display: block; color: #334d5f; font-size: 14px; line-height: 1.6; overflow: hidden; }
.cms-work-list.news_list li > span, .cms-work-list.news_list li > time { order: 2; margin: 0; color: #8a9eab; font-size: 11px; }
.cms-work-list.news_list li:first-child { padding-top: 0; padding-bottom: 18px; }
.cms-work-list.news_list li:first-child a { color: #132e40; font-size: 19px; font-weight: 600; line-height: 1.65; }
.cms-work-list.news_list li a:hover { color: #0878cf; }
#n_n02 { border-left: 1px solid #e2e9ee; padding-left: 32px; }
#n_n02 .news_list ul { margin: 12px 0 0; }
#n_n02 .news_list li { display: flex; align-items: center; gap: 16px; padding: 16px 0; border-bottom: 1px solid #e3ebf0; }
#n_n02 .news_list li > span, #n_n02 .news_list li > time { order: 0; flex: 0 0 54px; margin: 0; padding: 9px 0; border-top: 2px solid #b98750; color: #a56d34; font-size: 16px; font-weight: 600; text-align: center; }
#n_n02 .news_list li a { order: 1; flex: 1; min-width: 0; min-height: 0; display: block; color: #334d5f; font-size: 14px; line-height: 1.7; }
#n_n02 .news_list li:hover a { color: #0878cf; }
.info-zone { padding: 40px 0 68px; background: #f5f8fa; border-top: 1px solid #e2e9ee; }
.info-grid { gap: 32px; }
.info-module { --module-accent: #0878cf; }
.info-module:nth-child(2) { --module-accent: #647383; }
.info-module:nth-child(3) { --module-accent: #087f7b; }
.info-module .title { border-top: 3px solid var(--module-accent); padding-top: 18px; min-height: 100px; }
.info-module .sText::before { color: var(--module-accent); }
.info-module:nth-child(1) .sText::before { content: "SERVICE DIRECTORY / 03"; }
.info-module:nth-child(2) .sText::before { content: "POLICIES & STANDARDS / 04"; }
.info-module:nth-child(3) .sText::before { content: "SECURITY & TRUST / 05"; }
.info-module .compact-list li a { white-space: normal; padding: 14px 0; font-size: 14px; line-height: 1.65; }
.info-module .compact-list li a:hover { padding: 14px 0; }
.info-module .compact-list li > span, .info-module .compact-list li > time { font-size: 11px; }
.info-module:nth-child(1) .compact-list ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding-top: 8px; }
.info-module:nth-child(1) .compact-list li { display: block; position: relative; min-height: 88px; padding: 14px 16px; border: 1px solid #dae5ec; border-radius: 4px; background: #fff; transition: border-color .2s, transform .2s; }
.info-module:nth-child(1) .compact-list li a { display: block; padding: 0; font-size: 14px; font-weight: 500; }
.info-module:nth-child(1) .compact-list li > span { margin-top: 10px; }
.info-module:nth-child(1) .compact-list li:hover { transform: translateY(-3px); border-color: #0878cf; background: #fff; }
.info-module:nth-child(2) .compact-list ul { counter-reset: policy; }
.info-module:nth-child(2) .compact-list li { counter-increment: policy; gap: 12px; }
.info-module:nth-child(2) .compact-list li::before { content: counter(policy, decimal-leading-zero); display: block; flex: 0 0 22px; color: #a5b4c0; font-size: 12px; }
.info-module:nth-child(3) .compact-list li { padding-left: 12px; border-left: 2px solid #cee4e0; transition: border-color .2s, background .2s; }
.info-module:nth-child(3) .compact-list li:hover { border-left-color: #087f7b; background: #eaf4f1; }
.info-module:nth-child(3) .compact-list li a:hover { color: #087f7b; }
@media (max-width: 1180px) { .news-grid { gap: 28px; } .work-body { gap: 18px; } #n_n02 { padding-left: 22px; } }
@media (max-width: 900px) { .news-grid { grid-template-columns: 1fr; gap: 40px; } #n_n02 { border-left: 0; padding-left: 0; } #n_n02 .news_list ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; } .info-grid { grid-template-columns: 1fr; gap: 28px; } .info-module:last-child { grid-column: auto; } }
@media (max-width: 620px) { .news-zone { padding: 42px 0; } .news-zone .sText, .info-module .sText { font-size: 23px; } .work-body { grid-template-columns: 1fr; } .cms-work-image, .cms-work-image img { height: 260px; } #n_n02 .news_list ul { display: block; } .info-zone { padding: 28px 0 44px; } .info-module .compact-list li a { font-size: 14px; } }
@media (prefers-reduced-motion: reduce) { .info-module:nth-child(1) .compact-list li:hover { transform: none; } }

/* Interaction accents are confined to news and service content. */
.click-light-wave { position: fixed; z-index: 9999; width: 16px; height: 16px; margin: -8px 0 0 -8px; border: 1px solid rgba(8,151,173,.75); border-radius: 50%; background: rgba(110,224,235,.14); pointer-events: none; animation: clickWave .6s ease-out forwards; }
@keyframes clickWave { from { opacity: .9; transform: scale(.5); } to { opacity: 0; transform: scale(5); } }
.map-scenes button { transition: background .25s, color .25s, transform .2s; }
.map-scenes button:active, .info-module .more:active, .slide-arrow:active { transform: scale(.94); }
.map-stations li:not(:last-child)::after { transform-origin: left; animation: routeLight .7s var(--station-delay) both; }
@keyframes routeLight { from { transform: scaleX(0); opacity: .2; } to { transform: scaleX(1); opacity: 1; } }
.map-number { animation: stationLight .7s var(--station-delay) both; }
@keyframes stationLight { from { box-shadow: 0 0 0 8px rgba(7,151,173,0); } 45% { box-shadow: 0 0 0 6px rgba(7,151,173,.16); } to { box-shadow: 0 0 0 0 rgba(7,151,173,0); } }
@media (prefers-reduced-motion: reduce) { .map-number, .map-stations li:not(:last-child)::after { animation: none; } .map-scenes button:active, .info-module .more:active, .slide-arrow:active { transform: none; } }
.info-module .title { position: relative; justify-content: flex-start; gap: 16px; }
.info-module .title > a { margin-left: auto; }
.module-emblem { width: 42px; height: 42px; flex: 0 0 42px; color: var(--module-accent); stroke-width: 1.25; transition: transform .5s cubic-bezier(.2,.7,.2,1); }
.info-module:hover .module-emblem { transform: translateY(-3px) rotate(-6deg); }
.info-module .title::after, .cms-work > .title::after, #n_n02 > .title::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--module-accent, #0878cf); transform: scaleX(0); transform-origin: left; }
.cms-work > .title, #n_n02 > .title { position: relative; }
.effects-entered > .title::after { animation: drawSectionLine 1.1s cubic-bezier(.2,.7,.2,1) forwards; }
@keyframes drawSectionLine { to { transform: scaleX(1); } }
.effects-image { isolation: isolate; }
.effects-image img { transform: scale(1.055) translate(var(--image-x, 0px), var(--image-y, 0px)); transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.effects-image a:hover img { transform: scale(1.075) translate(var(--image-x, 0px), var(--image-y, 0px)); }
.cms-work-image > .image-shine { position: absolute; inset: -30%; z-index: 3; pointer-events: none; background: linear-gradient(115deg, transparent 35%, rgba(255,255,255,.16) 49%, transparent 63%); transform: translateX(-110%); padding: 0; }
.effects-image:hover > .image-shine { transform: translateX(var(--shine-x, 35%)); transition: transform 1.25s cubic-bezier(.2,.7,.2,1); }
.news-zone .news_list li, .info-module .compact-list li { position: relative; }
.news-zone .news_list li::after, .info-module .compact-list li::after { content: ""; position: absolute; bottom: 0; left: 0; right: 0; height: 1px; background: var(--module-accent, #0878cf); transform: scaleX(0); transform-origin: left; transition: transform .5s cubic-bezier(.2,.7,.2,1); pointer-events: none; }
.news-zone .news_list li:hover::after, .info-module .compact-list li:hover::after { transform: scaleX(1); }
.news-zone .news_list li a { transition: color .25s, transform .35s; }
.news-zone .news_list li:hover a { transform: translateX(4px); }
.info-module:nth-child(1) .compact-list li { padding-right: 26px; }
.info-module:nth-child(1) .compact-list li::before { content: "↗"; display: block; position: absolute; top: 12px; right: 10px; color: #80a8bd; font-size: 18px; transition: transform .35s, color .35s; }
.info-module:nth-child(1) .compact-list li:hover::before { transform: translate(2px,-2px); color: #0878cf; }
#n_n02 .news_list li > span, #n_n02 .news_list li > time { transition: background .35s, color .35s; }
#n_n02 .news_list li:hover > span, #n_n02 .news_list li:hover > time { background: #a56d34; color: #fff; }
@media (max-width: 620px) { .module-emblem { width: 32px; height: 32px; flex-basis: 32px; } .info-module .title { gap: 12px; } }
@media (prefers-reduced-motion: reduce) { .effects-entered > .title::after { animation: none; transform: scaleX(1); } .effects-image img, .effects-image a:hover img { transform: none; } .image-shine { display: none; } .news-zone .news_list li:hover a, .info-module:hover .module-emblem { transform: none; } }
