@charset "utf-8";
body,div,dl,dt,dd,ul,ol,li,p,h1,h2,h3,h4,h5,h6,th,td,pre,code,blockquote,form,fieldset,legend,input,textarea,figcaption,figure{margin:0;padding:0}
table{border-collapse:collapse;border-spacing:0}
fieldset,img{border:0}
address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:normal}
li{list-style:none}
caption,th{text-align:left}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}
q:before,q:after{content:''}
abbr,acronym{border:0;font-variant:normal}
sup{vertical-align:text-top}
sub{vertical-align:text-bottom}
input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit}
input,textarea,select{font-size:100%;}
legend{color:#FFF}
hr{display:none}
img{max-width: 100%;vertical-align: middle;}
select,input,button,textarea{font-size:99%}
table{font-size:inherit;font:100%;border-collapse:collapse;border-spacing:0}
pre,code,kbd,samp,tt{font-family:monospace;font-size:108%;line-height:100%}
article,aside,details,figcaption,figure,footer,header,hgroup,hr,menu,nav,section,main{display:block}*{margin:0;padding:0;box-sizing:border-box;max-height:999999px;outline:none;}*:focus{outline: none;}
button{background-color:transparent;border:none;cursor:pointer;outline:none;padding:0;}
* {box-sizing: border-box;}
/*-----------------------------
Bace
-------------------------------*/
:root {
	/* color */
	--txtColor: #3a2e3f;
	--mainColor: #fd37b1;
	--subColor: #148eff;
	--accentColor1: #d014ff;
	--accentColor2: #050a33;
	--contentColor: rgba(255,255,255,1); /* 透過背景 */

	/* font */
	--mainFont: 'Zen Kaku Gothic Antique',  sans-serif;
	--headFont: 'Gasoek One', sans-serif;
	--headFontJa: 'Dela Gothic One', sans-serif;
	--nameFont: 'Zen Antique', serif;

	/* 変化速度 */
	--speed: all, .3s, ease, .3s;
}
a {
	transition: .3s opacity;
}
@media (min-width: 891px) {
	a:hover {
		opacity: .6;
	}
}
@media (max-width: 890px) {
	a:active {
		opacity: .6;
	}
}
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
/* ScrollBar Setting */
::-webkit-scrollbar{
  width: 5px;
  height: 5px;
}
::-webkit-scrollbar-track{
  background: rgba(255,255,255, .3);
  border-radius: 4px;
}
::-webkit-scrollbar-thumb{
  background: var(--accentColor1);
  border-radius: 10px;
}
html {
	font-size: 62.5%; /* 基準を10pxに */
	scroll-behavior: smooth;
}
@media (max-width: 890px) {
	html {
		font-size: 55%;
	}
}
body {
	text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	font-size: 1.6em; /* 16px ここだけem指定 */
	font-family: 'YakuHanJP',var(--mainFont);
	font-weight: 700;
	color: var(--txtColor);
}
h1,h2,h3,h4,h5,h6 {
	font-weight: 700;
}

a {
	text-decoration: none;
	color: var(--subColor);
	-webkit-tap-highlight-color: rgba(0,0,0,0);
  box-shadow: none;
  outline: none;
}
li {
	list-style: none;
}
img {
	width: 100%;
	height: auto;
	display: block;
	line-height: 1;
	pointer-events: none;
}
@media (max-width: 890px) {
	.pc {
		display: none
	}
}
@media (min-width: 891px) {
	.sp {
		display: none
	}
}
/*-----------------------------
  ローディングアニメ
-------------------------------*/
#js-loading {
	width: 100vw;
	height: 100vh;
	background-image: url(../img/bg.jpg);
	background-size: cover;
	background-position: center;
	position: fixed;
	z-index: 1001;
}
.loading-logo {
	width: 475px;
	position: relative;
	top: calc((100vh - 290px) / 2);/* ロゴの高さ分を引く */
	left: 0;
	right: 0;
	margin: auto;
	animation: logoAnime 2.5s ease 0s;
}
@keyframes logoAnime {
	0% {
		opacity: 0;
		transform: scale(.9);
	}
	100% {
		opacity: 1;
		transform: scale(1);
	}
}
@media screen and (max-width:890px){ 
	.loading-logo {
		width: 250px;
		top: calc((100vh - 153px) / 2);
	}
}
/*-----------------------------
  オープニングシャッター
-------------------------------*/
#op-anime {
	position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: #000; /* デフォルトの背景色 */
  z-index: 9999;

  display: flex;
  justify-content: center;
  align-items: center;
}
.anime-inner {
	position: relative;
	width: min(80vw, 1100px);
	aspect-ratio: 8 / 5;
	overflow: hidden;
}
@media (max-width: 890px) {
	.anime-inner {
		width: 100vw;
	}
}
.anime-bgs div,
.anime-charas img,
.anime-bubbles img,
.anime-overlays img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0; /* GSAPで操作する前は隠す */
	visibility: hidden;
}
.anime-bgs div {
	background-size: contain;
	background-repeat: no-repeat;
}
.bg-scene01 {
	background-image: url('../img/op/bg01.webp');
}
.bg-scene02 {
	background-image: url('../img/op/bg02.webp');
}
.bg-scene03 {
	background-image: url('../img/op/bg03.webp');
}
/*-----------------------------
  背景煙
-------------------------------*/
#canvas-content {
	position: fixed;
	top: 0; 
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1; 
	pointer-events: none;
	filter: contrast(110%) brightness(100%);
  opacity: 0.8;
}
/* メニュー開閉時には位置の移動 */
#canvas-content.menu-active {
	z-index: 999;
	background-color: #fff;
	opacity: 1;
} 
/* キャストコメント時に位置移動 */
#canvas-content.comment-active {
	z-index: 1001; /* バーガーメニューよりも前に */
	background-color: #fff;
	opacity: 1;
}
/*-----------------------------
  固定バナー
-------------------------------*/
.js-fixed-banner {
	max-width: 160px;
	position: fixed;
	bottom: 30px;
	left: 20px;
	z-index: 2;
	opacity: 0;
	visibility: hidden;
}
@media (min-width: 891px) {
	.js-fixed-banner {
		z-index: 1000;
	}
}
@media screen and (max-width:767px){ 
	.js-fixed-banner {
		max-width: 100px;
		bottom: 30px;
		right: 10px;
	}
}
.js-fixed-banner img {
	animation: yuragi 3s ease-in-out infinite;
}
@keyframes yuragi {
	0% { transform: translateY(0); }
	50% { transform: translateY(-15px); }
	100% { transform: translateY(0); }
}
.js-fixed-banner a:hover img {
	animation-play-state: paused;
}
.js-fixed-banner a:hover {
	opacity: 1;
}
/*-----------------------------
  TOP
-------------------------------*/
.l_container {
	position: relative;
	overflow: hidden;
}

.l_contents {
	min-height: 680px;
	padding-top: 50px;
	position: relative;
}
@media (max-width: 890px) {
	@keyframes bgAnime {
  from {
	      background-position: top left
	  }

	  to {
	      background-position: 245px -355px
	  }
	}
	.l_contents {
		padding: clamp(100px, 26vw, 170px) 0 0;
	}
	.container {
		padding: 0 15px;
	}
}
.contents {
	width: 80%;
	max-width: 1000px;
	margin: auto;
}
.contents_head_ttl {
	color: var(--mainColor); 
	text-align: center;
	font-family: var(--headFont);
	letter-spacing: .08em;
	font-size: clamp(3.6rem, 4.4vw, 8rem);
	font-weight: 400;
	letter-spacing: .05em;
	line-height: 1.3;
}

.contents_head_story {
	text-align: center;
	margin: 3.5em auto 0;
}
@media (max-width: 890px) {
	.contents {
		width: 100%;
	}
}
.contents_head_story_btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5em;
	height: 2.5em;
	text-align: center;
	font-family: var(--headFont);
	font-weight: 400;
	color: var(--txtColor);
	letter-spacing: .05em;
	background-color: #fff;
	border-radius: 5em;
	box-shadow: 0 0 10px rgba(0, 0, 0, .1);
	transition: var(--speed);
	margin: 0 .2em;
	position: relative;
}
.contents_head_story_btn:first-of-type {
	width: 9.5em;
}
.contents_head_story_btn .bg-fire {
	width: 2.7em;
	fill: var(--mainColor);
	transition: var(--speed);
	position: absolute;
	top: -1.2em;
	z-index: -1;
}

@media (max-width: 890px) {
	.contents_head_story {
		width: 80vw;
		display: flex;
		flex-wrap: wrap;
		margin-top: 2.2em;
	}
	.contents_head_story_btn:not(:first-of-type) {
		width: calc((80vw - (.8em * 6)) / 6);
		height: calc((80vw - (.8em * 6)) / 6);
		margin: 1.3em .4em 0;
	}
	.contents_head_story_btn:first-of-type {
		width: 100%;
		height: auto;
		padding: .8em 0;
	}
	.contents_head_story_btn .bg-fire {
		width: calc((80vw - (.8em * 6)) / 6);
	}
}
.contents_head_story_btn.is_current {
	color: #fff;
	background: none;
	box-shadow: none;
}
.contents_head_story_btn:first-of-type.is_current {
	background-color: var(--mainColor);
}
.contents_head_story_btn.is_current .bg-fire {
	opacity: 1;
}
.contents_head_story_btn:not(.is_current) .bg-fire {
	opacity: 0;
}
.contents .contents_body {
	margin: 3.5em 0 0;
}
@media (max-width: 890px) {
.contents .contents_body {
		margin-top: 2.2em;
	}
}
/*-----------------------------------------------
 *  COMICSバナー / ページネーション
-------------------------------------------------*/
.contents_foot_bnr {
	width: 80%;
	max-width: 400px;
	margin: 2.5em auto 0;
	display: block;
}
.contents_foot_page {
		margin: 2.5em 0 0;
	}
