.cntl {
	position: relative;
	width: 100%;
	overflow: hidden;
}

.cntl-center {
	left:0;
	right:0;
	margin-left:auto;
	margin-right:auto;
}

.cntl-bar {
	position: absolute;
	width: 1px;
	background-color: #000;
	top: 0;
	bottom: 0;
/*	box-shadow: inset 0px 0px 7px -2px #000;*/
}


.cntl-bar-fill {
/*
	border:3px double #000;
	width: 5px;
	background-color: #000;
*/
	position: absolute;
	left:0;
	right:0;
	top:0;
	height:0;

}

.cntl-state {
	position: relative;
	width:100%;
	min-height: 100px;
	margin-bottom: 30px;
}

.cntl-state::after {
	display:block;
	content: ' ';
	clear:both;
}

.cntl-icon {
	width: 90px;
	height: 90px;
/*
	border-radius: 50%;
	background-color: #000;
	border: solid 1px #999;
	box-shadow: 0px 0px 19px -9px #000;
*/
	position: absolute;
	top: 0;
	text-align: center;
	font-size: 1.5rem;
	background-color: #fff;
	border-bottom:1px solid #000;
	color: #000;
}


.cntl-content p {
	text-align:left;
/*	font-size:0.9rem;*/
}

.cntl-content {
	width: 40%;
	padding: 5% 2% 2% 2%;
/*
	background-color: rgba(238, 238, 238, 0.25);
	border-radius: 8px;
*/
	border-bottom: dashed 1px #000;
	float:left;
	opacity:0;
	position:relative;
	margin-left:-40%;
}


.cntl-icon p {
	padding-top:25px;
	font-weight:bold;
	font-size:2rem;
}

/*
p.sub {
	font-size: 0.75rem;
	font-weight:normal;
}
*/


/******	左右に表示されたい場合はこれをオープン⇒loat:right;　*/
.cntl-state:nth-child(2n+2) .cntl-content {
	float:right;
	margin-right:-40%;
}

.cntl-image {
	opacity:0;
	width: 40%;
	padding: 2%;
}

.cntl-state:nth-child(2n+1) .cntl-image {
	float:right;
}

.cntl-image img {
	width:50%;
}

.cntl-content h4 {
	font-size:20px;
	font-weight: normal;
	margin-bottom: 10px;
}


/*
animations
*/
.cntl-bar-fill,.cntl-content,.cntl-image {
	-webkit-transition: all 300ms ease;
	-moz-transition: all 300ms ease;
	-o-transition: all 300ms ease;
	-ms-transition: all 300ms ease;
	transition: all 300ms ease;
}

.cntl-state:nth-child(2n+2).cntl-animate .cntl-content {
	margin-right:0%;
}

.cntl-animate .cntl-content {
	opacity:1;
	margin-left:0%;
}

.cntl-animate .cntl-image {
	opacity:1;
}


/* mobile support */

@media (max-width: 1200px) {


	.cntl-bar {
		left:auto;
		right: 37px;
	}

	.cntl-content {
		width:75%;
		float:none;
		padding-top:30px;
	}
	.cntl-state:nth-child(2n+2) .cntl-content {
		margi-right:0%;
		float:none;
	}

	.cntl-image {
		width:75%;
	}

	.cntl-state:nth-child(2n+1) .cntl-image {
		float:none;
	}

	.animate .cntl-content {
		margin-left: 2%;
	}

	.cntl-icon {
		left: auto;
		right: 0;
	}

}
