@charset "utf-8";
/*-----------------------------------------------
 * Base
-------------------------------------------------*/
.story {
	padding-top: min(calc(54 / var(--vw-min) * 100vw), 54px);
	padding-bottom: min(calc(90 / var(--vw-min) * 100vw), 90px);
	position: relative;
	z-index: 1;
}
.story__inner {
	position: relative;
	z-index: 1;
}
.story__deco {
	width: 100%;
	height: 100%;
	overflow: hidden;
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}
.story__deco:before,
.story__deco:after {
	content: "";
	width: min(calc(350 / var(--vw-min) * 100vw), 350px);
	height: min(calc(350 / var(--vw-min) * 100vw), 350px);
	position: absolute;
	z-index: 0;
	background: url(../img/common/deco/deco_dot.png) no-repeat center / contain;
}
.story__deco:before {
	top: max(-30px, -2.2455vw);
	right: max(-76px, -5.68862vw);
}
.story__deco:after {
	top: min(calc(440 / var(--vw-min) * 100vw), 440px);
	left: max(-20px, -1.497vw);
}
@media screen and (max-width:768px){
	.story {
		padding-top: 0;
		padding-bottom: calc(144 / var(--vw-min) * 100vw);
	}
	.story__deco:before,
	.story__deco:after {
		width: calc(350 / var(--vw-min) * 100vw);
		height: calc(350 / var(--vw-min) * 100vw);
	}
	.story__deco:after {
		top: calc(700 / var(--vw-min) * 100vw);
	}
}

/* title */
.story__title {
	width: 100%;
	position: relative;
}
.story__title--en {
	width: 100%;
	height: min(calc(84 / var(--vw-min) * 100vw), 84px);
	display: block;
	background: url(../img/story/title_story.png) no-repeat center / contain;
}
.story__title--ja {
	width: 100%;
	height: min(calc(62 / var(--vw-min) * 100vw), 62px);
	display: block;
	margin-top: min(calc(20 / var(--vw-min) * 100vw), 20px);
	background: url(../img/story/title_story_sub.png) no-repeat center / contain;
}

/*-----------------------------------------------
 * Contents
-------------------------------------------------*/
.story__cont {
	width: min(calc(1000 / var(--vw-min) * 100vw), 1000px);
	margin: min(calc(45 / var(--vw-min) * 100vw), 45px) auto 0;
}
@media screen and (max-width:768px){
	.story__cont {
		width: 100%;
		padding: 0 calc(48 / var(--vw-min) * 100vw);
	}
}

/* tab */
.story__tabNav {
	margin-bottom: min(calc(40 / var(--vw-min) * 100vw), 40px);
	opacity: 0;
	transition: opacity .4s ease;
}
.is-storyLoaded .story__tabNav {
	opacity: 1;
}
.story__tabLists {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: min(calc(10 / var(--vw-min) * 100vw), 10px);
}
.story__tabItem {
	height: min(calc(40 / var(--vw-min) * 100vw), 40px);
}
.story__tabLink {
	font-size: min(calc(16 / var(--vw-min) * 100vw), 16px);
	color: #fff;
	line-height: 1;
	min-width: min(calc(88 / var(--vw-min) * 100vw), 88px);
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 min(calc(24 / var(--vw-min) * 100vw), 24px);
	background-color: var(--color-green);
	border-radius: min(calc(20 / var(--vw-min) * 100vw), 20px);
	text-decoration: none;
}
.story__tabItem.is-current .story__tabLink {
	color: var(--color-blue);
	background-color: var(--color-yellow);
}
@media screen and (hover: hover) and (pointer: fine){
	.story__tabItem:not(.is-current) .story__tabLink {
		transition: color .3s ease, background-color .3s ease;
	}
	.story__tabItem:not(.is-current) .story__tabLink:hover {
		color: var(--color-blue);
		background-color: var(--color-yellow);
	}
}
@media screen and (max-width:768px){
	.story__tabNav {
		margin-bottom: calc(50 / var(--vw-min) * 100vw);
	}
	.story__tabLists {
		gap: calc(12 / var(--vw-min) * 100vw);
	}
	.story__tabItem {
		height: calc(56 / var(--vw-min) * 100vw);
	}
	.story__tabLink {
		font-size: calc(26 / var(--vw-min) * 100vw);
		min-width: calc(126 / var(--vw-min) * 100vw);
		padding: 0 calc(32 / var(--vw-min) * 100vw);
		border-radius: calc(28 / var(--vw-min) * 100vw);
	}
}

