.stepmain{
	counter-reset: step_counter;
	width:100%;
	max-width: 1000px;
	margin:10px auto;
}
.stepitem{
	display: flex;
	justify-content: flex-start;
	border-left:1px solid #cc0001;
	padding: 0px;
	padding-left: 55px;
	margin-left: 40px;
	margin-right: -100px;
	position: relative;
}
.stepitem:last-child {
	border-left: none;
	margin-bottom: 20px;
}
.stepitem div.num{
	left: -40px;
	width: 80px;
	height: 80px;
	margin: 10px 0 0 0;
	line-height:30px;
}
.stepitem div.num{
	content: "";
	position: absolute;
	top: 0px;
	left: -35px;

	color:white;
	background-color:#cc0001;
	font-weight:bold;
	background-color:#e06651;
	padding: 15px 0 0 0;
	margin: 0;
	width: 70px;
	height: 70px;
	line-height:20px;
	text-align:center;
	display:inline-block;
	border-radius:50%;
}
.stepitem div.num::after {
	counter-increment: step_counter;
	content: counter(step_counter);
}

.stepitem div.stepright{
	width: calc(100% - 100px);
	padding: 0;
	margin-left: -10px;
}
.stepitem div.stepright img{
	float: none;
	width: 100%;
	height: auto;
	border-radius: 5px;
	padding: 0;
	margin-right:20px;
	margin-bottom: 10px;
}
.stepitem div.stepright div.steptext{
	color:black;
	padding: 0px;
	margin: 0;
}
.stepitem div.stepright div.steptext div.steptitle{
	font-size: 105%;
	font-weight: bold;
	margin-bottom: 5px;
}
@media (min-width: 600px) {
	.stepitem{
		margin-right: -60px;
	}
	.stepitem div.stepright{
		margin-left: 0;
	}
}
@media (min-width: 769px) {
	.stepitem{
		margin-right: -80px;
	}
	.stepitem div.num{
		left: -40px;
		width: 80px;
		height: 80px;
		padding: 18px 0 0 0;
		line-height:25px;
		font-size:105%;
	}
	.stepitem div.stepright{
		width: calc(100% - 100px);
		padding: 0 10px;
	}
	.stepitem div.stepright img{
		float:left;
		border-radius: 15px;
		max-width:350px;
	}
	.stepitem div.stepright div.steptext{
		padding: 0 20px;
	}
}
