/* =========================================================
	日野2団 ご案内パーツ
========================================================= */

.hgpm-section {
	padding: 88px 0;
	background:
		radial-gradient(circle at top left, rgba(201, 149, 63, 0.08), transparent 34%),
		linear-gradient(180deg, #ffffff 0%, #fbf7ee 100%);
}

.hgpm-section:nth-of-type(even) {
	background:
		radial-gradient(circle at top right, rgba(201, 149, 63, 0.10), transparent 34%),
		#f4efe2;
}

.hgpm-container {
	width: min(1120px, calc(100% - 40px));
	margin: 0 auto;
}

.hgpm-heading {
	max-width: 820px;
	margin: 0 auto 38px;
	text-align: center;
}

.hgpm-kicker {
	margin: 0 0 12px;
	color: #c9953f;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.22em;
	line-height: 1.5;
	text-transform: uppercase;
}

.hgpm-heading h2 {
	margin: 0;
	color: #10291f;
	font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
	font-size: clamp(22px, 3vw, 32px);
	font-weight: 900;
	line-height: 1.45;
	letter-spacing: 0.05em;
	border: none !important;
}

.hgpm-heading p {
	margin: 20px auto 0;
	color: #6e7a72;
	font-size: 16px;
	line-height: 2;
}

.hgpm-card,
.hgpm-table-scroll,
.hgpm-document-list,
.hgpm-news-layout {
	padding: 38px;
	border: 1px solid rgba(201, 149, 63, 0.22);
	border-radius: 30px;
	background: rgba(255, 255, 255, 0.78);
	box-shadow: 0 24px 70px rgba(16, 41, 31, 0.10);
}

.hgpm-subtitle {
	margin: 0 0 22px;
	color: #10291f;
	font-family: "Yu Mincho", "YuMincho", serif;
	font-size: 22px;
	font-weight: 900;
}

.hgpm-note {
	margin: 22px 0 0;
	color: #6e7a72;
	font-size: 14px;
	line-height: 1.9;
}

.hgpm-center-note {
	text-align: center;
}

/* 現在人数 */
.hgpm-member-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.hgpm-member-card {
	padding: 28px;
	border: 1px solid rgba(201, 149, 63, 0.22);
	border-radius: 24px;
	background: #ffffff;
	box-shadow: 0 16px 42px rgba(16, 41, 31, 0.08);
}

.hgpm-member-card span {
	display: block;
	margin-bottom: 10px;
	color: #c9953f;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: 0.12em;
}

.hgpm-member-card strong {
	display: block;
	color: #10291f;
	font-family: "Times New Roman", serif;
	font-size: 44px;
	line-height: 1.1;
}

.hgpm-member-card small {
	margin-left: 4px;
	font-family: "Yu Gothic", "YuGothic", sans-serif;
	font-size: 16px;
}

.hgpm-member-card p {
	margin: 10px 0 0;
	color: #6e7a72;
	font-size: 14px;
}

/* 会費 */
.hgpm-fee-list {
	display: grid;
	gap: 0;
}

.hgpm-fee-row {
	display: grid;
	grid-template-columns: 1.1fr 0.8fr 1.4fr;
	gap: 18px;
	align-items: center;
	padding: 18px 0;
	border-bottom: 1px solid rgba(16, 41, 31, 0.12);
}

.hgpm-fee-row:last-child {
	border-bottom: none;
}

.hgpm-fee-row span {
	color: #23312b;
	font-weight: 800;
}

.hgpm-fee-row strong {
	color: #10291f;
	font-size: 18px;
}

.hgpm-fee-row em {
	color: #6e7a72;
	font-style: normal;
	font-size: 14px;
}

hino-guide-page p,
.hino-guide-section p,
.hino-guide-parts p,
.hino-fee-section p,
.hino-guide-fee p {
text-align: left !important;
}


/* 申込書 */
.hgpm-document-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.hgpm-document-item {
	display: block;
	padding: 24px;
	border: 1px solid rgba(201, 149, 63, 0.22);
	border-radius: 22px;
	background: #fbf7ee;
	color: #10291f;
	text-decoration: none;
}

.hgpm-document-item strong {
	display: block;
	font-size: 18px;
	font-weight: 900;
}

.hgpm-document-item span {
	display: block;
	margin-top: 8px;
	color: #c9953f;
	font-size: 13px;
	font-weight: 900;
}

/* 隊員数推移 */
.hgpm-table-scroll {
	overflow-x: auto;
}

.hgpm-history-table {
	width: 100%;
	min-width: 760px;
	border-collapse: collapse;
}

.hgpm-history-table th,
.hgpm-history-table td {
	padding: 16px 14px;
	border: 1px solid rgba(16, 41, 31, 0.10);
	text-align: center;
}

.hgpm-history-table th {
	background: #d9ecfb;
	color: #10291f;
	font-weight: 900;
}

.hgpm-history-table tbody tr:nth-child(even) td {
	background: rgba(255, 255, 255, 0.56);
}

.hgpm-history-table td:first-child {
	background: #d9ecfb;
	font-weight: 900;
}

/* いやさかNEWS */
.hgpm-news-layout {
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	gap: 34px;
	align-items: center;
}

.hgpm-news-list {
	display: grid;
	gap: 10px;
}

.hgpm-news-list a {
	display: flex;
	gap: 16px;
	align-items: center;
	padding: 12px 0;
	border-bottom: 1px solid rgba(16, 41, 31, 0.12);
	color: #10291f;
	font-weight: 900;
	text-decoration: underline;
	text-underline-offset: 4px;
}

.hgpm-news-list span {
	flex: 0 0 78px;
	color: #c9953f;
}

.hgpm-news-images {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.hgpm-news-images img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 14px;
	box-shadow: 0 16px 42px rgba(16, 41, 31, 0.12);
}

@media screen and (max-width: 900px) {
	.hgpm-member-grid,
	.hgpm-news-layout {
		grid-template-columns: 1fr;
	}
}

@media screen and (max-width: 640px) {
	.hgpm-section {
		padding: 64px 0;
	}

	.hgpm-container {
		width: min(100% - 28px, 1120px);
	}

	.hgpm-heading {
		margin-bottom: 30px;
		text-align: left;
	}

	.hgpm-heading h2 {
		font-size: 28px;
	}

	.hgpm-heading p {
		font-size: 15px;
		line-height: 1.9;
	}

	.hgpm-card,
	.hgpm-table-scroll,
	.hgpm-document-list,
	.hgpm-news-layout {
		padding: 24px;
		border-radius: 24px;
	}

	.hgpm-member-grid,
	.hgpm-document-list,
	.hgpm-news-images {
		grid-template-columns: 1fr;
	}

	.hgpm-fee-row {
		grid-template-columns: 1fr;
		gap: 4px;
	}
}


/* =========================================================
	スマホ表示 強化版
========================================================= */

@media screen and (max-width: 640px) {
	.hgpm-section {
		padding: 54px 0;
	}

	.hgpm-container {
		width: min(100% - 28px, 1120px);
	}

	.hgpm-heading {
		margin-bottom: 26px;
		text-align: left;
	}

	.hgpm-heading h2 {
		font-size: 25px !important;
		line-height: 1.55 !important;
		letter-spacing: 0.03em !important;
	}

	.hgpm-heading p {
		font-size: 14px;
		line-height: 1.9;
	}

	.hgpm-card,
	.hgpm-table-scroll,
	.hgpm-document-list,
	.hgpm-news-layout {
		padding: 22px 18px;
		border-radius: 22px;
	}

	/* 現在人数：スマホは横幅いっぱいのカード */
	.hgpm-member-grid {
		grid-template-columns: 1fr !important;
		gap: 12px;
	}

	.hgpm-member-card {
		display: grid;
		grid-template-columns: 1fr auto;
		gap: 6px 14px;
		align-items: center;
		padding: 20px 18px;
		border-radius: 18px;
	}

	.hgpm-member-card span {
		margin: 0;
		font-size: 12px;
	}

	.hgpm-member-card strong {
		grid-column: 2;
		grid-row: 1 / span 2;
		font-size: 32px;
		text-align: right;
	}

	.hgpm-member-card small {
		font-size: 13px;
	}

	.hgpm-member-card p {
		margin: 0;
		font-size: 13px;
	}

	/* 会費：スマホは1項目ずつ読みやすく */
	.hgpm-fee-row {
		grid-template-columns: 1fr !important;
		gap: 5px;
		padding: 16px 0;
	}

	.hgpm-fee-row span {
		font-size: 14px;
	}

	.hgpm-fee-row strong {
		font-size: 18px;
	}

	.hgpm-fee-row em {
		font-size: 13px;
		line-height: 1.7;
	}

	/* 申込書 */
	.hgpm-document-list {
		grid-template-columns: 1fr !important;
		gap: 14px;
	}

	.hgpm-document-item {
		padding: 20px 18px;
		border-radius: 18px;
	}

	.hgpm-document-item strong {
		font-size: 16px;
		line-height: 1.6;
	}

	/* 隊員数推移：横スクロール表ではなくカード風に変換 */
	.hgpm-table-scroll {
		overflow: visible;
	}

	.hgpm-history-table {
		width: 100%;
		min-width: 0;
		border-collapse: separate;
		border-spacing: 0 12px;
	}

	.hgpm-history-table thead {
		display: none;
	}

	.hgpm-history-table tbody,
	.hgpm-history-table tr,
	.hgpm-history-table td {
		display: block;
		width: 100%;
	}

	.hgpm-history-table tr {
		padding: 16px 16px 12px;
		border: 1px solid rgba(201, 149, 63, 0.22);
		border-radius: 18px;
		background: #ffffff;
		box-shadow: 0 12px 28px rgba(16, 41, 31, 0.06);
		overflow: hidden;
	}

	.hgpm-history-table td {
		position: relative;
		padding: 8px 0 8px 96px;
		border: none;
		border-bottom: 1px solid rgba(16, 41, 31, 0.08);
		background: transparent !important;
		font-size: 14px;
		text-align: right;
	}

	.hgpm-history-table td:last-child {
		border-bottom: none;
		font-weight: 900;
	}

	.hgpm-history-table td::before {
		position: absolute;
		left: 0;
		top: 8px;
		color: #6e7a72;
		font-size: 12px;
		font-weight: 900;
		letter-spacing: 0.06em;
		text-align: left;
	}

	.hgpm-history-table td:nth-child(1)::before { content: "年度"; }
	.hgpm-history-table td:nth-child(2)::before { content: "ビーバー"; }
	.hgpm-history-table td:nth-child(3)::before { content: "カブ"; }
	.hgpm-history-table td:nth-child(4)::before { content: "ボーイ"; }
	.hgpm-history-table td:nth-child(5)::before { content: "ベンチャー"; }
	.hgpm-history-table td:nth-child(6)::before { content: "ローバー"; }
	.hgpm-history-table td:nth-child(7)::before { content: "計"; }

	.hgpm-history-table td:nth-child(1) {
		margin: -16px -16px 10px;
		padding: 12px 16px;
		background: #d9ecfb !important;
		color: #10291f;
		font-weight: 900;
		text-align: center;
	}

	.hgpm-history-table td:nth-child(1)::before {
		display: none;
	}

	/* いやさかNEWS */
	.hgpm-news-layout {
		grid-template-columns: 1fr !important;
		gap: 22px;
	}

	.hgpm-news-list {
		gap: 0;
	}

	.hgpm-news-list a {
		display: grid;
		grid-template-columns: 82px 1fr;
		gap: 10px;
		align-items: center;
		padding: 12px 0;
		font-size: 14px;
		line-height: 1.6;
	}

	.hgpm-news-list span {
		flex: none;
		font-size: 13px;
	}

	.hgpm-news-images {
		grid-template-columns: 1fr !important;
		gap: 14px;
	}

	.hgpm-news-images img {
		border-radius: 12px;
	}
}

@media screen and (max-width: 420px) {
	.hgpm-container {
		width: min(100% - 24px, 1120px);
	}

	.hgpm-card,
	.hgpm-table-scroll,
	.hgpm-document-list,
	.hgpm-news-layout {
		padding: 20px 16px;
	}

	.hgpm-member-card strong {
		font-size: 30px;
	}

	.hgpm-news-list a {
		grid-template-columns: 74px 1fr;
	}
}

/* =========================================================
	スマホ最終修正：隊員数推移をカード表示にする
========================================================= */

.hgpm-history-cards {
	display: none;
}

@media screen and (max-width: 640px) {
	.hgpm-history-table-wrap {
		display: none !important;
	}

	.hgpm-history-cards {
		display: grid !important;
		gap: 14px;
	}

	.hgpm-history-card {
		padding: 18px 18px 16px;
		border: 1px solid rgba(201, 149, 63, 0.24);
		border-radius: 18px;
		background: #ffffff;
		box-shadow: 0 12px 28px rgba(16, 41, 31, 0.07);
	}

	.hgpm-history-card h3 {
		margin: 0 0 12px;
		padding: 10px 12px;
		border-radius: 12px;
		background: #d9ecfb;
		color: #10291f;
		font-size: 16px;
		font-weight: 900;
		line-height: 1.4;
		text-align: center;
	}

	.hgpm-history-card dl {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 8px;
		margin: 0;
	}

	.hgpm-history-card dl div {
		padding: 10px 12px;
		border: 1px solid rgba(16, 41, 31, 0.08);
		border-radius: 12px;
		background: #fbf7ee;
	}

	.hgpm-history-card dt {
		margin: 0 0 4px;
		color: #6e7a72;
		font-size: 11px;
		font-weight: 900;
		letter-spacing: 0.08em;
	}

	.hgpm-history-card dd {
		margin: 0;
		color: #10291f;
		font-size: 18px;
		font-weight: 900;
		line-height: 1.3;
	}

	.hgpm-history-card .hgpm-history-total {
		grid-column: 1 / -1;
		background: linear-gradient(135deg, #10291f 0%, #193d2e 100%);
	}

	.hgpm-history-card .hgpm-history-total dt {
		color: rgba(255, 255, 255, 0.72);
	}

	.hgpm-history-card .hgpm-history-total dd {
		color: #ffffff;
		font-size: 22px;
	}
}

@media screen and (max-width: 420px) {
	.hgpm-history-card dl {
		grid-template-columns: 1fr;
	}
}

.hgpm-heading {
text-align: center !important;
}

.hgpm-heading .hgpm-kicker {
display: block !important;
width: 100% !important;
margin-left: auto !important;
margin-right: auto !important;
text-align: center !important;
}

.hgpm-heading h2 {
text-align: center !important;
}