/**
 * サイト共通クローム
 * 青=#0878d1（高校） / 緑=#0a5c63（大学）
 * .gss-page-feature … 力を入れるページ（セクション帯）
 * .gss-page-simple … 固定ページ（見出し・リスト・表の装飾）
 */

body.gss-site {
	--gss-ink: #152b49;
	--gss-muted: #65758d;
	--gss-line: #dce6f0;
	--gss-bg: #f5f8fc;
	--gss-panel: #ffffff;
	--gss-navy: #123568;
	--gss-green: #0a5c63;
	--gss-blue: #0878d1;
	--gss-blue-dark: #0065b8;
	--gss-accent: var(--gss-blue);
	--gss-accent-soft: #e9f4ff;
	--gss-container: 1120px;
	/* パンくず直下〜メイン先頭の余白（変更はここだけ） */
	--gss-main-pad-top: 1.75rem;
	margin: 0;
	background: var(--gss-bg);
	color: var(--gss-ink);
	font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "YuGothic", Meiryo, sans-serif;
	line-height: 1.7;
}

@media (max-width: 760px) {
	body.gss-site {
		--gss-main-pad-top: 1rem;
	}
}

body.gss-track-hs {
	--gss-accent: var(--gss-blue);
	--gss-accent-soft: #e9f4ff;
}

body.gss-track-univ {
	--gss-accent: var(--gss-green);
	--gss-accent-soft: #e8f3f3;
	--gss-bg: #f4f5f6;
	--gss-ink: #1c2a32;
	--gss-muted: #6a7780;
	--gss-line: #d9e0e3;
}

body.gss-track-site {
	--gss-accent: var(--gss-blue);
	--gss-accent-soft: #e9f4ff;
}

body.gss-site a {
	color: var(--gss-accent);
}

body.gss-site .gss-skip {
	position: absolute;
	left: -9999px;
}

body.gss-site .gss-skip:focus {
	left: 0;
	top: 0;
	z-index: 9999;
	background: #fff;
	padding: 0.5rem 1rem;
}

/* 旧テーマ要素を抑止 */
body.gss-site > div > header:not(.gss-header),
body.gss-site .bnp_header_wrap,
body.gss-site .bnp_header_fixed,
body.gss-site #bnp_header_fixed,
body.gss-site .bnp_carousel,
body.gss-site #side,
body.gss-site .sidebar,
body.gss-site .bnp_time,
body.gss-site .metaauthor,
body.gss-site .modifi,
body.gss-site #pagetop,
body.gss-site .breadcrumb,
body.gss-site footer.footer:not(.gss-footer) {
	display: none !important;
}

body.gss-site .inbody,
body.gss-site #main {
	width: 100% !important;
	max-width: none !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

/* コンテナ幅をヘッダー／フッター／本文で統一（旧トップは1120） */
body.gss-site {
	--gss-chrome-shell: 1120px;
}