/*-----------------------------------------------
 * Detail
-------------------------------------------------*/
.storyDetail {
	width: 100%;
	opacity: 0;
	transition: opacity .4s ease;
}
.is-storyLoaded .storyDetail {
	opacity: 1;
}
.storyDetail__header {
	text-align: center;
	width: 100%;
	margin-bottom: min(calc(32 / var(--vw-min) * 100vw), 32px);
	padding: min(calc(24 / var(--vw-min) * 100vw), 24px) min(calc(64 / var(--vw-min) * 100vw), 64px);
	background-color: var(--color-yellow);
	border-radius: min(calc(16 / var(--vw-min) * 100vw), 16px);
}
.storyDetail__episode {
	font-size: min(calc(28 / var(--vw-min) * 100vw), 28px);
	color: var(--color-blue);
	line-height: 1;
	letter-spacing: 0.04em;
}
.storyDetail__title {
	font-size: min(calc(24 / var(--vw-min) * 100vw), 24px);
	color: var(--color-blue);
	font-weight: 800;
	line-height: 1.5;
	letter-spacing: 0.08em;
	margin-top: min(calc(12 / var(--vw-min) * 100vw), 12px);
}
@media screen and (max-width:768px){
	.storyDetail__header {
		margin-bottom: calc(40 / var(--vw-min) * 100vw);
		padding: calc(30 / var(--vw-min) * 100vw) calc(40 / var(--vw-min) * 100vw);
		border-radius: calc(28 / var(--vw-min) * 100vw);
	}
	.storyDetail__episode {
		font-size: calc(38 / var(--vw-min) * 100vw);
	}
	.storyDetail__title {
		font-size: calc(32 / var(--vw-min) * 100vw);
		margin-top: calc(16 / var(--vw-min) * 100vw);
	}
}

