@charset "utf-8";
/*common
---------------------------------------------*/
	/*@media screen and (min-width: 770px) and (max-width: 1199px){
	}
	@media screen and (max-width: 769px){
	}*/

/*page_introduction
---------------------------------------------*/
.introduction .box_common{
	margin-bottom: 100px;
	padding: 50px;
}
.box_intro{line-height: 2;}
	.box_intro:not(:last-of-type) {margin-bottom: 50px;}
	.box_intro b{color: #fa3aa0;}
.icon_intro01,
.icon_intro02{
	height: 100px;
	margin: 30px auto 0;
	line-height: 0;
}
	.icon_intro01{width: 250px;}
	.icon_intro02{width: 138px;}
.bnr_story {
	width: 436px;
	margin-top: 50px;
	line-height: 0;
}
	.bnr_story a {display: block;}
	@media screen and (min-width: 770px) and (max-width: 999px){
		.bnr_story {
			width: 80%;
			margin: 5vw auto 0;
		}
	}
	@media screen and (max-width: 769px){
		.introduction .box_common{
			margin-bottom: 20vw;
			padding: 8vw;
		}
			.box_intro:not(:last-of-type){
				margin-bottom: 8vw;
				padding-bottom: 8vw;
				border-bottom: solid 1px #a00d62;
			}
		.icon_intro01,
		.icon_intro02{
			width: 100%;
			height: auto;
			margin-top: 6vw;
			text-align: center;
		}
			.icon_intro01 img{width: 66.6667vw;}
			.icon_intro02 img{width: 36.8vw;}
		.bnr_story {
			width: 100%;
			margin-top: 5.3333vw;
		}
	}

/*page_story
---------------------------------------------*/
.nav_lineup {
	width: 144px;
	height: 90px;
	margin-bottom: 30px;
	font-size: 24px;
	line-height: 1;
	transform-origin: right center;
	transform: scale(0.8);
}
	.nav_lineup:first-of-type{transform-origin: left center;}
	.nav_lineup:last-of-type{transform-origin: right center;}
.nav_lineup a {
	background: url(../images/under/nav_story-lineup.svg) no-repeat;
	background-size: cover;
	width: 100%;
	height: 100%;
	color: #a00d62;
	text-decoration: none;
	display: flex;
	justify-content: center;
	align-items: center;
}
	.nav_lineup:not(:last-of-type){margin-right: 15px;}
	.nav_lineup.has_active {
		background: url(../images/under/nav_story-lineup_active.svg) no-repeat;
		background-size: cover;
		color: #fff;
		display: flex;
		justify-content: center;
		align-items: center;
		transform: scale(1);
	}
	.nav_lineup span {
		margin: -3px 5px;
		font-size: 36px;
	}
.ttl_story {
	margin: 0 auto 30px;
	line-height: 0;
}
	.story_1st .ttl_story {width: 392px;}
	.story_2nd .ttl_story {width: 580px;}
.box_story-summary {
	background: url(../images/under/img_story-summary_bg.png) no-repeat;
	background-size: cover;
	width: 1000px;
	height: 625px;
	margin-bottom: 100px;
	padding: 120px 100px 0;
	font-size: 24px;
	line-height: 2.1;
	text-align: center;
}
	.story_2nd .box_story-summary{
		font-family: '游ゴシック体 Pr6N','游ゴシック',Meiryo,osaka,"ＭＳ Ｐゴシック",sans-serif;
		font-weight: 600;
	}
.box_story-summary_scr {
	width: 100%;
	height: 294px;
	margin-bottom: 35px;
	overflow-y: auto;
	scrollbar-color: #8d8d8d transparent;/*firefox*/
}
	/*-webkit*/
	.box_story-summary_scr::-webkit-scrollbar{width: 10px;}
	.box_story-summary_scr::-webkit-scrollbar-track{background: transparent;}
	.box_story-summary_scr::-webkit-scrollbar-thumb{
		background: #8d8d8d;
		border-radius: 10px;
	}
	.box_story-summary_scr span{color: #fa3aa0;}
.btn_scr {
	width: 46px;
	height: 46px;
	margin: 0 auto;
	line-height: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
	animation: anime_blinking 1.5s linear infinite;
}
	.btn_scr::before,
	.btn_scr::after{
		content: '';
		background: url(../images/under/icon_arrow-down.svg) no-repeat;
		width: 16px;
		height: 10px;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
	}
	.btn_scr::before{top: 0;}
	.btn_scr::after{bottom: 0;}
	.btn_scr img{
		width: 16px;
		height: 10px;
	}
	.btn_scr.scr_end{
		opacity: 0;
		-webkit-transition: all 0.5s;
		transition: all 0.5s;
		animation:none;
	}
/*animetion------*/
@keyframes anime_blinking {
	0% {
		opacity: 1;
	}
	50% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
/*---------------*/
.ttl_box {
	margin-bottom: 50px;
	padding-bottom: 40px;
	color: #fa3aa0;
	font-size: 32px;
	letter-spacing: 0.08em;
	line-height: 1;
	text-align: center;
	border-bottom: solid 1px #a00d62;
}
.box_chara .ele_detail {
	width: 280px;
	padding: 30px 30px;
	border: solid 1px #a00d62;
}
.box_chara .ele_detail.swiper-slide {height: auto;}
	.box_chara .ele_detail:not(:nth-of-type(3n)):not(:last-of-type){margin-right: 30px;}
	.box_chara .ele_detail:not(:last-of-type){margin-bottom: 30px;}
.img_detail-thum {
	width: 140px;
	height: 160px;
	margin: 0 auto 30px;
}
	.img_detail-thum.chara_np,
	.img_detail-thum.chara_victim {
		background: #a00d62;
		line-height: 1;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.img_detail-thum.chara_victim {font-size: 24px;}
.txt_detail-position {
	margin-bottom: 20px;
	padding: 7px 0;
	text-align: center;
	line-height: 1;
	border: solid 1px #a00d62;
}
.txt_detail-setting {
	margin-bottom: 22px;
	padding-bottom: 30px;
	border-bottom: solid 1px #a00d62;
}
	.story_2nd .ele_detail:not(.victim) .txt_detail-setting{
		min-height: 109px;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}
	.txt_detail-name-furigana,
	.txt_detail-name,
	.txt_detail-name-cast {
		width: 100%;
		line-height: 1;
		text-align: center;
	}
	.txt_detail-name-furigana,
	.txt_detail-name {
		font-weight: 500;
	}
	.txt_detail-name-furigana {
		margin-bottom: 8px;
		align-self: flex-end;
	}
	.txt_detail-name-cast {font-weight: bold;}
	.txt_detail-name {font-size: 24px;}
	.story_2nd .ele_detail:not(.victim) .txt_detail-name{align-self: center;}
	.story_2nd .ele_detail:not(.victim) .txt_detail-name-furigana + .txt_detail-name{align-self: flex-start;}
	.txt_detail-name-cast {
		margin-top: 15px;
		color: #fa3aa0;
	}
	.story_2nd .ele_detail:not(.victim) .txt_detail-name-cast {align-self: flex-end;}
	.txt_detail-chara {line-height: 2;}
.box_correlation{}
	.box_correlation .ele_detail {
		width: 802px;
		margin: 0 auto;
	}
	@media screen and (min-width: 770px) and (max-width: 999px){
		.box_story-summary {
			background-size: contain;
			width: 100%;
			height: 58vw;
			margin-bottom: 100px;
			padding: 70px 80px 0;
			font-size: 20px;
			line-height: 1.8;
		}
		.box_story-summary_scr {
			height: 32vw;
			margin-bottom: 15px;
		}
		.box_chara .ele_detail {width: 48%;}
		.box_chara .ele_detail:not(:nth-of-type(3n)):not(:last-of-type){margin-right: auto;}
		.box_chara .ele_detail:not(:nth-of-type(2n)):not(:last-of-type){margin-right: 4%;}
		.box_chara .ele_detail:not(:last-of-type){margin-bottom: 30px;}
		.box_correlation .ele_detail {
			width: 100%;
		}
	}
	@media screen and (max-width: 769px){
		.nav_lineup {
			width: 38.4vw;
			height: 24vw;
			margin-bottom: 8vw;
		}
			.nav_lineup:not(:last-of-type){margin-right: 3.7333vw;}
			.nav_lineup:first-of-type{margin-left: 5.3333vw;}
			.nav_lineup:last-of-type{margin-right: 5.3333vw;}
		.ttl_story {margin-bottom: 8vw;}
			.story_1st .ttl_story {width: 78.4vw;}
			.story_2nd .ttl_story {width: 86.9333vw;}
		.box_story-summary {
			background: none rgba(0, 0, 0, 0.7);
			width: 100%;
			height: auto;
			margin-bottom: 20vw;
			padding: 8vw 4vw;
			font-size: 16px;
			line-height: 2;
			text-align: left;
		}
		.story_2nd .box_story-summary{font-weight: 200;}
			.box_story-summary_scr {
				width: 100%;
				height: 100%;
				margin-bottom: 0;
				overflow-y: visible;
			}
			.box_story-summary_scr p{margin-bottom: 1.25em;}
			.story_2nd .box_story-summary_scr p{margin-bottom: 1.25em;}
			.box_story-summary_scr span{color: #fa3aa0;}
		.btn_scr {display: none;}
		.ttl_box {
			margin: 0 6.6667vw 13.3333vw;
			padding-bottom: 10.6667vw;
		}
		/*Slider_Set-------*/
		.swiper-container{
			padding: 0 6.6667vw 12vw;
			position: relative;
			overflow: hidden;
		}
		.swiper-wrapper{
			width: 100%;
			justify-content: flex-start;
			flex-wrap: nowrap;
		}
		.swiper-paginatio-n{bottom: 0;}
		.swiper-pagination-bullet{
			background: transparent;
			width: 4vw;
			height: 4vw;
			border-radius: 0;
			border: solid 1px #a00d62;
			opacity: 1;
		}
		.swiper-pagination-bullet.swiper-pagination-bullet-active{
			background: #a00d62;
		}
		.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{
			margin: 0 2.6667vw;
		}
		.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction{
			line-height: 1;
			bottom: 0;
		}
		.swiper-button_prev,
		.swiper-button_next{
			background: url(../images/under/icon_arrow-down.svg) no-repeat center center #a00d62;
			background-size: 4.2667vw 2.6667vw;
			width: 14.9333vw;
			height: 14.9333vw;
			border-radius: 10px;
			position: absolute;
			top: 50%;
			z-index: 10;
		}
			.swiper-button_prev{
				left: 2.6667vw;
				transform: translateY(-50%) rotate(90deg);
			}
			.swiper-button_next{
				right: 2.6667vw;
				transform: translateY(-50%) rotate(-90deg);
			}
		/*-----------------*/
		.box_chara .ele_detail {
			width: 100%;
			padding: 8vw;
		}
			.box_chara .ele_detail:not(:nth-of-type(3n)):not(:last-of-type){margin-right: 0;}
			.box_chara .ele_detail:not(:last-of-type){margin-bottom: 0;}
		.img_detail-thum {
			width: 37.3333vw;
			height: 42.6667vw;
			margin-bottom: 8vw;
		}
		.txt_detail-position {
			margin-bottom: 5.3333vw;
			padding: 6px 0 8px;
		}
		.txt_detail-setting {
			margin-bottom: 6.5vw;
			padding-bottom: 8vw;
		}
			.story_2nd .ele_detail:not(.victim) .txt_detail-setting{
				min-height: 29.0667vw;/*109*/
			}
			.txt_detail-name-furigana {margin-bottom: 2.1333vw;}
			.story_2nd .ele_detail:not(.victim) .txt_detail-name{align-self: center;}
			.txt_detail-name-cast {margin-top: 5.3333vw;}
			.story_2nd .ele_detail:not(.victim) .txt_detail-name-cast {align-self: flex-end;}
		.box_correlation{}
			.box_correlation .ele_detail {
				width: 100%;
				padding: 0 6.6667vw;
			}
	}

/*page_event
---------------------------------------------*/
#dl_event {
	font-size: 15px;
	display: flex;
	flex-wrap: wrap;
}
#dl_event dt {
	width: 160px;
	height: 30px;
	margin-right: 50px;
	line-height: 1;
	border: solid 1px #a00d62;
	display: flex;
	justify-content: center;
	align-items: center;
}
	#dl_event dt:not(:last-of-type),
	#dl_event dd:not(:last-of-type){margin-bottom: 50px;}
	#dl_event dd {width: calc(100% - 160px - 50px);}
	#dl_event dd p.lh2{line-height: 2;}
	#dl_event dd p:not(.ttl_headline):not(.ttl_heading):not(.lf):not(.lf_double):not(.txt_indent):not(:last-of-type) {margin-bottom: 1em;}
	#dl_event dd .lf{margin-bottom: 1.5em;position: relative;}
.txt_ls{font-size: 14px;}
.ttl_headline{
	background: #a00d62;
	padding: 0.5em 0.75em 0.5em;
	font-size: 16px;
	line-height: 1;
}
.ttl_heading{font-size: 16px;line-height: 1;}
	.ttl_heading::before{
		content: '';
		background: #a00d62;
		width: 5px;
		height: 1em;
		margin-right: 10px;
		vertical-align: -2px;
		display: inline-block;
	}
	.ttl_heading:not(:last-of-type),.ttl_headline:not(:last-of-type){margin-bottom: 1.25em;}
.icon_offprice{
	line-height: 1;
	text-align: center;
	position: absolute;
	top: 0.2em;
	left: 9.5em;
	z-index: 0;
}
	.icon_offprice::before{
		content: '';
		background: #b9010a;
		width: calc(4.5em + 1.3em);
		height: 100%;
		padding: 0.35em 0.65em;
		border: solid 3px #910007;
		border-radius: 8px;
		position: absolute;
		top: -0.52em;
		left: -1.35em;
		z-index: -1;
		animation: anime_jump 1s linear infinite;
	}
/*animetion------*/
@keyframes anime_jump {
	0%, 40%, 60%, 80% {
		transform: scale(1.0);
	}
	50%, 70% {
		transform: scale(0.95);
	}
}
/*---------------*/
.map_google {
	width: 690px;
	height: 200px;
}
	@media screen and (min-width: 770px) and (max-width: 999px){
#dl_event dt {
	width: 130px;
	margin-right: 5vw;
}
#dl_event dd {width: calc(100% - 130px - 5vw);}
.map_google {
	width: 100%;
}
.map_google iframe {
	width: 100%;
}
	}
	@media screen and (max-width: 769px){
		#dl_event {
			display: flex;
			flex-wrap: wrap;
			flex-direction: column;
		}
		#dl_event dt {
			width: 100%;
			margin-right: 0;
			margin-bottom: 8vw;
		}
			#dl_event dt:not(:last-of-type){margin-bottom: 6vw;}
		#dl_event dd {width: 100%;}
			#dl_event dd:not(:last-of-type){
				margin-bottom: 0;
				padding-bottom: 10.3333vw;
			}
			#dl_event dd p:not(.ttl_heading):not(.lf):not(.lf_double):not(.txt_indent):not(:last-of-type) {margin-bottom: 1.25em;}
			#dl_event dd .lh2,
			#dl_event dd .sp_lh2{
				line-height: 2;
			}
			#dl_event dd .lf{margin-bottom: 1.75em;}
		.ttl_heading{line-height: 1.5;}
			.ttl_heading:not(.overlap):not(:last-of-type),.ttl_headline:not(:last-of-type){margin-bottom: 0.75em;}
			.ttl_heading.overlap{margin-bottom: 1.5em;}
		.map_google {
			width: 100%;
			height: 53.3333vw;
		}
			.map_google iframe{
				width: 100%;
				height: 100%;
			}
	}