body.gss-site .gss-header .gss-container,
body.gss-site .gss-footer .gss-container {
	width: min(var(--gss-chrome-shell), calc(100% - 64px));
	max-width: none;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

body.gss-site .gss-container,
body.gss-site .contents {
	max-width: var(--gss-container);
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

body.gss-site .contents {
	padding: var(--gss-main-pad-top) 1rem 2.5rem;
}

/* トップ（FV直下）は余白なし */
body.gss-is-home .contents {
	padding-top: 0;
}

/* フィーチャーページは帯を全幅にするため contents のパディングを外す（先頭余白は内側で var を使う） */
body.gss-page-feature .contents {
	max-width: none;
	padding-left: 0;
	padding-right: 0;
	padding-top: 0;
}

body.gss-page-feature .contents > .page > h1 {
	width: min(var(--gss-chrome-shell), calc(100% - 64px));
	max-width: none;
	margin-left: auto;
	margin-right: auto;
	padding: var(--gss-main-pad-top) 0 0.5rem;
	box-sizing: border-box;
}

body.gss-layout-a #main > .contents > .page > h1,
body.gss-layout-a #main > .contents > .gss-column-post > h1 {
	font-family: inherit;
	color: #123568;
	font-weight: 800;
}

/* コラム投稿でブログ用UIが残っても隠す */
body.gss-site.single-post #side,
body.gss-site.single-post .sidebar,
body.gss-site .gss-column-post ~ #pagenavi,
body.gss-site #pagenavi,
body.gss-site .newer-older,
body.gss-site .taglist,
body.gss-site .singlecat,
body.gss-site #comments,
body.gss-site .comments-area {
	display: none !important;
}

/* Header（旧トップデザインを全ページ共通） */
.gss-header {
	position: sticky;
	top: 0;
	z-index: 100;
	height: 76px;
	background: #fff;
	border-bottom: 1px solid #e8f0f8;
}

.admin-bar .gss-header {
	top: 32px;
}

@media (max-width: 782px) {
	.admin-bar .gss-header {
		top: 46px;
	}
}

html.gss-drawer-open {
	overflow: hidden;
}

.gss-header-inner {
	height: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 30px;
}

.gss-brand {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
	text-decoration: none !important;
	color: #102b53 !important;
}

.gss-brand img,
.gss-brand__logo {
	display: block;
	object-fit: contain;
	flex-shrink: 0;
	width: 34px;
	height: 42px;
}

.gss-footer .gss-brand__logo {
	width: 33px;
	height: 40px;
}

.gss-brand span {
	display: flex;
	flex-direction: column;
	line-height: 1.45;
}

.gss-brand strong {
	font-size: 17px;
	font-weight: 800;
	letter-spacing: 0.015em;
	color: #102b53;
}

.gss-brand small {
	font-size: 11px;
	color: #607493;
}

.gss-header-end {
	display: flex;
	align-items: center;
	gap: 22px;
	min-width: 0;
}

.gss-nav {
	display: flex;
	align-items: center;
	gap: 35px;
	white-space: nowrap;
}

.gss-nav a {
	position: relative;
	font-size: 14px;
	font-weight: 650;
	padding: 23px 0;
	color: #102b53 !important;
	text-decoration: none !important;
}

.gss-nav a:hover,
.gss-nav a[aria-current="page"] {
	color: #0864be !important;
}

.gss-nav a[aria-current="page"]::after {
	content: "";
	position: absolute;
	bottom: 17px;
	left: 0;
	right: 0;
	height: 2px;
	background: #0864be;
}

.gss-menu-btn {
	display: none;
	width: 42px;
	height: 42px;
	border: 1px solid #d4e4f4;
	border-radius: 8px;
	background: #fff;
	cursor: pointer;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 5px;
	box-sizing: border-box;
	padding: 0;
	margin: 0;
	flex-shrink: 0;
}

.gss-menu-btn span {
	display: block;
	width: 18px;
	height: 2px;
	background: #102b53;
	border-radius: 1px;
}

.gss-drawer {
	position: fixed;
	inset: 0;
	z-index: 200;
}

.gss-drawer[hidden] {
	display: none !important;
}

.gss-drawer__scrim {
	position: absolute;
	inset: 0;
	border: 0;
	padding: 0;
	margin: 0;
	background: rgba(16, 43, 83, 0.42);
	cursor: pointer;
}

.gss-drawer__panel {
	position: absolute;
	top: 0;
	right: 0;
	width: min(320px, 86vw);
	height: 100%;
	background: #fff;
	padding: 88px 20px 28px;
	box-sizing: border-box;
	overflow: auto;
	box-shadow: -8px 0 28px rgba(16, 43, 83, 0.12);
}

.gss-nav--drawer {
	display: flex;
	flex-direction: column;
	gap: 0;
	white-space: normal;
}

.gss-nav--drawer a {
	display: block;
	padding: 14px 4px;
	font-size: 16px;
	font-weight: 700;
}

.gss-nav--drawer a::after {
	display: none !important;
}

.gss-drawer__search {
	display: flex;
	gap: 8px;
	margin-top: 20px;
}

.gss-drawer__search input {
	flex: 1;
	min-width: 0;
	height: 42px;
	border: 1px solid #c9d9eb;
	border-radius: 8px;
	padding: 0 12px;
	font: inherit;
}

.gss-drawer__search button {
	height: 42px;
	padding: 0 14px;
	border: 0;
	border-radius: 8px;
	background: #0864be;
	color: #fff;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.gss-search {
	position: relative;
	flex-shrink: 0;
}

.gss-search__btn {
	list-style: none;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid #d4e4f4;
	background: #fff;
	color: #0864be;
	display: grid;
	place-items: center;
	cursor: pointer;
	box-sizing: border-box;
}

.gss-search__btn::-webkit-details-marker {
	display: none;
}

.gss-search__btn::marker {
	content: "";
}

.gss-search[open] .gss-search__btn,
.gss-search__btn:hover {
	background: #eef6fc;
	border-color: #0864be;
}

.gss-search__panel {
	position: absolute;
	right: 0;
	top: calc(100% + 10px);
	z-index: 40;
	display: flex;
	gap: 8px;
	width: min(320px, calc(100vw - 40px));
	padding: 12px;
	background: #fff;
	border: 1px solid #d7e6f5;
	border-radius: 12px;
	box-shadow: 0 10px 28px rgba(16, 43, 83, 0.12);
}

.gss-search__panel input {
	flex: 1;
	min-width: 0;
	height: 40px;
	border: 1px solid #c9d9eb;
	border-radius: 8px;
	padding: 0 12px;
	font: inherit;
	color: #102b53;
}

.gss-search__panel button {
	height: 40px;
	padding: 0 14px;
	border: 0;
	border-radius: 8px;
	background: #0864be;
	color: #fff;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

@media (max-width: 900px) {
	.gss-nav--pc,
	.gss-search--pc {
		display: none !important;
	}

	.gss-menu-btn {
		display: flex;
	}

	.gss-header {
		height: 64px;
	}

	.gss-header-inner {
		height: 64px;
		gap: 12px;
	}

	.gss-header-end {
		gap: 8px;
	}

	.gss-brand strong {
		font-size: 14px;
	}

	.gss-brand small {
		font-size: 10px;
	}

	.gss-brand img,
	.gss-brand__logo {
		width: 28px;
		height: 34px;
	}

	body.gss-site .gss-header .gss-container,
	body.gss-site .gss-footer .gss-container,
	body.gss-page-feature .contents > .page > h1,
	body.gss-layout-a .gss-pref-eyecatch,
	.gss-pref__inner {
		width: min(100% - 36px, var(--gss-chrome-shell));
	}
}

@media (max-width: 720px) {
	.gss-header {
		height: 56px;
	}

	.gss-header-inner {
		height: 56px;
		min-height: 56px;
		gap: 12px;
	}

	body.gss-site .gss-header .gss-container,
	body.gss-site .gss-footer .gss-container,
	body.gss-page-feature .contents > .page > h1,
	body.gss-layout-a .gss-pref-eyecatch,
	.gss-pref__inner {
		width: calc(100% - 28px);
	}
}

/* Breadcrumb */
.gss-breadcrumb-bar {
	width: 100%;
	background: #f3f5f7;
	border-bottom: 1px solid #e6ebef;
}

.gss-breadcrumb {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0;
	max-width: none;
	margin: 0;
	padding: 0.7rem max(1rem, calc(50vw - (var(--gss-container) / 2)));
	font-size: 0.78rem;
	line-height: 1.4;
	color: var(--gss-muted);
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
}

.gss-breadcrumb a,
.gss-breadcrumb__current {
	flex: 0 0 auto;
	white-space: nowrap;
}

.gss-breadcrumb a {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	color: var(--gss-muted);
	text-decoration: none;
}

.gss-breadcrumb a:hover {
	color: var(--gss-ink);
}

.gss-breadcrumb__home-icon {
	display: block;
	flex: 0 0 auto;
	opacity: 0.85;
}

.gss-breadcrumb__sep {
	flex: 0 0 auto;
	display: inline-block;
	margin: 0 0.85rem;
	color: #9aa6b2;
	font-size: 0.85em;
	line-height: 1;
}

.gss-breadcrumb__current {
	color: var(--gss-ink);
}

@media (max-width: 760px) {
	.gss-breadcrumb {
		padding: 0.65rem 1rem;
	}

	.gss-breadcrumb__sep {
		margin: 0 0.95rem;
	}
}

/* Footer（旧トップデザイン＋フッターメニュー） */
.gss-footer {
	background: #eff8fe;
	border-top: 1px solid #e1eaf4;
	margin-top: 2rem;
	padding: 24px 0;
}

.gss-footer-inner {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 14px;
}

.gss-footer-top {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
}

@media (min-width: 720px) {
	.gss-footer-top {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}

.gss-footer-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 20px;
}

.gss-footer-nav a {
	font-size: 13px;
	font-weight: 650;
	color: #476181 !important;
	text-decoration: none !important;
}

.gss-footer-nav a:hover {
	color: #0864be !important;
	text-decoration: underline !important;
}

.gss-footer-copy {
	margin: 0;
	text-align: right;
	font-size: 12px;
	color: #6980a0;
}

@media (max-width: 720px) {
	.gss-footer {
		padding: 20px 0;
	}

	.gss-footer-top {
		align-items: flex-start;
	}

	.gss-footer-nav {
		gap: 8px 16px;
	}
}

/* ---------- シンプル固定ページ／コラム ---------- */
body.gss-page-simple {
	--gss-bg: #fff;
	background: #fff;
}

body.gss-page-simple .contents {
	background: transparent;
}

/* 見出し・リンクは都道府県解説ページ（.gss-pref）に揃える */
body.gss-page-simple .post-content h2 {
	margin: 6rem 0 1rem;
	padding: 0 0 0 14px;
	border-left: 5px solid var(--gss-accent);
	border-bottom: 0;
	font-size: clamp(1.3rem, 2.2vw, 1.55rem);
	font-weight: 800;
	line-height: 1.4;
	color: var(--gss-navy);
	font-family: inherit;
	background: none;
}

body.gss-page-simple .post-content > p {
	margin: 1.5em 0;
}

body.gss-page-simple .post-content h3 {
	margin: 1.5rem 0 0.75rem;
	padding: 0 0 0.4rem;
	border-left: 0;
	border-bottom: 3px solid var(--gss-accent);
	font-size: 1.15rem;
	font-weight: 800;
	line-height: 1.4;
	color: var(--gss-navy);
	background: none;
}

body.gss-page-simple .post-content a {
	text-decoration: none;
	font-weight: 600;
}

body.gss-page-simple .post-content a:hover {
	text-decoration: underline;
}

body.gss-page-simple .post-content ul,
body.gss-page-simple .post-content ol {
	margin: 0.75rem 0 1.1rem;
	padding: 0 0 0 1.35rem;
	background: none;
	border: 0;
	border-radius: 0;
}

body.gss-page-simple .post-content li {
	margin: 0.4rem 0;
	line-height: 1.75;
}

/* 「この記事で押さえる点」：各ポイントを個別ボックス */
body.gss-page-simple .post-content .gss-column-points {
	margin: 2.5rem 0 1.5rem;
	padding: 0;
	background: none;
	border: 0;
}

body.gss-page-simple .post-content .gss-column-points__grid {
	display: grid;
	gap: 0.85rem;
}

body.gss-page-simple .post-content .gss-column-points__card {
	margin: 0;
	padding: 1.1rem 1.2rem;
	background: #f7fafc;
	border: 1px solid var(--gss-line);
	border-radius: 8px;
	box-sizing: border-box;
}

body.gss-page-simple .post-content .gss-column-points__card-title {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	margin: 0 0 0.45rem;
	padding: 0;
	border: 0;
	font-size: 1.02rem;
	font-weight: 800;
	line-height: 1.45;
	color: var(--gss-navy);
	background: none;
}

body.gss-page-simple .post-content .gss-column-points__card-title::before {
	content: "";
	flex: 0 0 1.15em;
	width: 1.15em;
	height: 1.15em;
	margin-top: 0.12em;
	background-color: var(--gss-accent);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9.2 16.6 4.8 12.2l1.4-1.4 3 3 8.6-8.6 1.4 1.4z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9.2 16.6 4.8 12.2l1.4-1.4 3 3 8.6-8.6 1.4 1.4z'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.gss-page-simple .post-content .gss-column-points__card-body {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.75;
	color: var(--gss-ink);
}

/* CTAリンク：トップ .gss-pref-links a 相当 */
body.gss-page-simple .post-content .gss-column-cta {
	margin: 1.5em 0;
}

body.gss-page-simple .post-content .gss-column-cta a {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 8px;
	border: 1px solid #dbe7f4;
	border-radius: 7px;
	padding: 12px 13px;
	font-weight: 650;
	font-size: 13px;
	line-height: 1.45;
	white-space: normal;
	min-width: 0;
	overflow-wrap: anywhere;
	word-break: break-word;
	color: #066ac8;
	text-decoration: none;
	box-sizing: border-box;
}

body.gss-page-simple .post-content .gss-column-cta a:hover {
	background: #f3f9ff;
	text-decoration: none;
}

body.gss-track-univ.gss-page-simple .post-content .gss-column-cta a {
	border-color: #d5e3e4;
	color: var(--gss-accent);
}

body.gss-track-univ.gss-page-simple .post-content .gss-column-cta a:hover {
	background: #f3f8f8;
}

/* 掲載内容の誤り報告（控えめ案内） */
.gss-error-report {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.25rem 1.75rem;
	margin: 2.25rem 0 0;
	padding: 1.2rem 1.25rem 1.15rem;
	background: #fff;
	border: 1px solid var(--gss-line);
	border-radius: 8px;
	box-sizing: border-box;
}

.gss-error-report__copy {
	flex: 1 1 auto;
	min-width: 0;
}

.gss-error-report__title {
	margin: 0 0 0.45rem;
	font-size: 1rem;
	font-weight: 800;
	line-height: 1.45;
	color: var(--gss-navy);
}

.gss-error-report__text {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.7;
	color: var(--gss-muted);
}

.gss-error-report__actions {
	flex: 0 0 auto;
	margin: 0;
}

.gss-error-report__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.55rem 1rem;
	border: 1px solid var(--gss-accent);
	border-radius: 7px;
	background: #fff;
	color: var(--gss-accent);
	font-size: 0.9rem;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none;
	white-space: nowrap;
	box-sizing: border-box;
}

.gss-error-report__btn:hover {
	background: var(--gss-accent-soft);
	text-decoration: none;
}

.gss-error-report-target {
	margin: 0 0 1.5rem;
	padding: 1rem 1.15rem;
	background: #f5f8fc;
	border: 1px solid var(--gss-line);
	border-radius: 8px;
}

.gss-error-report-target__label {
	margin: 0 0 0.35rem;
	font-size: 0.82rem;
	font-weight: 800;
	color: var(--gss-navy);
}

.gss-error-report-target__url {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.55;
	word-break: break-all;
}

.gss-error-report-target__url a {
	color: var(--gss-accent);
	font-weight: 600;
	text-decoration: none;
}

.gss-error-report-target__url a:hover {
	text-decoration: underline;
}

.gss-error-report-target__page-title {
	margin: 0.35rem 0 0;
	font-size: 0.88rem;
	color: var(--gss-muted);
}

@media (max-width: 760px) {
	.gss-error-report {
		flex-direction: column;
		align-items: stretch;
		padding: 1.05rem 1rem 1rem;
	}

	.gss-error-report__text {
		margin: 0 0 0.9rem;
	}

	.gss-error-report__btn {
		width: 100%;
		white-space: normal;
	}
}

/* コラム：関連記事（アーカイブ同型カード） */
.gss-column-related {
	margin: 3rem 0 0;
	padding-top: 1.5rem;
	border-top: 1px solid var(--gss-line);
}

.gss-column-related > h2 {
	margin: 0 0 1.15rem;
	padding: 0 0 0 14px;
	border-left: 5px solid var(--gss-accent);
	border-bottom: 0;
	font-size: clamp(1.3rem, 2.2vw, 1.55rem);
	font-weight: 800;
	line-height: 1.4;
	color: var(--gss-navy);
}

.gss-column-related__grid {
	margin: 0;
}

.gss-column-related .gss-column-card__title {
	font-size: 0.98rem;
}

/* コラム投稿：H1下メタ */
.gss-column-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.55rem 1rem;
	margin: 0 0 2em;
	padding-bottom: 0.85rem;
	border-bottom: 1px solid var(--gss-line);
	font-size: 0.86rem;
	color: var(--gss-muted);
	line-height: 1.5;
}

