@charset "utf-8";

/*-----------------------------------------------
* 01. Template
* 02. Header
* 03. Top contents
* 04. Footer
* 05. Modal
-------------------------------------------------*/
/*-----------------------------------------------
01. Template
-------------------------------------------------*/
body {
	-webkit-text-size-adjust: 100%;
	background-color: #000;
	color: #fff;
	font-family: "YuGothic", "游ゴシック体", "游ゴシック", sans-serif;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.8;
	word-wrap: break-word;
}

body.js-mTrigger--on {
	overflow-y: hidden;
}

.sp {
	display: none;
}

a {
	color: #c3d82d;
}

a:hover {
	text-decoration: none;
}

::selection {
	background: #b15bc0;
	color: #fff;
}

::-moz-selection {
	background: #b15bc0;
	color: #fff;
}

.ah {
	transition: opacity .3s ease-in-out;
}

.ah:hover {
	opacity: .7;
}

#fullWrap {
	overflow: hidden;
	min-width: 1200px;
}

@media screen and (max-width:768px) {
	#fullWrap {
		min-width: 750px;
		width: 750px;
		margin: 0 auto;
	}

	.pc {
		display: none;
	}

	.sp {
		display: inline;
	}
}

.hd {
	display: block;
	width: 0;
	height: 0;
	overflow: hidden;
}

/*-----------------------------------------------
02. Header
-------------------------------------------------*/

.headerNav {
	width: 100vw;
	height: 100%;
	padding-bottom: 120px;
	background-color: #000;
	z-index: 3;
	position: fixed;
	overflow: auto;
	z-index: 10;
}

.js-headerNav {
	transition: all 0.3s ease;
	top: -120%;
}

.js-headerNav--on {
	display: block;
	top: 0;
}

.headerLogo {
	position: absolute;
	top: 40vh;
	right: 80px;
	background: url(../img/common/logo.png) no-repeat center center /contain;
	width: 312px;
	height: 150px;
}

.gNav {
	padding-top: 70px;
	padding-left: 35px;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.gNav__list {
	height: 78px;
	width: 450px;
	margin-bottom: 3px;
}

.gNav__list__link {
	background-repeat: no-repeat;
	background-position: 0 0;
	background: no-repeat left/contain;
	display: block;
	height: 80%;
	width: 100%;
	transition: all 0.3s ease;
}

.gNav__list__link:hover,
.gNav__list__link.current {
	filter: invert(50%);
	transform: translateX(30px);
}

/* gNav__list__list bgImage */
.gNav__list.nNe .gNav__list__link {
	background-image: url(../img/menu/news.png);
}

.gNav__list.nIn .gNav__list__link {
	background-image: url(../img/menu/introduction.png);
}

.gNav__list.nSc .gNav__list__link {
	background-image: url(../img/menu/schedule.png);
}

.gNav__list.nCa .gNav__list__link {
	background-image: url(../img/menu/cast.png);
}

.gNav__list.nSt .gNav__list__link {
	background-image: url(../img/menu/staff.png);
}

.gNav__list.nTi .gNav__list__link {
	background-image: url(../img/menu/ticket.png);
}

.gNav__list.nSm .gNav__list__link {
	background-image: url(../img/menu/streaming.png);
}

.gNav__list.nMo .gNav__list__link {
	background-image: url(../img/menu/movie.png);
}

.gNav__list.nBl .gNav__list__link {
	background-image: url(../img/menu/blu-ray.png);
}

.gNav__list.nGo .gNav__list__link {
	background-image: url(../img/menu/goods.png);
}

.gNav__list.nFa .gNav__list__link {
	background-image: url(../img/menu/faq.png);
}

.gNav__list.nTw .gNav__list__link {
	background-image: url(../img/menu/twitter.png);
}

.gNav__list.nYt .gNav__list__link {
	background-image: url(../img/menu/youtube.png);
}

.gNav__list.nTop .gNav__list__link {
	background-image: url(../img/menu/top.png);
}

/* splogo */
@media screen and (max-width:768px) {
	.splogo {
		position: relative;
		max-width: 200px;
		margin: 20px auto;
		display: block;
	}

	.splogo::before {
		content: '';
		display: block;
		padding-top: 49.793%;
		background: url(../img/common/logo.png) no-repeat center center/contain;
	}
}

.mtriggerWrap {
	height: 65px;
	width: 106px;
	position: fixed;
	top: 20px;
	right: 20px;
	overflow: hidden;
	z-index: 10;
	display: block;
}

.mtrigger_title {
	width: 28px;
	height: 11px;
	position: absolute;
	top: 25px;
}

.mtrigger {
	background: url(../img/mainvis/button_menu_icon.png) no-repeat center / 100%;
	display: block;
	height: 100%;
	width: 65px;
	position: absolute;
	top: 0;
	right: 0;
	transition: all .3s ease;
	transform: rotate(180deg);
}

.mtrigger:hover {
	transform: rotateZ(-180deg);
}

@media screen and (max-width:768px) {
	.headerLogo {
		display: none;
	}

	.gNav__list {
		height: 120px;
		width: 100%;
	}

	.gNav__list__link {
		height: 75%;
	}

	.mtrigger.js-mTrigger--on {
		transform: rotateZ(-180deg);
	}

	.mtriggerWrap {
		width: 161px;
		height: 98px;
	}

	.mtrigger {
		width: 98px;
	}

	.mtrigger_title {
		width: 42px;
		height: auto;
		top: 50%;
		transform: translateY(-50%);
	}
}

/* #mv {
height:100vh;
width:100%;
display: flex;
}
.mv__title {
width:33%;
order:1;
background:url(../img/mainvis/mainvis_base_about.jpg) no-repeat center center / cover;
position: relative;
}
.mv__title:before {
content:'';
position:absolute;
top:10%;
left:12%;
right:12%;
bottom:10%;
background: url(../img/mainvis/mainvis_about.png) no-repeat center bottom / contain;
}
.mv__mvlists {
width:67%;
display: flex;
flex-wrap: wrap;
position:relative;
}
.mv__mvlists:before {
background:url(../img/mainvis/logo_title.png) no-repeat center center / contain;
content: '';
height: 57px;
left:50%;
margin-left:-225px;
margin-top:-28px;
position: absolute;
top:50%;
width:451px;
}
.mv__mvlist {
width:50%;
height:50vh;
}
.mv__1 {
background: url(../img/mainvis/mainvis_leftup.jpg) no-repeat center center / cover;
}
.mv__2 {
background: url(../img/mainvis/mainvis_rightup.jpg) no-repeat center center / cover;
}
.mv__3 {
background: url(../img/mainvis/mainvis_leftdown.jpg) no-repeat center center / cover;
}
.mv__4 {
background: url(../img/mainvis/mainvis_rightdown.jpg) no-repeat center center / cover;
}

@media screen and (min-width: 769px) {
		#mv2{
				width:100%;
				padding-top: 51.667%;
				position: relative;
		}
		#mv2::after{
				content: '';
				position: absolute;
				top: 0;
				right: 0;
				bottom: 0;
				left: 0;
				min-height: 620px;
				min-width: 1200px;
				background: url(../img/mainvis/mainvs2_bg.png) no-repeat center bottom / cover;
				z-index: 2;
		}
		.mv2__title{
				position: absolute;
				top: 0;
				right: 0;
				bottom: 0;
				left: 0;
				min-height: 620px;
				min-width: 1200px;
				background: url(../img/mainvis/mainvs2_logo.png) no-repeat center bottom / 100%;
				z-index: 3;
		}
		.mv2__date{
				position: absolute;
				top: 0;
				right: 0;
				bottom: 0;
				left: 0;
				min-height: 620px;
				min-width: 1200px;
				background: url(../img/mainvis/mainvs2_date.png) no-repeat center bottom / 100%;
				z-index: 3;
		}
		.mv2__mvimg{
				position: absolute;
				top: 0;
				right: 0;
				bottom: 0;
				left: 0;
				min-height: 620px;
				min-width: 1200px;
				background: url(../img/mainvis/mainvs2_img.jpg) no-repeat center bottom / cover;
		}
		#mv2 .ani1, #mv2 .ani2, #mv2 .ani3{
				transition: 1s;
				opacity: 0;
		}
		#mv2 .ani1.on, #mv2 .ani2.on, #mv2 .ani3.on{
				opacity: 1;
		}
}

@media screen and (max-width: 768px) {
		#mv2 {
		height:1363px;
		display: flex;
		flex-wrap: wrap;
		position: relative;
		}
		.mv2__mvimg{
				width: 750px;
				height: 708px;
				background: url(../img/mainvis/mainvis2_img_sp.jpg) no-repeat center center / contain;
				order: 1;
		}
		.mv2__date {
		background:url(../img/mainvis/mainvis_about_s.jpg) no-repeat center center;
		height:655px;
		width: 100%;
		position: relative;
		order: 2;
		}
		.mv2__date:before {
		content: '';
		position: absolute;
		width:523px;
		bottom:60px;
		left:113.5px;
		right:113.5px;
		top:45px;
		background: url(../img/mainvis/mainvis_about.png) no-repeat center bottom / contain;
		}
		.mv__mvlists {
		background:url(../img/mainvis/mainvis_sp.jpg) no-repeat center center;
		width:100%;
		height:1000px;
		}
		.mv__mvlists:before {
		background:url(../img/mainvis/logo_title.png) no-repeat center center / contain;
		content: '';
		height: 57px;
		left:50%;
		margin-left:-225px;
		margin-top:-18px;
		position: absolute;
		top:50%;
		width:451px;
		}
		.mv__mvlist {
		display: none;
		}
} */
#schedule {
	padding: 90px 0;
}