/*page_ticket
---------------------------------------------*/
.txt_notes{font-size: 14px;}
.btn_ticket-blank {
	width: 156px;
	height: 56px;
}
	.btn_ticket-blank:not(:last-of-type){margin-right: 30px;}
	.btn_ticket-blank a {
		background: #a00d62;
		width: 100%;
		height: 100%;
		color: #fff;
		text-decoration: none;
		line-height: 1;
		border-radius: 10px;
		display: flex;
		justify-content: center;
		align-items: center;
		box-shadow: 0 10px 20px #000;
		-webkit-transition: all 0.5s;
		transition: all 0.5s;
	}
	.btn_ticket-blank.btn_off{
		background: #666;
		color: #ccc;
		text-decoration: none;
		line-height: 1;
		border-radius: 10px;
		display: flex;
		justify-content: center;
		align-items: center;
		box-shadow: 0 10px 20px #000;
		-webkit-transition: all 0.5s;
		transition: all 0.5s;
	}
	.btn_ticket-blank a:hover{opacity: 0.8}

	@media screen and (min-width: 770px) and (max-width: 1199px){
	}
	@media screen and (max-width: 769px){
		.btn_ticket-blank {
			width: 100%;
			height: 14.9333vw;
		}
		.btn_ticket-blank:not(:last-of-type){
			margin-right: 0;
			margin-bottom: 5.3333vw;
		}
	}



