@charset "utf-8";
/*-----------------------------------------------
 * Story
-------------------------------------------------*/
.sub-story .secTitle__text {
	white-space: nowrap;
}

.sub-story__cont {
	max-width: var(--common-in-maxwidth);
	margin: min(calc(40 / var(--vw-min) * 100vw), 40px) auto 0;
	position: relative;
	z-index: 1;
	padding: 0 min(calc(160 / var(--vw-min) * 100vw), 160px);
}
.story__episode > .sub-story__cont {
	margin-top: 0;
}
@media screen and (max-width:768px){
	.sub-story__cont {
		padding: 0 calc(48 / var(--vw-min) * 100vw);
	}
}

/* episode nav */
.story__epNav {
	margin-bottom: min(calc(50 / var(--vw-min) * 100vw), 50px);
}
.story__epNavLists {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: min(calc(12 / var(--vw-min) * 100vw), 12px);
}
.story__epNavItem__link {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: min(calc(70 / var(--vw-min) * 100vw), 70px);
	height: min(calc(50 / var(--vw-min) * 100vw), 50px);
	padding: 0 min(calc(16 / var(--vw-min) * 100vw), 16px);
	border: 1px solid var(--color-blue);
	border-radius: min(calc(25 / var(--vw-min) * 100vw), 25px);
	font-size: min(calc(18 / var(--vw-min) * 100vw), 18px);
	font-weight: 700;
	text-decoration: none;
	color: var(--color-blue);
	font-family: var(--main-font-family);
}
.story__epNavItem__link.is-active {
	background-color: var(--color-blue);
	color: #fff;
}
@media screen and (hover: hover) and (pointer: fine) {
	.story__epNavItem__link:not(.is-active) {
		transition: background-color .3s ease, color .3s ease;
	}
	.story__epNavItem__link:not(.is-active):hover {
		background-color: var(--color-blue);
		color: #fff;
	}
}
@media screen and (max-width:768px){
	.story__epNav {
		margin-bottom: calc(40 / var(--vw-min) * 100vw);
	}
	.story__epNavLists {
		gap: calc(12 / var(--vw-min) * 100vw);
	}
	.story__epNavItem__link {
		min-width: calc(90 / var(--vw-min) * 100vw);
		height: calc(64 / var(--vw-min) * 100vw);
		border-radius: calc(35 / var(--vw-min) * 100vw);
		font-size: calc(24 / var(--vw-min) * 100vw);
	}
}

/* episode */
.story__episode {
	display: none;
}
.story__episode.is-active {
	display: block;
}