@media (max-width: 890px) {
	.contents_foot_bnr {
		width: 85%;
		margin: 2.2em auto 0;
	}
	.contents_foot_page {
		margin-top: 40px
	}
}
/*-----------------------------------------------
 *  MORE・BACKボタン
-------------------------------------------------*/
.l_morebtn {
	text-align: center;
	margin-top: 2em;
}
.contents_foot .l_morebtn {
	margin-top: 2.5em;
}
.morebtn {
	display: inline-block;
	color: #fff;
	transition: var(--speed);
	font-family: var(--headFont);
	font-weight: 400;
	font-size: 2.1rem;
	letter-spacing: .05em;
	background-color: var(--mainColor);
	padding: .3em 3.2em;
	border-radius: 25px;
}
@media (min-width: 891px) {
	/*.hover-anime {
		background-image: linear-gradient(90deg, var(--accentColor1) 50%, var(--contentColor) 50%);
		background-position: 100%;
		background-size: 250%;
		transition: all .5s;
	}
	.hover-anime:hover {
		background-position: 0;
		opacity: 1;
	}*/
}
@media (max-width: 890px) {
	.morebtn {
		padding: .5em 3.8em;
	}
	.morebtn:active {
		opacity: .8;
	}
}
/* news記事内youtubeレスポンシブ */
.wp-block-embed-youtube .wp-block-embed__wrapper {
	width: 100%;
	padding: 56% 0 0;
	position: relative;
}
.wp-block-embed-youtube .wp-block-embed__wrapper >iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
/* ページネーション */
.l_pagination {
	text-align: center;
}
.pagination {
	display: inline-block;
	width: 2.5em;
	height: 2.5em;
	margin: 0 .5em;
}
.pagination >span, .pagination >a {
		font-family: var(--headFont);
		line-height: 1;
		color: var(--txtColor);
	}
.pagination >span {
		position: relative;
	}
.pagination >span >span,
.pagination > a {
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 400;
}
.pagination > a {
	background-color: #fff;
	border-radius: 5em;
	box-shadow: 0 0 10px rgba(0, 0, 0, .1);
	transition: .3s opacity;
}
.pagination.is-active {
	position: relative;
}
.pagination .bg-fire {
	width: 2.5em;
	fill: var(--mainColor);
	position: absolute;
	top: -1.4em;
	left: 0;
}
.pagination > span {
	color: #fff;
	font-weight: 400;
}
@media (min-width: 891px) {
	.pagination >a:hover {
		opacity: .6;
	}
}
@media (max-width: 890px) {
	.pagination >a:active {
		opacity: .6;
	}
}

/*-----------------------------------------------
 *  MENU
-------------------------------------------------*/
.l_header {
	position: absolute;
	top: 10px;
	left: 15px;
	z-index: 998;
}
@media (min-width: 891px) {
	.l_header {
		width: clamp(180px,13.8vw, 250px);
		top: 30px;
		left: 40px;
	}
	.pin-spacer {
		pointer-events: none;
	}
	.pin-spacer a {
		pointer-events: auto;
	}
}
#top .l_header,
#en .l_header {
	display: none;
} 
.header .header_logo {
		width: 80px;
		margin: 10px 0 0 10px;
		display: block;
	}
.l_nav {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 999;
	transition: .3s opacity;
}
@media (min-width: 891px) {
	.l_nav {
		max-width: 440px;
		padding: 0 1.9em;
	}
	#top .l_nav .separator-anime,
	#en .l_nav .separator-anime {
		display: none;
	} 
	#lower .l_nav {
		max-width: 100%;
		position: fixed;
	}
	#lower .l_nav:not(.is_show) {
		opacity: 0;
		pointer-events: none;
	}
	#lower .l_nav .separator-anime.is-bottom {
		position: relative;
	}
	#lower .l_nav .nav {
		max-width: 850px;
		min-height: calc(100vh - 100px);
		display: flex;
		align-items: center;
		gap: 6.5em;
		padding: calc(100px + 6em) 0 6em;
		margin: auto;
	}
	#lower .nav_logo {
		max-width: 350px;
	}
	#lower .nav .nav_links {
		width: calc(100% - 350px);
		margin-bottom: 0;
	}
}
@media (max-width: 890px) {
	.logo {
		display: inline-block;
		width: max(6.9vw, 100px);
	}
	.l_nav {
		width: 100vw;
		height: 100vh;
		background-size: 100%;
		position: fixed;
		overflow-y: scroll;
		overflow-x: hidden;
	}

	.l_nav:not(.is_show) {
		opacity: 0;
		pointer-events: none;
	}
	.l_nav .separator-anime.is-bottom {
		position: relative;
	}
}
.nav {
	margin: 20px 0 0;
}
#top .nav .nav_logo >a,
#en .nav .nav_logo >a {
	display: block;
	width: 260px;
	margin: 0 auto 2em;
}
@media (min-width: 891px) {
	.nav .nav_logo >a:hover {
		opacity: .6;
	}
}
@media (max-width: 890px) {
	.nav { 
		min-height: calc(100vh - 130px);
		margin-top: 80px;
	}
	.nav_logo {
		text-align: center;
	}
	.nav .nav_logo >a,
	#top .nav .nav_logo >a,
	#en .nav .nav_logo >a {
		display: inline-block;
		width: min(46.1vw, 180px);
	}

	.nav .nav_logo >a:active {
		opacity: .6;
	}
}
@media (min-width: 891px) {
	.nav .nav_links {
		margin-bottom: 2.5em;
	}
}
@media (max-width: 890px) {
.nav .nav_links {
		margin: 1em 0 2.5em;
	}
}
.l_gnav {
	display: flex;
	flex-wrap: wrap;
	gap: 1em 0;
}
.l_gnav > li {
	width: 50%;
}
@media (max-width: 890px) {
	.l_gnav {
		display: block;
		text-align: center;
	}
	.l_gnav >li {
		width: 100%;
		padding: 2.2vw 0;
		transition: .3s background;
	}
}
.l_gnav >li.is_disable {
			opacity: .6;
			pointer-events: none;
		}
.l_gnav >li.is_none {
			display: none;
		}
.l_gnav >li.is_current {
			pointer-events: none;
		}
.l_gnav >li.is_current >a::before {
					opacity: 1;
				}
@media (min-width: 891px) {
.l_gnav >li.is_current >a {
					color: #FFF100
			}
				}
@media (max-width: 890px) {
	.l_gnav >li.is_current >a {
		color: #F03CA0
	}
}
.l_gnav >li >a {
	position: relative;
	font-family: var(--headFont);
	font-weight: 400;
	font-size: 2.1rem;
	letter-spacing: .05em;
	line-height: 1;
	color: var(--mainColor);
	transition: .3s color;
}
.l_gnav >li >a .jp {
	display: block;
	font-family: var(--headFontJa);
	color: var(--subColor);
	font-size: 1rem;
	padding-top: .2em;
}
.l_gnav >li.outside >a {
	padding-right: 1em;
	display: inline-flex;
  flex-direction: column;
}
.l_gnav >li.outside >a::after {
	content: "";
	display: inline-block;
	width: .8em;
	height: .6em;
	background-image: url(../img/icon_outside.svg);
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
  right: 0;
  top: .15em;
}
.l_gnav >li >a:hover {
	background-position: 0;
}
.l_gnav > li:has(a[href*="#"]) {
	display: none;
}
.l_gnav >li >a[href*="#"] {
	background: none;
	pointer-events: none;
	opacity: .5;
} 