/* gallery */
.storyGallery {
	width: min(calc(840 / var(--vw-min) * 100vw), 840px);
	margin: 0 auto;
}
.storyGallery__main {
	width: 100%;
	position: relative;
}
.storyGallery__viewport {
	width: 100%;
	overflow: hidden;
	background-color: var(--color-yellow);
	border: min(calc(4 / var(--vw-min) * 100vw), 4px) solid var(--color-yellow);
	border-radius: min(calc(28 / var(--vw-min) * 100vw), 28px);
}
.storyGallery__lists {
	width: 100%;
	display: flex;
	transition: transform .5s var(--easing-outquart);
}
.storyGallery__item {
	width: 100%;
	flex: 0 0 100%;
	aspect-ratio: 16 / 9;
	background-color: var(--color-blue);
	border-radius: min(calc(26 / var(--vw-min) * 100vw), 26px);
}
.storyGallery__item img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	border-radius: min(calc(26 / var(--vw-min) * 100vw), 26px);
}
.storyGallery__arrow {
	width: min(calc(88 / var(--vw-min) * 100vw), 88px);
	height: min(calc(88 / var(--vw-min) * 100vw), 88px);
	position: absolute;
	top: 50%;
	z-index: 2;
	background-color: var(--color-green);
	border: min(calc(1 / var(--vw-min) * 100vw), 1px) solid #fff;
	border-radius: 50%;
	transform: translateY(-50%);
}
.storyGallery__arrow:before {
	content: "";
	width: min(calc(77 / var(--vw-min) * 100vw), 77px);
	height: min(calc(77 / var(--vw-min) * 100vw), 77px);
	position: absolute;
	inset: 0;
	margin: auto;
	background: url() no-repeat center / contain;
}
.storyGallery__arrow:after {
	content: "";
	width: min(calc(22 / var(--vw-min) * 100vw), 22px);
	height: min(calc(21 / var(--vw-min) * 100vw), 21px);
	position: absolute;
	inset: 0;
	margin: auto;
	background: url() no-repeat center / contain;
}
.storyGallery__arrow--prev {
	left: max(calc(-44 / var(--vw-min) * 100vw), -44px);
}
.storyGallery__arrow--prev:before {
	background-image: url(../img/common/icon/icon_prev.svg);
	animation: rotate2 10s linear infinite reverse;
}
.storyGallery__arrow--prev:after {
	background-image: url(../img/common/icon/icon_prev_arrow.png);
}
.storyGallery__arrow--next {
	right: max(calc(-44 / var(--vw-min) * 100vw), -44px);
}
.storyGallery__arrow--next:before {
	background-image: url(../img/common/icon/icon_next.svg);
	animation: rotate2 10s linear infinite;
}
.storyGallery__arrow--next:after {
	background-image: url(../img/common/icon/icon_next_arrow.png);
}
.storyGallery.is-single .storyGallery__arrow,
.storyGallery.is-single .storyGallery__thumbLists {
	display: none;
}
@media screen and (hover: hover) and (pointer: fine){
	.storyGallery__arrow {
		transition: background-color .3s ease;
	}
	.storyGallery__arrow:hover {
		background-color: var(--color-pink);
	}
}
@media screen and (max-width:768px){
	.storyGallery {
		width: 100%;
	}
	.storyGallery__viewport {
		border-width: calc(8 / var(--vw-min) * 100vw);
		border-radius: calc(36 / var(--vw-min) * 100vw);
	}
	.storyGallery__item,
	.storyGallery__item img {
		border-radius: calc(30 / var(--vw-min) * 100vw);
	}
	.storyGallery__arrow {
		width: calc(120 / var(--vw-min) * 100vw);
		height: calc(120 / var(--vw-min) * 100vw);
	}
	.storyGallery__arrow:before {
		width: calc(106 / var(--vw-min) * 100vw);
		height: calc(106 / var(--vw-min) * 100vw);
	}
	.storyGallery__arrow:after {
		width: calc(30 / var(--vw-min) * 100vw);
		height: calc(29 / var(--vw-min) * 100vw);
	}
	.storyGallery__arrow--prev {
		left: calc(-56 / var(--vw-min) * 100vw);
	}
	.storyGallery__arrow--next {
		right: calc(-56 / var(--vw-min) * 100vw);
	}
}

/* gallery thumbnails */
.storyGallery__thumbLists {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: min(calc(10 / var(--vw-min) * 100vw), 10px);
	margin-top: min(calc(14 / var(--vw-min) * 100vw), 14px);
}
.storyGallery__thumbButton {
	width: 100%;
	display: block;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	background-color: var(--color-green);
	border: min(calc(3 / var(--vw-min) * 100vw), 3px) solid var(--color-green);
	border-radius: min(calc(12 / var(--vw-min) * 100vw), 12px);
}
.storyGallery__thumbButton img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	border-radius: min(calc(9 / var(--vw-min) * 100vw), 9px);
	opacity: .5;
}
.storyGallery__thumbItem.is-active .storyGallery__thumbButton {
	background-color: var(--color-yellow);
	border-color: var(--color-yellow);
}
.storyGallery__thumbItem.is-active .storyGallery__thumbButton img {
	opacity: 1;
}
@media screen and (hover: hover) and (pointer: fine){
	.storyGallery__thumbButton {
		transition: background-color .3s ease, border-color .3s ease;
	}
	.storyGallery__thumbButton img {
		transition: opacity .3s ease;
	}
	.storyGallery__thumbItem:not(.is-active) .storyGallery__thumbButton:hover {
		background-color: var(--color-yellow);
		border-color: var(--color-yellow);
	}
	.storyGallery__thumbItem:not(.is-active) .storyGallery__thumbButton:hover img {
		opacity: .8;
	}
}
@media screen and (max-width:768px){
	.storyGallery__thumbLists {
		grid-template-columns: repeat(3, 1fr);
		gap: calc(12 / var(--vw-min) * 100vw);
		margin-top: calc(16 / var(--vw-min) * 100vw);
	}
	.storyGallery__thumbButton {
		border-width: calc(4 / var(--vw-min) * 100vw);
		border-radius: calc(16 / var(--vw-min) * 100vw);
	}
	.storyGallery__thumbButton img {
		border-radius: calc(12 / var(--vw-min) * 100vw);
	}
}