.story__epNum {
	font-size: min(calc(24 / var(--vw-min) * 100vw), 24px);
	font-weight: 700;
	color: var(--color-blue);
	text-align: center;
	line-height: 1.5;
	margin-bottom: min(calc(8 / var(--vw-min) * 100vw), 8px);
	font-family: var(--main-font-family);
}
.story__epTitle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin-bottom: min(calc(40 / var(--vw-min) * 100vw), 40px);
}
.story__epTitle__text {
	background: #0E1B3C;
	background: linear-gradient(180deg, rgba(14, 27, 60, 1) 0%, rgba(13, 52, 123, 1) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	font-size: min(calc(48 / var(--vw-min) * 100vw), 48px);
	font-weight: 900;
	font-style: normal;
	font-family: var(--main-font-family);
	letter-spacing: -.03em;
	line-height: 1.2;
	white-space: nowrap;
	flex-shrink: 0;
	padding: 0 min(calc(30 / var(--vw-min) * 100vw), 30px);
	position: relative;
}
.story__epTitle__text:before,
.story__epTitle__text:after {
	content: "";
	background: var(--color-blue);
	width: 1px;
	height: min(calc(15 / var(--vw-min) * 100vw), 15px);
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
}
.story__epTitle__text:before {
	left: 0;
}
.story__epTitle__text:after {
	right: 0;
}
.story__epTitle__deco {
	display: flex;
	align-items: center;
	flex: 1;
	min-width: 0;
}
.story__epTitle__deco:before {
	content: "";
	display: block;
	background-color: var(--color-blue);
	width: 100%;
	height: 1px;
}
@media screen and (max-width:768px){
	.story__epNum {
		font-size: calc(30 / var(--vw-min) * 100vw);
		margin-bottom: calc(8 / var(--vw-min) * 100vw);
	}
	.story__epTitle {
		margin-bottom: calc(40 / var(--vw-min) * 100vw);
	}
	.story__epTitle__text {
		font-size: calc(40 / var(--vw-min) * 100vw);
		font-weight: 900;
		padding: 0 calc(20 / var(--vw-min) * 100vw);
	}
	.story__epTitle__text:before,
	.story__epTitle__text:after {
		content: none;
	}
}

/* scene cuts carousel */
.story__sceneArea {
	width: 100%;
	padding: min(calc(36 / var(--vw-min) * 100vw), 36px) 0 0;
	margin-bottom: min(calc(48 / var(--vw-min) * 100vw), 48px);
	position: relative;
}
.story__sceneSwiper {
	width: 100%;
	overflow: visible;
}
.story__sceneItem {
	width: 57.1429%;
	max-width: 1200px;
}
.story__sceneItem figure {
	margin: 0;
	overflow: hidden;
	background-color: rgba(23, 38, 78, .08);
	aspect-ratio: 16 / 9;
}
.story__sceneItem img {
	display: block;
	width: 100%;
	height: auto;
}
.story__scenePlaceholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background-color: rgba(23, 38, 78, .08);
}
.story__sceneItem:not(.swiper-slide-active) figure,
.story__sceneItem:not(.swiper-slide-active) img {
	filter: grayscale(1);
	transition: filter .4s ease;
}
.story__sceneItem.swiper-slide-active figure,
.story__sceneItem.swiper-slide-active img {
	filter: grayscale(0);
	transition: filter .4s ease;
}
.story__sceneItem:not(.swiper-slide-active) {
	position: relative;
}
.story__sceneItem:not(.swiper-slide-active)::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(255, 255, 255, .4);
	transition: opacity .4s ease;
	pointer-events: none;
}
.story__sceneItem.swiper-slide-active::after {
	content: none;
}
.story__scenePagerWrap {
	width: 100%;
	padding-top: min(calc(24 / var(--vw-min) * 100vw), 24px);
}
.story__scenePager,
.story__scenePager.swiper-pagination-bullets.swiper-pagination-horizontal {
	position: relative;
	top: 0;
	bottom: 0;
	height: 8px;
	display: flex;
	justify-content: center;
	margin: auto;
}
.story__scenePagination,
.story__scenePager.swiper-pagination-horizontal.swiper-pagination-bullets .story__scenePagination.swiper-pagination-bullet {
	display: block;
	cursor: pointer;
	pointer-events: auto;
	width: 12px;
	height: 12px;
	margin: 0 8px;
	background-color: #fff;
	border: 1px solid var(--color-blue);
	border-radius: 50%;
	opacity: 1;
	transition: .3s ease;
	position: relative;
}
.story__scenePagination:before,
.story__scenePager.swiper-pagination-horizontal.swiper-pagination-bullets .story__scenePagination.swiper-pagination-bullet:before {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	background-color: var(--color-blue);
	border-radius: 50%;
	opacity: 0;
	transform: scale(50%);
	transition: opacity .3s ease, transform .4s ease;
}
@media screen and (hover:hover) and (pointer: fine){
	.story__scenePagination:hover,
	.story__scenePager.swiper-pagination-horizontal.swiper-pagination-bullets .story__scenePagination.swiper-pagination-bullet:hover {
		border-color: var(--color-blue);
	}
	.story__scenePagination:hover:before,
	.story__scenePager.swiper-pagination-horizontal.swiper-pagination-bullets .story__scenePagination.swiper-pagination-bullet:hover:before {
		opacity: .8;
	}
}
.story__scenePager.swiper-pagination-horizontal.swiper-pagination-bullets .story__scenePagination.swiper-pagination-bullet-active {
	background-color: #fff;
	border-color: var(--color-blue);
}
.story__scenePager.swiper-pagination-horizontal.swiper-pagination-bullets .story__scenePagination.swiper-pagination-bullet-active:before {
	transform: scale(80%);
	opacity: 1;
}
@media screen and (max-width:768px){
	.story__sceneArea {
		padding-top: calc(24 / var(--vw-min) * 100vw);
		margin-bottom: calc(40 / var(--vw-min) * 100vw);
	}
	.story__sceneItem {
		width: calc(654 / var(--vw-min) * 100vw);
		max-width: 100%;
	}
	.story__scenePagerWrap {
		padding-top: calc(32 / var(--vw-min) * 100vw);
	}
	.story__scenePager,
	.story__scenePager.swiper-pagination-bullets.swiper-pagination-horizontal {
		height: calc(16 / var(--vw-min) * 100vw);
	}
	.story__scenePagination,
	.story__scenePager.swiper-pagination-horizontal.swiper-pagination-bullets .story__scenePagination.swiper-pagination-bullet {
		width: calc(20 / var(--vw-min) * 100vw);
		height: calc(20 / var(--vw-min) * 100vw);
		margin: 0 calc(16 / var(--vw-min) * 100vw);
		border-width: calc(2 / var(--vw-min) * 100vw);
	}
}