.schedule__in {
	position: relative;
	margin: 0 auto;
	width: 1200px;
}

.schedule__title {
	background: url(../img/schedule_logo.png) no-repeat center center / contain;
	height: 56px;
	margin-bottom: 60px;
}

.schedule__tokyo {
	background: url(../img/schedule.jpg) no-repeat center center;
	height: 772px;
	margin-bottom: 60px;
	position: relative;
}

.schedule__text {
	text-align: center;
}

.schedule__text__live {
	padding: 30px;
	border: #c3d82d 2px solid;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	background: rgba(195, 216, 45, 0.1);
}

.schedule__text__live a,
.schedule__text__live a:visited {
	color: #000;
	background-color: #c3d82d;
	padding: 20px;
	text-decoration: none;
}

.schedule__text__live a:hover {
	opacity: 0.5;
	transition: all 0.3s ease;
}

.schedule__linkWrap {
	height: 90px;
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	gap: 16px;
	flex-direction: row-reverse;
}

.schedule__link {
	width: 100%;
	height: 100%;
	display: block;
	border: 1px solid #c3d82d;
	text-decoration: none;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 16px;
	padding: 0 16px;
	transition: background .3s;
}

.schedule__link::after {
	content: '';
	display: block;
	width: 24px;
	height: 24px;
	background: url(../img/common/icon_arrow_y.png) no-repeat center center/contain;
	transition: background .3s;
}

.schedule__link>span {
	display: block;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: .01em;
	color: #c3d82d;
	text-align: center;
	transition: color .3s;
}

.schedule__link:hover {
	background: #c3d82d;
}

.schedule__link:hover span {
	color: #000;
}

.schedule__link:hover::after {
	background: url(../img/common/icon_arrow_b.png) no-repeat center center/contain;
}

@media screen and (max-width:768px) {
	.schedule__linkWrap {
		position: relative;
		top: unset;
		right: unset;
		justify-content: center;
		margin-bottom: 40px;
		padding: 0 40px;
	}

	.schedule__linkItem {
		width: 50%;
	}

	.schedule__link {
		position: relative;
		justify-content: flex-start;
		padding: 0 24px;
		font-size: 16px;
	}

	.schedule__link::after {
		position: absolute;
		position: absolute;
		top: 50%;
		right: 20px;
		transform: translate(0%, -50%);
	}
}

.schedule__special {
	display: flex;
	justify-content: end;
	align-items: center;
	gap: 33px;
}

.schedule__specialTitle {
	display: none;
}

.schedule__specialTitle {
	display: none;
}

.schedule__specialImg img {
	max-width: 100%;
}

.schedule__specialLink {
	border: 1px solid #c3d82d;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 0;
	transition: background .3s;
	position: relative;
	margin: 0 auto;
}

.schedule__specialLink::before {
	content: '';
	display: block;
	width: 0%;
	height: 155px;
	background-color: #c3d82d;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	transition: width .3s;
}

.schedule__specialLink:hover::before {
	width: 100%;
}

.schedule__specialLink>a {
	width: 100%;
	padding: 10px 0px;
	display: block;
	font-size: 18px;
	line-height: 1.667;
	letter-spacing: .01em;
	transition: background-color .3s;
	text-decoration: none;
	color: #fff;
}

.schedule__specialLink>a span {
	display: block;
	padding: 0 10px;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: .01em;
	text-align: center;
	display: block;
}

.schedule__specialLink span.color-yellow {
	margin-bottom: 8px;
	font-size: 21px;
	color: #000;
	transition: color .3s, background-color .3s;
	background-color: #c3d82d;
}

.schedule__specialLink:hover span.color-yellow {
	color: #c3d82d;
	background-color: #000;
}