@media (min-width: 891px) {
	.l_gnav >li >a {
	  transition: all .5s;
	}
}
@media (max-width: 890px) {
	.l_gnav >li >a {
		font-size: min(5.4vw, 21px);
	}
	.l_gnav >li >a:active {
		opacity: .7;
	}
}
.l_nabbtn {
	position: fixed;
	top: 4px;
	right: 10px;
	z-index: 1000;
}
@media (min-width: 891px) {
	.l_nabbtn {
		top: 20px;
		right: 30px;
	}
}
.nabbtn {
	width: max(12vw, 50px);
	height: max(18vw, 70px);
	display: flex;
	flex-flow: column;
	justify-content: center;
	align-items: center;
}
.nabbtn .bg-fire {
	position: absolute;
	top: 0;
	fill: var(--mainColor);
}
.nabbtn .cross {
	margin-top: 1.5em;
	width: 50%;
	z-index: 1;
}
.nabbtn span {
	display: block;
	width: 26px;
	height: 5px;
	background-color: #fff;
	border-radius: 90px;
	margin: 1.5vw auto;
	transition: var(--speed);
	z-index: 1;
}
@media (min-width: 891px) {
	#top .l_nabbtn,
	#en .l_nabbtn {
		display: none
	}
	.nabbtn {
		/*width: min(5.5vw, 80px);
		height: min(7.8vw, 113px);*/
		width: 80px;
		height: 113px;
	}
	.nabbtn span {
		width: 41px;
		height: 8px;
		margin: 12px auto;
	}
	.nabbtn .cross {
		margin-top: 2.5em;
	}
}
.nabbtn.is_close .bg-fire {
	fill: var(--subColor);
}
.nabbtn.is_close .cross {
	margin-top: .5em;
}
.nabbtn.is_close span:nth-of-type(1) {
	position: absolute;
	transform: rotate(45deg);
}
.nabbtn.is_close span:nth-of-type(2) {
	position: absolute;
	transform: rotate(-45deg);
}
/*-----------------------------------------------
 *  FOOTER
-------------------------------------------------*/
.l_footer {
	padding: 2em;
	background-image: linear-gradient(to right, var(--mainColor), var(--accentColor1));
	position: relative;
	margin-top: 5em;
}
.l_footer .texture-layer {
	z-index: 1;
}
@media (max-width: 890px) {
	.l_footer {
		margin-top: 4.3em;
		padding: 50px 0 30px;
	}
}
.footer {
	margin: auto;
	position: relative;
	z-index: 1;
}
.footer_totop {
	width: 93px;
	position: absolute;
	bottom: 3.5em;
	right: 1em;
	transition: var(--speed);
}
.footer_totop:hover {
	opacity: 1;
	bottom: 7.5em;
}
@media (max-width: 890px) {
	.footer_totop {
		width: 50px;
		bottom: 23em;
	}
	.footer_totop:hover {
		bottom: 26em;
	}
}
@media (min-width: 891px) {
	.footer_main,
	.footer_main_bnr,
	.footer_main_sns {
		display: flex;
	}
	.footer_main {
		align-items: center;
		justify-content: center;
	}
	.footer_main_bnr {
		margin-right: 3em;
	}
	.footer_main_bnr li {
		margin-right: 1.2em;
	}
	.footer_main_bnr li:last-of-type {
		margin-right: 0;
	}
}
.footer_main_bnr li {
	max-width: 260px;
}
.footer_main_sns {
	align-items: center;
}
.footer_main_sns p {
	font-family: var(--headFont);
	font-weight: 400;
	letter-spacing: .05em;
}
@media (max-width: 890px) {
	.footer_main_bnr li {
		margin: 0 auto 20px;
	}
	.footer_main_bnr li:last-of-type {
		margin-bottom: 0;
	}
}
.footer_main_sns {
	color: #fff;
}
@media (max-width: 890px) {
	.footer_main_sns {
		display: flex;
		justify-content: center;
		margin: 30px 0 0
	}
}
.footer_main_sns >a {
	width: 30px;
	display: inline-block;
	margin-left: 1.2em;
}
.footer_main_sns >a[href*="x.com"] {
	width: 26px;
}
.footer_copy {
	font-size: .8em;
	margin: 1.2em 0 0;
	text-align: center;
	color: #fff;
}
@media (max-width: 890px) {
	.footer_copy {
		margin: 30px 0 0;
	}
}
/*-----------------------------------------------
 *  MODAL
-------------------------------------------------*/
.l_modal {
	width: 100vw;
	height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	position: fixed;
	top: 0;
	left: 0;
  background: var(--accentColor2);
	z-index: 9998;
	transition: var(--speed);
	overflow: hidden;
}
.l_modal:not(.is_show) {
		opacity: 0;
		pointer-events: none;
	}
.l_modal .texture-layer {
	mix-blend-mode: color-dodge;
}
.modal {
	width: 100%;
	max-width: 800px;
	position: relative;
}
.modal .modal_inner {
	position: relative;
}
.modal .modal_close {
	position: absolute;
	
}
@media (min-width: 891px) {
	.modal .modal_close {
		top: -75px;
		right: -110px;
	}
}
@media (max-width: 890px) {
	.l_modal {
		background-size: 50%;
	}
	.modal .modal_close {
		bottom: max(-20.5vw, -80px);/* マイナス値の場合はmin,maxが逆転 */
		right: 0;
		left: 0;
		display: flex;
		justify-content: center;
	}
}
.closebtn {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 80px;
	height: 113px;
	position: relative;
	transition: var(--speed);
}
.closebtn .bg-fire {
	fill: var(--subColor);
}
.closebtn span {
	display: block;
	width: 45px;
	height: 8px;
	background-color: #fff;
	position: absolute;
	border-radius: 1em;
	transform: rotate(45deg);
	margin-top: 35px;
}
.closebtn span:nth-of-type(2) {
	transform: rotate(-45deg);
}
@media (min-width: 891px) {
	.closebtn {
		width: 80px;
    height: 113px;
	}
}
@media (max-width: 890px) {
	.closebtn {
		width: min(12.8vw, 50px);
		height:min(17.1vw, 70px);
	}
	.closebtn span {
		width: 30px;
		height: 5px;
		margin-top: 27px;
	}
	.closebtn .bg-fire {
		width: min(12.8vw, 50px); /* iosでは非表示した要素はサイズ指定しないと表示されない */
  	height: min(17.1vw, 70px);
	}
}
@media (min-width: 737px) {
	.closebtn:hover {
		opacity: .4;
	}
}
@media (max-width: 737px) {
	.closebtn:active {
		opacity: .4;
	}
}
.modal:has(.js-youtube-inner) {
	width: calc(100vw - 250px);
	max-width: 900px;
}
@media (max-width: 890px) {
	.modal:has(.js-youtube-inner) {
		width: min(90vw, 600px);
	}
}
.js-youtube-inner {
	padding-top: 56.25%;
	position: relative;
	width: 100%;
}
.youtube-iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

/*-----------------------------------------------
 *  TOP 
-------------------------------------------------*/
/* キービジュアル */
@media (min-width: 891px) {
	.l_hero {
		padding: 0 0 0 440px;
	}
}
@media (max-width: 890px) {
	.l_hero {
		margin-bottom: min(7.7vw, 30px);
	}
	.hero_slide {
		margin-right: -15px;
		margin-left: -15px;
		margin-bottom: min(7vw, 35px);
	}
}
.hero_slide {
	position: relative;
}

@keyframes decoration {
	0% {
	  transform: translateY(-10%);
	}
	100% {
	  transform: translateY(10%);
	}
  }
@media (max-width: 890px) {
	.decoration_1 svg {
		width: 40px;
	}
	.decoration_2 svg {
		width: 70px;
	}
	.decoration_3 svg {
		width: 100px;
	}
}

.hero_slide .slick-dotted {
	position: relative;
}
.hero_slide .slick-dots {
	position: absolute;
	top: 60px;
	right: 30px;
}
.hero_slide .slick-dots li {
	width: 80px;
	margin-bottom: 15px;
	cursor: pointer;
	transition: var(--speed);
}
/* 人魂デザイン */
.hero_slide .fire-border {
	vector-effect: non-scaling-stroke;
  stroke-width: 10px;
  stroke: var(--txtColor);
}
.hero_slide .slick-active .fire-border {
	stroke: var(--mainColor);
}
.hero_slide .slick-active .nav-fire-overlay {
	fill: var(--mainColor);
}
.hero_slide .slick-active image {
	opacity: .8;
}

@media (max-width: 890px) {
	.hero_slide .slick-dots {
		top: auto;
		right: auto;
		bottom: -1.6em;
		display: flex;
		justify-content: center;
		gap: 1.5em;
		width: 100%;
	}
	.hero_slide .slick-dots li {
		width: max(11.5vw, 45px);
		margin-bottom: 0;
	}
}
.hero_slide .slick-dots li.slick-active {
	cursor: default;
}
.hero_slide .slick-dots img {
	transition: var(--speed);
}
.slick-dots li.slick-active img {
	opacity: .4;
}
.slick-dots li:not(.slick-active):hover {
	transform: translate(0, 8px);
}
@media (min-width: 891px) {
	.hero {
		display: flex;
	}
	.hero_slide {
		/* 親要素からonair分を引く */
		/*width: calc(100% - 200px);*/
		width: 100%;
	}
	/* キービジュが1枚の場合、横幅を変更 */
	/*.kv-single {
		width: calc(100% - 170px);
	}
	/* キービジュが1枚の場合、スライダーの横幅が足りないためwidthを設定 */
	/*.kv-single .slick-slider {
		width: calc(100% - 170px);
	}*/
}
/* キービジュが1枚の場合はpc spともにスライダードットを非表示 */
.kv-single .slick-dots {
	display: none;
}

@media (min-width: 891px) {
	.hero_line {
		
	}
}
.onair-txt {
	font-weight: 400;
	font-family: var(--headFontJa);
	line-height: 1.5;
	color: #fff;
	text-align: center;
}
.onair-txt .small {
	font-size: .75em;
}
.onair-txt > span {
	padding: 0 .8em .05em;
	border-radius: 1em;
}
/* 共通ノイズテクスチャ */
.svg-defs {
	position: absolute;
	width: 0;
	height: 0;
	overflow: hidden;
}
/* ふちをぼかす */
.noisy-gradient-badge {
	position: relative;
	display: inline-block;
	line-height: 1.2;
	z-index: 1;
}
.noisy-gradient-badge::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -2;
	background-image: linear-gradient(to right, var(--mainColor), var(--accentColor1));
	border-radius: inherit; /* 親の角丸引継ぎ */
	filter: url('#sprayNoiseFilter'); /* htmlで定義したsvg、ふちをスプレーのように拡散 */
	opacity: .9;
}
.noisy-gradient-badge::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -2;
	background-image: linear-gradient(to right, var(--mainColor), var(--accentColor1));
	border-radius: inherit; /* 親の角丸引継ぎ */
	filter: blur(1px);
}
/* 内部のざらざら */
.texture-layer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  border-radius: inherit;
  z-index: -1;
}
.texture-grain {
  opacity: 0.5;
  mix-blend-mode: luminosity;
  filter: contrast(150%);
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.0' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23grain)'/%3E%3C/svg%3E");
}


