.storyline-intro {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.swiper_storyline {
	position: relative;
	padding-top: 120px;
	overflow: hidden;
}
.swiper_storyline .swiper-wrapper {
	cursor: grab;
}
.swiper_storyline > .storyline {
    position: absolute;
    left: 0;
    top: 100px;
	width: 100%;
	height: 3px;
	background-color: #DAE2F2;
}
.swiper_storyline > .storyline_nav {
    position: absolute;
    left: 0;
    top: 20px;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.swiper_storyline > .storyline_nav > a {
    width: 60px;
    aspect-ratio: 1;
    height: auto;
    background-color: #e4eef3;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
	transition: var(--transition);
}
.swiper_storyline > .storyline_nav > a.swiper-button-disabled {
    opacity: .0;
    cursor: no-drop;
}
.swiper_storyline > .storyline_nav > a svg,
.swiper_storyline > .storyline_nav > a svg path { 
	transition: var(--transition);
}
.swiper_storyline > .storyline_nav > a.next:not(.swiper-button-disabled):hover svg { transform: translateX(2px); }
.swiper_storyline > .storyline_nav > a.prev:not(.swiper-button-disabled):hover svg { transform: translateX(-2px); }


.swiper_storyline .anno {
    text-align: center;
    position: relative;
}
.swiper_storyline .anno span.bg_dots {
    position: absolute;
    left: 50%;
    top: -25px;
    width: calc(15px + 16px);
    height: 15px;
    border-radius: 50%;
    transform: translateX(-50%);
    background-color: var(--bg_dots);
}
.swiper_storyline .anno span.dots {
    position: absolute;
    left: 50%;
    top: -25px;
    width: 15px;
    aspect-ratio: 1;
    border-radius: 50%;
    transform: translateX(-50%);
}
.swiper_storyline .anno .info p {
    color: inherit;
}

@media (max-width: 991px){
	.swiper_storyline {
		padding-right: 20px;
		padding-left: 20px;
	}
}
@media (max-width: 767px){
	.swiper_storyline .anno .info p {
		/*font-size: 12px;*/
	}
	
	.swiper_storyline {
		padding-top: 90px;
	}
	.swiper_storyline > .storyline {
		top: 70px;
	}	
	.swiper_storyline > .storyline_nav {
		position: relative;
		top: 0;
		order: 2;
		width: fit-content;
		gap: 20px;
		margin-left: auto;
		margin-right: auto;
	}
	
	.swiper_storyline .anno .info {
		margin-top: 10px;
		transition: var(--transition);
		--anno_width: 70vw;
		width: var(--anno_width);
		margin-left: calc((var(--anno_width) - 100%) / -2);
	}
	.swiper_storyline .anno.swiper-slide-next {
		z-index: 1;
	}
	.swiper_storyline .anno:not(.swiper-slide-next) .info {
		opacity: 0;
	}
	.swiper_storyline .anno:not(.swiper-slide-next)  span.dots,
	.swiper_storyline .anno:not(.swiper-slide-next)  p.h3 {
		opacity: .5;
	}
}