/* synopsis / staff content width */
.story__synopsis,
.story__staff {
	width: min(57.1429vw, 1200px);
	margin-left: auto;
	margin-right: auto;
}
.story__synopsis {
	margin-bottom: min(calc(60 / var(--vw-min) * 100vw), 60px);
}
.story__sectionTitle {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: min(calc(50 / var(--vw-min) * 100vw), 50px);
	line-height: 1;
	color: #fff;
	background-color: var(--color-blue);
	font-size: min(calc(24 / var(--vw-min) * 100vw), 24px);
	margin-bottom: min(calc(30 / var(--vw-min) * 100vw), 30px);
	font-family: var(--main-font-family);
}
.story__synopsisText {
	font-size: min(calc(16 / var(--vw-min) * 100vw), 16px);
	line-height: 2;
	color: var(--color-blue);
}
.story__synopsisText p + p {
	margin-top: min(calc(20 / var(--vw-min) * 100vw), 20px);
}
@media screen and (max-width:768px){
	.story__synopsis,
	.story__staff {
		width: calc(654 / var(--vw-min) * 100vw);
	}
	.story__synopsis {
		margin-bottom: calc(48 / var(--vw-min) * 100vw);
	}
	.story__sectionTitle {
		height: calc(70 / var(--vw-min) * 100vw);
		font-size: calc(32 / var(--vw-min) * 100vw);
		margin-bottom: calc(30 / var(--vw-min) * 100vw);
	}
	.story__synopsisText {
		font-size: calc(24 / var(--vw-min) * 100vw);
	}
	.story__synopsisText p + p {
		margin-top: calc(20 / var(--vw-min) * 100vw);
	}
}

/* staff */
.story__staff {
	margin-top: min(calc(60 / var(--vw-min) * 100vw), 60px);
}
.story__staffTitle {
	font-size: min(calc(16 / var(--vw-min) * 100vw), 16px);
	color: #fff;
	line-height: 1;
	display: inline-block;
	padding: min(calc(2 / var(--vw-min) * 100vw), 2px) min(calc(8 / var(--vw-min) * 100vw), 8px);
	background-color: var(--color-blue);
	font-family: var(--main-font-family);
	font-weight: 700;
}
.story__staffBody {
	font-size: min(calc(16 / var(--vw-min) * 100vw), 16px);
	line-height: 2;
	color: var(--color-blue);
	margin-top: min(calc(10 / var(--vw-min) * 100vw), 10px);
}
.story__staffItem {
	display: flex;
	justify-content: flex-start;
}
.story__staffItem:not(:last-child) {
	margin-bottom: min(calc(16 / var(--vw-min) * 100vw), 16px);
}
.story__staffName {
	color: rgba(23, 38, 78, .55);
	font-weight: 700;
	flex-shrink: 0;
}
.story__staffName:after {
	content: "：";
}
.story__staffValue {
	flex: 1;
	line-height: 1.7;
	color: var(--color-blue);
}
@media screen and (max-width:768px){
	.story__staff {
		margin-top: calc(48 / var(--vw-min) * 100vw);
	}
	.story__staffTitle {
		font-size: calc(24 / var(--vw-min) * 100vw);
		padding: calc(4 / var(--vw-min) * 100vw) calc(12 / var(--vw-min) * 100vw);
	}
	.story__staffBody {
		font-size: calc(28 / var(--vw-min) * 100vw);
		margin-top: calc(16 / var(--vw-min) * 100vw);
	}
	.story__staffItem:not(:last-child) {
		margin-bottom: calc(16 / var(--vw-min) * 100vw);
	}
	.story__staffName {
		padding-right: 0.4em;
	}
}