@media (min-width: 891px) {
	.onair-txt {
		font-size: 4rem;
		margin-bottom: 1em;
	}
	.onair-txt .br {
		display: block;
	}
	.onair-txt .br > span {
		letter-spacing: 0em;
		margin: .1em 0;
	}
	.onair-txt .em {
		display: inline-block;
		line-height: 1.2;
		padding: .2em 0;
	}
	.onair-txt .month {
		text-combine-upright: all;
	}
}
@media (max-width: 890px) {
	.onair-txt {
		font-size: 9.3vw;
		text-align: center;
		letter-spacing: .03em;
	}
}
.fv-banner {
	margin-bottom: 1.9em;
}
/* MOVIE */
.l_topmov {
	position: relative;
	z-index: 1;
	background-image: url(../img/movie_bg.webp);
	background-size: cover;
	background-repeat: no-repeat;
	overflow: hidden;
	background-position: center;
}
@media (max-width: 890px) {
	.l_topmov {
		margin: 0 -15px;
	}
}
.topmov {
	padding: 3.5em 0 4.5em;
}
@media (max-width: 890px) {
	.topmov {
		padding: min(8vw, 30px) 0;
	}
}
/* bg帯アニメ共通 */
.separator-content {
	padding: 100px 0;
}
.separator-anime {
	position: absolute;
	left: 50%; /* 回転させるため基準点をずらす */
	width: 120vw; /* 回転する場合100vwだと端が切れてしまう */
	height: 100px;
	transform: translate(-50%, 0) rotate(0deg);
	background-color: var(--txtColor);
}
.separator-anime.is-top {
	top: 0;
}
.separator-anime.is-bottom {
	bottom: 0;
}
.separator-anime::before {
	content: "";
	display: block;
	/*width: 200%; /* ループ用に長く */
	width: 100%;
	height: 100%;
	background-image: url('../img/separator.svg');
	background-repeat: repeat-x;
	/*background-size: auto 100%;*/
	background-size: 580px 100%;
	/*animation: bg-anime 100s linear infinite;*/
	animation: bg-anime 30s linear infinite;
	/* will-change: background-position; */
}
.separator-anime.is-bottom::before {
	animation-direction: reverse;
}
@keyframes bg-anime {
	from { background-position: 0 0; }
	to { background-position: -580px 0; }
}
@keyframes bg-anime-sp {
	from { background-position: 0 0; }
	to { background-position: -290px 0; }
}
@media (max-width: 890px) {
	.separator-content {
		padding: 50px 0;
	}
	.separator-anime {
		height: 50px;
	}
	/* keyframesはメディアクエリ内では上手くいかないため再定義 */
	.separator-anime::before {
		background-size: 290px 100%;
		animation: bg-anime-sp 30s linear infinite;
	}
}
/* 下層 */
#lower .l_contents .separator-anime,
#en .contents .separator-anime {
	height: 230px;
	background-color: rgba(58,46,63,.15);
	transform: translate(-50%, 0px) rotate(-10deg);
	position: fixed;
	top: 400px;
	z-index: -1;
}
#lower .l_contents .separator-anime::before,
#en .contents .separator-anime::before {
	background-size: 1300px 100%;
	animation: bg-anime-lower 60s linear infinite;
}
@keyframes bg-anime-lower {
	from { background-position: 0 0; }
	to { background-position: -1300px 0; }
}
@keyframes bg-anime-lower-sp {
	from { background-position: 0 0; }
	to { background-position: -790px 0; }
}

@media (max-width: 890px) {
	#lower .l_contents .separator-anime,
	#en .contents .separator-anime {
		height: 140px;
	}
	#lower .l_contents .separator-anime::before,
	#en .contents .separator-anime::before {
		background-size: 790px 100%;
		animation: bg-anime-lower-sp 40s linear infinite;
	}
}

/* ノイズアニメーション */
/*お試し*/
/*.mv-noise,
.mv-scanlines,
.mv-glitch-bar {
	will-change: transform, opacity;
} */
/* ここまでお試し */
.mv-scanlines {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: repeating-linear-gradient(to bottom, rgba(255,255,255,0),rgba(255,255,255,0) 50%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.4) 100%);
	background-size: 100% 5px; /* 走査線の幅 */
	pointer-events: none;
	z-index: -1;
}
.mv-noise {
	position: absolute;
	/*top: -100%;
	left: -100%;
	width: 300%;
	height: 300%;*/
	top: 0;
	left: 0;
	width: 120%;
	height: 120%;
	opacity: .15;
	pointer-events: none;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='2.5' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='1'/%3E%3C/svg%3E");
	z-index: -1;
	/* 軽くする処理　小さなタイルにする */
	background-repeat: repeat;
	background-size: 200px 200px;
}
.mv-glitch-bar {
	position: absolute;
	left: 0;
	width: 100%;
	height: 5px;
	background-color: rgba(255,255,255,.8);
	display: none;
	mix-blend-mode: overlay;
	box-shadow: 0 0 10px rgba(255,255,255,.8);
	z-index: -1;
}
#top h2,
#en h2 {
	color: var(--mainColor); 
	font-family: var(--headFont);
	font-size: clamp(3.6rem, 4.4vw, 8rem);
	font-weight: 400;
	text-align: center;
	letter-spacing: .05em;
	line-height: 1.3;
}
@media (max-width: 890px) {
#top h2,
#en h2 {
		line-height: 1;
	}
}
h2 .ja {
	display: block;
	color: var(--subColor);
	font-family: var(--headFontJa);
	font-size: clamp(1.2rem, 1.25vw, 2rem);
}
.topmov_body {
	width: 80%;
	max-width: 720px;
	margin: 2.5em auto 0;
}
.topmov_body_mov {
	display: block;
	position: relative;
	overflow: hidden;
	border-radius: 30px;
}
@media (max-width: 890px) {
	.topmov_body {
		width: 83vw;
		margin-top: 1.3em;
	}
	.topmov_body_mov {
		border-radius: 20px;
	}
}
.topmov_body_mov:hover {
	opacity: 1;
}
.topmov_body_mov:not(.is_play)::before {
	width: 100%;
	height: 100%;
	position: absolute;
	right: 50%;
	bottom: 50%;
	transform: translate(50%, 50%);
	content: '';
	background-color: var(--subColor);
	opacity: .5;
}
.play-btn {
	width: 105px;
	height: 148px;
	position: absolute;
	inset: 0;
	margin: auto;
	display: flex;
	justify-content: center;
	transition: var(--speed);
}
.play-btn .bg-fire {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	fill: var(--mainColor);
}
#js_topmov {
  width: 4.8rem;
	height: 5rem;
	position: absolute;
	bottom: 20px;
	z-index: 1;

	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5v14l11-7z' stroke-linejoin='round' stroke-width='4' fill='black' stroke='black'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5v14l11-7z' stroke-linejoin='round' stroke-width='4' fill='black' stroke='black'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
	background: #fff;
}
@media (max-width: 890px) {
	.play-btn {
		width: 50px;
		height: 70px;
	}
	#js_topmov {
		width: 2.8rem;
		height: 3rem;
		bottom: 10px;
	}
}
.js_movmodal:hover .play-btn {
	transform: scale(1.15);
}

.l_topinfo {
	width: 80%;
	max-width: 1000px;
	margin: 3.5em auto 0;
}
@media (max-width: 890px) {
	.l_topinfo {
		width: min(100%, 600px);
		margin: 0 auto 1.5em;
	}
	.topinfo {
		padding: min(8vw, 30px) 0 0;
	}
}
.topinfo_body {
	margin-top: 2em;
}
.news-lists {
	display: flex;
	gap: 1.5rem;
}
#lower .news-lists {
	flex-wrap: wrap;
	gap: 4rem 1.5rem;
}
.news-item {
	width: calc((100% - 3rem) / 3);
}
.news-item > a {
	display: block;
	color: var(--txtColor);
}
.news-thumb {
	border-radius: 20px;
	background-color: var(--subColor);
	overflow: hidden;
	box-shadow: 0 0 10px rgba(0,0,0, .15);
}
.news-thumb img {
	aspect-ratio: 16 / 9;
	object-fit: cover;
	opacity: .7;
}
.news-inner {
	padding: .5em 1em;
}
.news_inner_date {
	display: inline-block;
	color: var(--mainColor);
	font-size: .9em;
	margin-bottom: .3em;
}
@media (min-width: 891px) {
	.topnews:hover {
		opacity: .6;
	}
}
@media (max-width: 890px) {
	.topinfo_body {
		overflow-x: scroll;
		margin-right: -15px;
		margin-left: -15px;
	}
	.topinfo_body::-webkit-scrollbar {
		display: none;
	}
	.topinfo_body .news-lists {
		padding: 0 15px;
	}
	.topinfo_body .news-item {
		width: 250px;
	}
	.news-lists {
		display: inline-flex;
		gap: 10px;
	}
	#lower .news-lists {
		gap: 3.5rem 1.2rem;
	}
	.news-item {
		width: calc((100% - 1.2rem) / 2);
	}
	.news-inner {
		padding: .5em;
	}
	.topnews:active {
		opacity: .6;
	}
	.news-thumb {
		border-radius: 10px;
	}
}
/*-----------------------------------------------
 *  NEWS詳細
-------------------------------------------------*/
/* 共通設定 */
.common-bg {
	background-color: #fff;
	padding: 2.5em 3em;
	border-radius: 30px;
	border: solid 5px var(--mainColor);
}
.common_body {
	line-height: 1.6;
}
.common_body .wp-block-image,
.common_body .wp-block-embed-youtube,
.common_body .wp-block-embed-twitter {
	margin-bottom: 2em;
}
.common_body a {
	text-decoration: underline;
}
@media (max-width: 890px) {
	.common-bg {
		padding: 1.4em 1.1em;
		border-radius: 20px;
		border-width: 4px;
	}
}
/*-----------------------------------------------
 *  COMICS 
-------------------------------------------------*/
.comics_body {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.3em;
}
.comics_body_img a {
	display: inline-block;
	box-shadow: rgba(0, 0, 0, .1) 0 0 10px;
}
@media (max-width: 890px) {
	.comics_body {
		grid-template-columns: repeat(3, 1fr);
		gap: .7em;
	}
}
/*-----------------------------------------------
 *  ON AIR 
-------------------------------------------------*/
@media (min-width: 891px) {
	#lower .onair-txt {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: .25em;
		letter-spacing: .05em;
		font-size: 4.5rem;
	}
}
@media (max-width: 890px) {
	#lower .onair-txt {
		margin-bottom: .8em;
	}
}
.deregula {
	max-width: 700px;
	text-align: center;
	background-color: #1b4287;
	padding: 1.2em;
	margin: 0 auto 4em;
	position: relative;
	border-radius: 20px;
}
.deregula .texture-layer {
	z-index: 0;
}
.deregula h3,
.deregula-lists,
.deregula-caution {
	position: relative;
	z-index: 1;
}
.deregula h3 {
	color: #fff;
}
.deregula-lists {
	display: flex;
	max-width: 510px;
	margin: .7em auto;
}
.deregula-item {
	width: 100%;
	font-size: 1.8rem;
	background-color: #fff;
	border-radius: 10px;
	overflow: hidden;
}
@media (min-width: 891px) {
	.deregula-item {
		margin-right: 10px;
	}
	.deregula-item:last-of-type {
		margin-right: 0;
	}
}
@media (max-width: 890px) {
	.deregula-item {
		border-radius: 5px;
	}
}
.deregula-item dt {
	color: #fff;
	background-color: var(--mainColor);
	padding: 0.4em .1em;
}
.deregula-item dd {
	padding: .7em .1em;
}
.deregula-item dd p:first-of-type {
	margin-bottom: .3em;
}
.deregula-item dd span:not(.deregula-em):not(.deregula-width) {
	display: inline-block;
	font-size: .9em;
	opacity: .6;
	margin-right: .5em;
}
.deregula-em {
	color: var(--mainColor);
}
.deregula-caution {
	max-width: 620px;
	font-size: .8em;
	font-weight: 400;
	color: #fff;
	text-align: left;
	margin: auto;
}
.three-version .deregula-lists {
	max-width: 620px;
}
.three-version .deregula-width {
	display: inline-block;
	width: 6em;
	text-align: left;
}
@media (max-width: 890px) {
	.deregula {
		margin: 0 auto 2.9em;
	}
	.deregula-lists {
		flex-wrap: wrap;
		margin-top: .8em;
	}
	.deregula-item {
		display: flex;
		font-size: 1.5rem;
		margin-bottom: .6em;
	}
	.deregula-item:last-of-type {
		margin-bottom: 0;
	}
	.deregula-item dt {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 9em;
	}
	.deregula-item dd {
		padding: .5em 1.1em;
	}
}
.onair h3 {
	font-weight: 400;
  font-family: var(--headFontJa);
  line-height: 1.5;
  text-align: center;
	font-size: 3.6rem;
} 
.onair_body {
	max-width: 900px;
	margin: 0 auto 4.5em;
}

