
@charset "UTF-8";
/* CSS Document */

.box28 {
	position: relative;
	padding: 25px 10px 7px;
	border: solid 2px #4A4A4A;
	width: 100px; /* 横幅を固定 */
	height: 130px;
	margin: 20px;
	flex-shrink: 0;
}

	.box28 .box-title {
		position: absolute;
		display: inline-block;
		top: -2px;
		left: -2px;
		padding: 0 9px;
		height: 30px;
		line-height: 30px;
		font-size: 20px;
		background: #4A4A4A;
		color: #ffffff;
		font-weight: bold;
		width: 106px; /* 幅を固定 */
		text-align: center; /* 中央寄せ */
		overflow: hidden; /* はみ出し防止 */
		white-space: nowrap; /* 折り返し防止 */
	}

	.box28 p {
		margin: 0px;
		padding: 0;
	}

.box-info {
	position: absolute;
	display: inline-block;
	top: 40px;
	left: 20px;
	padding: 0 9px;
	font-size: 60px;
}

.status-full {
	color: red;
}

.status-empty {
	color: blue;
}

.status-mix {
	color: #FF8C00;
}

.status-close {
	color: black;
}

.cal_box {
	width: 572px;
	height: 680px;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/* 通常時は横並び */
.status-wrapper {
	display: flex;
	align-items: flex-start;
	gap: 20px;
}

.status-text {
	/* テキスト部分は自動で幅狭くなり、必要になれば折り返す */
	min-width: 0; /* 折り返し有効化（Flexboxで必要！） */
	flex: 1 1 0%;
	word-break: break-word; /* 長い単語があっても折り返す */
}

@media (max-width: 640px) {
	.status-wrapper {
		flex-direction: column;
		gap: 8px;
		align-items: stretch; /* or flex-start */
	}

	.box28 {
		margin-left: auto;
		margin-right: auto; /* 中央寄せにしたい場合 */
	}

	.status-text {
		margin: 0 0 0 0;
		/* 幅いっぱいに */
		width: 100%;
	}

	.cal_box {
		height: 520px;
		flex-direction: column;
		gap: 20px;
		align-items: center;
	}
}


