@charset "utf-8";

/* -----------------------------------------------------------
CSS Information

 File name:      top.css
 Update:         2017.2.10
 Style Info:     トップCSSファイル
----------------------------------------------------------- */
body {
    position: relative;
}


.mv_bg {
    width: 100%;
    height: 100%;
    position: fixed;
    z-index: -1;
}
.mv_bg video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}

/********************************************
モバイルファースト
*********************************************/
h2 {
	text-align: center;
}
h2 span {
	font-size: 74px;
	color: #FFF;
    font-family: 'TwCenMT', sans-serif;
	text-align: center;
	letter-spacing: 3px;
}
/*HISTORYスライド*/
video {
	max-width: 100%;
}

.history-area {
  position: relative;
    /*width: 100vw;*/
    height: auto;
}

.history-title {
    position:fixed;
    top: 40px;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 10;
    text-shadow: 0px 0px 40px rgba(0, 0, 0, 0.9);
}
.history-track {
    position: relative;
    top: 0;
    height: auto;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    /*width: 100vw;*/
    padding-bottom: 100px;
}

.uniform-history {
    /*width: 100vw;*/
    height: 100vh;
    flex-shrink: 0;
    display: flex;
    align-items:center;
}

.history_wrap {
    padding-top: 100px;
    width: 80%;
    margin-left: auto;
    margin-right: 10px;
    box-sizing: border-box;
}

.history_wrap .summary {
    margin-top: 20px;
    color: #FFF;
}
.history_wrap .summary h3 {
    font-size: 18px;
    font-weight: 900;
    margin-bottom: 5px;
    font-family: 'TwCenMT', "Noto Sans JP", sans-serif;
}
.history_wrap .summary h3 span {
    font-size: 75%;
}
.history_wrap .summary p {
    font-size: 14px;
    font-weight: 400;
}

/*タイムライン*/
.history-timeline {
    position: fixed;
    top:50%;
    left: 10px;
    bottom: auto;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    gap: 20px;
    transform: translateY(-50%);
    z-index: 50;
}

.history-timeline li {
  position: relative;
  font-size: 8px;
  color: rgba(255,255,255,.5);
    text-align: center;
}

.history-timeline li::before {
  content: '';
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #fff;
  opacity: .4;
}

.history-timeline li.is-active {
  color: #fff;
}

.history-timeline li.is-active::before {
    opacity: 1;
    width: 10px;
    height: 10px;
    top: -17px;
    background: #ff3b3b;
    border:2px solid #FFF;
}

/********************************************
ランドスケープ
*********************************************/
@media screen and (min-width:480px){
	.history_wrap {
        width: 85%;
    }
}


/********************************************
ランドスケープ
*********************************************/
@media screen and (min-width:640px){
	h2 {
		margin-top: 10px;
		text-align: center;
	}
    .history_wrap {
        width: 80%;
    }
    .history_wrap .img_uniform {
        width: 80%;
        margin: 0 auto;
    }
    .history_wrap .summary h3 {
        font-size: 28px;
        font-weight: 900;
        margin-bottom: 5px;
        font-family: 'TwCenMT', "Noto Sans JP", sans-serif;
    }
    .history_wrap .summary h3 span {
        font-size: 75%;
    }
    .history_wrap .summary p {
        font-size: 16px;
        font-weight: 400;
    }
    .history-timeline {
        gap: 25px;
    }

    .history-timeline li {
        font-size: 12px;
    }
}

/********************************************
タブレット
*********************************************/
@media screen and (min-width:768px){	
	h2 {
		margin-top: 10px;
	}
	h2 span {
		font-size: 86px;
		letter-spacing: 6px;
	}
	.history_wrap {
        width: 85%;
    }
}

/********************************************
タブレット　ランドスケープ
*********************************************/
@media only screen and (min-width: 980px) {
	/*#contents {
		width: 980px;
		margin: 0 auto;
	}*/
	h2 {
		margin-top: 20px;
	}
	h2 span {
		font-size: 104px;
	}
    
    .history-area {
      position: relative;
      width: auto;
      height: 1400vh;
      overflow: hidden;
    }

    .history-title {
        position:fixed;
        top: 40px;
        left: 0;
        right: 0;
        margin: auto;
        z-index: 10;
    }
    .history-track {
        position: fixed;
        top: 0;
        height: 100vh;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        width: 1400vw;
        padding-bottom: 100px;
    }

    .uniform-history {
        width: 100vw;
        height: 100vh;
        flex-shrink: 0;
        display: flex;
        align-items:center;
    }

    .history_wrap {
        padding-top: 0;
        width: 900px;
        margin: 0 auto;
        display: flex;
        flex-direction: row-reverse;
        align-items: center;
    }
    .history_wrap .img_uniform {
        width: 50%;
        margin: 0 auto;
    }
    .history_wrap .summary {
        width: 50%;
        margin: 0 auto;
        margin-top: 10px;
        padding-left: 20px;
        color: #FFF;
        box-sizing: border-box;
    }
    .history_wrap .summary h3 {
        font-size: 42px;
        font-weight: bold;
        margin-bottom: 5px;
    }
    .history_wrap .summary p {
        font-size: 18px;
        font-weight: 400;
    }
    
    /*タイムライン*/
    .history-timeline {
        width: 900px;
        margin: 0 auto;
        position: fixed;
        top: inherit;
        bottom: 140px;
        left: 0;
        right: 0;
        transform:none;
        display: flex;
        align-items: baseline;
        flex-direction: row;
        justify-content: space-between;
        gap: 0;
        z-index: 20;
    }

    .history-timeline li {
        position: relative;
        font-size: 12px;
        color: rgba(255,255,255,.5);
        cursor: pointer;
    }

    .history-timeline li::before {
        content: '';
        position: absolute;
        top: -14px;
        left: 50%;
        transform: translateX(-50%);
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: #fff;
        opacity: 1;
        z-index: 2;
    }
    .history-timeline::after {
        content: '';
        position: absolute;
        top: -11px;
        left: 0;
        right: 0;
        margin: auto;
        width: 840px;
        height: 2px;        
        background: #fff;
        opacity: 1;
        z-index: 1;
    }

    .history-timeline li.is-active {
      color: #fff;
    }

    .history-timeline li.is-active::before {
      opacity: 1;
      background: #ff3b3b;
    }

    
    #foot {
        position: fixed;
        bottom: 0;
        padding: 15px 0 5px;
    }
}

/********************************************
PC
*********************************************/
@media only screen and (min-width: 1280px) {
    .history_wrap {
        padding-top: 0;
        width: 1100px;
    }
    .history_wrap .img_uniform {
        width: 48%;
        margin: 0 auto;
    }
    .history_wrap .summary {
        width: 40%;
        margin: 0 auto;
        margin-top: 10px;
        padding-left: 20px;
        color: #FFF;
        box-sizing: border-box;
    }
    /*タイムライン*/
    .history-timeline {
        width: 1100px;
    }
    .history-timeline li::before {
        top: -25px;
        width: 12px;
        height: 12px;
    }
    .history-timeline::after {
        top: -20px;
        left: 0;
        right: 0;
        margin: auto;
        width: 1050px;
    }
    .history-timeline li.is-active::before {
        top: -27px;
    }
    
    .history-timeline li.is-active::before {
        opacity: 1;
        width: 16px;
        height: 16px;
        top: -30px;
        background: #ff3b3b;
        border:2px solid #FFF;
    }


}

/********************************************
PC
*********************************************/
@media only screen and (min-width: 1370px) {
	
}

/********************************************
PC
*********************************************/
@media only screen and (min-width: 1680px) {
	
}