.onair_body_broadcast {
	margin: 5em 0 0;
}
.l_tv,
.l_broadcast {
	background-color: #fff;
	padding: 1.5em 3em;
}
.l_broadcast {
	padding: .5em 3em;
}
@media (max-width: 890px) {
	.onair_body_broadcast {
		margin: 2.9em 0 0;
	}
	.l_tv,
	.l_broadcast {
		padding: 0.5em 1.1em;
	}
}
.head-deco .bg-fire {
	fill: var(--mainColor);
	width: 2.5rem;
}
.head-deco span {
	letter-spacing: .05em;
	padding: 0 .1em;
}
.tv_head,
.broadcast_head {
	color: var(--mainColor);
	margin-bottom: .5em;
}
.broadcast_body {
	padding: 1.8em 0;
	border-bottom: dotted 2px var(--mainColor);
}
.tv_body div {
	padding: .9em 0;
	border-bottom: dotted 2px var(--mainColor);
}
.tv_body div:last-of-type,
.broadcast_body:last-of-type {
	border-bottom: none;
}
.tv_body dt {
	color: var(--mainColor);
}
.broadcast_body_ttl {
	display: inline-block;
	font-size: 2.1rem;
	font-weight: 700;
	color: #fff;
	background-color: var(--mainColor);
	border-radius: 5px;
	padding: .1em .8em;
	margin-bottom: .6em;
}
.broadcast_body_ttl.em {
	background-image: linear-gradient(to right, var(--mainColor), var(--accentColor1));
}
.broadcast_body p {
	margin-bottom: 1em;
}
.broadcast_body p.em {
	font-size: 2.1rem;
	color: var(--mainColor);
	margin-bottom: .6em;
}
.broadcast-lists {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: .7em;
} 
.broadcast-btn a {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	color: var(--subColor);
	text-align: center;
	padding: .6em .5em;
	border: solid 2px var(--subColor);
	border-radius: 3em;
	transition: var(--speed);
}
.broadcast-lists + p {
	margin-top: 1.3em;
}
.karaoke-inner {
	background-color: rgba(253, 55, 177, .05);
	padding: 0 2em;
	border: solid 2px var(--mainColor);
	border-radius: 20px;
}
.karaoke-lists div {
	display: flex;
	align-items: center;
	gap: 1em;
	padding: 1em 0;
}
.karaoke-lists div:first-of-type {
	border-bottom: dotted 2px var(--mainColor);
}
.karaoke-lists dt {
	width: 30%;
}
.karaoke-lists dd {
	font-family: var(--mainFont);
}
.karaoke-lists a {
	color: var(--mainColor);
	padding-right: .9em;
	position: relative;
}
@media (min-width: 891px) {
	.tv_body div {
		display: flex;
	}
	.tv_body dt {
		width: 30%;
	}
	.broadcast-btn a:hover {
		opacity: 1;
		background-color: rgba(20,142,255, .3);
	}
}
@media (max-width: 890px) {
	.broadcast_body {
		padding: 1.4em 0;
	}
	.broadcast-lists {
		grid-template-columns: repeat(2, 1fr);
	}
	.broadcast-btn a:active {
		opacity: 1;
		background-color: var(--mainColor);
	}
	.karaoke-lists {
		grid-template-columns: repeat(1, 1fr);
	}
	.karaoke-lists dt {
		width: 40%;
	}
	.musicdata_youtube .head-deco {
		display: flex;
	  align-items: flex-start;
	  justify-content: center;
	  line-height: 1;
	}
	.musicdata_youtube .head-deco span {
		padding: 0 .2em;
	}
}

/*-----------------------------------------------
 *  STAFF&CAST
-------------------------------------------------*/
.l_staffcast {
	max-width: 900px;
	margin: 0 auto;
}
/*.staffcast_inner:nth-of-type(2) {
	margin-top: 5em;
}*/
.staffcast_inner + .staffcast_inner {
	margin-top: 5em;
}
.staffcast_inner_ttl {
  color: var(--mainColor);
  font-family: var(--headFont);
  font-size: 3.6rem;
  font-weight: 500;
  letter-spacing: .05em;
  text-align: center;
  margin-bottom: .5em;
}
.deregula-premium {
	margin-top: 3em;
}
.cast-ttl {
	display: inline-block;
	font-size: 2.1rem;
	color: #fff;
	background-color: var(--subColor);
	padding: 0 .5em;
	margin-bottom: 1em;
}
.l_cast {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.5em .6em;
}
.cast {
	text-align: center;
}
.cast_chara {
	color: var(--mainColor);
	line-height: 1.4;
}
.cast_name_txt, 
.cast_name_btn {
	display: inline-block;
	vertical-align: middle;
}
.cast_name_txt {
	font-size: min(5vw, 2.1rem);
}
.cast_name_txt:has(+ .cast_name_btn) {
	padding: 0 .2em 0 calc(25px + .2em);
}
/*.cast_name_txt br,
.comment_head_name br {
	display: none;
}*/
.cast_name_btn {
	width: 25px;
	height: 36px;
	position: relative;
}
.cast_name_btn::after {
	content: "・・・";
	font-size: .7em;
	letter-spacing: -.05em;
	color: #fff;
	position: absolute;
	top: 1.3em;
	left: .3em;
}
.cast_name_btn .bg-fire {
	fill: var(--mainColor);
}
.cast-description {
	font-size: .8em;
}
@media (max-width: 890px) {
	.l_cast {
		grid-template-columns: repeat(1, 1fr);
		padding: .5em 0;
	}
	.cast_name_btn::after {
		top: 1.5em;
		left: .4em;
	}
}
.cast .cast_comment {
	display: none;
}

