/* Generated 390px mobile baseline; rebuild with build-mobile-rem.py. */
.notice-page{--notice-ink: #233d52; --notice-accent: #376d80; --notice-muted: #758895;}
.notice-main{padding: 4.125rem 0 4.875rem; color: var(--notice-ink);}
.notice-toolbar{display: flex; align-items: flex-end; justify-content: space-between; gap: 1.875rem; margin-bottom: 1.6875rem;}
.notice-eyebrow{font-size: max(10px,0.6875rem); color: rgb(115, 147, 159); letter-spacing: 0.12em; font-weight: 650; margin-bottom: 0.625rem;}
.notice-toolbar h2{font-size: 2rem; font-weight: 650; letter-spacing: -0.04em; line-height: 1.4;}
.notice-count{font-size: max(13px,0.875rem); color: rgb(120, 140, 152); margin-top: 0.75rem;}
.notice-count strong{color: rgb(49, 94, 116); font-weight: 700;}
.notice-search{display: flex; align-items: center; gap: 0.375rem; border: 1px solid rgb(211, 223, 229); border-radius: 0.5rem; background: rgb(247, 249, 250); padding: 0.3125rem 0.375rem 0.3125rem 1rem; width: 21.875rem; max-width: 100%;}
.notice-search input{width: 100%; min-width: 0; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: max(13px,0.875rem); border: 0; outline: 0; background: transparent; color: rgb(36, 63, 83);}
.notice-search:focus-within{outline: rgb(57, 126, 171) solid 0.125rem; outline-offset: 0.1875rem;}
.notice-search button{flex-shrink: 0; display: grid; place-items: center; width: 2.625rem; height: 2.625rem; border: 0; background: transparent; color: rgb(49, 94, 116); cursor: pointer; border-radius: 0.3125rem;}
.notice-search svg{width: 1.4375rem; height: 1.4375rem; fill: none; stroke: currentcolor; stroke-width: 1.7;}
.notice-list{border-top: 0.125rem solid rgb(41, 75, 94); scroll-margin-top: 7.1875rem;}
.notice-list-head, .notice-row{display: grid; grid-template-columns: 5rem minmax(0, 1fr) 7rem 1.5rem; gap: 1.375rem; align-items: center;}
.notice-list-head{padding: 1.125rem 1.375rem; font-size: max(10px,0.75rem); color: rgb(132, 148, 158); border-bottom: 1px solid rgb(217, 227, 232); text-align: center;}
.notice-list-head span:nth-child(2){text-align: left;}
.notice-row{padding: 1.5rem 1.375rem; min-height: 5.0625rem; border-bottom: 1px solid rgb(224, 231, 235); transition: background 0.2s; color: rgb(43, 66, 84);}
.notice-number{text-align: center; font-size: max(10px,0.8125rem); color: rgb(139, 156, 167); font-variant-numeric: tabular-nums;}
.notice-badge{display: inline-flex; align-items: center; gap: 0.3125rem; font-size: max(10px,0.75rem); font-weight: 650; color: rgb(49, 95, 117); background: rgb(227, 238, 242); border: 1px solid rgb(207, 222, 230); border-radius: 0.3125rem; padding: 0.375rem 0.5625rem; white-space: nowrap;}
.notice-badge svg{width: 0.8125rem; height: 0.8125rem; fill: none; stroke: currentcolor; stroke-width: 1.6;}
.notice-row--pinned{background: rgb(244, 248, 250);}
.notice-subject{font-size: max(13px,1.0625rem); font-weight: 550; line-height: 1.7; letter-spacing: -0.02em; word-break: keep-all; overflow-wrap: anywhere;}
.notice-attach{display: inline-block; vertical-align: middle; width: 0.9375rem; height: 0.9375rem; fill: none; stroke: rgb(140, 162, 174); stroke-width: 1.6; margin-left: 0.5625rem;}
.notice-row time{text-align: center; font-size: max(10px,0.8125rem); color: rgb(123, 142, 155); font-variant-numeric: tabular-nums;}
.notice-arrow{font-size: max(13px,1.25rem); color: rgb(138, 162, 176); transition: transform 0.2s, color 0.2s;}
.notice-pagination{display: flex; justify-content: center; align-items: center; gap: 0.4375rem; margin-top: 2.1875rem; flex-wrap: wrap;}
.notice-pagination a{display: grid; place-items: center; min-width: 2.625rem; height: 2.625rem; padding: 0 0.5625rem; border: 1px solid transparent; border-radius: 0.4375rem; color: rgb(110, 131, 144); font-size: max(13px,0.875rem); transition: background 0.2s;}
.notice-pagination a[aria-current="page"]{background: rgb(45, 92, 114); color: rgb(255, 255, 255); font-weight: 700;}
.notice-pagination .notice-page-edge{padding: 0 0.75rem; border-color: rgb(220, 229, 233);}
.notice-pagination .notice-disabled{color: rgb(179, 192, 199); pointer-events: none;}
.notice-pagination .ellipsis{color: rgb(153, 171, 180); font-size: max(10px,0.75rem);}
.notice-empty{text-align: center; border-top: 0.125rem solid rgb(41, 75, 94); border-bottom: 1px solid rgb(224, 231, 235); padding: 4.6875rem 1.25rem; scroll-margin-top: 6.875rem;}
.notice-empty h3{font-size: 1.4375rem; margin-bottom: 0.75rem; font-weight: 650;}
.notice-empty p{font-size: max(13px,0.9375rem); color: rgb(125, 143, 156); line-height: 1.8;}
.notice-reset{display: inline-flex; align-items: center; gap: 1.125rem; padding: 0.75rem 1.25rem; margin-top: 1.5625rem; border: 1px solid rgb(200, 219, 227); background: rgb(244, 248, 250); border-radius: 0.4375rem; font-size: max(13px,0.875rem); color: rgb(45, 92, 114);}
.notice-detail{padding: 3.5625rem 0 4.5rem; color: var(--notice-ink);}
.notice-detail-inner{max-width: 63.75rem;}
.notice-breadcrumb-back{display: inline-flex; gap: 0.6875rem; font-size: max(10px,0.8125rem); color: rgb(109, 136, 152); padding: 0.5rem 0; margin-bottom: 1.4375rem;}
.notice-detail-header{border-top: 0.125rem solid rgb(41, 75, 94); border-bottom: 1px solid rgb(220, 229, 233); padding: 1.9375rem 0 1.5625rem;}
.notice-detail-header h2{font-size: 2.125rem; line-height: 1.5; font-weight: 650; letter-spacing: -0.035em; word-break: keep-all; overflow-wrap: anywhere; margin: 0.75rem 0 1.0625rem;}
.notice-meta{display: flex; gap: 0.625rem; font-size: max(10px,0.8125rem); color: rgb(138, 154, 165);}
.notice-content{padding: 2.375rem 0; font-size: max(13px,1rem); line-height: 1.9; color: rgb(67, 92, 108); overflow-wrap: anywhere;}
.notice-content p, .notice-content div{max-width: 100%;}
.notice-content p{margin: 0 0 0.875rem;}
.notice-content h3, .notice-content h4, .notice-content h5{font-size: 1.3125rem; line-height: 1.6; margin: 1.5rem 0 0.875rem; color: rgb(41, 77, 98);}
.notice-content img{display: block; max-width: 100%; height: auto; margin: 1.125rem auto; border-radius: 0.25rem;}
.notice-content a{color: rgb(41, 103, 139); text-decoration: underline; text-underline-offset: 0.1875rem;}
.notice-content ul, .notice-content ol{padding-left: 1.5rem; margin: 0.9375rem 0;}
.notice-content table{width: 100%; border-collapse: collapse; margin: 1.375rem 0;}
.notice-content td, .notice-content th{border: 1px solid rgb(220, 229, 233); padding: 0.75rem; word-break: break-word;}
.notice-content hr{border-width: 1px 0 0; border-style: solid none none; border-color: rgb(220, 229, 233) currentcolor currentcolor; border-image: initial; margin: 1.5rem 0;}
.notice-content .notice-video{position: relative; aspect-ratio: 16 / 9; margin: 1.5rem 0;}
.notice-video iframe{width: 100%; height: 100%; border: 0;}
.notice-attachments{padding: 1.375rem 1.5625rem; background: rgb(245, 248, 250); border: 1px solid rgb(223, 231, 236); border-radius: 0.5625rem; margin-bottom: 2rem;}
.notice-attachments h3{font-size: max(13px,0.875rem); font-weight: 650; margin-bottom: 0.8125rem;}
.notice-attachments ul{list-style: none; padding: 0; margin: 0;}
.notice-attachments li + li{margin-top: 0.5rem;}
.notice-attachments a{display: flex; align-items: center; gap: 0.75rem; font-size: max(13px,0.875rem); color: rgb(88, 117, 138); padding: 0.4375rem 0; overflow-wrap: anywhere; min-height: 2.375rem;}
.notice-attachments svg{width: 1.1875rem; height: 1.1875rem; flex-shrink: 0; fill: none; stroke: currentcolor; stroke-width: 1.6;}
.notice-adjacent{border-top: 1px solid rgb(198, 214, 223); margin-top: 0.75rem;}
.notice-adjacent a{display: grid; grid-template-columns: 4.375rem minmax(0, 1fr) 6.25rem; align-items: center; gap: 1.125rem; padding: 1.3125rem 0.3125rem; border-bottom: 1px solid rgb(224, 231, 235); transition: background 0.2s;}
.notice-adjacent small{font-size: max(10px,0.75rem); color: rgb(124, 147, 161);}
.notice-adjacent strong{font-size: max(13px,0.9375rem); font-weight: 500; line-height: 1.7; overflow-wrap: anywhere;}
.notice-adjacent time{font-size: max(10px,0.75rem); color: rgb(137, 155, 166); text-align: right;}
.notice-detail-actions{display: flex; justify-content: center; gap: 0.75rem; margin-top: 2rem;}
.notice-list-button{display: inline-flex; justify-content: center; align-items: center; gap: 1.5625rem; min-height: 3rem; padding: 0.8125rem 1.875rem; border: 1px solid rgb(45, 92, 114); border-radius: 0.4375rem; color: rgb(255, 255, 255); background: rgb(45, 92, 114); font-size: max(13px,0.875rem); font-weight: 600;}
.notice-original-button{display: inline-flex; align-items: center; gap: 0.75rem; padding: 0.8125rem 1.25rem; color: rgb(104, 134, 151); font-size: max(10px,0.8125rem);}
.notice-page a:focus-visible, .notice-page button:focus-visible{outline: rgb(47, 107, 255) solid 0.1875rem; outline-offset: 0.25rem;}
.notice-page [hidden]{display: none !important;}
@media (hover: hover){.notice-row:hover{background: rgb(237, 245, 248);}
.notice-row:hover .notice-arrow{transform: translateX(0.25rem); color: rgb(50, 108, 134);}
.notice-row:hover .notice-subject{color: rgb(37, 92, 118);}
.notice-pagination a:not([aria-current="page"]):hover{background: rgb(237, 244, 247);}
.notice-search button:hover{background: rgb(230, 239, 243);}
.notice-adjacent a:hover{background: rgb(245, 248, 250);}
.notice-list-button:hover{background: rgb(36, 78, 99);}}

.notice-main{padding: 2.6875rem 0 3.4375rem;}
.notice-toolbar{gap: 1.375rem; align-items: stretch; flex-direction: column; margin-bottom: 1.4375rem;}
.notice-toolbar h2{font-size: 1.6875rem;}
.notice-search{width: 100%;}
.notice-list-head, .notice-row{grid-template-columns: 4rem minmax(0, 1fr) 5.75rem 1.25rem; gap: 0.9375rem; padding-left: 0.75rem; padding-right: 0.75rem;}
.notice-subject{font-size: max(13px,0.9375rem);}
.notice-row{padding-top: 1.25rem; padding-bottom: 1.25rem;}
.notice-list{scroll-margin-top: 5.625rem;}
.notice-detail{padding: 2.1875rem 0 3.125rem;}
.notice-detail-header h2{font-size: 1.75rem;}
.notice-content{font-size: max(13px,0.9375rem); padding: 1.75rem 0;}
.notice-content td, .notice-content th{padding: 0.5rem;}
.notice-main{padding: 2.25rem 0 2.875rem;}
.notice-toolbar h2{font-size: 1.5625rem;}
.notice-count{font-size: max(10px,0.8125rem);}
.notice-list-head{display: none;}
.notice-row{grid-template-columns: 3rem minmax(0, 1fr) 1.125rem; gap: 0.4375rem 0.75rem; padding: 1.25rem 0; min-height: 5.875rem;}
.notice-number{grid-area: 1 / 1 / 3; font-size: max(10px,0.75rem); align-self: start; padding-top: 0.125rem;}
.notice-badge{font-size: 0.625rem; padding: 0.3125rem 0.375rem; gap: 0.1875rem;}
.notice-badge svg{width: 0.6875rem; height: 0.6875rem;}
.notice-subject{grid-area: 1 / 2; font-size: max(13px,0.9375rem); font-weight: 550; line-height: 1.7;}
.notice-row time{grid-area: 2 / 2; text-align: left; font-size: max(10px,0.75rem);}
.notice-arrow{grid-area: 1 / 3 / 3; font-size: max(13px,1.125rem);}
.notice-pagination{gap: 0.25rem; margin-top: 1.6875rem;}
.notice-pagination a{min-width: 2.125rem; height: 2.5rem; padding: 0 0.375rem; font-size: max(10px,0.8125rem);}
.notice-pagination .notice-page-edge{padding: 0 0.5rem;}
.notice-pagination .ellipsis{font-size: 0.625rem;}
.notice-detail-header{padding: 1.375rem 0;}
.notice-detail-header h2{font-size: 1.5rem;}
.notice-adjacent a{grid-template-columns: 3.4375rem minmax(0, 1fr); gap: 0.5rem 0.75rem; padding: 1.1875rem 0;}
.notice-adjacent time{grid-column: 2; text-align: left;}
.notice-adjacent strong{font-size: max(13px,0.875rem);}
.notice-attachments{padding: 1.125rem;}
.notice-detail-actions{gap: 0.5rem;}
.notice-list-button{padding: 0.75rem 1.375rem;}
.notice-original-button{padding: 0.75rem 0.625rem; font-size: max(10px,0.75rem);}
@media (prefers-reduced-motion: reduce){.notice-row, .notice-arrow, .notice-pagination a, .notice-adjacent a{transition: none;}}
