@charset 'UTF-8';
.timeline
{
	padding: 3rem 5rem;
	/* ボーダー有り */
	/* ストライプ背景 */
	/* PCの時は矢印っぽく */
}
.timeline-item
	{
	position: relative;
	padding: 0 0 30px 30px;
	border-left: 1px solid #000;
	}

.timeline-item:before
	{
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 10px;
	height: 10px;
	content: '';
	-webkit-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
	border-radius: 100%;
	background-color: #7d002f;
	}

.timeline-item:last-of-type
	{
	padding-bottom: 0;
	}

.timeline-item:last-of-type:before
	{
	top: auto;
	bottom: 0;
	width: 0;
	height: 0;
	-webkit-transform: translateX(-50%) translateY(0);
	transform: translateX(-50%) translateY(0);
	border-width: 10px 5px 0 5px;
	border-style: solid;
	border-color: #000 transparent transparent transparent;
	border-radius: 0;
	background-color: transparent;
}
@media (min-width: 768px)
{
	.timeline
	{
		display: table;

		width: 100%;

		table-layout: fixed;
	}
	.timeline-item
	{
		display: table-cell;

		padding: 0;

		vertical-align: top;

		border-top: 1px solid #000;
		border-bottom: 0;
		border-left: 0;
	}
	.timeline-item:last-of-type
	{
		padding-bottom: 0;

		text-align: right;
	}
	.timeline-item:last-of-type:before
	{
		top: 0;
		right: 0;
		bottom: auto;
		left: auto;

		-webkit-transform: translateX(0) translateY(-50%);

				transform: translateX(0) translateY(-50%);

		border-width: 5px 0 5px 10px;
		border-color: transparent transparent transparent #000;
	}
	.timeline-item:last-of-type p
	{
		text-align: left;
	}
	.timeline-label,
	.timeline-content
	{
		display: block;

		max-width: 70%;

		-webkit-transform: translateX(-50%);

				transform: translateX(-50%);
		text-align: left;
	}
	.timeline-label
	{
		position: absolute;
		top: 0;
		left: 0;color: #7d002f;

		-webkit-transform: translateX(-50%) translateY(-120%);

				transform: translateX(-50%) translateY(-120%);
		text-align: center;
	}
	.timeline-content
	{
		margin-top: 10px;
		text-align:center;
	}
	.timeline-item:last-of-type .timeline-label,
	.timeline-item:last-of-type .timeline-content
	{
		display: inline-block;

		max-width: 70%;

		-webkit-transform: translateX(50%);

				transform: translateX(50%);
		text-align: left;
	}
	.timeline-item:last-of-type .timeline-label
	{
		right: 0;
		left: auto;

		-webkit-transform: translateX(50%) translateY(-120%);

				transform: translateX(50%) translateY(-120%);
	}
}
.timeline.border-dashed .timeline-item
{
	padding: 10px;

	border-top: 1px dashed #ccc;
}
.timeline.border-dashed .timeline-item:last-of-type
{
	border-top: none;
	border-bottom: 1px dashed #ccc;
}
@media (min-width: 768px)
{
	.timeline.border-dashed .timeline-item
	{
		padding: 0;

		border-top: 1px solid #000;
		border-left: 1px dashed #ccc;
	}
	.timeline.border-dashed .timeline-item:last-of-type
	{
		border-top: 1px solid #000;
		border-right: 1px dashed #ccc;
		border-bottom: 0;
	}
}
.timeline.bg-stripe .timeline-item:nth-of-type(odd)
{
	background-color: #e8e8e8;
}
.timeline.bg-stripe .timeline-item:nth-of-type(even)
{
	background-color: #fff;
}
@media (min-width: 768px)
{
	.timeline.bg-stripe .timeline-label,
	.timeline.bg-stripe .timeline-content
	{
		display: block;

		max-width: 70%;

		-webkit-transform: translateX(0);

				transform: translateX(0);
		text-align: left;
	}
	.timeline.bg-stripe .timeline-label
	{
		-webkit-transform: translateX(0) translateY(-120%);
				transform: translateX(0) translateY(-120%);
	}
	.timeline.bg-stripe .timeline-content
	{
		display: inline-block;
	}
}
.timeline-wrapper
{
	padding: 3rem 5rem;

	background-color: #f0f0f0;
}
.timeline.bg-arrow
{
	padding: 0;
}
.timeline.bg-arrow .timeline-item
{
	position: relative;

	border-top: none;
}
@media (min-width: 768px)
{
	.timeline.bg-arrow
	{
		overflow: hidden;

		padding: 20px 0 0;
	}
	.timeline.bg-arrow .timeline-item:before
	{
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;

		width: 100%;
		height: 100%;

		-webkit-transform: skew(-45deg);

				transform: skew(-45deg);
		-webkit-transform-origin: 0 0;
				transform-origin: 0 0;

		border-color: transparent;
		border-radius: 0;
		/* FF3.6-15 */
		background: -webkit-linear-gradient(45deg, transparent 0%, rgba(0, 0, 0, .3) 100%);
		/* Chrome10-25,Safari5.1-6 */
		background:		 linear-gradient(45deg, transparent 0%, rgba(0, 0, 0, .3) 100%);
		box-shadow: 1px -1px 2px rgba(125, 125, 125, .8);
		/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	}
	.timeline.bg-arrow .timeline-label,
	.timeline.bg-arrow .timeline-content
	{
		display: block;

		max-width: 70%;

		-webkit-transform: translateX(0);

				transform: translateX(0);
		text-align: left;
	}
	.timeline.bg-arrow .timeline-label
	{
		-webkit-transform: translateX(0) translateY(-120%);
				transform: translateX(0) translateY(-120%);
	}
	.timeline.bg-arrow .timeline-content
	{
		display: inline-block;
	}
	.timeline.bg-arrow .timeline-item:last-of-type
	{
		padding-bottom: 0;

		text-align: right;
	}
	.timeline.bg-arrow .timeline-item:last-of-type:before
	{
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;

		-webkit-transform: translateX(0) translateY(0) skew(-45deg);

				transform: translateX(0) translateY(0) skew(-45deg);

		border: none;
	}
	.timeline.bg-arrow .timeline-item:last-of-type p
	{
		display: block;

		text-align: left;
	}
}

/* 現在地 */
.timeline-item.now:before
{
	background-color: #f00;
}
