@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap');

.osw{
	font-family: "Oswald", sans-serif;
	font-weight: 700;
}



.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6, p {
    margin-bottom: 0;
}
img {
    vertical-align: middle;
    max-width: 100%;
    height: auto;
}

.inner{
	width: 1190px;
	margin: 0 auto;
	padding: 0 20px;
}

@media all and (max-width: 767px) {
	.inner{
		width: 100%;
		padding: 0 5%;
	}
}

@media screen and (min-width: 768px) {
  .nonePC {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .noneSP {
    display: none !important;
  }
}


header{
	border: none;
}
.header_logo{
	width: 236px;
	margin-left: 30px;
}

.newest_page{
	padding: .5rem;
    border: 1px solid #006aa5;
    background-color: #006aa5;
    color: #fff;
    font-weight: bold;
    line-height: 1;
    text-decoration: none;
    transition: all .3s;
	margin-right: 1vw;
}

@media screen and (min-width: 768px) {
	.newest_page:hover {
	    background-color: #fff;
	    color: #006aa5;
	    text-decoration: none;
	}
}
@media screen and (max-width: 767px) {
	header{
		height: 60px;
	}
	.navbar{
		height: 100%;
	}
	.header_logo{
		width: 66px;
   		margin-left: 20px;
	}
}

header ul.hamburger__menu li a.newest_page{
	width: 330px;
	border: none;
	background-color: initial;
	font-weight: 400;
	transition: initial;
}
@media screen and (min-width: 768px) {
	header ul.hamburger__menu li a.newest_page:hover{
		color: #fff;
		opacity: 0.6;
	}
}


/* mv
***************************************************************/

.mv{
	width: 100%;
	height: 570px;
	background: url(../img/movementtimeline/mv.jpg) center / cover no-repeat;
	position: relative;
}
.mv_ttl{
	padding-top: 85px;
	.mv_ttl_img{
		display: block;
		width: 500px;
	}
	.mv_ttl_txt{
		display: block;
		font-size: 22px;
		color: #fff;
		margin-top: 30px;
	}
}


@media all and (min-width: 768px) {
}
@media all and (max-width: 767px) {
	.mv{
		height: 340px;
		background: url(../img/movementtimeline/mv_sp.jpg) center / cover no-repeat;
	}
	.mv_ttl{
		padding-top: 67px;
		.mv_ttl_img{
			width: 278px;
		}
		.mv_ttl_txt{
			font-size: 17px;
			margin-top: 15px;
		}
	}
}

/* timeline head + ループスライダー（slick）
***************************************************************/
.timeline_head{
	width: 100%;
	box-sizing: border-box;
}
.timeline_head_lead{
	font-size: 17px;
	line-height: 2.5;
	text-align: center;
	padding: 100px 0;
	box-sizing: border-box;
}
.mt-head-ticker-wrap{
	width: 100%;
	overflow: hidden;
	line-height: 0;
}
.mt-head-ticker{
	margin: 0;
}
.mt-head-ticker .slick-list{
	overflow: hidden;
}
.mt-head-ticker .slick-track{
	display: flex;
	align-items: stretch;
}
.mt-head-ticker .slick-slide{
	margin: 0 20px 0 0;
	padding: 0;
	line-height: 0;
}
.mt-head-ticker .slick-slide > div{
	line-height: 0;
}
.mt-head-ticker__slide{
	margin: 0;
	padding: 0;
}
.mt-head-ticker__slide img{
	display: block;
	height: clamp(140px, 22vw, 260px);
	width: auto;
	max-width: none;
	vertical-align: bottom;
	object-fit: cover;
}

@media all and (max-width: 767px) {
	.mt-head-ticker__slide img{
		height: clamp(120px, 36vw, 200px);
	}
	.mt-head-ticker .slick-slide{
		margin: 0 10px 0 0;
	}

	.timeline_head_lead{
		font-size: 16px;
		line-height: 2;
		text-align: justify;
		padding: 50px 0;
		margin: 0 5%;
	}
	html:lang(en) .timeline_head_lead{
		text-align: left;
	}

}


/* contents
***************************************************************/
.contents{
	padding-top: 125px;
}
.contents_head{
	display: flex;
	justify-content: space-between;
	position: sticky;
	z-index: 102;
	top: 0;
	background-color: rgba(255, 255, 255, 0.9);

	> div{
		width: 377px;
		height: 50px;
		display: flex;
		align-items: center;
		justify-content: center;
		border-radius: 20px 20px 0 0;
		font-size: 22px;
		font-weight: 700;
		color: #fff;
	}
	.box01{
		background-color: #D0AE07;
	}
	.box02{
		background-color: #EE8235;
	}
	.box03{
		background-color: #467FE7;
	}
}

.contents_in{
	display: flex;
	justify-content: space-between;
	position: relative;

	.ttl_wrap{
		width: 100%;
		height: 90px;
		background-color: #4CA1C2;
		color: #fff;
		display: flex;
		align-items: center;
		position: absolute;
		top: 40px;
		left: 0;
		padding: 0 75px;

		.year{
			font-size: 55px;
			color: #fff;
			letter-spacing: 0;
		}

		> div{
			margin-left: 20px;

			.main{
				font-size: 22px;
				font-weight: 700;
			}
			.sub{
				font-size: 15px;
				margin-top: 0.4em;
			}
		}
		
	}

	.contents_box{
		width: 377px;
		padding: 165px 20px 40px;

		> p{
			font-size: 14px;
			line-height: 1.7;
			border-radius: 10px;
			padding: 25px;
		}
		> p.high{
			font-size: 16px;
		}
		> p + p{
			margin-top: 10px;
		}
	}

	.box01{
		background-color: #F7F6EE;

		> p{
			background-color: #E8E6D5;
		}
		> p.high{
			border: 5px solid #D0AE07;
		}
	}
	.box02{
		background-color: #FBF5F1;

		> p{
			background-color: #F0E1D6;
		}
		> p.high{
			border: 5px solid #EE8235;
		}
	}
	.box03{
		background-color: #F2F6F7;

		> p{
			background-color: #DBE4E6;
		}
		> p.high{
			border: 5px solid #467FE7;
		}
	}

}
/* transform は sticky を阻害するので親だけ sticky、子でスライド */
.year_box_sticky{
	position: sticky;
	bottom: 0;
	z-index: 100;
	height: 80px;
	width: 100%;
}
.year_box {
	width: 100%;
	height: 100%;
	background-color: #fff;
	border-top: 1px solid #006AB0;
	transform: translateY(120%);
	transition: transform 0.45s ease;
	pointer-events: none;
	box-sizing: border-box;
	display: flex;
	align-items: stretch;
	position: relative;

}
.year_box_nav > .inner{
	flex: 1;
	min-width: 0;
	max-width: 1230px;
	width: auto;
	margin: 0 auto;
	padding: 0 40px;
	display: flex;
	align-items: stretch;
	box-sizing: border-box;
}
.year_box_viewport{
	flex: 1;
	min-width: 0;
	overflow: hidden;
}
.year_box_scroll{
	height: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	padding: 0 6px;
	box-sizing: border-box;
	width: 100%;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	-ms-overflow-style: none;
}
.year_box_scroll::-webkit-scrollbar{
	display: none;
}
.year_nav_arrow{
	flex: 0 0 44px;
	width: 44px;
	min-width: 44px;
	border: none;
	padding: 0;
	background-color: #fff;
	color: #006AB0;
	cursor: pointer;
	transition: opacity 0.2s;
	display: flex;
	align-items: center;
	justify-content: center;
	-webkit-tap-highlight-color: transparent;
	box-sizing: border-box;
}
.year_nav_arrow_prev::before{
	content: '';
	display: block;
	width: 18px;
	height: 18px;
	border-left: 2px solid currentColor;
	border-top: 2px solid currentColor;
	transform: rotate(-45deg);
}
.year_nav_arrow_next::before{
	content: '';
	display: block;
	width: 18px;
	height: 18px;
	border-right: 2px solid currentColor;
	border-top: 2px solid currentColor;
	transform: rotate(45deg);
}
.year_nav_arrow:disabled,
.year_nav_arrow.is_disabled{
	opacity: 0.28;
	cursor: default;
	pointer-events: none;
}
.year_nav_arrow.is_hidden{
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
}
.contents.is_active .year_box{
	transform: translateY(0);
	pointer-events: auto;
}

.year_btn{
	font-size: 22px;
	color: #C7C7C7;
	transition: color 0.3s;
	position: relative;
}
.year_btn.is_current{
	color: #006AB0;
}
.year_btn:not(:last-child)::after{
	content: '';
	width: 1px;
	height: 18px;
	background-color: #C7C7C7;
	position: absolute;
	right: -27px;
	top: calc(50% - 9px);
}
.year_btn + .year_btn{
	margin-left: 56px;
}

button:focus {
    outline: initial;
}


.mt-credit{
	margin-top: 1em;
	margin-bottom: 1em;
	text-align: right;
}

@media all and (min-width: 768px) {
	.year_btn:hover{
		text-decoration: none;
		color: #006AB0;
	}
	.year_btn.is_current:hover{
		color: #006AB0;
	}
	.year_nav_arrow:not(:disabled):hover{
		opacity: 0.75;
	}

	.year_nav_arrow.year_nav_arrow_prev{
		position: absolute;
	    top: calc(50% - 8px);
	    left: calc(((100% - 1190px) / 2) - 50px);
	}
	.year_nav_arrow.year_nav_arrow_next{
		position: absolute;
	    top: calc(50% - 8px);
	    right: calc(((100% - 1190px) / 2) - 50px);
	}
}
@media all and (max-width: 767px) {
	.contents{
		padding-top: 80px;
	}

	.contents_head{
		display: flex;
		justify-content: space-between;

		> div{
			width: 377px;
			height: 50px;
			display: flex;
			align-items: center;
			justify-content: center;
			border-radius: 20px 20px 0 0;
			font-size: 22px;
			font-weight: 700;
			color: #fff;
		}
		.box01{
			background-color: #D0AE07;
		}
		.box02{
			background-color: #EE8235;
		}
		.box03{
			background-color: #467FE7;
		}
	}
	.mt-credit{
		padding-right: 1em;
	}

}

@media all and (max-width: 767px) {
	@keyframes mtTabFadeUp {
		from{
			opacity: 0;
			transform: translateY(12px);
		}
		to{
			opacity: 1;
			transform: translateY(0);
		}
	}

	/* 瞬時スクロール中は切替先カラムだけ隠し、ズレた位置での一瞬表示を防ぐ */
	.contents_in .contents_box.is-tab-reveal-prep{
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
	}

	.timeline .contents .inner{
		width: 100%;
		max-width: 100%;
		padding: 0;
		box-sizing: border-box;
	}
	.year_box_nav > .inner{
		padding: 0 10px;
	}

	.contents_head{
		gap: 6px;
		padding: 0 1.5%;

		> div{
			flex: 1;
			width: auto !important;
			height: 44px !important;
			border-radius: 20px 20px 0 0;
			font-size: 18px;
			font-weight: 700;
			cursor: pointer;
			opacity: 0.65;
			transition: opacity 0.2s;
			user-select: none;
			-webkit-tap-highlight-color: transparent;
		}
		> div.is-active{
			opacity: 1;
		}
	}
	.contents_box{
		min-height: 10vh;
	}
	.contents.mt-tab-box01 .contents_in .contents_box:not(.box01),
	.contents.mt-tab-box02 .contents_in .contents_box:not(.box02),
	.contents.mt-tab-box03 .contents_in .contents_box:not(.box03){
		display: none !important;
	}
	.contents_in .contents_box.is-tab-switch-anim{
		animation: mtTabFadeUp 0.35s ease both;
	}

	.contents_in{
		flex-direction: column;
		align-items: stretch;

		.ttl_wrap{
			flex-direction: column;
			align-items: center;
			position: relative;
			top: auto;
			left: auto;
			height: auto;
			min-height: 0;
			padding: 5px 8% 25px;

			.year{
				font-size: 30px;
			}
			> div {
	            margin-left: 0;
	        }

			> div .main{
				font-size: 18px;
				line-height: 1.45;
			}
			> div .sub{
				font-size: 14px;
				line-height: 1.5;
				font-weight: 400;
			}
		}

		.contents_box{
			width: 100% !important;
			padding: 30px 5% 50px;
			box-sizing: border-box;
		}
	}

	.year_btn:hover{
		text-decoration: none !important;
	}
}