.gss-column-meta__cats {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin: 0;
}

.gss-column-meta__badge {
	display: inline-block;
	padding: 0.2rem 0.55rem;
	border: 1px solid var(--gss-line);
	border-radius: 4px;
	background: #f7fafc;
	color: var(--gss-navy);
	font-size: 0.8rem;
	font-weight: 700;
	text-decoration: none;
	letter-spacing: 0.02em;
}

.gss-column-meta__badge:hover {
	border-color: var(--gss-accent);
	color: var(--gss-accent);
}

.gss-column-meta__dates {
	margin: 0;
}

.gss-column-meta__date time {
	color: var(--gss-ink);
	font-weight: 600;
}

.gss-column-meta__sep {
	margin: 0 0.35rem;
	color: #b0bcc9;
}

.gss-column-eyecatch {
	margin: 0 0 2em;
	padding: 0;
	border: 0;
	overflow: hidden;
	border-radius: 8px;
	background: #eef3f8;
}

.gss-column-eyecatch picture {
	display: block;
	width: 100%;
}

.gss-column-eyecatch__img,
.gss-column-eyecatch img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
	vertical-align: middle;
}

body.gss-page-simple.gss-is-column .contents > .gss-column-post > h1 {
	margin-bottom: 0.85rem;
	padding-bottom: 0;
	border-bottom: 0;
}