.l_comment {
	margin: auto;
	padding: 3.1em 3.8em;
	background-color: #fff;
}
.comment_head_name.pc-staff-br br {
	display: block;
}
.comment-img {
	position: relative;
	z-index: 0;
	padding: 2px;
	border-radius: 20px;
}
.comment-img::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 0;
	background: linear-gradient(135deg, var(--subColor), var(--mainColor));
	border-radius: inherit;
}
.comment-img img {
	border-radius: 18px;
}
.comment_head {
	border-bottom: dotted 2px var(--mainColor);
	padding-bottom: 1em;
	margin-bottom: 1.5em;
}
.comment_head .cast-description {
	font-size: 1em;
	margin-top: .4em;
}
@media (min-width: 891px) {
	.comment {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}
	.comment-img {
		width: calc(45% - 3.1em);
	}
	.comment-r-content {
		width: 100%; /* 画像がない場合は横いっぱいに表示 */
	}
	.comment-img + .comment-r-content {
		width: 55%;
	}
}
.comment_head_chara {
	font-size: 2.1rem;
	color: var(--mainColor);
}
.comment_head_name {
	font-size: clamp(32px, 7vw, 40px);
}
.comment_body_txt {
	max-height: 350px;
	overflow-y: scroll;
	line-height: 1.8;
}
@media (max-width: 890px) {
	.modal:has(.cast_comment) {
		height: 100vh;
		overflow: scroll;
	}
	.cast_comment {
		padding: 4.5em 0 6em;
	}
	.modal_inner:has(.cast_comment) + .modal_close {
		position: static;
		margin-top: -9em;
	}
	.l_comment {
		width: min(92vw, 600px);
		padding: 2em 1.1em 3em;
	}
	.comment_head_name br {
		display: block;
	}
	.comment-img {
		border-radius: 15px;
		margin: 0 1.8em 1.5em;
	}
	.comment-img img {
		border-radius: 13px;
	}
	.comment_body_txt {
		max-height: 100%;
		overflow-y: auto;
	}
	.comment_head {
		padding: 0 1.8em 1.5em;
		margin-bottom: 1.5em;
	}
}
.l_modal:has(.cast_comment) {
	background: none;
}
.modal:has(.cast_comment) {
	max-width: 900px;
	z-index: 1;
}
/*-----------------------------------------------
 *  Blu-ray&DVD
-------------------------------------------------*/
/* タブ切り替え */
.disc-tab {
	display: flex;
	justify-content: center;
	margin-top: 2.5em;
}
.disc-tab a {
	display: inline-block;
	width: 120px;
	color: var(--txtColor);
	text-align: center;
	background-color: #fff;
	box-shadow: 0 0 10px rgba(0, 0, 0, .1);
	padding: .5em;
	border-radius: 90px;
	transition: var(--speed);
}
.disc-tab .active {
	color: #fff;
	background-color: var(--mainColor);
	box-shadow: none;
}
.disc-tab li + li {
	margin-left: .6em;
}
@media (min-width: 891px) {
	.l_bddvd {
		margin-top: -1em;
	}
}
.box {
	display: none;
}
.box.active {
	display: block;
	animation: show .9s ease-in-out forwards;
}
@keyframes show {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
.disc + .disc {
	margin-top: 2.5em;
}
.disc .inner_type {
	letter-spacing: .05em;
	min-width: 5em;
	text-align: center;
	border-radius: 3px;
}
.disc .common-detail {
	margin-bottom: 0;
}
.l-buybtn,
.disc-inner-img {
	margin-bottom: 1.3em;
}
.buybtn {
	display: inline-block;
	color: #fff;
	font-size: 1.8rem;
	background-color: var(--mainColor);
	padding: .4em 2em;
	border-radius: 3em;
}
/* 店舗特典 */
.bddvd_body_bonus {
	text-align: center;
}
.bddvd_body_bonus + .bddvd_body_bonus {
	margin-top: 4.5em;
}
.bonus-cat-ttl {
 	/* 上下巻の特典があるときのみ */
 	font-weight: 400;
  font-family: var(--headFontJa);
  color: var(--mainColor);
  line-height: 1.5;
  text-align: center;
  font-size: 3.6rem;
 	margin-bottom: .5em;
}
.l_bonus {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2em 1em;
}
.buytxt .bonus_head_ttl {
	padding-right: .9em;
	position: relative;
}
.buytxt .bonus_head_ttl::after,
.karaoke-lists a::after {
  content: "";
  display: inline-block;
  width: .7em;
  height: .6em;
  background-image: url(../img/icon_outside2.svg);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  right: 0;
  top: .3em;
}
.bonus_head_ttl {
	max-width: 100%;
	display: inline-block;
	font-size: 2.1rem;
	color: var(--mainColor);
	font-weight: 900;
	margin-bottom: .5em;
}
.bonus-img {
	padding: 1em;
	border-width: 3px;
	border-radius: 20px;
}
.bonus-img,
.bonus_body {
	margin-bottom: 1.3em;
}
.bonus-img img {
	aspect-ratio: 1 / 1;
	object-fit: contain;
}
.l_bonus .l-buybtn {
	position: absolute;
	right: 0;
	left: 0;
	bottom: 0;
	margin-bottom: 1.9em;
}
@media (max-width: 890px) {
	.disc-tab a {
		width: 100px;
	}
	.bddvd_body_bonus + .bddvd_body_bonus {
		margin-top: 3.5em;
	}
	.disc_inner .l-buybtn {
		text-align: center;
	}
	.buybtn {
		padding: .3em 2em;
	}
	.l_bonus {
		grid-template-columns: repeat(2, 1fr);
		gap: .7em;
	}
	.bonus_head_ttl {
		margin: 0 -.7em 1.7em;
	}
	.bonus_head_ttl,
	.l_bonus .l-buybtn {
		margin-bottom: .7em;
	}
	.bonus-img,
	.bonus_body {
		margin-bottom: .7em;
	}
	.bonus-img {
		border-radius: 10px;
		padding: .7em;
	}
	.bonus_body {
		text-align: left;
	}
}

/*-----------------------------------------------
 *  MUSIC
-------------------------------------------------*/
/* 共通見出し */
.common-head {
	border-bottom: dotted 2px var(--mainColor);
	padding-bottom: .7em;
	margin-bottom: 2em;
}
.inner_type {
	display: inline-block;
	font-size: .9em;
	line-height: 1;
	color: #fff;
	background-color: var(--mainColor);
	border-radius: 3px;
	padding: .4em .6em;
	margin-bottom: .7em;
}
.inner_ttl {
	font-size: 2.4rem;
}

.musicdata + .musicdata {
	margin-top: 2.5em;
}
.common-detail,
.musicdata_broadcast {
	margin-bottom: 3em;
}
.music_ttl {
	font-size: 2.8rem;
	font-weight: 900;
	margin-bottom: .7em;
}
.music-img img {
	border-radius: 20px;
}
.musicdata_inner_artist,
.disc_inner_date {
	font-size: 1.8rem;
	color: var(--mainColor);
	margin-bottom: 1.1em;
}
.common-info dl div,
.musicdata_inner_txt {
	margin-bottom: 1.3em;
}
.common-info dt {
	color: var(--mainColor);
	margin-bottom: .2em;
}
.musicdata_inner_detail {
	margin-top: 1em;
}
.musicdata h4 {
	font-size: 2.8rem;
	font-weight: 400;
	font-family: var(--headFont);
	color: var(--mainColor);
	text-align: center;
	margin-bottom: 0.8em;
}
.musicdata h4.jp {
	font-family: var(--headFontJa);
}
.musicdata .head-deco .bg-fire {
	width: 2.2rem;
}
.musicdata_youtube .topmov_body_mov {
	max-width: 720px;
	margin: auto;
}

@media (min-width: 891px) {
	.common-detail {
		display: flex;
		align-items: flex-start;
	}	
	.common-img {
		width: 40%;
		min-width: 200px;
		margin-right: 2em;
	}
	.common-info {
		width: calc(60% - 2em);
	}
	.music-img {
		width: 55%;
	}
}
@media (max-width: 890px) {
	.common-head {
		margin-bottom: 1.4em;
	}
	.inner_ttl {
		font-size: max(2.1rem, 3vw);
	}
	.common-img {
		margin-bottom: 1.4em;
	}
	.musicdata_inner_artist,
	.disc_inner_date {
		margin-bottom: 2.1rem;
	}
	.musicdata h4 {
		margin-bottom: 1.1em;
	}
}
/*-----------------------------------------------
 *  CHARACTER
-------------------------------------------------*/
/*.l_charawrap {
  max-width: 950px;
  margin: auto;
}*/
#lower .l_contents .separator-anime.character{
	background: linear-gradient(to right, var(--mainColor), var(--accentColor1));
}
.charawrap_head {
	max-width: 700px;
	margin: auto;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
}
.charawrap_head_btn {
	width: calc((100% - 60px) / 7);
	display: block;
	overflow: hidden;
	margin: 0 10px 20px;
}
.charawrap_head_btn img {
	transition: var(--speed);
}
.charawrap_head_btn:hover {
	opacity: 1;
}
.charawrap_head_btn:hover img {
	transform: scale(1.1);
}
.charawrap_head_btn.is_current .chara-icon-bg {
	fill: var(--mainColor);
}
.chara-icon-bg {
	fill: #b9dffc;
	transition: var(--speed);
}
.chara-icon-border {
	stroke: #fff;
	stroke-width: 2px;
	stroke-linejoin: round;
  stroke-linecap: round;
  transition: var(--speed);
}
@media (max-width: 890px) {
	.charawrap_head {
		max-width: 500px;
		gap: 15px;
	}
	.charawrap_head_btn {
		width: calc((100% - 60px) / 5);
		margin: 0;
	}
	.charawrap_head_btn:nth-of-type(2),
	.charawrap_head_btn:nth-of-type(4) {
		padding-top: 10px;
	}
	.charawrap_head_btn:nth-of-type(1),
	.charawrap_head_btn:nth-of-type(5) {
		padding-top: 30px;
	}
}
.l_chara .slick-list {
	overflow: visible;
}
.charawrap_body {

}
.chara_inner_namebox {
	width: 400px;
}
.name-bg-svg {
	width: 400px;
	fill: #fff;
	filter: drop-shadow(0px 0px 20px rgba(0, 0, 0, 0.2));
	overflow: visible;
	position: absolute;
	z-index: -1;
}
.chara_inner:nth-child(2) {
	padding-top: 30px; /* svg切れるの防止 */ 
}
@media (min-width: 891px) {
	.character + .contents .contents_body {
		margin-top: 0;
	}
	.chara-content {
		margin: auto;
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		padding: 110px 0 20px; /* 表情差分分 */
	}
	.character + .contents {
		max-width: 1100px;
	}
	.charawrap {
		position: relative;
	}
	.charawrap_head {
		flex-direction: column;
		align-items: flex-end;
		position: absolute;
		left: 50px;
		top: 85px;
		z-index: 1;
	}
	.charawrap_head_btn {
		width: 80px;
	}
	.charawrap_head_btn:nth-of-type(1) {
		margin-right: 0;
	}
	.charawrap_head_btn:nth-of-type(2) {
		margin-top: -90px;
		margin-right: 100px;
	}
	.charawrap_head_btn:nth-of-type(3) {
		margin-top: -60px;
		margin-right: 180px;
	}
	.charawrap_head_btn:nth-of-type(4) {
		margin-top: -15px;
		margin-right: 210px;
	}
	.charawrap_head_btn:nth-of-type(5) {
		margin-top: -15px;
		margin-right: 180px;
	}
	.charawrap_body {
		margin-left: 240px;
	}
	.chara_inner:nth-child(1) {
		width: 400px;
	}

	.chara_inner:nth-child(2) {
		width: calc(100% - 400px); 
		position: relative;
		top: -60px;
		left: -190px;
	}
}
/* 衣装差分(調整なし) */
.chara_inner_costume {
			width: 60px;
			position: absolute;
			bottom: 0;
			left: 0;
			z-index: 1;
		}
