/* ====================================================== */
/* スマホ縦向き以上のサイズ */
/* ====================================================== */
.roadmap-box {
	background: linear-gradient(45deg, #010916 0%, #002e5b 50%, #015792 100%);
	display: flex;
	gap: 20px;
	position: relative;
	color: #fff;
	padding: 20px;
	flex-direction: column;
}
.roadmap-step {
	min-width: 200px;
	flex: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 1;
}
.roadmap-bar {
	position: relative;
	height: 46px;
	background: linear-gradient(45deg, #0b1e3d 0%, #015691 100%);
	border-radius: 23px;
	width: fit-content;
	padding: 3px;
	border: 3px solid #eee;
	box-sizing: border-box;
	margin-bottom: 20px;
}
.roadmap-bar-mask {
	background: #eee;
	height: 30px;
	position: absolute;
	border-radius: 15px;
	top: 0;
	left: 0;
	width: 400px;
}
.roadmap-bar-inner {
	height: 30px;
	position: relative;
	border-radius: 15px;
	top: 0;
	left: 0;
	display: flex;
	margin: 2px;
	gap: 5px;
}
.roadmap-mask {
	background: linear-gradient(0deg, #dc575700 80px, #68819c4f 82px), linear-gradient(90deg, transparent 80px, #68819c4f 82px);
	background-size: 82px 82px;
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	border: 0;
}
.milestone-box {
	width: calc(100% - 10px);
	display: flex;
	gap: 5px;
	padding: 3px 3px 20px;
	box-sizing: border-box;
	position: relative;
}
.milestone {
	flex: 1;
	display: flex;
	flex-direction: column;
	padding: 0 20px;
	width: 200px;
	flex: none;
}
.roadmap-bar-outer {
	overflow-x: scroll;
	width: 100%;
}
.roadmap-box-left {
	width: 100%;
	display: flex;
	flex-direction: column;
	flex: 1;
	margin: auto;
	place-items: center;
	gap: 20px;
}
.roadmap-box-right {
	max-width: unset;
	width: 100%;
	margin: 20px 0;
	padding: 20px;
	border: 1px solid #eee;
	box-sizing: border-box;
	background: linear-gradient(45deg, #003767 0%, #015792 100%);
	z-index: 1;
}
.roadmap-step-status {
    font-size: 10px;
    margin-left: 10px;
}
/* ====================================================== */
/* スマホ横向き以上のサイズ */
/* ====================================================== */
@media (min-width: 600px) {
	.roadmap-box {
		padding: 60px 20px;
	}
}
/* ====================================================== */
/* デスクトップ */
/* ====================================================== */
@media (min-width: 1024px) {
	.roadmap-box {
		flex-direction: row;
	}
	.roadmap-step {
		min-width: unset;
	}
	.roadmap-bar {
		width: 100%;
	}
	.roadmap-bar-outer {
		overflow-x: unset;
	}
	.roadmap-bar-mask {
		width: calc(40% - 10px);
	}
	.roadmap-bar-inner {
		overflow-x: unset;
		gap: 20px;
	}
	.milestone-box {
		width: 100%;
		gap: 20px;
	}
	.milestone {
		flex: 1;
		display: flex;
		flex-direction: column;
		padding: 0 20px;
	}
	.roadmap-box-left {
		gap: 30px;
	}

	.roadmap-box-right {
		max-width: 500px;
		width: 25%;
	}
}



.roadmap-title {
	font-size: 24px;
	font-weight: bold;
}
.roadmap-step-1, .roadmap-step-2 {
	color: #000;
}
.roadmap-step-3 {
	border: 1px solid #ffffff29;
	border-radius: 23px;
}

.donation-link-box {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.donation-link-title {
	font-size: 20px;
	font-weight: bold;
	align-self: center;
}
.donation-btn {
	background: #f86754;
	color: #fff;
	padding: 8px;
	display: block;
	text-align: center;
	max-width: 180px;
	margin: 0 auto;
	width: 50%;
	font-size: 16px;
	animation: flash 2s infinite;
}
@keyframes flash {
    0%, 90%, 100% {
        background: #f86754; /* 通常色 */
    }
    95% {
        background: #ffb3aa; /* 一瞬だけ色を変える */
    }
}
.donation-btn:hover {
	color: #fff;
	text-decoration: none;
	opacity: 0.9;
	cursor: pointer;
}
.donation-perk-box {
	display: flex;
	flex-direction: column;
	margin: 0 auto;
}
.donation-perk {
	display: list-item;
	margin-left: 20px;
	font-size: 14px;
	flex: 1;
	line-height: 18px;
}
.donation-counter-box {
	display: flex;
	gap: 10px;
	width: 100%;
	justify-content: center;
}
.user-counter-title {
	font-size: 14px;
}
.user-counter-current {
	font-size: 24px;
}
.user-counter {
	width: 100%;
	display: flex;
	flex-direction: column;
	border: 1px solid #ffffff29;
	padding: 5px 10px;
	place-items: center;
}
.donation-counter-explanation {
	font-size: 14px;
	text-align: center;
}


.milestone-item {
	font-size: 14px;
	display: list-item;
	margin-left: 20px;
}
.roadmap-text-box {
	font-size: 14px;
}