/* ページ全体の本文幅 */
.allpage {
    max-width: 1000px;
    margin: 0 auto;
    padding: 60px 40px 60px;
}

/* スマートフォン */
@media (max-width: 768px) {
    .allpage {
        padding: 20px;
    }
}

.timetable-page .normal-chara {
    font-weight: normal;
    line-height: 1.8;
}


/* 表 */
.timetable-table {
    border-collapse: collapse;
    margin-top: 1rem;
    margin-bottom: 2rem;
    width: 100%;
}


.timetable-table th,
.timetable-table td {
    border: 1px solid black;
    padding: 0.5rem;
    text-align: center;
}

table {
    width: 100%;
    border-collapse: collapse;
}

th, td {
    padding: 10px;
    border: 1px solid #ccc;
}

/* 見出し */
th {
    background-color: #365e81;
    color:white
}

.grade-title{
  margin-bottom:10px;
  padding-left:14px;
  border-left:8px solid #0b3962;
  color:#0b3962;
  font-size:1.6rem;
  font-weight:700;
}

/* 偶数行を薄いグレー */
tr:nth-child(even) {
    background-color: #f5f5f5;
}


/* 注意事項 */
.timetable-list {
    list-style-type: disc;
    padding-left: 2rem;
    margin-bottom: 2rem;
}


.timetable-list li {
    margin-bottom: 0.5rem;
}

/* リンク */
.text-link {
    color: #0f4c81;
    text-decoration: underline;
}

.text-link:hover {
    color: #00448d;
}


/* 画像 */
.timetable-image {
    width: 100%;
    max-width: 800px;
    height: auto;
    margin-bottom: 2rem;
}

/* 注意事項ボックス */
.notice-box {
    background: #eef8fc;
    border-radius: 12px;
    padding: 1.5rem;
    margin-bottom: 2.5rem;
    box-shadow: 0 3px 10px rgba(0,0,0,0.08);
}

.notice-box .normal-chara {
    margin-bottom: 1rem;
    font-weight: normal;
    line-height: 1.8;
}

.notice-box .normal-chara:last-child {
    margin-bottom: 0;
}

/* マーカー */
.marker {
    background: linear-gradient(transparent 65%, #bcc6fd 65%);
    font-weight: 600;
}


.sat {
    color: rgb(0, 100, 223);
}

.sun {
    color: rgb(208, 0, 100);
}


/* ==========================================
   ページ飛ぶやつ
========================================== */
.grade-nav{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:15px;
    margin:30px 0 40px;
}

.grade-nav a{
    background:#0f4c81;
    color:#fff;
    text-decoration:none;
    padding:10px 22px;
    border-radius:999px;
    font-weight:600;
    transition:.2s;
}

.grade-nav a:hover{
    background:#1b6aa8;
}

html{
    scroll-behavior:smooth;
}

.grade-section{
    scroll-margin-top:100px;
}