.schedule__specialLink span.text-detail {
	padding-right: 48px;
	position: relative;
	margin-top: 16px;
	text-align: center;
}

.schedule__specialLink span.text-detail::after {
	content: '';
	display: block;
	width: 26px;
	height: 26px;
	background: url(../img/common/icon_arrow_y.png) no-repeat center center/contain;
	transition: background .3s;
	position: absolute;
	bottom: 0;
	position: absolute;
	left: calc(50% + 45px);
	transform: translate(-50%, 0%);
}

.schedule__specialLink:hover span.text-detail::after {
	background: url(../img/common/icon_arrow_b.png) no-repeat center center/contain;
}


@media screen and (max-width: 768px) {
	.schedule__special {
		flex-direction: column;
		gap: 24px;
	}

	.schedule__specialTitle {
		display: block;
		font-weight: 600;
		font-size: 20px;
	}

	.schedule__in {
		margin: 0 auto;
		width: 750px;
	}

	.schedule__tokyo {
		background: url(../img/schedule.jpg) no-repeat center center / contain;
		height: 483px;
		margin-bottom: 40px;
	}

	.schedule__text {
		padding-top: 20px;
		font-size: 24px;
	}

	.schedule__text__live {
		font-size: 25px;
		width: 700px;
		margin: 0 auto;
	}

	.schedule__specialLink {
		width: 90%;
	}

	.schedule__specialLink>a span {
		font-size: 15px;
	}

	.schedule__specialLink span.text-detail {
		margin-top: 8px;
	}
}

/** 
bannerSlider
*/
#bannerSlider {
	position: relative;
	width: 100%;
	z-index: 2;
}

.swiper-container {
	align-items: center;
	width: 1050px;
	height: 200px;
	margin: 0 auto;
}

.swiper-slide {
	text-align: center;
	margin: 0 5px;
	flex-shrink: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	/*NOT CAROUSEL*/
	width: 450px;
}

.swiper-slide img {
	height: auto;
	/*NOT CAROUSEL */
	width: 100%
}

.swiper-slide a {
	display: block;
	transition: all 0.3s ease;
}

.swiper-slide a:hover {
	transform: scale(1.02);
}

/*.swiper-navWrap{
display: flex;
position: absolute;
width: 100%;
height: 50px;
top: 50%;
left: 0;
pointer-events: none;
margin-top:-25px;
}
.swiper-button-next, .swiper-button-prev {
color: white;
pointer-events: auto;
}

.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
right: 50px;
left: auto;
top: 50%;
background: url(../img/banner/arrow_right.png) no-repeat center center / contain;
height: 20px;
margin-top:-10px;
position: absolute;
}

.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
left: 50px;
right: auto;
top: 50%;
background: url(../img/banner/arrow_left.png) no-repeat center center / contain;
height: 20px;
margin-top:-10px;
position: absolute;
}*/
.swiper-button-next,
.swiper-button-prev {
	display: none;
}


/*.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
right:20px;
}
.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
left:20px;
}
.swiper-button-next::after, .swiper-button-prev::after {
font-size: 0;
}*/

@media screen and (max-width:768px) {
	.swiper-container {
		width: 100%;
		height: auto;
	}

	.swiper-wrapper {
		/*NOT CAROUSEL*/
		flex-wrap: wrap;
	}

	.swiper-slide {
		/*NOT CAROUSEL*/
		width: 720px;
		margin: 20px auto 0;
	}

	.swiper-slide img {
		/*NOT CAROUSEL*/
		max-width: 720px;
		/*max-width:640px;*/
	}
}

#introduction {
	background: url(../img/intro/intro_bg.png) no-repeat center center / cover;
	padding-top: 170px;
	padding-bottom: 60px;
}

.introduction__in {
	width: 910px;
	margin: 0 auto;
	position: relative;
}

.introduction__title {
	background: url(../img/intro/intro_logo.png) no-repeat center center / contain;
	height: 56px;
	margin-bottom: 40px;
}

.introduction__catch {
	/* background: url(../img/intro/intro_main.png) no-repeat center center / contain; */
	/* height: 475px;
	position: absolute;
	right: 0;
	top: 56px;
	width: 170px; */
	margin-bottom: 24px;
	color: #c3d82d;
	font-size: 24px;
	letter-spacing: .15em;
	text-shadow: 1px 3px 1px #000;
}

.introduction__text {
	width: 740px;
}

.introduction__text--param {
	font-size: 16px;
	line-height: 2.375;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin-bottom: 2em;
	text-shadow: 1px 3px 1px #000;
}

rt {
	text-align: center;
}

@media screen and (max-width: 768px) {
	#introduction {
		/* background: url(../img/intro/intro_bg_sp.png) no-repeat center center / cover;
		margin-top: 20px;
		padding-top: 60px; */

	}

	.introduction__in {
		width: 680px;
	}

	.introduction__catch {
		font-size: 28px;
		margin-bottom: 40px;
		/* top: 90px;
		height: 711px;
		background: url(../img/intro/intro_main_sp.png) no-repeat right top / contain; */
	}

	.introduction__text {
		width: 100%;
	}

	.introduction__text--param {
		font-size: 22px;
		word-break: break-all;
	}
}

/** 
Cast
*/
#cast {
	padding-top: 60px;
}

.cast__in {
	width: 1200px;
	max-width: 100%;
	position: relative;
	margin: 0 auto;
	padding-top: 80px;
}

.cast__title {
	background: url(../img/cast/cast_logo.png) no-repeat center center / contain;
	height: 56px;
}

.castCont__chara {
	font-size: 16px;
	margin-top: 10px;
}

.castCont__modal img{
	width: 100%;
}

.castCont__cast {
	display: block;
	font-size: 24px;
}

.castCont__item{
	position: relative;
	width: 260px;
}

@media screen and (max-width:768px){
	#cast {
		padding-top: 120px;
	}
	.cast__in {
		width: 100%;
		padding-top: 114px;
	}
}


/**
* cozmez
**/
.castCont__cozmez {
	width: 835px;
	height: 553px;
	background: no-repeat center/100% url("../img/cast/cozmez_bg.png");
	position: relative;
	padding: 80px;
}
.castCont__cozmez:before {
	content: '';
	position: absolute;
	background: url("../img/cast/cozmez_logo.png") no-repeat center center / contain;
	width: 423px;
	height: 113px;
	top: -43px;
	right: -182px;
}
.castCont__cozmez_container {
	display: flex;
	justify-content: center;
	gap: 2px;
}

@media screen and (max-width:768px){
	.castCont__cozmez {
		width: 683px;
		height: 565px;
		background-image: url(../img/cast/cozmez_bg_sp.png);
		padding: 90px 80px 0;
	}
	.castCont__cozmez:before {
		width: 442px;
		height: 120px;
		top: -50px;
		right: -40px;
	}
	.castCont__cozmez_container {
		gap: 1px;
	}
}




