.toast-container {
	position: fixed;
	top: 1rem;
	right: 1rem;
	z-index: 1060;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.toast {
	min-width: 250px;
	padding: 0.75rem 1rem;
	border-radius: 0.25rem;
	box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,.075);
	opacity: 0;
	transform: translateX(100%);
	transition: opacity 0.3s ease, transform 0.3s ease;
	display: flex;
	flex-direction: column;
	font-family: Arial, sans-serif;
	color: white;
	position: relative;
	overflow: hidden; /* 必須 */
}

.toast.show {
	opacity: 1;
	transform: translateX(0);
}

.toast .message {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.toast .close-btn {
	cursor: pointer;
	margin-left: 1rem;
	font-weight: bold;
}

/* 色指定 */
.toast-success { background-color: #28a745; }
.toast-error   { background-color: #dc3545; }
.toast-info    { background-color: #17a2b8; }
.toast-warning { background-color: #ffc107; color: black; }

/* プログレスバー */
.toast .progress {
	position: absolute;
	bottom: 0;
	left: 0;
	height: 4px;
	width: 100%;
	background-color: rgba(255,255,255,0.7);
	transform-origin: left;
	transform: scaleX(1);
}