@media (max-width: 640px) {
	.gss-column-meta {
		flex-wrap: nowrap;
		gap: 0.4rem 0.55rem;
		font-size: 0.7rem;
		padding-bottom: 0.65rem;
		white-space: nowrap;
		overflow-x: auto;
	}

	.gss-column-meta__cats {
		flex-wrap: nowrap;
		flex: 0 0 auto;
		gap: 0.3rem;
	}

	.gss-column-meta__badge {
		padding: 0.1rem 0.4rem;
		font-size: 0.7rem;
	}

	.gss-column-meta__dates {
		flex: 0 1 auto;
		min-width: 0;
	}

	.gss-column-meta__sep {
		margin: 0 0.2rem;
	}
}

body.gss-page-simple .post-content .gss-table-scroll {
	margin: 1rem 0 1.25rem;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border: 1px solid var(--gss-line);
	border-radius: 8px;
	background: #f7fafc;
}

body.gss-page-simple .post-content .gss-table-scroll table {
	width: 100%;
	min-width: 32rem;
	border-collapse: collapse;
	margin: 0;
	background: transparent;
	font-size: 0.9rem;
}

body.gss-page-simple .post-content table {
	width: 100%;
	border-collapse: collapse;
	margin: 1rem 0 1.25rem;
	background: #fff;
	font-size: 0.92rem;
}