/**
* akyr
**/
.castCont__akyr {
	width: 942px;
	height: 890px;
	position: relative;
	background: no-repeat center/100% url("../img/cast/akyr_bg.png");
	margin-top: 64px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 80px;
	padding-left: 80px;
	padding-right: 80px;
}
.castCont__akyr:before {
	content: '';
	position: absolute;
	background: url("../img/cast/akyr_logo.png") no-repeat center center / contain;
	width: 324px;
	height: 327px;
	bottom: 158px;
	right: -80px;
}
.castCont__akyr_container {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	column-gap: 1px;
	row-gap: 48px;
}

@media screen and (max-width:768px){
	.castCont__akyr {
		width: 100%;
		max-width: 100%;
		height: 1271px;
		background-image: url(../img/cast/akyr_bg_sp.png);
		margin-top: 70px;
		padding-top: 80px;
		padding-left: 114px;
		padding-right: 114px;
	}
	.castCont__akyr:before {
		width: 324px;
		height: 327px;
		right: -25px;
		bottom: 128px;
	}
	.castCont__akyr_container {
		row-gap: 40px;
	}
}



/**
* visty
**/
.castCont__visty{
	width: 839px;
	height: 920px;
	position: relative;
	background: url(../img/cast/visty_bg.png) no-repeat center / 100%;
	margin-top: 90px;
	margin-left: auto;
	padding-top: 80px;
	padding-left: 159px;
	padding-right: 159px;
}
.castCont__visty:before {
	content: '';
	position: absolute;
	background: url(../img/cast/visty_logo.png) no-repeat center / contain;
	width: 262px;
	height: 278px;
	top: -29px;
	left: -155px;
}
.castCont__visty_container {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	column-gap: 1px;
	row-gap: 48px;
}
@media screen and (max-width:768px){
	.castCont__visty{
		width: 682px;
		height: 928px;
		margin-top: 252px;
		padding-top: 81px;
		padding-left: 80px;
		padding-right: 80px;
		background-image: url(../img/cast/visty_bg_sp.png);
	}
	.castCont__visty:before {
		top: -182px;
		left: -52px;
	}
	.castCont__visty_container {
		row-gap: 40px;
	}
}




/**
* gluck
**/
.castCont__gluck{
	width: 1200px;
	max-width: 100%;
	height: 555px;
	position: relative;
	background: url(../img/cast/gluck_bg.png) no-repeat center / 100%;
	margin-top: 176px;
	padding-top: 80px;
	padding-left: 80px;
	padding-right: 80px;
}
.castCont__gluck:before {
	content: '';
	position: absolute;
	background: url(../img/cast/gluck_logo.png) no-repeat center / contain;
	width: 415px;
	height: 210px;
	top: -135px;
	left: 0;
	right: 0;
	margin: 0 auto;
}
.castCont__gluck_container {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	column-gap: 0;
	row-gap: 48px;
}

@media screen and (max-width:768px){
	.castCont__gluck{
		width: 682px;
		height: 930px;
		background-image: url(../img/cast/gluck_bg_sp.png);
		margin-top: 216px;
		margin-left: auto;
		margin-right: auto;
		padding-top: 81px;
		padding-left: 80px;
		padding-right: 80px;
	}
	.castCont__gluck:before {
		width: 415px;
		height: 210px;
		top: -143px;
	}
	.castCont__gluck_container {
		row-gap: 40px;
		column-gap: 1px;
	}
}




.castCont__attention {
	position: relative;
	margin-top: 50px;
	font-size: 16px;
	text-align: center;
}




#staff {
	padding: 60px 0;
}

.staff__in {
	margin: 0 auto;
	width: 1140px;
}

.staff__title {
	background: url(../img/staff_logo.png) no-repeat center center / contain;
	height: 56px;
	margin-bottom: 56px;
}

.staff__each {
	font-size: 16px;
	width: 100%;
	display: flex;
	justify-content: center;
	text-shadow: 1px 3px 1px #000;
	padding: 0.5em 0;
}

.staff__position {
	line-height: 2;
}

.staff__position:after {
	content: '：';
}

.staff__name {
	line-height: 2;
}

@media screen and (max-width:768px) {
	.staff__in {
		margin: 0 auto;
		width: 680px;
	}

	.staff__each {
		font-size: 24px;
	}
}

#tickets {
	padding: 60px 0;
}

.tickets__in {
	width: 900px;
	margin: 0 auto;
}

.tickets__title {
	background: url(../img/tickets_logo.png) no-repeat center center / contain;
	height: 56px;
	margin-bottom: 56px;
}



.tickets_img {
	display: block;
	margin: 0.8em auto 0; 
	max-width: 500px;
	width: 100%;
	height: auto;
}

.ondemand{
	font-size: 18px;
}

.ondemand__list {
	margin-top: 16px;
	padding-left: 24px;
}

.ondemand__list li{
	list-style: decimal;
	line-height: 1.5;
	margin-bottom: 16px;
}

.tickets__content--text{
	font-size: 16px;
	margin-bottom: 40px;
	text-align: center;
}

.ondemand__title--item{
	line-height: 1.75;
}

.ondemand__title--item + .ondemand__title--item{
	margin-top: 10px;
}

.tickets__title__ondemand {
	background: url(../img/streaming_logo.png) no-repeat center center / contain;
	height: 56px;
	margin-bottom: 56px;
}

.tickets__content--each {
	margin-bottom: 40px;
}

.tickets__content--title {
	background: #c3d82d;
	color: #000;
	display: table;
	font-size: 20px;
	height: 40px;
	transform: skew(-10deg);
	padding: 0 15px;
	line-height: 2;
	position: relative;
	margin-left: 40px;
	margin-bottom: -20px;
}

.tickets__content--content {
	font-size: 18px;
	border: 2px solid #c3d82d;
	padding: 50px 35px 35px;
	background: rgba(195, 216, 45, 0.1);
	line-height: 2;
	text-shadow: 1px 3px 1px #000;
	margin-bottom: 30px;
}

.tickets__content--content p a {
	text-shadow: none;
}

.tickets__content--content .title__first,
.tickets__content--content .title {
	color: #c3d82d;
	font-weight: bold;
}

.tickets__content--content .title {
	margin-top: 30px;
	padding-top: 30px;
	border-top: #c3d82d 1px dotted;
}

.tickets__content--content .ondemand {
	border: #c3d82d 1px solid;
	padding: 30px;
	margin: 30px 0 10px 0;
}

