@charset "utf-8";
/* CSS Document */
/* TIMELINE –––––––––––––––––––––––––––––––––––––––––––––––––– */

/* セクションを基準にする */
.companyHistory-wrap {
  position: relative;
}

/* 右矢印の位置（画面右中央に固定） */
.companyHistory-wrap > .arrow__next {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  z-index: 10;
}

/* 点滅アニメーション */
@keyframes arrowBlink {
  0% { opacity: 1; transform: translateX(0); }
  50% { opacity: 0.3; transform: translateX(6px); }
  100% { opacity: 1; transform: translateX(0); }
}

.companyHistory-wrap > .arrow__next.hint {
  animation: arrowBlink 1.4s ease-in-out;
  animation-iteration-count: 3;
}

.timeline {
    white-space: nowrap;
    overflow-x: scroll;   /* ← これに変更 */
    -webkit-overflow-scrolling: touch; /* iOS の慣性スクロール */
}
.timeline ol {
	font-size: 0;
	width: 100vw;
	padding: 350px 0;
	transition: all 1s;
}
.timeline ol li {
	position: relative;
	display: inline-block;
	list-style-type: none;
	width: 160px;
	height: 3px;
	background: #333;
}
.timeline-text {
	line-height: 1.8;
	font-size:clamp(0.813rem, 0.767rem + 0.23vw, 0.938rem);
	color: #333;
}
.timeline ol li:last-child {
	width: 280px;
}
.timeline ol li:not(:first-child) {
	margin-left: 14px;
}
.timeline ol li:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 50%;
	left: calc(100% + 1px);
	bottom: 0;
	width: 15px;
	height: 15px;
	transform: translateY(-50%);
	border-radius: 50%;
	background: #A52C35;
}
.timeline ol li div {
	position: absolute;
	left: calc(100% + 7px);
	width: 280px;
	padding: 15px;
	font-size: 1rem;
	white-space: normal;
	color: black;
	background: #fff;
	text-align: justify;
}
.timeline ol li div::before {
	content: "";
	position: absolute;
	top: 100%;
	left: 0;
	width: 0;
	height: 0;
	border-style: solid;
}
.timeline ol li:nth-child(odd) div {
	top: -16px;
	transform: translateY(-100%);
}
.timeline ol li:nth-child(odd) div::before {
	top: 100%;
	border-width: 8px 8px 0 0;
	border-color: white transparent transparent transparent;
}
.timeline ol li:nth-child(even) div {
	top: calc(100% + 16px);
}
.timeline ol li:nth-child(even) div::before {
	top: -8px;
	border-width: 8px 0 0 8px;
	border-color: transparent transparent transparent white;
}
.timeline time {
	display: block;
	font-size: 1.2rem;
	font-weight: bold;
	margin-bottom: 8px;
}

ol li time:nth-of-type(2){
	margin-top: 16px;
}





/* GENERAL MEDIA QUERIES –––––––––––––––––––––––––––––––––––––––––––––––––– */
@media screen and (max-width: 968px) {
	
	
}
@media screen and (max-width: 599px) {
.timeline ol, .timeline ol li {
	width: auto;
}
.timeline ol {
	padding: 0;
	transform: none !important;
}
.timeline ol li {
	display: block;
	height: auto;
	background: transparent;
}
.timeline ol li:first-child {
	margin-top: 25px;
}
.timeline ol li:not(:first-child) {
	margin-left: auto;
}
.timeline ol li div {
	position: static;
	width: 94%;
	height: auto !important;
	margin: 0 auto 25px;
}
.timeline ol li:nth-child(odd) div {
	transform: none;
}
.timeline ol li:nth-child(odd) div::before, .timeline ol li:nth-child(even) div::before {
	left: 50%;
	top: 100%;
	transform: translateX(-50%);
	border: none;
	border-left: 1px solid white;
	height: 25px;
}
.timeline ol li:last-child, .timeline ol li:nth-last-child(2) div::before, .timeline ol li:not(:last-child)::after, .timeline .arrows {
	display: none;
}
}