body.gss-page-simple .post-content th,
body.gss-page-simple .post-content td {
	border: 1px solid #e2eaf2;
	padding: 0.65rem 0.75rem;
	text-align: left;
	vertical-align: top;
}

body.gss-page-simple .post-content .gss-table-scroll th,
body.gss-page-simple .post-content .gss-table-scroll td {
	border-color: #e2eaf2;
	background: #fff;
}

body.gss-page-simple .post-content th {
	background: var(--gss-accent-soft);
	color: var(--gss-ink);
	font-weight: 700;
}

body.gss-page-simple .post-content .gss-table-scroll th {
	background: #edf3f9;
	white-space: nowrap;
}

body.gss-page-simple .post-content tr:nth-child(even) td {
	background: #fafbfb;
}

body.gss-page-simple .post-content .gss-table-scroll tr:nth-child(even) td {
	background: #f7fafc;
}

body.gss-page-simple .contents > .page > h1 {
	font-family: inherit;
	color: var(--gss-ink);
	font-size: clamp(1.5rem, 2.6vw, 1.9rem);
	font-weight: 800;
	margin: 0 0 1.25rem;
	padding-bottom: 0.75rem;
	border-bottom: 2px solid var(--gss-accent);
}

/* ---------- Hub（デザイン案準拠） ---------- */
.gss-hub {
	--hub-navy: #1b2b4a;
	--hub-blue: #2a6bb5;
	--hub-green: #0f9d8a;
	--hub-soft: #f3f7fb;
	padding: 0 0 2.75rem;
	max-width: var(--gss-container);
	margin: 0 auto;
	box-sizing: border-box;
}