.tickets__content--content .ondemand__title {
	background-color: #c3d82d;
	color: #000;
	display: block;
	margin-bottom: 8px;
	padding-left: 10px;
	text-shadow: none;
}

.tickets__content--content .ondemand__mini {
	display: block;
	font-size: 13px;
	padding-left: 1em;
	text-indent: -1em;
}

.tickets__content--content .ondemand__mini__price {
	font-size: 13px;
}

.tickets__content--content .ondemand__place {
	display: block;
	color: #b15bc0;
	padding-left: 1em;
	text-indent: -1em;
	margin-top: 8px;
}

.tickets__content--btn {
	display: table;
	margin: 0 auto;
	font-size: 20px;
	height: 50px;
	transform: skew(-10deg);
	background: #000;
	margin-top: 40px;
}

.tickets__content--btn a {
	display: flex;
	height: 50px;
	justify-content: center;
	align-items: center;
	background: #c3d82d;
	color: #000;
	padding: 0 30px;
	text-shadow: none;
	font-weight: bold;
	text-decoration: none;
	transform: translate(-10px, -10px);
	transition: all 0.3s ease;
}

.tickets__content--btn a:hover {
	transform: translate(-5px, -5px);
}

.ticket__content--caution {
	font-size: 14px;
	line-height: 1.75;
	/* padding-left: 16px; */
}

.ticket__content--caution li {
	padding: 0.5em 0 0 1em;
	text-indent: -1em;
}

/* .ticket__content--caution li:before {
	content: '・';
	display: inline-block;
} */

.tickets__bnr--wrap {
	height: 206px;
	width: 284px;
	position: fixed;
	bottom: 0px;
	right: 20px;
	overflow: hidden;
	z-index: 5;
	display: block;
	transition: all 0.3s ease;
	transform: translateY(100%);
}

.tickets__bnr--wrap.is-active {
	transform: translateY(0);
}

.tickets__bnr {
	background: url(../img/banner/bnr_float_ticket.png) no-repeat center / 100%;
	display: block;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
}

/*.tickets__bnr--wrap:hover{
transform: scale(1.1);
}*/

@media screen and (max-width: 768px) {

	.tickets__in {
		width: 680px;
		margin: 0 auto;
	}

	.tickets__content--title {
		font-size: 26px;
		height: 52px;
		margin-bottom: -26px;
	}

	.tickets__content--content {
		font-size: 24px;
	}

	.tickets__content--content .ondemand__mini {
		font-size: 19px;
	}

	.tickets__content--text{
		font-size: 20px;
	}

	.tickets__content--content .nline {
		display: block;
		padding-left: 1em;
		text-indent: -1em;
	}

	.tickets__content--btn {
		height: 70px;
		font-size: 26px;
	}

	.tickets__content--btn a {
		height: 70px;
	}

	.ticket__content--caution {
		font-size: 20px;
	}

	.tickets__content--content .ondemand__place {
		display: block;
		color: #b15bc0;
		padding-left: 1em;
		text-indent: -1em;
		margin: 15px 0 10px 0;
	}

	.ondemand{
		font-size: 24px;
	}

	.ondemand__list{
		padding-left: 48px;
	}
	
	.ondemand__list li{
		margin-bottom: 16px;
	}
	
	.ondemand p,
	.ondemand__list li{
	line-height: 1.75;
	}
}

.sub__bg {
	background: url(../img/info_bg.png) no-repeat right top;
}

#movie {
	padding: 60px 0;
}

.movie__in {
	margin: 0 auto;
	width: 1138px;
}

.movie__title {
	background: url(../img/movie_logo.png) no-repeat center center / contain;
	height: 56px;
	margin-bottom: 56px;
}

.movie__frame {
	height: 640px;
}

.movie__frame iframe {
	display: block;
	width: 1138px;
	height: 640px;
}

/**
* Top news
*/
.topNews {
	padding: 50px 0 80px;
	position: relative;
}

.topNews__in {
	width: 910px;
	margin: 0 auto;
}

.topNews__title {
	background: url(../img/top_news/news_logo.png) no-repeat center center / contain;
	height: 56px;
	margin-bottom: 40px;
}

/* topics lists */
.topicsLists__item {
	margin-bottom: 20px;
}

.topicsLists__item:last-child {
	margin-bottom: 0;
}

.topicsLists__link {
	color: #fff;
	display: flex;
	font-size: 18px;
	text-decoration: none;
}

.topicsLists--title {
	width: calc(100% - 200px);
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	overflow: hidden;
}

.topicsLists--title__in {
	display: block;
	position: relative;
}

.topicsLists--title__in:before {
	content: "";
	background-color: #fff;
	width: 0;
	height: 1px;
	position: absolute;
	bottom: 0;
	left: 0;
	transition: width .4s ease;
}

.topicsLists__link:hover .topicsLists--title__in:before {
	width: 100%;
}

.topicsLists--date {
	color: #c3d82d;
	width: 200px;
	white-space: nowrap;
}

/* newsMore */
.newsMore {
	display: flex;
		justify-content: center;
		position: relative;
	width: auto;
	height: 45px;
	margin-top: 32px;
}

.newsMore__link {
	color: #c3d82d;
	border: 1px solid #c3d82d;
	border-radius: 96px;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
		padding: 0 104px;
	font-size: 14px;
	text-decoration: none;
	transition: all .4s ease;
}

.newsMore__link:hover {
	background-color: #c3d82d;
	color: #000;
}

@media screen and (max-width:768px){
		.newsMore__link{
				font-size: 24px;
		}
}




@media screen and (max-width: 768px) {
	.topNews {
		padding: 60px 0;
	}

	.topNews__in {
		width: 630px;
	}

	.topNews__title {
		margin-bottom: 60px;
	}

	/* topics lists */
	.topicsLists__item {
		margin-bottom: 30px;
	}

	.topicsLists__link {
		font-size: 20px;
	}

	.topicsLists--title {
		width: calc(100% - 160px);
		-webkit-line-clamp: 2;
	}

	.topicsLists--title__in:before {
		content: none;
	}

	.topicsLists--date {
		width: 160px;
	}
}

/** 
footer
*/
footer {
	padding-top: 30px;
	position: relative;
	padding-bottom: 50px;
}

footer p {
	color: #c3d82d;
	text-align: center;
}

.footer__container {
	margin-top: 40px;
}

.footer__banners {
	display: flex;
	justify-content: center;
	margin: 0 auto 60px;
	padding: 0 40px;
}

@media screen and (max-width: 768px) {
	.footer__banners {
		flex-wrap: wrap;
		padding: 0 20px;
	}
}

.footer__banners .footer__banners--item {
	margin-bottom: 32px;
}

@media screen and (min-width: 769px) {
	.footer__banners .footer__banners--item:not(:last-child) {
		margin-right: 32px;
	}
}

