.office-page{
max-width:900px;
margin:0 auto;
padding-bottom:60px;
}

.page-lead{
margin-bottom:2rem;
}

.office-grid{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(260px,1fr));

gap:20px;
}

.office-card{

display:block;

text-decoration:none;

color:inherit;

background:#fff;

border:1px solid #ddd;

border-radius:12px;

padding:28px;

transition:.2s;
}

.office-card:hover{

transform:translateY(-3px);

box-shadow:0 8px 18px rgba(0,0,0,.08);

border-color:#005bac;
}

.office-icon{

font-size:2rem;

margin-bottom:1rem;
}

.office-card h2{

margin-bottom:1rem;

color:#005bac;
}

.office-card p{

line-height:1.8;

margin:0;
}

.office-info h2{
color:#005bac;

margin-top:3rem;

margin-bottom:1.5rem;

padding-left:.75rem;

border-left:5px solid #005bac;
}


.office-info h3{

color:#222;

font-size:1.25rem;

margin-top:2rem;

margin-bottom:1rem;

font-weight:700;
}

.fee-table{

width:100%;

border-collapse:collapse;

margin-top:1rem;

background:#fff;
}

.fee-table th{

background:#005bac;

color:#fff;

padding:14px;

text-align:left;
}

.fee-table td{

padding:14px;

border-bottom:1px solid #e6e6e6;
}

.fee-table tbody tr:nth-child(even){

background:#f7f9fc;
}

.fee-table tfoot td{

background:#eef5ff;

font-weight:700;

color:#005bac;
}

.small-note{

margin-top:1rem;

font-size:.9rem;

color:#666;
}

.office-links a{
display:inline-block;
padding:12px 18px;

border:1px solid #005bac;

border-radius:999px;

text-decoration:none;
}

/* 学校財務会計報告 */

.finance-page{

max-width:900px;

margin:0 auto;

padding-bottom:4rem;

}

.finance-table-wrap{

overflow-x:auto;

margin-top:2rem;

}

.finance-table{

width:100%;

border-collapse:collapse;

background:#fff;

}

.finance-table th{

background:#005bac;

color:#fff;

padding:14px;

text-align:left;

}

.finance-table td{

padding:14px;

border-bottom:1px solid #e5e5e5;

}

.finance-table tbody tr:nth-child(even){

background:#f8fafc;

}

.finance-table a{

font-weight:600;

text-decoration:none;

}

.finance-table a:hover{

text-decoration:underline;

}

@media(max-width:768px){

.finance-table th,
.finance-table td{

padding:10px;

}

}

.finance-list{
display:grid;
gap:20px;
}

.finance-card{
padding:24px;

border:1px solid #ddd;

border-radius:12px;

background:#fff;
}

.finance-card h2{
margin-top:0;

margin-bottom:1rem;

color:#005bac;
}

.finance-links{
display:flex;

flex-wrap:wrap;

gap:12px;
}

.finance-link{

display:inline-block;

padding:10px 16px;

border:1px solid #005bac;

border-radius:999px;

text-decoration:none;
}

.finance-disabled{

padding:10px 16px;

background:#f5f5f5;

border-radius:999px;

color:#666;
}

.office-download{

display:inline-block;

padding:12px 18px;

border:1px solid #005bac;

border-radius:999px;

text-decoration:none;

font-weight:600;

margin:10px 0;

}

.office-download:hover{

opacity:.85;

}

.address-box{

margin-top:20px;

padding:18px;

border-left:6px solid #005bac;

background:#f5f7fb;

line-height:1.9;

}

.office-download{

display:inline-flex;

padding:12px 18px;

border:1px solid #005bac;

border-radius:999px;

text-decoration:none;

font-weight:600;

align-items:center;

min-height:44px;

}

.office-download:hover{

opacity:.85;

}

.office-box h3{

color:#005bac;

margin-top:2rem;

}