/* detail body */
.storyDetail__body {
	font-size: min(calc(16 / var(--vw-min) * 100vw), 16px);
	color: var(--color-blue);
	letter-spacing: 0.02em;
	width: min(calc(840 / var(--vw-min) * 100vw), 840px);
	margin: min(calc(50 / var(--vw-min) * 100vw), 50px) auto 0;
	padding: min(calc(64 / var(--vw-min) * 100vw), 64px);
	background-color: var(--color-cream);
	border-radius: min(calc(16 / var(--vw-min) * 100vw), 16px);
}
.storyDetail__block + .storyDetail__block {
	margin-top: min(calc(40 / var(--vw-min) * 100vw), 40px);
	padding-top: min(calc(40 / var(--vw-min) * 100vw), 40px);
	border-top: min(calc(2 / var(--vw-min) * 100vw), 2px) solid var(--color-yellow-light);
}
.storyDetail__blockHeader {
	display: flex;
	align-items: center;
	gap: min(calc(14 / var(--vw-min) * 100vw), 14px);
	margin-bottom: min(calc(20 / var(--vw-min) * 100vw), 20px);
}
.storyDetail__blockTitle {
	font-size: min(calc(20 / var(--vw-min) * 100vw), 20px);
	color: #fff;
	line-height: 1;
	width: fit-content;
	padding: .4em .8em;
	background-color: var(--color-blue);
	border-radius: min(calc(4 / var(--vw-min) * 100vw), 4px);
}
.storyDetail__blockTitleJa {
	font-size: min(calc(14 / var(--vw-min) * 100vw), 14px);
	color: var(--color-green);
	line-height: 1.5;
	letter-spacing: 0.1em;
}
.storyDetail__text {
	line-height: 1.8;
	white-space: pre-line;
}
@media screen and (max-width:768px){
	.storyDetail__body {
		font-size: calc(24 / var(--vw-min) * 100vw);
		width: 100%;
		margin-top: calc(60 / var(--vw-min) * 100vw);
		padding: calc(60 / var(--vw-min) * 100vw) calc(40 / var(--vw-min) * 100vw);
		border-radius: calc(28 / var(--vw-min) * 100vw);
	}
	.storyDetail__block + .storyDetail__block {
		margin-top: calc(48 / var(--vw-min) * 100vw);
		padding-top: calc(48 / var(--vw-min) * 100vw);
		border-top-width: calc(3 / var(--vw-min) * 100vw);
	}
	.storyDetail__blockHeader {
		gap: calc(18 / var(--vw-min) * 100vw);
		margin-bottom: calc(28 / var(--vw-min) * 100vw);
	}
	.storyDetail__blockTitle {
		font-size: calc(28 / var(--vw-min) * 100vw);
		border-radius: calc(6 / var(--vw-min) * 100vw);
	}
	.storyDetail__blockTitleJa {
		font-size: calc(20 / var(--vw-min) * 100vw);
	}
}