.footer__banners img {
	max-width: 100%;
	display: block;
	margin: 0 auto;
}

.footer__banners a img {
	transition: all 0.3s ease;
}

.footer__banners a:hover img {
	opacity: 0.7;
}

.pageTop {
	background: url(../img/common/button_top.png) no-repeat 0 0 / 100%;
	display: block;
	height: 28px;
	width: 44px;
	position: absolute;
	top: 0px;
	right: 60px;
	z-index: 100;
}

/* shareLists */
.shareLists {
	width: 300px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	margin-bottom: 60px;
}

.shareList {
	width: 50px;
	height: 50px;
}

.shareList__link {
	background-repeat: no-repeat;
	background-position: center;
	display: block;
	width: 100%;
	height: 50px;
}

.shareList__link--tw {
	-webkit-mask: url(../img/common/icon_x.svg)no-repeat center/contain;
	mask: url(../img/common/icon_x.svg)no-repeat center/contain;
	-webkit-mask-size: 33px;
	mask-size: 33px;
	background-color: #C3D82E;
}

.shareList__link--fb {
	background-image: url(../img/common/sns_fb.png);
	background-size: 16px;
}

.shareList__link--li {
	background-image: url(../img/common/sns_line.png);
	background-size: 35px;
}

.shareList__link--in {
	background-image: url(../img/common/sns_insta.png);
	background-size: 35px;
}

@media screen and (max-width:768px) {
	footer p {
		font-size: 16px;
	}

	.shareLists {
		width: 400px;
		margin-bottom: 60px;
	}

	.shareList {
		width: 70px;
		height: 70px;
	}

	.shareList__link--tw {
		-webkit-mask-size: 50px;
		mask-size: 50px;
	}

	.shareList__link--fb {
		background-size: 24px;
	}

	.shareList__link--li {
		background-size: 52px;
	}

	.shareList__link--in {
		background-size: 52px;
	}

	.pageTop {
		height: 28px;
		width: 36px;
		top: -30px;
		right: 20px;
	}
}

#loading {
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background: #000;
	z-index: 9999;
}

.sNav {
	position: absolute;
	bottom: 40px;
	right: 80px;
}

.sNav li {
	width: 312px;
	height: 30px;
	margin-top: 15px;
}

.sNav li a {
	display: flex;
	height: 30px;
	justify-content: center;
	align-items: center;
	background: #c3d82d;
	border-radius: 15px;
	font-size: 16px;
	text-decoration: none;
	color: #000;
	transition: all 0.3s ease;
	font-weight: 700;
}

.sNav li a img {
	display: block;
	margin-right: 10px;
	width: 20px;
}

.sNav li a:hover {
	background: #FFF;
}

@media screen and (max-width: 768px) {
	.gNav {
		height: calc(100vh - 400px);
	}

	.sNav {
		padding-top: 30px;
		position: relative;
		top: auto;
		bottom: auto;
		left: auto;
		right: auto;
	}

	.sNav li {
		width: 400px;
		height: 60px;
		margin: 25px auto 0;
	}

	.sNav li a {
		height: 60px;
		border-radius: 30px;
		font-size: 2.6rem;
	}

	.sNav li a img {
		width: 36px;
	}
}

/*
topModal
*/
#topModal {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}

.topmodal__wrapper {
	width: 600px;
	height: 300px;
	background-color: rgba(0, 0, 0, 1);
	text-align: center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	border: solid 2px #c3d82d;
	display: flex;
	flex-direction: column;
	justify-content: center;
	line-height: 2.0;
	font-size: 18px;
}

.topmodal__wrapper span {
	color: #c3d82d;
}

.topmodal__wrapper a {
	text-decoration: none;
}

.topmodal__button {
	margin-top: 20px;
	border: solid 1px #c3d82d;
	width: 300px;
	height: 45px;
	line-height: 45px;
	margin-left: auto;
	margin-right: auto;
	font-size: 16px;
	text-decoration: none;
}

.topmodal__button:hover {
	background-color: #c3d82d;
	color: #000;
}

.topmodal__close {
	position: absolute;
	right: 20px;
	top: 20px;
}

@media screen and (max-width: 768px) {
	.topmodal__wrapper {
		height: 400px;
		width: calc(100vw - 120px);
		font-size: 25px;
		top: 60px;
		left: 50%;
		transform: translateX(-50%);
	}

	.topmodal__button {
		margin-top: 30px;
		width: 400px;
		height: 60px;
		line-height: 60px;
		font-size: 22px;
	}
}
.loadModalIn {
	width:80%;
	margin:0 auto;
	background:#000;
}

.loadModalIn a {
	display: block;
}

.loadModalIn img {
	width: 100%;
}

/* 
* 20221031
* vol.2 FV修正 
*/
.header {
	position: relative;
	z-index: 9999;
}

.mv {
	width: 100%;
	padding-top: 48.643%;
	position: relative;
}

@media screen and (min-width: 769px) {
	.mv {
		min-width: 1200px;
		overflow: hidden;
	}
}

@media screen and (max-width: 768px) {
	.mv {
		padding-top: 0;
	}
}

.mv::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	/* min-height: 615px; */
	min-width: 1200px;
	z-index: 2;
	background: url(../img/mainvis/mainvs_visual.jpg) no-repeat left top/contain;
	width: calc(100% - 25vw);
}

@media screen and (max-width: 768px) {
	.mv::before {
		/* content: none; */
		position: relative;
		display: block;
		width: 100%;
		height: 100%;
		min-width: unset;
		min-height: unset;
		padding-top: 100%;
		background: url(../img/mainvis/mainvs_visual_sp.jpg) no-repeat center top/contain;
	}
}

.mv__inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 999;
	margin-top: 30.323px;
}

@media screen and (max-width: 768px) {
	.mv__inner {
		margin-top: -60px;
		position: relative;
		height: auto;
	}
}

.mv__logo {
	width: 40.25vw;
	min-width: 483px;
	height: 20vw;
	min-height: 240px;
	margin-bottom: 34px;
}

@media screen and (max-width: 768px) {
	.mv__logo {
		width: 81.73333vw;
		height: 40.13333vw;
	}
}

.mv__logo::before {
	content: '';
	height: 100%;
	display: block;
	background: url(../img/common/logo.png) no-repeat center center/cover;
}

/* .mv__txt {
	width: 43.75vw;
	min-width: 525px;
	height: 7.66667vw;
	min-height: 92px;
}

@media screen and (max-width: 768px) {
	.mv__txt {
		width: 63.2vw;
		min-width: 474px;
		height: 21.06667vw;
		min-height: 158px;
	}
}

.mv__txt::before {
	content: '';
	display: block;
	height: 147%;
	background: url(../img/mainvis/mv_txt.png) no-repeat center center/cover;
}

@media screen and (max-width: 768px) {
	.mv__txt::before {
		background: url(../img/mainvis/mv_txt_sp.png) no-repeat center center/cover;
	}
} */

