/* クラシック公開・管理ページ専用 */
.classicPage { width: 100%; max-width: 1040px; margin-left: auto; margin-right: auto; padding-top: 28px; padding-bottom: 48px; color: #342e28; }
.classicHero { display: flex; align-items: center; gap: 36px; padding: 36px; margin-bottom: 28px; border-top: 4px solid var(--mainColor); background: #f7f2e9; border-radius: 4px 4px 12px 12px; }
.classicLogo { width: 180px; height: 150px; object-fit: contain; flex-shrink: 0; }
.classicPage .classicEyebrow { margin: 0 0 8px; color: #805026; font-family: var(--oswald, sans-serif); font-size: 13.6px; font-weight: 700; letter-spacing: .14em; }
.classicPage h1 { padding: 0; margin: 0 0 16px; text-align: left; font-size: clamp(24px, 3vw, 32px); font-weight: 700; line-height: 1.5; }
.classicHero h1 span { display: block; }
.classicPage .classicStatus { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-size: 14.4px; color: #655139; }
.classicPanel { margin-bottom: 24px; border: 1px solid #e0d6c9; border-radius: 10px; background: #fff; overflow: hidden; }
.classicSectionHead { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 20px 24px; }
.classicPage .classicSectionHead h2 { margin: 0; padding: 0; border: 0; color: #44382b; font-size: 17.6px; font-weight: 700; }
.classicPage .classicCount { margin: 0; color: #756550; font-size: 13.6px; white-space: nowrap; }
.classicCount strong { color: #924716; font-family: var(--oswald, sans-serif); font-size: 28.8px; line-height: 1; }
.classicTableWrap { width: 100%; overflow-x: auto; background: #fff; }
.classicTable { width: 100%; margin: 0; border-collapse: collapse; font-size: 15.2px; }
.classicTable thead th { padding: 12px 20px; border-bottom: 1px solid #dfd6c9; background: #f5f1eb; color: #685847; font-size: 12.48px; font-weight: 600; text-align: left; white-space: nowrap; }
.classicTable tbody td, .classicTable tbody th { padding: 20px; border-bottom: 1px solid #ece5dc; vertical-align: middle; text-align: left; }
.classicTable tbody tr:last-child > * { border-bottom: 0; }
.classicTable .classicBib { width: 100px; text-align: center; }
.classicBib span { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 4px 8px; border: 1px solid #dfd3c3; border-radius: 6px; background: #faf7f1; color: #72502b; font-family: var(--oswald, sans-serif); font-size: 20.8px; font-weight: 600; }
.classicName { width: 25%; font-weight: 700; overflow-wrap: anywhere; }
.classicReasonList { display: flex; flex-wrap: wrap; gap: 6px; }
.classicReason { display: inline-block; padding: 5px 9px; border-radius: 4px; background: #f7f0e6; color: #784b26; font-size: 12.8px; line-height: 1.6; overflow-wrap: anywhere; }
.classicPage .classicEmpty { padding: 40px 20px; text-align: center; color: #706658; background: #faf7f2; }
.classicEmpty > i { display: block; margin-bottom: 12px; font-size: 28.8px; }
.classicPage .classicBack { margin: 28px 0 0; text-align: center; }
.classicManageHead { margin-bottom: 24px; }
.classicManageHead p:last-child { color: #64584c; font-size: 14.4px; }
.classicYearForm { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 24px; }
.classicYearForm label { margin: 0; font-weight: 600; }
.classicYearForm input { max-width: 140px; }
.classicYearForm button { min-height: 38px; }
.classicProgress { padding-bottom: 20px; }
.classicPill { padding: 5px 10px; border-radius: 20px; background: #f4ede2; color: #72502b; font-size: 12.8px; }
.classicPage .classicSchedule { margin: 0 24px 16px; font-size: 14.4px; }
.classicSchedule strong { font-size: 25.6px; font-family: var(--oswald, sans-serif); }
.classicSeriesGrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 0 24px; }
.classicSeries { padding: 16px; background: #faf7f2; border-left: 3px solid #c1ad93; border-radius: 4px; }
.classicSeries.isComplete { border-left-color: #417353; background: #f0f6f1; }
.classicSeries > strong { display: block; font-size: 19.2px; }
.classicSeries small { font-size: 12.8px; font-weight: 400; }
.classicSeries p { margin: 8px 0 0; font-size: 12.8px; }
.classicPage .classicNote { margin: 0 0 16px; color: #685d51; font-size: 13.6px; line-height: 1.8; }
.classicProgress .classicNote { margin: 16px 24px 0; }
.classicPage .classicPublished { margin: 0 0 24px; padding: 18px 22px; border-left: 3px solid #8b623b; background: #fff9ed; border-radius: 4px; font-size: 14.4px; line-height: 1.9; }
.classicManage > .classicSectionHead { padding: 12px 0; }
.classicManage > .classicTableWrap { border: 1px solid #dfd6c9; border-radius: 8px; }
.classicManageTable { min-width: 600px; }
.classicManageTable th:last-child, .classicManageTable td:last-child { width: 110px; font-size: 12.8px; }
.classicNew { background: #f1f8f0; }
.classicNew td:first-child { border-left: 3px solid #508451; }
.classicNew strong { font-weight: 700; }
.classicRemoved { color: #716d66; background: #f0eeeb; }
.classicActions { margin-top: 24px; padding: 24px; text-align: center; background: #fffaf2; border: 1px solid #dfd6c9; border-radius: 8px; }
.classicActions p { margin: 0 0 14px; font-size: 13.6px; color: #685d51; }
.classicPage .btn:focus-visible { outline: 3px solid #805026; outline-offset: 3px; }
@media (max-width: 575px) {
    .classicPage { padding-top: 16px; }
    .classicHero { gap: 16px; padding: 24px 16px; }
    .classicLogo { width: 85px; height: 100px; }
    .classicHero h1 { font-size: 19.2px; }
    .classicPage .classicStatus { font-size: 12.48px; }
    .classicSectionHead { padding: 18px 16px; }
    .classicPublicTable thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
    .classicPublicTable tbody, .classicPublicTable tr { display: block; }
    .classicPublicTable tr { position: relative; padding: 18px 16px 18px 78px; border-top: 1px solid #ece5dc; min-height: 88px; }
    .classicPublicTable tbody td, .classicPublicTable tbody th { display: block; width: auto; padding: 0; border: 0; }
    .classicPublicTable .classicBib { width: 44px; position: absolute; top: 18px; left: 16px; }
    .classicPublicTable .classicName { margin-bottom: 10px; }
    .classicPublicTable .classicEmpty { padding: 12px 0; }
    .classicSeriesGrid { padding: 0 16px; gap: 8px; }
    .classicSeries { padding: 12px; }
    .classicSeries small { display: block; }
    .classicProgress .classicNote, .classicPage .classicSchedule { margin-left: 16px; margin-right: 16px; }
    .classicActions { padding: 20px 12px; }
    .classicActions .btn { width: 100%; max-width: 340px; }
}

.classicHeroText { min-width: 0; }

/* スマートフォンの文字サイズ: 本文 f6 / 見出し・強調 f5 / 項目・補足 f7 */
@media screen and (max-width: 767px) {

	.classicPage .classicEyebrow,
	.classicPage .classicStatus,
	.classicPage .classicCount,
	.classicTable thead th,
	.classicReason,
	.classicPill,
	.classicPage .classicSchedule,
	.classicSeries small,
	.classicPage .classicNote,
	.classicPage .classicPublished,
	.classicManageTable th:last-child,
	.classicManageTable td:last-child {
		font-size: var(--f7);
	}

	.classicPage h1,
	.classicPage .classicSectionHead h2,
	.classicCount strong,
	.classicBib span,
	.classicSchedule strong,
	.classicSeries > strong,
	.classicHero h1 {
		font-size: var(--f5);
	}

	.classicTable,
	.classicManageHead p:last-child,
	.classicSeries p,
	.classicActions p {
		font-size: var(--f6);
	}
}
