@charset 'UTF-8';
.timeline
{
    padding: 3rem 5rem;
	color: #003c6f;
    /* ボーダー有り */
    /* ストライプ背景 */
    /* PCの時は矢印っぽく */
}
.timeline-item
{
    position: relative;
    padding: 0 0 30px 30px;
    border-left: 1px solid #003c6f;
}
.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: #003c6f;
}
/*.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;
		margin: 40px 0;
    }
    .timeline-item{
        display: table-cell;
        padding: 0;
        vertical-align: top;
        border-top: 1px solid #003c6f;
        border-bottom: 0;
        border-left: 0;
    }
    .timeline-item:last-of-type{
        display: table-cell;
        padding: 0;
        vertical-align: top;
        border-top: 0px solid #003c6f;
		border-bottom: 0;
        border-left: 0;
		padding-bottom: 0;
		width: 50px;
       /* 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: 100%; /*70から変更*/
        -webkit-transform: translateX(-50%);
                transform: translateX(-50%);
        text-align: center;
    }
    .timeline-label{
        position: absolute;
        top: 0;
        left: 0;
        -webkit-transform: translateX(-50%) translateY(-120%);
                transform: translateX(-50%) translateY(-120%);
        text-align: center;
    }
    .timeline-content{
        margin-top: 10px;
    }
/*    .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 #003c6f;
        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;
}