/* ===== FV（分割デザイン案：ヘッダー直下〜CTAカードまで） ===== */
.gss-hub__fv {
	--fv-navy: #1a2744;
	--fv-blue: #2b6cb0;
	--fv-teal: #0f9a86;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	box-sizing: border-box;
	background:
		radial-gradient(ellipse 60% 80% at 82% 35%, #d9ebfa 0%, rgba(217, 235, 250, 0) 70%),
		linear-gradient(180deg, #eef5fc 0%, #f7fafc 55%, #ffffff 100%);
	padding: 1.25rem 0 1.75rem;
}

.gss-hub__fv-stage {
	max-width: 1040px;
	margin: 0 auto;
	padding: 0 1.25rem;
	box-sizing: border-box;
}

.gss-hub__fv-row {
	display: grid;
	gap: 1rem;
	align-items: center;
	margin-bottom: 1.25rem;
}

@media (min-width: 900px) {
	.gss-hub__fv-row {
		grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
		gap: 1rem 2rem;
		min-height: 240px;
		margin-bottom: 1.5rem;
	}
}

.gss-hub__fv-copy h1 {
	margin: 0 0 0.85rem;
	font-family: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;
	font-size: clamp(1.55rem, 2.8vw, 2.05rem);
	line-height: 1.32;
	font-weight: 800;
	letter-spacing: 0.01em;
	color: var(--fv-navy);
}

.gss-hub__fv-line {
	display: block;
}

.gss-hub__fv-line--accent {
	color: var(--fv-blue);
}

.gss-hub__fv-copy p {
	margin: 0;
	max-width: 26rem;
	color: #6a7785;
	font-size: 0.92rem;
	line-height: 1.8;
}

.gss-hub__fv-visual {
	margin: 0;
	justify-self: center;
	width: min(100%, 320px);
}

@media (min-width: 900px) {
	.gss-hub__fv-visual {
		justify-self: end;
		width: min(100%, 420px);
		align-self: end;
	}
}

.gss-hub__fv-visual img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 280px;
	object-fit: contain;
	object-position: right bottom;
}

@media (max-width: 899px) {
	.gss-hub__fv-visual {
		order: 2;
		width: min(100%, 260px);
	}

	.gss-hub__fv-copy {
		order: 1;
	}

	.gss-hub__fv-visual img {
		max-height: 200px;
	}
}

.gss-hub__cta {
	display: grid;
	gap: 1rem;
	padding: 0;
}

@media (min-width: 760px) {
	.gss-hub__cta {
		grid-template-columns: 1fr 1fr;
		gap: 1.25rem;
	}
}

.gss-hub__card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.5rem;
	padding: 1.35rem 1.3rem 1.25rem;
	border-radius: 16px;
	border: 1px solid transparent;
	box-shadow: 0 6px 20px rgba(26, 39, 68, 0.06);
}

