body{
margin:0;
font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
background:#f5f1e8;
color:#222;
line-height:1.9;
}
header{
background:#1f2a1f;
color:white;
padding:60px 20px;
text-align:center;
border-bottom:4px solid #8b0000;
}
header h1{
margin:0;
font-size:3rem;
letter-spacing:.12em;
}
header p{
opacity:.9;
}
nav{
background:#2f3d2f;
padding:12px;
text-align:center;
}
nav a{
color:white;
text-decoration:none;
margin:0 18px;
}
.hero-image{
width:100%;
max-height:520px;
object-fit:cover;
display:block;
}
.container{
max-width:1250px;
margin:auto;
padding:40px 20px;
}
.section{
background:white;
margin-bottom:35px;
padding:30px;
border-left:6px solid #8b0000;
box-shadow:0 2px 8px rgba(0,0,0,.08);
}
.category-list{
display:flex;
gap:10px;
flex-wrap:wrap;
}
.category{
background:#eee;
padding:10px 16px;
border-radius:4px;
}
table{
width:100%;
border-collapse:collapse;
font-size:.93rem;
}
th,td{
border:1px solid #ccc;
padding:10px;
vertical-align:top;
}
th{
background:#ece7dc;
}
a{
color:#7a0000;
text-decoration:none;
}
a:hover{
text-decoration:underline;
}
.article{
padding:18px 0;
border-bottom:1px solid #ddd;
}
footer{
background:#1f2a1f;
color:white;
text-align:center;
padding:25px;
}
.material-list{
width:100%;
}
.material-item{
border:1px solid #ccc;
border-bottom:none;
background:#fff;
}
.material-item:last-child{
border-bottom:1px solid #ccc;
}
.material-item summary{
cursor:pointer;
padding:16px;
font-size:1.05rem;
color:#7a0000;
}
.material-item summary:hover{
background:#f8f5ee;
}
.material-detail{
padding:0 16px 16px 16px;
}
.material-detail table{
margin-top:10px;
}
.material-toggle{
cursor:pointer;
font-size:1.05rem;
padding:10px 0;
margin-top:20px;
}
.search-box{
width:100%;
padding:12px;
margin-bottom:20px;
font-size:1rem;
border:1px solid #ccc;
box-sizing:border-box;
}
.notice-small{
font-size:0.82rem;
color:#666;
margin-top:25px;
}
@media(max-width:700px){
header h1{
font-size:2rem;
}
.container{
padding:20px 12px;
}
.section{
padding:18px;
}
table{
font-size:.85rem;
display:block;
overflow-x:auto;
}
nav a{
display:inline-block;
margin:4px 8px;
}
}


.news-item{
padding:14px 0;
border-bottom:1px solid #ddd;
}
.news-item:last-child{
border-bottom:none;
}
.news-date{
font-size:0.9rem;
color:#666;
}
.news-title{
font-weight:bold;
margin-top:4px;
}