.mv__cmt {
	width: 272px;
	position: absolute;
	bottom: 0;
	z-index: 999;
}

@media screen and (min-width: 769px) {
	.mv__cmt {
		margin: 0 10px 10px 0;
		right: 0;
	}
}

@media screen and (max-width: 768px) {
	.mv__cmt {
		width: auto;
		left: 50%;
		-webkit-transform: translate(-50%, 0%);
		transform: translate(-50%, 0%);
		bottom: 40px;
	}
}

.mv__cmt>a {
	display: block;
	background: #c3d82d;
	padding: 8px 12px 8px 16px;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

@media screen and (max-width: 768px) {
	.mv__cmt>a {
		padding: 8px 32px 8px 16px;
	}
}

.mv__cmt>a::after {
	content: "";
	display: block;
	width: 6px;
	height: 6px;
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	position: absolute;
	top: 50%;
	right: 16px;
	-webkit-transform: translate(0%, -50%) rotate(45deg);
	transform: translate(0%, -50%) rotate(45deg);
	-webkit-transition: right .5s ease;
	transition: right .5s ease;
}

.mv__cmt>a span {
	font-size: 12px;
	letter-spacing: 0;
	color: #000;
	display: block;
	position: relative;
}

@media screen and (max-width: 768px) {
	.mv__cmt>a span {
		font-size: 16px;
	}
}

@media screen and (min-width: 769px) {
	.mv__cmt>a:hover {
		padding: 8px 8px 8px 16px;
	}
}

.mv__cmt>a:hover::after {
	right: 12px;
}

.mv__skew {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	z-index: 99;
	-webkit-transform: scale(-1, 1);
	transform: scale(-1, 1);
}

@media screen and (max-width: 768px) {
	.mv__skew {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
}

.mv__skew.-mm {
	mix-blend-mode: saturation;
}

.mv__skew::before {
	content: "";
	display: block;
	width: 34.58333vw;
	min-width: 415px;
	height: 100%;
	position: absolute;
	top: 0;
	left: 50%;
	background: #000;
	-webkit-transform: translate(-59%, 0) skewX(20deg);
	transform: translate(-59%, 0) skewX(20deg);
}

@media screen and (max-width: 768px) {
	.mv__skew::before {
		width: 61.33333vw;
		height: 100%;
		-webkit-transform: translate(-59%, 0) skewX(10deg);
		transform: translate(-59%, 0) skewX(10deg);
	}
}

.mv__skew.-top::before {
	background: #000;
	opacity: .7;
}

.mv__contents {
	width: 25vw;
	min-width: 300px;
	height: 100%;
	justify-content: center;
	position: absolute;
	bottom: 0;
	right: 40px;
	padding: 20px 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.mv__catch {
	display: flex;
	flex-direction: column;
	margin-bottom: 20px;
}
.mv__catch img{
	width: 100%;
}

@media screen and (max-width: 768px) {
	.mv__catch {
		display: none;
	}
}



@media screen and (max-width: 768px) {
	.mv__contents {
		width: 100%;
		position: relative;
		align-items: center;
	}

	.mv__btn {
		width: 60%;
		margin: 0 4vw;
		bottom: 30px;
		top: unset;
		right: unset;
		transform: unset;
	}
}

.mv__btnBox {
	position: relative;
}

.mv__btnBox a {
	width: 100%;
	height: 80px;
	display: block;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	background: rgba(195, 216, 45, 0.1);
	color: #c3d82d;
	font-weight: 700;
	letter-spacing: .1em;
	border: none;
	font-size: 24px;
	outline: none;
	cursor: pointer;
	text-decoration: none;
}


.mv__btnBox>.border {
	position: absolute;
	background: none;
	transition: all .3s ease-in-out;
	z-index: -1;
}

.mv__btnBox>.border:nth-of-type(1) {
	top: 0;
	left: 0;
	border-left: 1px solid #c3d82d;
	border-top: 1px solid #c3d82d;
	width: 30px;
	height: 30px;
}

.mv__btnBox>.border:nth-of-type(2) {
	bottom: 0;
	right: 0;
	border-right: 1px solid #c3d82d;
	border-bottom: 1px solid #c3d82d;
	width: 30px;
	height: 30px;
}

.mv__btnBox:hover .border {
	width: 102%;
	height: 105%;
}

@media screen and (max-width: 768px) {
	.mv__btnBox a {
		height: 80px;
		font-size: 24px;
	}
}

/* mv__pv */
.mv__pv {
	position: relative;
	margin-bottom: 10px;
}

.mv__pv a {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
	transition: filter .3s ease;
}

.video_play {
	display: inline-block;
	width: 80px;
	height: 80px;
	border: 1px solid #c3d82d;
	border-radius: 50%;
	color: #c3d82d;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transition: transform .3s ease;
	z-index: 999;
}

@media screen and (max-width: 768px) {
	.video_play {
		width: 120px;
		height: 120px;
	}
}

.video_play span {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 20px;
	line-height: 1;
	letter-spacing: 0;
	font-style: italic;
	text-indent: -8px;
	text-transform: uppercase;
}

@media screen and (max-width: 768px) {
	.video_play span {
		font-size: 26px;
	}
}

.mv__pv a:hover {
	filter: brightness(.5);
}

.mv__pv a:hover .video_play {
	transform: translate(-50%, -50%) scale(.85);
}

.mv__pvThumb {
	position: relative;
	overflow: hidden;
	display: block;
	margin: 0 auto;
	z-index: 99;
}

.mv__pvThumb::before {
	content: '';
	display: block;
	padding-top: 56.25%;
	background: #00000087;
	z-index: 999;
	position: relative;
}

.mv__pvThumb img {
	width: 100%;
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

@media screen and (max-width: 768px) {
	.mv__pv {
		width: 90%;
		margin: 40px 4vw 0;
		top: unset;
		right: unset;
		transform: unset;
	}
}

.mv__pv p {
	font-size: 14px;
	line-height: 1.5;
	text-align: center;
}

@media screen and (max-width: 768px) {
	.mv__pv p {
		font-size: 20px;
	}
}

@media screen and (min-width: 1400px) {
	.mv__pv p br.pc {
		display: none;
	}
}

/* modal */
.topMessage__wrapper {
	width: 800px;
	background-color: black;
	text-align: center;
	position: absolute;
	top: 0%;
	left: 50%;
	-webkit-transform: translate(-50%, 0%);
	transform: translate(-50%, 0%);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	padding: 16px;
	margin: 1.66667vw;
}

@media screen and (max-width: 768px) {
	.topMessage__wrapper {
		width: 90%;
		margin: 2.66667vw auto;
		padding: 5.33333vw;
	}
}

.topMessage__box {
	margin-bottom: 40px;
}

@media screen and (max-width: 768px) {
	.topMessage__box {
		margin-bottom: 20px;
	}
}

.topMessage__ttl {
	padding: 8px 16px;
	margin-bottom: 24px;
	background: #FFF;
	font-size: 24px;
	text-align: left;
	font-weight: 600;
	color: #000;
}

@media screen and (max-width: 768px) {
	.topMessage__ttl {
		font-size: 20px;
	}
}

.topMessage__txt {
	font-size: 16px;
	text-align: left;
	line-height: 2.0;
}

@media screen and (max-width: 768px) {
	.topMessage__txt {
		font-size: 18px;
	}
}

/* modal */
.castMessage__wrapper {
	width: 800px;
	background-color: rgba(0, 0, 0, 0.75);
	text-align: center;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin: 1.66667vw;
}

@media screen and (max-width: 768px) {
	.castMessage__wrapper {
		width: 90%;
		margin: 2.66667vw auto;
		padding: 5.33333vw;
	}
}

@media screen and (min-width: 769px) {
	.castMessage__box {
		padding: 32px;
	}
}

@media screen and (max-width: 768px) {
	.castMessage__box {
		margin-bottom: 20px;
	}
}

.castMessage__ttl {
	font-size: 24px;
	text-align: left;
	font-weight: 600;
	color: #FFF;
	margin-bottom: 16px;
}

@media screen and (max-width: 768px) {
	.castMessage__ttl {
		font-size: 20px;
	}
}

.castMessage__txt {
	font-size: 16px;
	text-align: left;
	line-height: 2.0;
}

@media screen and (max-width: 768px) {
	.castMessage__txt {
		font-size: 18px;
	}
}

.-ani {
	opacity: 0;
	-webkit-transform: translateY(30px);
	transform: translateY(30px);
	-webkit-transition: opacity .5s, -webkit-transform .5s;
	transition: opacity .5s, -webkit-transform .5s;
	transition: opacity .5s, transform .5s;
	transition: opacity .5s, transform .5s, -webkit-transform .5s;
}

.-topComplete .-ani {
	opacity: 1;
	-webkit-transform: translateY(0px);
	transform: translateY(0px);
}

.-ani.-delay-05 {
	-webkit-transition-delay: .5s;
	transition-delay: .5s;
}

.-ani.-delay-06 {
	-webkit-transition-delay: .6s;
	transition-delay: .6s;
}

.-ani-x {
	opacity: 0;
	-webkit-transform: translateX(-30px);
	transform: translateX(-30px);
	-webkit-transition: opacity .5s, -webkit-transform .5s;
	transition: opacity .5s, -webkit-transform .5s;
	transition: opacity .5s, transform .5s;
	transition: opacity .5s, transform .5s, -webkit-transform .5s;
}

@media screen and (max-width: 768px) {
	.-ani-x {
		-webkit-transform: translate(-50%, 30px);
		transform: translate(-50%, 30px);
	}
}

.-topComplete .-ani-x {
	opacity: 1;
	-webkit-transform: translateY(0px);
	transform: translateY(0px);
}

@media screen and (max-width: 768px) {
	.-topComplete .-ani-x {
		-webkit-transform: translate(-50%, 0%);
		transform: translate(-50%, 0%);
	}
}

.-ani-x.-delay-06 {
	-webkit-transition-delay: .6s;
	transition-delay: .6s;
}

/* castCont */
.castCont__cast.-cmt {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.castCont__cmt {
	display: block;
	width: 24px;
	height: 24px;
	margin: -12px 0 0 4px;
	background: url(../img/common/icon_cmt.png) no-repeat center center/contain;
	-webkit-transition: opacity .5s ease;
	transition: opacity .5s ease;
}

@media screen and (max-width: 768px) {
	.castCont__cmt {
		width: 32px;
		height: 32px;
		margin: -8px 0 0 4px;
	}
}

.castCont__cmt:hover {
	opacity: .7;
	-webkit-transform-origin: left bottom;
	transform-origin: left bottom;
	-webkit-animation: shake 0.5s ease;
	animation: shake 0.5s ease;
}

@-webkit-keyframes shake {

	0%,
	100% {
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}

	20% {
		-webkit-transform: rotate(10deg);
		transform: rotate(10deg);
	}

	40% {
		-webkit-transform: rotate(-10deg);
		transform: rotate(-10deg);
	}

	60% {
		-webkit-transform: rotate(5deg);
		transform: rotate(5deg);
	}

	80% {
		-webkit-transform: rotate(-5deg);
		transform: rotate(-5deg);
	}
}

@keyframes shake {

	0%,
	100% {
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}

	20% {
		-webkit-transform: rotate(10deg);
		transform: rotate(10deg);
	}

	40% {
		-webkit-transform: rotate(-10deg);
		transform: rotate(-10deg);
	}

	60% {
		-webkit-transform: rotate(5deg);
		transform: rotate(5deg);
	}

	80% {
		-webkit-transform: rotate(-5deg);
		transform: rotate(-5deg);
	}
}

.section-title {
	color: #c3d82d;
	font-weight: 700;
	font-size: 2.4em;
	text-align: center;
	margin: 10px auto 30px; /* 横もautoで中央寄せ */
	letter-spacing: 0.05em;
}
.section-title_2 {
	color: #c3d82d;
	font-weight: 700;
	font-size: 2.4em;
	text-align: center;
	margin: 30px auto 30px; /* 横もautoで中央寄せ */
	letter-spacing: 0.05em;
}


/*-----------------------------------------------
* Top News（topicsLists）タグ表示
-------------------------------------------------*/
.topicsLists--date {
	flex-shrink: 0;
}

.topicsLists--tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	flex-shrink: 0;
	align-items: center;
	margin-right: 16px;
}

.topicsLists--tag {
	display: inline-block;
	padding: 2px 10px;
	border: 1px solid #c3d82d;
	color: #c3d82d;
	font-size: 12px;
	line-height: 1.4;
	white-space: nowrap;
}

.topicsLists--title {
	flex: 1;
	min-width: 0;
	width: auto;
}

@media screen and (max-width: 768px) {
	.topicsLists--tags {
		margin-right: 12px;
	}

	.topicsLists--tag {
		font-size: 14px;
	}

	.topicsLists__link{
		flex-wrap: wrap;
	}

	.topicsLists--title {
		flex: auto;
		width: 100%;
		padding-top: 6px;
	}
}