@charset "utf-8";

/* 上部・資料・公示はevent.cssと共通。シリーズ固有の一覧だけを定義する。 */
.series-page .series-document-buttons { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 12px; margin-bottom: 42px; }

/* 共通規則書がなくても、ポイントは同じ幅で右側に残す。 */
.series-page .series-document-regulation { grid-column: 1; grid-row: 1; }
.series-page .series-document-points { grid-column: 2; grid-row: 1; }
.series-page .series-document-buttons:not(:has(.series-document-regulation)) .series-document-points { grid-column: 1 / -1; }
.series-page .series-schedule-list-wrap { font-size: 20px; line-height: 1.5; }
.series-page .series-schedule-head, .series-page .series-schedule-item { display: grid; grid-template-columns: 76px 118px minmax(0, 1fr) 112px; column-gap: 16px; }
.series-page .series-schedule-list-wrap.no-round .series-schedule-head, .series-page .series-schedule-list-wrap.no-round .series-schedule-item { grid-template-columns: 118px minmax(0, 1fr) 112px; }
.series-page .series-schedule-head { align-items: center; padding: 8px 14px; color: #5d6871; font-size: 16px; font-weight: 600; letter-spacing: .02em; }
.series-page .series-schedule-list { margin: 0; padding: 0; list-style: none; border-top: 2px solid #b8cad8; }
.series-page .series-schedule-list li { border-bottom: 1px solid #d0d9e1; }
.series-page .series-schedule-item { position: relative; align-items: center; min-height: 84px; padding: 14px; color: #145a86; transition: background-color .15s ease, box-shadow .15s ease; }
.series-page .series-schedule-item:hover { background: #edf5fa; box-shadow: inset 4px 0 0 #0074c9; opacity: 1; }
.series-page .series-round, .series-page .series-date { color: #3c5364; font-weight: 600; text-align: center; overflow-wrap: anywhere; }
.series-page .series-place { min-width: 0; overflow-wrap: anywhere; }
.series-page .series-place > span { display: block; }
.series-page .series-place-name { font-weight: 500; }
.series-page .series-organizer { font-size: 18px; color: #5d6871; }
.series-page .series-event-name { margin-bottom: 4px; font-weight: 500; }
.series-page .series-state { display: flex; align-items: center; justify-content: center; gap: 10px; white-space: nowrap; }
.series-page .series-row-arrow { color: #8aa9be; font: 400 30px/1 Arial, sans-serif; }

/* 色だけに頼らず、各状態を短い文字で表示する。 */
.series-page .series-status { display: inline-flex; align-items: center; justify-content: center; min-height: 30px; padding: 3px 9px; border-radius: 4px; font-size: 17px; line-height: 1.4; font-weight: 500; white-space: nowrap; }
.series-page .series-status-before, .series-page .series-status-scheduled { background: #2e8b57; color: #fff; }
.series-page .series-status-open { background: #db2449; color: #fff; }
.series-page .series-status-closed { background: #9e2338; color: #fff; }
.series-page .series-status-running { background: #087850; color: #fff; }
.series-page .series-status-finished { background: #f0f1f2; color: #727980; }

/* event.cssと同じく、スマートフォンで読める文字と行高を基準にする。 */
.series-page .series-document-buttons { gap: 14px; margin-bottom: 58px; }
.series-page .series-schedule-list-wrap { font-size: 30px; line-height: 1.5; }
.series-page .series-schedule-head, .series-page .series-schedule-item { grid-template-columns: 64px 132px minmax(0, 1fr) 128px; column-gap: 8px; }
.series-page .series-schedule-list-wrap.no-round .series-schedule-head, .series-page .series-schedule-list-wrap.no-round .series-schedule-item { grid-template-columns: 132px minmax(0, 1fr) 128px; }
.series-page .series-schedule-head { padding: 12px 6px; font-size: 26px; }
.series-page .series-schedule-item { min-height: 108px; padding: 14px 6px; }
.series-page .series-organizer { font-size: 26px; }
.series-page .series-event-name { margin-bottom: 6px; }
.series-page .series-state { gap: 7px; }
.series-page .series-row-arrow { font-size: 42px; }
.series-page .series-status { min-height: 40px; padding: 5px 10px; font-size: 24px; }

/* 部会ページと同じ一覧構成。状態は主催名の手前に置き、場所／主催を広く使う。 */
.series-page .series-schedule-head, .series-page .series-schedule-item { grid-template-columns: 48px 112px minmax(0, 1fr); column-gap: 6px; }
.series-page .series-schedule-list-wrap.no-round .series-schedule-head, .series-page .series-schedule-list-wrap.no-round .series-schedule-item { grid-template-columns: 136px minmax(0, 1fr); padding-left: 14px; }
.series-page .series-schedule-head { padding-right: 4px; padding-left: 4px; }
.series-page .series-schedule-item { padding-right: 4px; padding-left: 4px; }
.series-page .series-place { position: relative; padding-right: 32px; }
.series-page .series-place > .series-state { display: inline-flex; margin: 6px 8px 0 0; vertical-align: middle; }
.series-page .series-place > .series-organizer { display: inline-block; vertical-align: middle; }
.series-page .series-place > .series-row-arrow { position: absolute; top: 50%; right: 4px; transform: translateY(-50%); }

/* 資料は上下2ボタンの構成を保ち、ポイントだけを明確な導線にする。 */
.series-page .series-document-buttons { margin-bottom: 78px; }
.series-page .event-section { margin-bottom: 78px; }
.series-page .series-document-points:not(.is-unavailable) { position: relative; border-color: #e94f2c; background: linear-gradient(135deg, #ff7b45, #e94f2c); color: #fff; box-shadow: 0 8px 16px rgba(220, 74, 35, .2); }
.series-page .series-document-points:not(.is-unavailable):hover { border-color: #d94324; background: linear-gradient(135deg, #ff8c5d, #ef5a35); box-shadow: 0 10px 20px rgba(220, 74, 35, .3); }
.series-page .series-document-points:not(.is-unavailable) > span { display: inline-flex; align-items: center; justify-content: center; gap: 10px; }
.series-page .series-points-icon { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.series-page .series-document-points:not(.is-unavailable) small { border-color: rgba(255, 255, 255, .38); color: rgba(255, 255, 255, .9); }