/* staff */
.storyDetail__staffLists {
	display: flex;
	flex-direction: column;
	gap: min(calc(8 / var(--vw-min) * 100vw), 8px);
}
.storyDetail__staffItem {
	line-height: 1.8;
	display: flex;
	align-items: baseline;
}
.storyDetail__staffJob {
	color: var(--color-green);
	width: min(calc(160 / var(--vw-min) * 100vw), 160px);
	flex-shrink: 0;
}
@media screen and (max-width:768px){
	.storyDetail__staffLists {
		gap: calc(10 / var(--vw-min) * 100vw);
	}
	.storyDetail__staffJob {
		width: calc(220 / var(--vw-min) * 100vw);
	}
}

/* trailer */
.storyDetail__trailer {
	width: min(calc(600 / var(--vw-min) * 100vw), 600px);
	margin: 0 auto;
}
.storyDetail__trailerButton {
	width: 100%;
	display: block;
	overflow: hidden;
	position: relative;
	aspect-ratio: 16 / 9;
	background-color: var(--color-yellow);
	border: min(calc(4 / var(--vw-min) * 100vw), 4px) solid var(--color-yellow);
	border-radius: min(calc(28 / var(--vw-min) * 100vw), 28px);
}
.storyDetail__trailerButton img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	border-radius: min(calc(26 / var(--vw-min) * 100vw), 26px);
	opacity: .8;
}
.storyDetail__play {
	width: min(calc(90 / var(--vw-min) * 100vw), 90px);
	height: min(calc(120 / var(--vw-min) * 100vw), 120px);
	display: block;
	position: absolute;
	inset: 0;
	z-index: 2;
	margin: auto;
	background: url(../img/common/deco/deco_icon_paint1.png) no-repeat center / contain;
}
.storyDetail__play:before {
	content: "";
	-webkit-mask: url(../img/common/deco/deco_text_play.svg) no-repeat center / contain;
	mask: url(../img/common/deco/deco_text_play.svg) no-repeat center / contain;
	width: min(calc(84 / var(--vw-min) * 100vw), 84px);
	height: min(calc(84 / var(--vw-min) * 100vw), 84px);
	position: absolute;
	top: min(calc(4 / var(--vw-min) * 100vw), 4px);
	right: 0;
	left: 0;
	margin: auto;
	background-color: #fff;
	animation: rotate 20s ease infinite;
}
.storyDetail__play:after {
	content: "";
	-webkit-mask: url(../img/common/icon/icon_play.svg) no-repeat center / contain;
	mask: url(../img/common/icon/icon_play.svg) no-repeat center / contain;
	width: min(calc(22 / var(--vw-min) * 100vw), 22px);
	height: min(calc(20 / var(--vw-min) * 100vw), 20px);
	position: absolute;
	top: min(calc(36 / var(--vw-min) * 100vw), 36px);
	left: min(calc(36 / var(--vw-min) * 100vw), 36px);
	background-color: var(--color-pink);
}
@media screen and (hover: hover) and (pointer: fine){
	.storyDetail__play {
		transition: transform .3s var(--easing-outquart);
	}
	.storyDetail__trailerButton:hover .storyDetail__play {
		transform: scale(1.15);
	}
}
@media screen and (max-width:768px){
	.storyDetail__trailer {
		width: 100%;
	}
	.storyDetail__trailerButton {
		border-width: calc(8 / var(--vw-min) * 100vw);
		border-radius: calc(36 / var(--vw-min) * 100vw);
	}
	.storyDetail__trailerButton img {
		border-radius: calc(30 / var(--vw-min) * 100vw);
	}
	.storyDetail__play {
		width: calc(112 / var(--vw-min) * 100vw);
		height: calc(150 / var(--vw-min) * 100vw);
	}
	.storyDetail__play:before {
		width: calc(105 / var(--vw-min) * 100vw);
		height: calc(105 / var(--vw-min) * 100vw);
		top: calc(5 / var(--vw-min) * 100vw);
	}
	.storyDetail__play:after {
		width: calc(28 / var(--vw-min) * 100vw);
		height: calc(25 / var(--vw-min) * 100vw);
		top: calc(45 / var(--vw-min) * 100vw);
		left: calc(45 / var(--vw-min) * 100vw);
	}
}