.gss-hub__card--hs {
	background: #eef5fc;
	border-color: #d9e8f6;
}

.gss-hub__card--univ {
	background: #eaf7f4;
	border-color: #d3ebe5;
}

.gss-hub__card-icon {
	display: block;
	width: 52px;
	height: auto;
	margin: 0 0 0.2rem;
}

.gss-hub__card-title {
	margin: 0;
	font-size: 1.08rem;
	font-weight: 800;
	line-height: 1.4;
	color: var(--fv-navy);
}

.gss-hub__card-text {
	margin: 0;
	font-size: 0.88rem;
	line-height: 1.7;
	color: #657484;
}

.gss-hub__card-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin-top: 0.55rem;
	padding: 0.9rem 1rem;
	border-radius: 10px;
	text-decoration: none !important;
	color: #fff !important;
	font-weight: 700;
	font-size: 0.95rem;
	text-align: center;
	box-sizing: border-box;
}

.gss-hub__card--hs .gss-hub__card-btn {
	background: var(--fv-blue);
}

.gss-hub__card--univ .gss-hub__card-btn {
	background: var(--fv-teal);
}

.gss-hub__card-btn:hover {
	filter: brightness(1.06);
}

.gss-hub__prefs,
.gss-hub__about-block {
	padding: 1.85rem 1rem 0;
}