.chara_inner_costume >a {
				display: block;
				position: relative;
				overflow: hidden;
				border-radius: 1000px;
				transition: .3s opacity;
			}
.chara_inner_costume >a:nth-child(n+2) {
					margin: 10px 0 0;
				}
.chara_inner_costume >a.is_show {
					opacity: .6;
				}
@media (min-width: 891px) {
					.chara_inner_costume >a:hover {
						opacity: .6;
					}
				}
@media (max-width: 890px) {
					.chara_inner_costume >a:active {
						opacity: .6;
					}
				}
.chara_inner_img {
			pointer-events: none;
		}

.chara-content .chara_inner .chara_inner_img .chara_inner_img_detail {
				width: 100%;
				transition: .3s opacity;
			}
.chara-content .chara_inner .chara_inner_img .chara_inner_img_detail:not(.is_show) {
					position: absolute;
					right: 50%;
					bottom: 50%;
					transform: translate(50%, 50%);
					opacity: 0;
				}
.chara_inner_nametxt {
	display: flex;
	justify-content: center;
	height: 440px;
	padding-top: 5em;
}
.chara_inner_name {
  display: inline-block;
  font-family: var(--nameFont);
  font-weight: 500;
  line-height: 1.4;
  font-size: 5.5rem;
  letter-spacing: -.02em;
  writing-mode: vertical-rl;
  text-shadow: -1px -1px 0 var(--subColor), 1px 1px 0 var(--mainColor);
}
.chara_inner_cv {
	order: -1;
	display: inline-flex;
	flex-direction: column;
	font-family: var(--nameFont);
	margin-top: 4.5em;
}
.chara_inner_cv span {
	display: inline-block;
}
.chara_inner_cv span:nth-of-type(1) {
	color: #fff;
	line-height: 1.2;
	text-align: center;
	background-color: var(--mainColor);
	padding: 0 .15em;
	border-radius: 3px;
	margin-bottom: .5em;
}
.chara_inner_cv span:nth-of-type(2) {
	font-size: 2.1rem;
	font-weight: 500;
	writing-mode: vertical-rl;
	text-orientation: upright;
	line-height: 1.3;
}
.chara_inner_txt {
	width: 450px;
	line-height: 1.8;
	text-shadow: 1px 1px 1px #FFF, -1px 1px 1px #fff, -1px -1px 1px #fff, 1px -1px 1px #fff,
							 1px 1px 1px #FFF, -1px 1px 1px #fff, -1px -1px 1px #fff, 1px -1px 1px #fff,
							 1px 1px 3px #FFF, -1px 1px 3px #fff, -1px -1px 3px #fff, 1px -1px 3px #fff,					 
							 1px 1px 3px #FFF, -1px 1px 3px #fff, -1px -1px 3px #fff, 1px -1px 3px #fff;
	position: absolute;
	top: 410px;
	left: 130px;
}
/* 表情差分 */
.chara_inner_face {
	position: absolute;
	z-index: -1;
}
.katashiro-bg {
	fill: #fff;
	filter: drop-shadow(0px 0px 20px rgba(0, 0, 0, 0.2));
  overflow: visible;
}
.chara_inner_face.face1 {
	width: 400px;
	transform: rotate(-10deg);
}
.chara_inner_face.face1 image {
	transform-origin: center center;
	transform: rotate(10deg);
}
.chara_inner_face.face2 {
	width: 205px;
	transform: rotate(13deg);
}
.chara_inner_face.face2 image {
	transform-origin: center center;
	transform: rotate(-13deg);
}
@media (min-width: 891px) {
	.chara_inner_face.face1 {
		top: 350px;
		left: 280px;
	}
	.chara_inner_face.face2 {
		top: -40px;
		left: 330px;
	}
}
@media (max-width: 890px) {
	#lower .l_contents .separator-anime.character {
		top: 450px;
	}
	.charawrap_body {
		margin: 0 -15px;
	}
	.chara-content {
		position: relative;
		padding-top: 10vw;
		padding-bottom: min(55vw, 250px);
	}
  .chara_inner:first-of-type {
		width: min(75.6vw, 350px);
		position: relative;
		left: -13vw;
  }
  .chara_inner:nth-of-type(2) {
		position: absolute;
		top: 10px;
		left: 27vw;
		padding-top: 0;
	}
	.chara_inner_namebox {
		width: min(80vw, 315px);
	}
	.chara_inner_nametxt {
		height: min(87.6vw, 342px);
		padding-top: 4.5em;
	}
	.name-bg-svg {
		width: min(80vw, 315px);
		filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.2));
	}
	.chara_inner_name {
		font-size: min(10.2vw, 4.6rem);
	}
	.chara_inner_cv {
		margin-top: 2.9em;
	}
	.chara_inner_cv span:nth-of-type(1) {
		font-size: min(3.6vw, 1.6rem);
	}
	.chara_inner_cv span:nth-of-type(2) {
		font-size: min(4.6vw, 2.1rem);
	}
	.chara_inner_txt {
		width: 48vw;
		font-size: 1.4rem;
		line-height: 1.6;
		top: min(92vw, 350px);
		left: 18vw;
	}
	.chara_inner_face.face1 {
		width: min(61.5vw, 330px);
		top: min(116vw, 480px);
		left: 16vw
	}
	.chara_inner_face.face2 {
		width: min(36vw, 200px);
		top: min(160vw, 730px);
		left: -20vw;
	}
}
/* タブレットの時の表示崩れ防止 */
@media (min-width: 500px) and (max-width: 890px) {
	.chara_inner:first-of-type {
		left: 1vw;
	}
	.chara_inner_namebox {
		margin-left: 100px;
	}
	.chara_inner_face.face1 {
		left: 21vw;
	}
	.chara_inner_face.face2 {
		left: -7vw;
	}
}
/*-----------------------------------------------
 *  STORY
-------------------------------------------------*/		
/* スライダーのはみ出しを許可する */
#js_story,
#js_story .slick-list {
	overflow: visible !important;
}
#js_story .slick-track {
	display: flow-root;
}
#js_story:not(.slick-initialized) > li:not(:last-of-type) {
	display: none;
}
.intro {
	margin-top: .5em;
	position: relative;
}
.intro .intro_body {
	font-family: var(--mainFont); /* ここだけ全角括弧にしたい */
	background-image: url(../img/intro_bg_pc.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	padding: 2.5em 2em;
	border: solid 5px var(--mainColor);
	border-radius: 50px;
	margin: auto;
}
.intro_body p {
	font-size: 2.1rem;
	text-align: center;
	line-height: 2;
	letter-spacing: -0.4px;
	margin-bottom: 1.5em;
}
.intro_body .intro-txt-em {
	font-family: var(--headFontJa);
	font-weight: 400;
	font-size: 4.2rem;
	line-height: 1.5;
	margin-bottom: .5em;
}
.intro_body .intro-txt-em:first-of-type {
	text-shadow: 3px 3px 0 rgba(20,142,255,.5);
}
.intro_body mark {
	padding: 0 .5em;
	/* 改行対応 */
	-webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
/* 焚焚 */
.intro-effect,
.intro-effect-en {
	position: absolute;
	transform: scale(0);
}
.effect-right {
	width: 280px;
	top: 130px;
	right: -100px;
}
.effect-left {
	width: 302px;
	top: 330px;
	left: -90px;
} 
@media (max-width: 890px) {
	.intro .intro_body {
		border-width: 4px;
		border-radius: 30px;
		padding: 2.5em 1.1em;
	}
	.intro_body .intro-txt-em {
    font-size: 3rem;
	}
	.intro_body .intro-txt-em:first-of-type {
		margin-bottom: 1.3em;
	}
	.intro_body p {
		font-size: 1.8rem;
		line-height: 1.9;
	}
	.effect-right {
		width: 120px;
    top: -50px;
    right: -44px;
	}
	.effect-left {
		width: 100px;
    top: 104px;
    left: -32px;
	}
}

.story {
	margin: -1em auto 0;
}
.story_body {
	margin-bottom: 2em;
}
.story_head {
	text-align: center;
	margin-bottom: 2em;
}
.story_num {
	display: inline-block;
	font-family: var(--headFontJa);
	font-size: 2.4rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	color: var(--mainColor);
	margin-bottom: .2em;
}
.story_num span {
	font-family: var(--headFont);
	font-size: 1.2em;
}
.story_head_ttl {
	font-size: clamp(2.4rem,3vw, 2.8rem);
	font-weight: 900;
}
.story_body_img {
	width: 100%;
	aspect-ratio: 16 / 9;
	transition: .3s opacity;
	border: solid 5px var(--mainColor);
	border-radius: 30px;
	overflow: hidden;
	background-color: #fff;
}
@media (max-width: 890px) {
	.story_head {
		margin-bottom: 2.2em;
	}
	.story_body_img {
		border-radius: 20px;
    border-width: 4px;
	}
}
.story_body_img.is_hide {
	opacity: 0;
}
.story_body_thumb {
	margin: 1.9em 0 0;
	display: flex;
	flex-flow: row wrap;
}
.story_body_thumb >a {
	width: calc((100% - (.6em * 5)) / 6);
	display: block;
	transition: .3s opacity;
	background-color: var(--mainColor);
	border-radius: 10px;
	overflow: hidden;
}
.story_body_thumb > a img {
	transition: var(--speed);
}
.story_body_thumb > a.active img {
	opacity: .6;
}
@media (min-width: 891px) {
	.story_body_thumb >a:nth-child(n+2) {
		margin: 0 0 0 .6em;
	}

	.story_body_thumb >a:hover {
		opacity: .6;
	}
}
@media (max-width: 890px) {
	.story_body_thumb >a {
		width: calc((100% - 10px) / 3)
	}
	.story_body_thumb >a:not(:nth-child(3n)) {
		margin: 0 5px 0 0;
	}
	.story_body_thumb >a:nth-child(n+4) {
		margin-top: 10px;
	}
	.story_body_thumb >a:active {
		opacity: .6;
	}
}
.story_foot {
	background-color: #fff;
	padding: 2em;
	border-radius: 30px;
}
.story_foot + .story_foot {
	margin-top: 1.5em;
}
.story_foot_title {
	font-size: 1.8rem;
	color: var(--mainColor);
	margin-bottom: .5em;
}
.story_foot_txt {
	line-height: 1.8;
	padding-bottom: 1em;
	border-bottom: dotted 2px var(--mainColor);
	margin-bottom: 1em;
}
@media (max-width: 890px) {
	.story_foot {
		border-radius: 20px;
		padding: 1.4em 1.1em;
	}
}
.story_foot_staff {
	font-size: .9em;
	line-height: 1.6;
}
.story_foot_staff_txt {
	display: flex;
}
@media (min-width: 891px) {
	.story_foot_staff dl {
		display: flex;
		flex-wrap: wrap;
	}
	.story_foot_staff_txt:not(:last-of-type) {
		margin-right: 1em;
	}
}

/*-----------------------------------------------
 *  GOODS一覧
-------------------------------------------------*/		
.common-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2em 1em;
}
.common-list-item {
	color: var(--txtColor);
}
.common-list-img {
	padding: 1em;
  border-width: 3px;
  border-radius: 20px;
	margin-bottom: .6em;
}
.common-list-img img {
	aspect-ratio: 1 / 1;
	object-fit: contain;
}
.common-list-ttl {
	text-align: center;
}
@media (max-width: 890px) {
	.common-list {
		grid-template-columns: repeat(2, 1fr);
		gap: .7em;
	}
	.common-list-img {
		padding: .7em;
		border-radius: 10px;
	}
}
/*-----------------------------------------------
 *  GOODS詳細
-------------------------------------------------*/		
.goods-img {
	max-width: 500px;
	margin: 0 auto 2em;
}
.goods-img img {
	aspect-ratio: 1 / 1;
	object-fit: contain;
}
.goods-img-thumb {
	display: flex;
	justify-content: center;
	margin-bottom: 2em;
}
.goods-img-thumb a {
	width: calc((100% - 3.5em) / 6);
	max-width: 100px;
	background-color: #fff;
	border-radius: 10px;
	overflow: hidden;
}
.goods-img-thumb a:not(.active) {
	box-shadow: 0 0 10px rgba(0, 0, 0, .1);
}
.goods-img-thumb a + a {
	margin-left: .7em;
}
.goods-img-thumb img {
	aspect-ratio: 1 / 1;
	object-fit: contain;
}
.goods-img-thumb .active img {
	opacity: .4;
}
.goods-img-thumb .active {
	position: relative;
}
.goods-img-thumb .active::after {
	content: "";
	display: inline-block;
	width: 100%;
	height: 100%;
	background-color: var(--mainColor);
	opacity: .3;
	position: absolute;
	top: 0;
}
.goods_foot {
	max-width: 700px;
	margin: auto;
}
.common_body .goods-release-date {
	font-size: 1.15em;
	/* アクセントカラーが黄色のためメインカラーに変更
	color: var(--accentColor1);*/
	color: var(--mainColor);
}
.common_body .goods-head {
	/*color: var(--accentColor1);*/
	color: var(--mainColor);
}
.common_body p {
	margin-bottom: 1.3em;
}
.l_goods .l-buybtn {
	text-align: center;
	margin-top: 2em;
}
@media(max-width: 890px) {
	.goods-img,
	.goods-img-thumb {
		margin-bottom: 1.4em;
	}
	.goods-img-thumb a {
		width: calc((100% - 2.5em) / 6);
	}
	.goods-img-thumb a + a {
		margin-left: .5em;
	}
}

/* news＆スペシャル記事内 非公開youtube */
.youtube {
width: 100%;
	padding-top: 56.25%;
	position: relative;
	margin: 1.5em auto;
	transform: none;
	-webkit-transform: none;
	top: 0;
	left: 0;
}
.youtube iframe[src*="youtu"] {
 	position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
margin: 0;
}
/*-----------------------------------------------
 *  言語切り替え
-------------------------------------------------*/	
.langSwitch {
	position: absolute;
	top: 20px;
	right: 30px;
	z-index: 1;
	background-color: rgba(255, 255, 255, .8);
  border-radius: 2em;
}
.langSwitch a {
	color: var(--txtColor);
	padding: .5em .65em;
}
.langSwitch a.select {
	color: var(--mainColor);
	pointer-events: none;
}
@media (max-width: 890px) {
	.langSwitch {
		display: flex;
		flex-direction: column;
		align-items: center;
		top: 85px;
		right: 15px;
	}
	.langSwitch span {
		writing-mode: vertical-rl;
	}
}
/*-----------------------------------------------
 *  EN
-------------------------------------------------*/	
@media (min-width: 891px) {
	#en .onair-txt {
		font-family: var(--headFont);
		font-size: 3rem;
		line-height: 1.7;
	} 
	#en .onair-txt > span {
		padding: .1em .7em .15em;
	}
	#en .nav {
		margin: 40px 0 0;
	}
}
@media (max-width: 890px) {
	#en .onair-txt {
		font-size: 8.3vw;
		line-height: 1.6;
	}
	#en .onair-txt > span {
		padding: 0 .7em .15em;
	}
	#en .onair-txt .txt-s {
		font-size: .9em;
		padding: 0 .5em .15em;	
	}
}
#en .l_gnav > li {
	width: 100%;
	text-align: center;
}
#en .l_gnav > li:has(a[href*="#"]) {
	display: block;
}
#en .l_gnav > li > a[href*="#"] {
	pointer-events: auto;
	opacity: 1;
}
@media (max-width: 890px) {
	#en .l_nav:not(.is_show) .l_gnav > li > a[href*="#"] {
		pointer-events: none;
	}
}
#en .l_gnav > li > a:hover {
	opacity: .6;
}
#en .contents .separator-anime {
	opacity: 0;
	visibility: hidden;
	transition: var(--speed);
}
#en .contents .separator-anime::after {
	content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, var(--mainColor), var(--accentColor1));
  z-index: -1;
  opacity: 0;
  transition: var(--speed);
}
#en .contents .separator-anime.is-gradient-mode::after {
	opacity: 1;
}
#en section {
	padding: 50px 0 80px;
}
#en h2 {
	margin-bottom: .5em;
}
@media (max-width: 890px) {
	#en h2 {
		margin-bottom: 1em;
	}
}
#en .intro_body .intro-txt-em {
	font-family: var(--headFont);
	letter-spacing: 0;
}
@media (max-width: 890px) {
 #en .intro_body .intro-txt-em {
 	font-size: 2.6rem;
 }
 #en .effect-left {
 	top: 70px;
 }
}
#en .chara_inner_nametxt {
	display: inline-block;
	height: auto;
	padding-top: 9.4em;
	margin-left: 6.5em;
}
#en .chara_inner_name {
	display: block;
	writing-mode: horizontal-tb;
	font-size: 5rem;
	line-height: 1;
	margin-bottom: .15em;
}
#en .chara_inner_cv {
	display: flex;
	flex-direction: row;
	align-items: center;
	margin-top: 0;
	margin-left: 1.5em;
}
#en .chara_inner_cv span:nth-of-type(1) {
	margin-bottom: 0;
	margin-right: .4em;
}
#en .chara_inner_cv span:nth-of-type(2) {
	writing-mode: horizontal-tb;
}
#en .chara_inner_txt {
	overflow-wrap: anywhere;
	line-height: 1.5;
}
@media (min-width: 891px) {
	#en .chara_inner_txt {
		top: 380px;
	}
}
#en .staffcast_inner {
	max-width: 900px;
	margin-right: auto;
	margin-left: auto;
}
@media (max-width: 890px) {
	#en .chara_inner_nametxt {
		padding-top: 30.2vw;
		margin-left: 19.5vw;
	}
	#en .chara_inner_name {
		font-size: min(10.2vw, 4.6rem);
	}
	#en .chara_inner_txt {
		top: min(92vw, 300px);
	}
}
@media (min-width: 500px) and (max-width: 890px) {
	#en .chara_inner_nametxt {
		padding-top: 8.5em;
    margin-left: 5em;
	}
}