@charset "UTF-8";
/* 試験ページ（single-exam / 年度ページ）専用。 */

.exam-head{background:var(--white);border-bottom:1px solid var(--line-soft);padding:24px 0 28px}
.exam-head .wrap{max-width:var(--wrap-narrow)}
.exam-title{display:flex;align-items:center;gap:16px;margin:0 0 6px}
.exam-title .icon{width:56px;height:56px;color:var(--navy);flex:none;display:block}
.exam-title .icon svg{width:100%;height:100%;display:block}
.exam-title h1{font-size:26px;font-weight:900;color:var(--navy);line-height:1.35;margin:0}
.exam-meta{font-size:13px;color:var(--muted);margin:0 0 4px}
.exam-meta a{color:var(--navy)}
.exam-today{font-size:13px;color:var(--navy-text);margin:8px 0 0}

/* 予想／確定のお知らせ */
.notice{border-radius:var(--radius-s);padding:12px 16px;font-size:14px;margin:16px 0 0;border:1px solid var(--line)}
.notice-predicted{background:#f4f6fa;color:var(--text)}
.notice-announced{background:#eef4ff;border-color:#c9d9f5;color:var(--navy-text)}
.notice strong{font-weight:700}
.notice a{color:var(--navy)}

/* カウントダウン（リング） */
.countdown-wrap{display:flex;align-items:center;justify-content:center;gap:40px;flex-wrap:wrap;padding:28px 0 8px}
.countdown-ring{position:relative;width:240px;height:240px;flex:none}
.countdown-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.countdown-ring .ring-bg{fill:none;stroke:var(--line);stroke-width:10}
.countdown-ring .ring-progress{fill:none;stroke:var(--navy);stroke-width:10;stroke-linecap:round;transition:stroke-dashoffset .6s ease}
.countdown-ring .ring-progress.soon{stroke:var(--red)}
.countdown-ring .ring-progress.mid{stroke:var(--orange)}
.countdown-ring .ring-progress.far{stroke:var(--green)}
.countdown-ring .ring-progress.past,.countdown-ring .ring-progress.today{stroke:var(--muted-soft)}
.countdown-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.countdown-center .pre{font-size:13px;font-weight:700;color:var(--text);max-width:150px;line-height:1.4}
.countdown-center .num{font-size:72px;font-weight:900;line-height:1;letter-spacing:.02em;font-variant-numeric:tabular-nums;color:var(--navy)}
.countdown-center .num.soon{color:var(--red)}
.countdown-center .num.mid{color:var(--orange)}
.countdown-center .num.far{color:var(--green)}
.countdown-center .num.past,.countdown-center .num.today{font-size:40px;color:var(--muted-soft)}
.countdown-center .suf{font-size:14px;font-weight:700;color:var(--text)}
.countdown-side{min-width:260px}
.countdown-side .label{font-size:12px;color:var(--muted-soft)}
.countdown-side .date{font-size:22px;font-weight:700;color:var(--navy);line-height:1.5}
.countdown-side .date b{font-size:26px}
.countdown-side .stage{font-size:13px;color:var(--muted);margin-top:2px}
.countdown-side ul{list-style:none;margin:14px 0 0;padding:0;font-size:14px}
.countdown-side li{display:flex;justify-content:space-between;gap:16px;padding:6px 0;border-bottom:1px solid var(--line-soft)}
.countdown-side li span:first-child{color:var(--muted)}
.countdown-off{text-align:center;font-size:16px;color:var(--text);padding:24px 0}

.year-links{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.year-links a{display:inline-block;border:1px solid var(--line);background:var(--white);border-radius:999px;padding:4px 14px;font-size:13px;color:var(--navy);text-decoration:none}
.year-links a:hover{background:#f3f6fb}
.hit{color:var(--green);font-weight:700}
.miss{color:var(--muted-soft)}
.faq dt{font-weight:700;color:var(--navy-text);margin-top:14px}
.faq dd{margin:4px 0 0}
.related-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.related-list a{display:flex;align-items:center;gap:10px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-s);padding:12px;text-decoration:none;color:var(--text)}
.related-list svg{width:28px;height:28px;color:var(--navy);flex:none}
.related-list .name{font-size:14px;font-weight:700;color:var(--navy)}
.related-list .date{font-size:12px;color:var(--muted)}

@media (max-width:860px){
	.exam-title h1{font-size:21px}
	.exam-title .icon{width:44px;height:44px}
	.countdown-wrap{gap:20px;padding:20px 0 4px}
	.countdown-ring{width:200px;height:200px}
	.countdown-center .num{font-size:58px}
	.countdown-side{min-width:0;width:100%}
	/* 20年表はモバイルでは年度・試験日・合格率の3列に絞る */
	.history-table td:nth-child(n+4),.history-table th:nth-child(n+4){display:none}
	.history-table.is-open td,.history-table.is-open th{display:table-cell}
}

/* 掲示板（コメント） */
.comments .comment-list{list-style:none;margin:0 0 24px;padding:0}
.comments .comment-list li{border-top:1px solid var(--line-soft);padding:14px 0}
.comments .comment-list li:first-child{border-top:0}
.comments .comment-author{font-weight:700;color:var(--navy-text);font-size:14px}
.comments .comment-meta{font-size:12px;color:var(--muted-soft)}
.comments .comment-content{font-size:15px;margin-top:4px}
.comments .comment-notes{font-size:13px;color:var(--muted)}
.comments .comment-form p{margin:0 0 12px}
.comments .comment-form label{display:block;font-size:13px;font-weight:700;color:var(--navy-text);margin-bottom:4px}
.comments .comment-form .description{display:block;font-size:12px;font-weight:400;color:var(--muted-soft);margin-top:4px}
.comments .comment-form input[type="text"],.comments .comment-form input[type="email"],.comments .comment-form textarea{width:100%;max-width:520px;border:1px solid var(--line);border-radius:var(--radius-s);padding:10px 12px;font:inherit;font-size:15px;background:var(--white)}
.comments .comment-form textarea{min-height:120px;max-width:100%}
.comments .comment-form .submit{display:inline-flex;align-items:center;justify-content:center;height:46px;padding:0 32px;background:var(--navy);color:#fff;border:0;border-radius:var(--radius-s);font:inherit;font-weight:700;cursor:pointer}
.comments .comment-form .submit:hover{background:var(--navy-deep)}
.comments .required{color:var(--red)}
