@charset "utf-8";
.program-box {
	margin: 2rem 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.program-box > li {
	width: 32%;
	background-color: #fff;
	border: 1px solid #737373;
	border-radius: 1rem;
	overflow: hidden;
	padding-bottom: .5rem;
	margin-bottom: 1rem;
}
.program-content {
	display: flex;
	flex-direction: column;
}
.program-title {
	order: 3;
	font-size: 120%;
	font-weight: bold;
	padding: .5rem 1rem;
	line-height: 1.1;
	min-height: 3.5rem;
}
.program-img {
	order: 1;
}
.program-nanido {
	order: 2;
	padding: .3rem 1rem;
	background-color: #802341;
	text-align: center;
	font-weight: 900;
	color: #fff;
	font-size: 110%
}
.program-meyasu {
	order: 4;
	padding: .5rem 1rem;
	line-height: 1.2;
}
.taiken-box {
	display: flex;
	flex-wrap: wrap;
	margin: 2rem 0;
}
.taiken-box>li {
	overflow: hidden;
	border-radius: 1rem;
	background-color: #fff;
	display: flex;
	margin-bottom: 1rem;
	border: 1px solid #343434;
}
.taiken-img {
	width: 50%;
	background-color: #000;
}
.taiken-img>img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.taiken-content {
	padding: 2rem;
	width: 50%;
}
.taiken-content-title {
	font-weight: 900;
	font-size: 1.5rem;
	margin-bottom: .5rem;
	line-height: 1.2;
	color: #802341;
}
.taiken-content-txt {
	font-size: 1rem;
}

.taiken-table {
	margin: 1rem 0 0 0;
	font-size: .9rem;
}
.taiken-table th, .taiken-table td {
	border: 1px solid #B8B8B8;
	text-align: center;
	padding: 5px 10px;
	vertical-align: middle;
	text-wrap: balance;
}
.taiken-table th {
	background-color: #EFE5E5;
	min-width: 5rem;
}
.taiken-table td {
	background-color: #fff;
}
.tokuchu {
	color: #E02629;
	font-weight: bold;
}

@media screen and (max-width: 600px) {
	.program-box > li {
		width: 49%;
	}
	.taiken-box>li {
	flex-direction: column;
}
	.taiken-img {
	width: 100%;
}

.taiken-content {
	width: 100%;
}
}
/* 2026 夏休み科学教室 */
.event-2026-lead { max-width: 50rem; margin-bottom: 2rem; }
.event-2026-lead-title { margin: 0 0 .4rem; color: #802341; font-size: 1.45rem; font-weight: 900; }
.event-2026-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.75rem; margin-top: 2rem; }
.event-2026-card { overflow: hidden; border: 1px solid #d8d1ce; border-radius: 1rem; background: #fff; box-shadow: 0 5px 15px rgba(52, 52, 52, .08); }
.event-2026-card figure { aspect-ratio: 1 / .85; margin: 0; overflow: hidden; background: #f5f1ee; }
.event-2026-card figure img { display: block; width: 100%; height: 100%; object-fit: cover; }
.event-2026-body { padding: 1.25rem 1.4rem 1.4rem; }
.event-2026-number { display: inline-flex; width: 1.8rem; height: 1.8rem; align-items: center; justify-content: center; margin-right: .45rem; border-radius: 999px; background: #802341; color: #fff; font-size: .95rem; font-weight: 700; }
.event-2026-card h3 { display: inline; margin: 0; color: #802341; font-size: 1.25rem; line-height: 1.45; }
.event-2026-meta { display: grid; grid-template-columns: 4.5rem 1fr; gap: .28rem .75rem; margin: 1rem 0 1.2rem; padding: .9rem 0; border-top: 1px solid #d8d1ce; border-bottom: 1px solid #d8d1ce; font-size: .95rem; line-height: 1.55; }
.event-2026-meta dt { font-weight: 700; }
.event-2026-meta dd { margin: 0; }
.event-2026-button { display: inline-flex; min-height: 3rem; width: 100%; align-items: center; justify-content: center; border-radius: 999px; background: #802341; color: #fff; font-weight: 700; text-decoration: none; }
.event-2026-button:hover, .event-2026-button:focus-visible { opacity: .78; }
.event-2026-notice { margin: 1.4rem 0 0; color: #625b58; font-size: .9rem; }
@media screen and (max-width: 600px) { .event-2026-grid { grid-template-columns: 1fr; gap: 1.25rem; } .event-2026-body { padding: 1.1rem; } }