@media (min-width: 720px) {
	.gss-hub__prefs,
	.gss-hub__about-block {
		padding-left: 0;
		padding-right: 0;
	}
}

.gss-hub__prefs h2,
.gss-hub__about-block h2 {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	margin: 0 0 0.85rem;
	font-size: 1.08rem;
	font-weight: 800;
	color: var(--hub-navy);
	border: 0;
	padding: 0;
}

.gss-hub__sec-ico {
	display: inline-flex;
	color: var(--hub-blue);
	flex-shrink: 0;
}

.gss-hub__pref-list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.65rem;
	margin: 0 0 0.85rem;
	padding: 0;
	list-style: none;
}

@media (min-width: 860px) {
	.gss-hub__pref-list {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}
}

.gss-hub__pref-list a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.35rem;
	padding: 0.7rem 0.8rem;
	border-radius: 10px;
	background: #fff;
	border: 1px solid #dde6ef;
	font-size: 0.9rem;
	font-weight: 600;
	text-decoration: none;
	color: var(--hub-navy);
}

.gss-hub__pref-list a span {
	color: var(--hub-blue);
}

.gss-hub__pref-list a:hover {
	border-color: #b7cce6;
	background: #f7fbff;
}

.gss-hub__link-list a,
.gss-hub__text-links a {
	font-size: 0.9rem;
	font-weight: 700;
	text-decoration: none;
	color: var(--hub-blue);
}

.gss-hub__link-list a:hover,
.gss-hub__text-links a:hover {
	text-decoration: underline;
}

.gss-hub__about-block p {
	margin: 0 0 0.85rem;
	font-size: 0.92rem;
	line-height: 1.8;
	color: #5b6b7c;
}

.gss-hub__link-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}

@media (min-width: 720px) {
	.gss-hub__link-list {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 0.75rem 1.35rem;
	}
}

.gss-hub__text-links {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}

@media (min-width: 720px) {
	.gss-hub__text-links {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		gap: 0.45rem 0.65rem;
	}
}

.gss-hub__text-links span {
	display: none;
	color: #c5d0db;
}

@media (min-width: 720px) {
	.gss-hub__text-links span {
		display: inline;
	}
}

.gss-totop {
	position: fixed;
	right: 1rem;
	bottom: 1rem;
	width: 42px;
	height: 42px;
	border-radius: 999px;
	background: #6b7585;
	color: #fff !important;
	text-decoration: none !important;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1rem;
	font-weight: 700;
	box-shadow: 0 6px 16px rgba(50, 58, 72, 0.22);
	z-index: 50;
}

.gss-totop:hover {
	background: #555e6d;
}

body.gss-page-feature .gss-hub-article .page-content {
	margin: 0;
}

body.gss-page-feature .contents:has(.gss-hub) {
	padding-top: 0;
}

/* Pref eyecatch */
body.gss-layout-a .gss-pref-eyecatch {
	width: min(var(--gss-chrome-shell), calc(100% - 64px));
	max-width: none;
	margin: 0 auto 0;
	padding: 0;
	box-sizing: border-box;
}

body.gss-layout-a .gss-pref-eyecatch img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 4px;
}

