.subject-box{
    position: relative;
    padding: 65px 0;
}
.subject-box:after{
    content: "";
    display: block;
    width: 60px;
    height: 3px;
    margin: 20px auto 45px;
    background-color: #ffd18c;
}
.subject-box .date {
    border-style: solid;
    border-width: 2px;
    border-color: rgb(201, 160, 99);
    background-color: transparent;
    opacity: 0.9;
    width: 80px;
    height: 80px;
    margin: 30px auto 50px;
    z-index: 9;
    display: flex;
    justify-content: center;
    align-items: center;
}
.subject-box .date.date-rotate{
    transform: rotate(45deg);
}
.subject-box .date p {
    font-family: "Noto Sans CJK TC";
    color: #c9a063;
    text-align: center;
    transform: rotate(-45deg) translateX(15%);
    display: flex;
    align-items: center;
}
.subject-box .date p.month{
    font-size: 20px;
    padding-bottom: 10px;
}
.subject-box .date p.day{
    font-size: 20px;
    transform: rotate(-45deg) translateX(-50%);
}
.subject-title{
    text-align: center;
    position: relative;
    font-size: 24px;
    letter-spacing: 5px;
    color: #c9a063;
}
/* News archive pages reuse the original cards and title styling. */
body.news .news-banner { height: 360px; }
.news .news-banner > img { width: 100%; height: 100%; object-fit: cover; }
.news .news-banner .title-son { z-index: 2; }
.news .news-banner:after { content: ''; position: absolute; inset: 0; background: rgba(0,0,0,.2); }
.news .news-archive-note { text-align: center; color: #71604b; line-height: 1.8; margin: 0 auto 45px; max-width: 800px; }
.news .news-list { display: flex; flex-wrap: wrap; padding-top: 25px; }
.news .news-list .listbox a { display: block; }
.news .news-list .imgbox img { width: 100%; }
.news .news-list .infobox { padding: 20px; }
.news .news-list .subject { font-size: 18px; line-height: 1.7; margin: 0 0 12px; }
.news .news-list .text { line-height: 1.8; }
.news .news-article { max-width: 850px; margin: 0 auto; }
.news .subject-box { padding: 25px 0 0; }
.news .subject-title { line-height: 1.8; overflow-wrap: anywhere; }
.news .news-detail-image { margin: 0 auto 30px; }
.news .news-body { line-height: 2; margin-bottom: 40px; }
.news .news-back { text-align: center; padding-bottom: 60px; }
.news .news-empty { text-align: center; padding: 30px 0 90px; }
.news .news-empty h2 { color: #c9a063; }
.news .class-link { display: flex; flex-wrap: wrap; justify-content: center; }
@media(max-width:767px) {
    body.news .news-banner { height: 240px; }
    .news .class-link > li { margin: 5px; }
    .news .subject-title { font-size: 21px; letter-spacing: 2px; }
}
body.son.news ul.class-link > li.active > a,
body.son.news ul.class-link > li > a:hover,
body.son.news ul.class-link > li > a:focus { background-color: #cda871; color: #fff; }
