body {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
}

/* お知らせ */
.oshirase-section {
	display: flex;
}

@media (max-width: 900px) {
	.oshirase-section {
		display: block;
	}
}

.oshirase-area {
	width: calc(100% - 300px);
	max-width: 1200px;
	margin: 0 auto;
}

@media (max-width: 900px) {
	.oshirase-area {
		width: 100%;
		max-width: 980px;
		padding: 0 12px;
		box-sizing: border-box;
	}
}

.oshirase-label {
	display: flex;
	margin: 40px auto 80px auto;
	width: 500px;
}

@media (max-width: 900px) {
	.oshirase-label {
		width: min(520px, 100%);
		margin: 20px auto 60px auto;
		flex-wrap: wrap;
		gap: 10px 10px;
		justify-content: center;
	}
}

.oshirase-label0,
.oshirase-label1,
.oshirase-label2,
.oshirase-label3 {
	margin: auto;
	transition: background 0.2s ease, transform 0.2s ease;
}

@media (max-width: 900px) {

	.oshirase-label0,
	.oshirase-label1,
	.oshirase-label2,
	.oshirase-label3 {
		margin: 0;
	}
}

.oshirase-label .oshirase-label0:hover,
.oshirase-label .oshirase-label1:hover,
.oshirase-label .oshirase-label2:hover,
.oshirase-label .oshirase-label3:hover {
	transform: scale(1.05);
	transition: transform 0.3s;
	cursor: pointer;
}

.oshirase-label0 span,
.oshirase-label1 span,
.oshirase-label2 span,
.oshirase-label3 span {
	font-weight: 500;
	color: #FFFFFF;
	padding: 3px 15px;
	border-radius: 100px;
}

@media (max-width: 520px) {

	.oshirase-label0 span,
	.oshirase-label1 span,
	.oshirase-label2 span,
	.oshirase-label3 span {
		padding: 3px 10px;
		font-weight: bold;
	}
}

.oshirase-label0 span {
	background-color: #BFBFBF;
}

.oshirase-label1 span {
	background-color: var(--lesson);
}

.oshirase-label2 span {
	background-color: var(--oshirase);
}

.oshirase-label3 span {
	background-color: var(--event);
}

.oshirase-list {
	width: 840px;
	margin: 0 auto;
}

@media (max-width: 900px) {
	.oshirase-list {
		width: 100%;
		max-width: 900px;
		margin: 0 auto;
	}
}

.oshirase-list a {
	text-decoration: none;
}

.oshirase-row {
	color: var(--text);
	font-weight: 600;
	width: 100%;
	padding: 5px 15px;
	margin-bottom: 20px;
	border-spacing: 10px 5px;
	border-bottom: 1px solid var(--border);
	border-top-left-radius: 7px;
	border-top-right-radius: 7px;
}

@media (max-width: 520px) {
	.oshirase-row {
		padding: 10px 12px;
		margin-bottom: 14px;
	}
}

.oshirase-row:hover {
	background-color: #f3e4a7;
}

.oshirase-date {
	width: 50px;
}

.oshirase-button {
	text-align: center;
	margin: 100px auto 250px auto;
}