@charset "utf-8";
/*-----------------------------------------------
 * FV
 * レスポンシブは基本スタイルを引き継ぐ（PCファースト）
 * @media screen and (max-width:768px)
-------------------------------------------------*/
:root {
	--color-redD44: #D44248;
	--cubic-bezier01: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.section.fv {
	position: relative;
}
.fv .deco__grad{
	content: "";
	width: 100%;
	height: min(calc(229 / var(--vw-min) * 100vw), 229px);
	position: absolute;
	bottom: 0;
	background: linear-gradient(180deg, rgba(5, 16, 39, 0.00) 0%, #051027 100%);
	z-index: 3;
	pointer-events: none;
}
@media screen and (max-width:768px){
	.fv .deco__grad{
		display: none;
	}
}
.deco__title{
	display: block;
	width: min(calc(867 / var(--vw-min) * 100vw), 867px);
	height: min(calc(95 / var(--vw-min) * 100vw), 95px);
	background: url(../img/top/deco/txt_spiritcircle.svg) no-repeat center center / contain;
	position: absolute;
	left: 0;
	bottom: max(calc(-48 / var(--vw-min) * 100vw), -48px);
	z-index: 4;
	pointer-events: none;
}
@media screen and (max-width:768px){
	.deco__title{
		display: none;
	}
}
.movie{
	padding-top: min(calc(260 / var(--vw-min) * 100vw), 260px);
	padding-bottom: min(calc(200 / var(--vw-min) * 100vw), 200px);
	position: relative;
	color: #fff;
}
@media screen and (max-width:768px){
	.movie{
		padding-top: 0;
		padding-bottom: 0;
	}
}

.movie__grad._top{
	content: "";
	width: 100%;
	height: min(calc(368 / var(--vw-min) * 100vw), 368px);
	position: absolute;
	top: 0;
	background: linear-gradient(0deg, rgba(5, 16, 39, 0.00) 0%, #051027 100%);
	z-index: 2;
	pointer-events: none;
}
.movie__grad._btm{
	display: none;
	content: "";
	width: 100%;
	height: min(calc(368 / var(--vw-min) * 100vw), 368px);
	position: absolute;
	bottom: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, #000 100%);
	z-index: 2;
	pointer-events: none;
}
@media screen and (max-width:768px){
	.movie__grad._top, .movie__grad._btm{
		display: none;
	}
}
/**
 * MOVIE
 */
.movie__inner{
	position: relative;
	z-index: 3;
}
.movieSwiperWrap{
	position: relative;
}
.movieSwiper{
	overflow: hidden;
	padding-bottom: min(calc(30 / var(--vw-min) * 100vw), 30px);
}
.movieSwiper:not(.swiper-initialized){
	overflow: hidden;
}
.movieSwiperLists{
	align-items: flex-start;
	padding: calc(24 / var(--vw-min) * 100vw) 0 0;
}
.movieItem{
	width: min(calc(800 / var(--vw-min) * 100vw), 800px);
	/*height: min(calc(450 / var(--vw-min) * 100vw), 450px);*/
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: calc(20 / var(--vw-min) * 100vw);
}
.movieItemIn{
	--movie-shift: min(calc(100 / var(--vw-min) * 100vw), 100px);
	width: min(calc(800 / var(--vw-min) * 100vw), 800px);
	height: min(calc(450 / var(--vw-min) * 100vw), 450px);
	position: relative;
	flex: 0 0 auto;
	scale: 0.75;
	translate: 0 0;
}
.swiper-slide-prev .movieItemIn{
	translate: var(--movie-shift) 0;
}
.swiper-slide-next .movieItemIn{
	translate: calc(var(--movie-shift) * -1) 0;
}
.swiper-slide-active .movieItemIn,
.movieSwiper:not(.swiper-initialized) .movieItem:first-child .movieItemIn{
	scale: 1;
	translate: 0 0;
}
.movieSwiper .swiper-slide-active{
	z-index: 2;
}
.movieItem__link{
	display: block;
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, #2691F4 0%, #FF66D2 100%);
	cursor: pointer;
	color: inherit;
	padding: 1px;
}
.swiper-slide-active .movieItem__link{
	background-blend-mode: multiply, normal, normal, normal;
	box-shadow: 0 0 min(calc(15 / var(--vw-min) * 100vw), 15px) #F8FF96;
}
.movieItem__thumb,
.movieItem__shade,
.movieItem__texture{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	pointer-events: none;
	width: calc(100% - 2px);
	height: calc(100% - 2px);
}
.movieItem__thumb img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.movieItem__shade{
	background: rgba(5, 16, 40, .6);
}
.movieItem__texture{
	background: url(../img/top/movie/texture.png) left top / min(calc(500 / var(--vw-min) * 100vw), 500px) min(calc(500 / var(--vw-min) * 100vw), 500px) repeat;
	mix-blend-mode: multiply;
	opacity: .4;
}
.movieItem__frame{
	position: absolute;
	inset: 0;
	margin: auto;
	width: calc(100% - min(calc(20 / var(--vw-min) * 100vw), 20px));
	height: calc(100% - min(calc(20 / var(--vw-min) * 100vw), 20px));
	background-image: url(../img/top/character/frame_lt.svg), url(../img/top/character/frame_rt.svg),
	url(../img/top/character/frame_lb.svg), url(../img/top/character/frame_rb.svg);
	background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
	background-position: left top, right top, left bottom, right bottom;
	background-size: min(calc(140 / var(--vw-min) * 100vw), 140px);
	z-index: 2;
	pointer-events: none;
}

.icon_playmovie{
	position: absolute;
	inset: 0;
	pointer-events: none;
}
.icon_playmovie{
	opacity: 0;
	transform: scale(.85);
	transition: opacity .4s ease, transform .4s ease;
}
.swiper-slide-active .icon_playmovie,
.movieSwiper:not(.swiper-initialized) .movieItem:first-child .icon_playmovie{
	opacity: 1;
	transform: scale(1);
}
.icon_playmovie__circle,
.icon_playmovie__frame{
	position: absolute;
	inset: 0;
	margin: auto;
	display: block;
}
.icon_playmovie__circle{
	width: min(calc(200 / var(--vw-min) * 100vw), 200px);
	height: min(calc(200 / var(--vw-min) * 100vw), 200px);
	background: url(../img/top/movie/play-circle.svg) center center / contain no-repeat;
	animation: circleSpin 20s linear infinite;
}
.icon_playmovie__frame{
	width: min(calc(180 / var(--vw-min) * 100vw), 180px);
	height: min(calc(180 / var(--vw-min) * 100vw), 180px);
	background-color: rgba(255, 255, 255, 0.3);
	border-radius: 50%;
}
.icon_playmovie__frame::before{
	content: "";
	display: block;
	width: 90%;
	height: 90%;
	background: url(../img/common/play_playmovie.svg) center center / contain no-repeat;
	position: absolute;
	inset: 0;
	margin: auto;
	animation: circleSpin 20s linear infinite reverse;
}
.icon_playmovie__frame::after{
	content: "";
	display: block;
	width: min(calc(62 / var(--vw-min) * 100vw), 62px);
	height: min(calc(28 / var(--vw-min) * 100vw), 28px);
	background: url(../img/common/play_triangle.svg) center right / contain no-repeat;
	position: absolute;
	inset: 0;
	margin: auto;
}
@media screen and (max-width:768px){
	.icon_playmovie__frame{
		width: calc(78 / var(--vw-min) * 100vw);
		height: calc(78 / var(--vw-min) * 100vw);
	}
	.icon_playmovie__frame::after{
		width: calc(24 / var(--vw-min) * 100vw);
		height: calc(10 / var(--vw-min) * 100vw);
	}
}
.movieItem__ttl{
	color: #fff;
	font-size: min(calc(18 / var(--vw-min) * 100vw), 18px);
	font-weight: 500;
	line-height: min(calc(22 / var(--vw-min) * 100vw), 22px);
	letter-spacing: 0;
	text-align: center;
	white-space: nowrap;
	opacity: 0;
}
.swiper-slide-active .movieItem__ttl,
.movieSwiper:not(.swiper-initialized) .movieItem:first-child .movieItem__ttl{
	opacity: 1;
}
.movieItem__ttl .font-en{
	font-weight: 500;
}
.movieSliderControl{
	position: static;
}
.movieSliderControl[hidden]{
	display: none;
}
.movieSwiper-nav{
	display: flex;
	align-items: center;
	gap: min(calc(12 / var(--vw-min) * 100vw), 12px);
	color: #fff;
	position: absolute;
	top: min(calc(250 / var(--vw-min) * 100vw), 250px);
	z-index: 4;
	transform: translateY(-50%);
	transition: opacity .3s ease;
}
.movieSwiper-nav--prev{
	left: calc(50% - min(calc(528 / var(--vw-min) * 100vw), 528px));
}
.movieSwiper-nav--next{
	left: calc(50% + min(calc(420 / var(--vw-min) * 100vw), 420px));
}
.movieSwiper-nav__label{
	font-size: min(calc(20 / var(--vw-min) * 100vw), 20px);
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0;
}
.movieSwiper-nav__arrow{
	width: min(calc(45.667 / var(--vw-min) * 100vw), 45.667px);
	height: min(calc(45.667 / var(--vw-min) * 100vw), 45.667px);
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
}
.movieSwiper-nav__arrow img{
	width: min(calc(32.2912 / var(--vw-min) * 100vw), 32.2912px);
	height: min(calc(32.2912 / var(--vw-min) * 100vw), 32.2912px);
	display: block;
}
.movieSwiper-nav--next .movieSwiper-nav__arrow img{
	transform: rotate(45deg);
}
.movieSwiper-nav--prev .movieSwiper-nav__arrow img{
	transform: rotate(135deg) scaleY(-1);
}
.movie__pagerLists{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: min(calc(8 / var(--vw-min) * 100vw), 8px);
}
.movie__pagerItem{
	width: min(calc(17 / var(--vw-min) * 100vw), 17px);
	height: min(calc(17 / var(--vw-min) * 100vw), 17px);
}
@media screen and (max-width:768px){
	.movie__pagerLists{
		gap: calc(6 / var(--vw-min) * 100vw);
	}
	.movie__pagerItem{
		width: calc(13 / var(--vw-min) * 100vw);
		height: calc(13 / var(--vw-min) * 100vw);
	}
}
.movie__pagerBtn{
	width: 100%;
	height: 100%;
	position: relative;
	display: block;
}
.movie__pagerRing,
.movie__pagerCore{
	display: block;
	position: absolute;
	inset: 0;
	margin: auto;
}
.movie__pagerRing{
	width: min(calc(17 / var(--vw-min) * 100vw), 17px);
	height: min(calc(17 / var(--vw-min) * 100vw), 17px);
}
.movie__pagerCore{
	width: min(calc(5 / var(--vw-min) * 100vw), 5px);
	height: min(calc(5 / var(--vw-min) * 100vw), 5px);
}
.movie__pagerRing--on,
.movie__pagerCore--on{
	display: none;
}
.movie__pagerItem.--is-active .movie__pagerRing--off,
.movie__pagerItem.--is-active .movie__pagerCore--off{
	display: none;
}
.movie__pagerItem.--is-active .movie__pagerRing--on,
.movie__pagerItem.--is-active .movie__pagerCore--on{
	display: block;
}
@media screen and (max-width:768px){
	.movieSwiper{
		padding-bottom: 0;
	}
	.movieItem{
		width: calc(311 / var(--vw-min) * 100vw);
		height: auto;
	}
	.movieItemIn{
		--movie-shift: calc(311 / var(--vw-min) * 100vw * 0.125);
		width: calc(311 / var(--vw-min) * 100vw);
		height: auto;
		aspect-ratio: 16 / 9;
	}
	.movieSwiper-nav,
	.movieSwiper-nav--prev,
	.movieSwiper-nav--next{
		position: static;
		top: auto;
		left: auto;
		transform: none;
	}
	.movieSliderControl{
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: calc(14 / var(--vw-min) * 100vw);
		margin-top: calc(10 / var(--vw-min) * 100vw);
		padding: 0 calc(20 / var(--vw-min) * 100vw);
	}
	.movie__pagerLists{
		margin-top: calc(12 / var(--vw-min) * 100vw);
	}
	.movieItem__ttl{
		font-size: calc(12 / var(--vw-min) * 100vw);
	}
	.movieSwiper-nav__label{
		font-size: calc(14 / var(--vw-min) * 100vw);
	}
	.icon_playmovie__circle{
		width: calc(78 / var(--vw-min) * 100vw);
		height: calc(78 / var(--vw-min) * 100vw);
	}
	.icon_playmovie__frame{
		width: calc(70 / var(--vw-min) * 100vw);
		height: calc(70 / var(--vw-min) * 100vw);
	}
	.movieItem__frame{

		width: calc(100% - calc(8 / var(--vw-min) * 100vw));
		height: calc(100% - calc(8 / var(--vw-min) * 100vw));
		background-size: calc(54 / var(--vw-min) * 100vw);
	}
}
@media (hover: hover) and (pointer: fine){
	.movieSwiper-nav:hover{
		opacity: .7;
	}
	.swiper-slide-active .movieItem__link:hover .icon_playmovie{
		transform: scale(1.06);
	}
}
@media (prefers-reduced-motion: reduce){
	.movieItemIn,
	.icon_playmovie{
		transition: none;
	}
	.icon_playmovie__circle,
	.icon_playmovie__frame::before{
		animation: none;
	}
}

.fvWrap {
	display: flex;
	height:calc(1024 / var(--vw-min) * 100vw);
}
@media screen and (max-width:768px){
	.fvWrap {
		flex-direction: column;
		height: auto;
	}
}

/**
 * left
 */
.fv__left {
	width: 50%;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}
@media screen and (max-width:768px){
	.fv__left {
		width: 100%;
	}
}
.fv__leftIn {
	position: sticky;
	top: 0;
	width: 100%;
	height: calc(1024 / var(--vw-min) * 100vw);
}
@media screen and (max-width:768px){
	.fv__leftIn {
		height: auto;
	}
}
.visualSwiper{
	height: 100%;
}
.fv__visualImg{
	width: 100%;
	height: calc(1024 / var(--vw-min) * 100vw);
}
.fv__visualImg picture{
	display: block;
	width: 100%;
	height: 100%;
}
.fv__visualImg img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: contain;
	pointer-events: none;
}
@media screen and (max-width:768px){
	.fv__visualImg {
		height: auto;
	}
}
.visualSwiper:not(.swiper-initialized) .fv__visual:not(:first-child) {
	display: none;
}
@media screen and (min-width:769px){
	.fv__leftBgLists {
		width: 100%;
		height: 100%;
		position: absolute;
		inset: 0;
		z-index: -1;
		margin: auto;
		overflow: hidden;
	}
	.fv__leftBgItem {
		width: 100%;
		height: 100%;
		position: absolute;
		bottom: 0;
		opacity: 0;
		filter: blur(15px);
		transform: scale(1.08);
		transition: opacity .6s ease;
	}
	.fv__leftBgItem img {
		width: 100%;
		height: 100%;
		position: absolute;
		inset: 0;
		margin: auto;
		object-fit: cover;
		pointer-events: none;
	}
	.fv__leftBgItem.--is-active {
		opacity: 1;
		z-index: 1;
	}
}

.fv__changeListsWrap {
	width: min(calc(39 / var(--vw-min) * 100vw), 39px);
	position: absolute;
	top: 0;
	right: min(calc(-15 / var(--vw-min) * 100vw), -15px);
	z-index: 10;
	height: 100%;
}

.fv__changeListsWrapIn {
	position: sticky;
	top: 0;
	z-index: 10;
	display: flex;
	align-items: center;
	justify-content: center;
	height: min(calc(1024 / var(--vw-min) * 100vw), 100vh);
}
.fv__changeLists {
	--fv-change-w: min(calc(39 / var(--vw-min) * 100vw), 39px);
	--fv-change-point: min(calc(11.904 / var(--vw-min) * 100vw), 11.904px);
	--fv-change-pad: min(calc(24 / var(--vw-min) * 100vw), 24px);
	--fv-change-gap: min(calc(8 / var(--vw-min) * 100vw), 8px);
	--fv-change-dot: min(calc(17 / var(--vw-min) * 100vw), 17px);
	--fv-change-core: min(calc(5 / var(--vw-min) * 100vw), 5px);
	--fv-change-side: min(calc(1 / var(--vw-min) * 100vw), 1px);
	--fv-change-tip: min(calc(1.172 / var(--vw-min) * 100vw), 1.172px);
	--fv-change-shoulder: min(calc(12.465 / var(--vw-min) * 100vw), 12.465px);
	width: var(--fv-change-w);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--fv-change-gap);
	padding: var(--fv-change-pad) 0;
	background-color: rgba(255, 255, 255, 0.3);
	clip-path: polygon(
		50% 0,
		100% var(--fv-change-point),
		100% calc(100% - var(--fv-change-point)),
		50% 100%,
		0 calc(100% - var(--fv-change-point)),
		0 var(--fv-change-point)
	);
	position: relative;
}
.fv__changeLists::before {
	content: "";
	position: absolute;
	inset: 0;
	background-color: var(--color-blue);
	pointer-events: none;
	clip-path: polygon(
		50% var(--fv-change-tip),
		calc(100% - var(--fv-change-side)) var(--fv-change-shoulder),
		calc(100% - var(--fv-change-side)) calc(100% - var(--fv-change-shoulder)),
		50% calc(100% - var(--fv-change-tip)),
		var(--fv-change-side) calc(100% - var(--fv-change-shoulder)),
		var(--fv-change-side) var(--fv-change-shoulder)
	);
}
@media screen and (max-width:768px){
	.fv__changeListsWrap {
		width: auto;
		height: var(--fv-change-w, min(calc(39 / var(--vw-min) * 100vw), 39px));
		margin: auto;
		position: absolute;
		right: 0;
		top: unset;
		left: 0;
		bottom: calc(-12 / var(--vw-min) * 100vw);
		z-index: 10;
	}
	.fv__changeListsWrapIn {
		height: unset;
		position: relative;
		top: unset;
		left: unset;
		height: 100%;
	}
	.fv__changeLists {
		width: fit-content;
		height: var(--fv-change-w);
		margin: auto;
		flex-direction: row;
		padding: 0 var(--fv-change-pad);
		position: relative;
		top: unset;
		right: 0;
		left: 0;
		bottom: 0;
		transform: none;
		clip-path: polygon(
			0 50%,
			var(--fv-change-point) 0,
			calc(100% - var(--fv-change-point)) 0,
			100% 50%,
			calc(100% - var(--fv-change-point)) 100%,
			var(--fv-change-point) 100%
		);
	}
	.fv__changeLists::before {
		clip-path: polygon(
			var(--fv-change-tip) 50%,
			var(--fv-change-shoulder) var(--fv-change-side),
			calc(100% - var(--fv-change-shoulder)) var(--fv-change-side),
			calc(100% - var(--fv-change-tip)) 50%,
			calc(100% - var(--fv-change-shoulder)) calc(100% - var(--fv-change-side)),
			var(--fv-change-shoulder) calc(100% - var(--fv-change-side))
		);
	}
}
.fv__visualChange {
	width: var(--fv-change-dot);
	height: var(--fv-change-dot);
	position: relative;
	z-index: 1;
	flex: 0 0 auto;
}
.fv__visualBtn {
	width: 100%;
	height: 100%;
	position: relative;
	display: block;
	border: 0;
	background: transparent;
}
.fv__visualBtn__ring,
.fv__visualBtn__core {
	display: block;
	position: absolute;
	inset: 0;
	margin: auto;
	pointer-events: none;
}
.fv__visualBtn__ring {
	width: var(--fv-change-dot);
	height: var(--fv-change-dot);
}
.fv__visualBtn__core {
	width: var(--fv-change-core);
	height: var(--fv-change-core);
}
.fv__visualBtn__ring--on,
.fv__visualBtn__core--on {
	display: none;
}
.fv__visualBtn.--is-active .fv__visualBtn__ring--off,
.fv__visualBtn.--is-active .fv__visualBtn__core--off {
	display: none;
}
.fv__visualBtn.--is-active .fv__visualBtn__ring--on,
.fv__visualBtn.--is-active .fv__visualBtn__core--on {
	display: block;
}
@media (hover: hover) and (pointer: fine){
	.fv__visualBtn:hover .fv__visualBtn__ring--off,
	.fv__visualBtn:hover .fv__visualBtn__core--off {
		display: none;
	}
	.fv__visualBtn:hover .fv__visualBtn__ring--on,
	.fv__visualBtn:hover .fv__visualBtn__core--on {
		display: block;
	}
}

/**
 * right
 */
.fv__right {
	width: 50%;
	position: relative;
	z-index: 5;
	padding-top: min(calc(156 / var(--vw-min) * 100vw), 156px);
	padding-bottom: min(calc(118 / var(--vw-min) * 100vw), 118px);
	pointer-events: none;
}
.fv__right a,
.fv__right button {
	pointer-events: auto;
}
@media screen and (max-width:768px){
	.fv__right {
		width: 100%;
		padding-top: calc(40 / var(--vw-min) * 100vw);
		padding-bottom: 0;
	}
}
.fv__rightIn {
	position: relative;
	position: sticky;
	padding: calc(40 / var(--vw-min) * 100vw) 0;
	top: 0;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
}
@media screen and (max-width:768px){
	.fv__rightIn {
		padding:0;
	}
}
.fv__logo {
	width: calc(584 / var(--vw-min) * 100vw);
	height: calc(144 / var(--vw-min) * 100vw);
	margin: 0 auto;
	background: url(../img/common/logo/logo.png) no-repeat center center / contain;
	filter: drop-shadow(0 0 8px #FFF);
}
@media screen and (max-width:768px){
	.fv__logo {
		width: calc(320 / var(--vw-min) * 100vw);
		height: calc(79 / var(--vw-min) * 100vw);
	}
}
@media screen and (max-width:768px){
	.fv__logo.sp {
		display: flex;
		width: calc(260.5 / var(--vw-min) * 100vw);
		height: calc(60 / var(--vw-min) * 100vw);
		position: absolute;
		right: 0;
		bottom: calc(28 / var(--vw-min) * 100vw);
		left: 0;
		z-index: 1;
		margin: 0 auto;
		color: #fff;
		font-size: calc(32 / var(--vw-min) * 100vw);
		text-shadow: 0 2px 12px rgba(0, 0, 0, .35);
	}
}
.fv__onair {
	width:100%;
	height: calc(79 / var(--vw-min) * 100vw);
	margin-top: calc(40 / var(--vw-min) * 100vw);
	background: url(../img/top/fv/onair.png) no-repeat center center / contain;

}

@media screen and (max-width:768px){
	.fv__onair {
		height: calc(50 / var(--vw-min) * 100vw);
		margin-top: calc(6 / var(--vw-min) * 100vw);
	}
}

/**
 * news
 */
.news {
	width: calc(583 / var(--vw-min) * 100vw);
	padding: calc(40 / var(--vw-min) * 100vw) 0 calc(80 / var(--vw-min) * 100vw);
}
@media screen and (max-width:768px){
	.news {
		width: 100%;
		padding: calc(24 / var(--vw-min) * 100vw) calc(24 / var(--vw-min) * 100vw) calc(30 / var(--vw-min) * 100vw);
	}
}
.newsCont {
	position: relative;
	width: 100%;
}

.news__item:not(:first-child) .news__link {
	margin-top: min(calc(8 / var(--vw-min) * 100vw), 8px);
}
@media screen and (max-width:768px){
	.news__item:not(:first-child) .news__link {
		margin-top: calc(10 / var(--vw-min) * 100vw);
	}
}
.news__link {
	font-size: min(calc(15 / var(--vw-min) * 100vw), 15px);
	font-weight: 500;
	line-height: 1.5;
	color: #FFF;
	width: 100%;
	position: relative;
	display: block;
	text-decoration: none;
	border-bottom: min(calc(2 / var(--vw-min) * 100vw), 2px) solid var(--color-blue);
	padding: min(calc(28 / var(--vw-min) * 100vw), 28px) min(calc(30 / var(--vw-min) * 100vw), 30px);
	background: rgba(0, 0, 0, 0.30);
	backdrop-filter: blur(40px);
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	gap: min(calc(10 / var(--vw-min) * 100vw), 10px);
	height: min(calc(90 / var(--vw-min) * 100vw), 90px);
}
@media screen and (max-width:768px){
	.news__link {
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		font-size: calc(12 / var(--vw-min) * 100vw);
		border-width: calc(1 / var(--vw-min) * 100vw);
		padding:calc(9 / var(--vw-min) * 100vw) calc(12 / var(--vw-min) * 100vw);
		height: calc(76 / var(--vw-min) * 100vw);
		gap: calc(6 / var(--vw-min) * 100vw);
	}


}
.news__item:not(:first-child) .news__link {
	padding-top: min(calc(20 / var(--vw-min) * 100vw), 20px);
}
@media screen and (max-width:768px){
	.news__item:not(:first-child) .news__link {
		padding-top: calc(10 / var(--vw-min) * 100vw);
	}
}
.news__link::after {
	content: "";
	width: 100%;
	height: min(calc(1 / var(--vw-min) * 100vw), 1px);
	display: block;
	position: absolute;
	bottom: max(calc(-1 / var(--vw-min) * 100vw), -1px);
	left: 0;
	background-repeat: no-repeat;
	background-position: left bottom;
	background-size: 0% 100%;
	background-image: linear-gradient(#000, #000);
	transition: .3s var(--cubic-bezier01);
}
@media screen and (max-width:768px){
	.news__link::after {
		height: calc(1 / var(--vw-min) * 100vw);
		bottom: calc(-1 / var(--vw-min) * 100vw);
	}
}
.news__time {
	color: var(--color-blue);
	font-size: min(calc(16 / var(--vw-min) * 100vw), 16px);
	font-weight: 500;
	letter-spacing: 0.08em;
}

@media screen and (max-width:768px){
	.news__time {
		font-size: calc(12 / var(--vw-min) * 100vw);
		line-height:1;
	}
}
.news__tit {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: min(calc(15 / var(--vw-min) * 100vw), 15px);
	font-weight: 500;
	line-height: 1.5;
	transition: color .3s var(--cubic-bezier01);
}
.news__arrow{
	position: absolute;
	right: max(calc(-10 / var(--vw-min) * 100vw), -10px);
	bottom: 0;
	top: 0;
	margin: auto;
	width: min(calc(19 / var(--vw-min) * 100vw), 19px);
	height: min(calc(19 / var(--vw-min) * 100vw), 19px);
	mask: url(../img/common/arrow.svg) no-repeat center center / contain;
	background-color: var(--color-blue);
	transition: .3s var(--cubic-bezier01);
}
@media screen and (max-width:768px){
	.news__tit {
		font-size: calc(12 / var(--vw-min) * 100vw);
		line-height:calc(20 / var(--vw-min) * 100vw);
	}
	.news__arrow {
		width: calc(15 / var(--vw-min) * 100vw);
		height: calc(15 / var(--vw-min) * 100vw);
	}
}
@media (hover: hover) and (pointer: fine){
	.news__link:hover {
		color: var(--color-blue);
	}
	.news__link:hover .news__arrow {
		transform: translateX(3px);
		transition-delay: .3s;
	}
}

/**
 * link
 */
.mt24 {
	margin-top: min(calc(24 / var(--vw-min) * 100vw), 24px);
}
@media screen and (max-width:768px){
	.mt24 {
		margin-top: min(calc(4 / var(--vw-min) * 100vw), 8px);
	}
}
.linkBtn {
	display: flex;
	justify-content: center;
	position: relative;
	z-index: 1;
	width: 100%;
	margin-top: min(calc(40 / var(--vw-min) * 100vw), 40px);
}
@media screen and (max-width:768px){
	.linkBtn {
		margin-top: calc(24 / var(--vw-min) * 100vw);
	}
}
.linkBtn.mt24 {
	margin-top: min(calc(24 / var(--vw-min) * 100vw), 24px);
}
@media screen and (max-width:768px){
	.linkBtn.mt24 {
		margin-top: calc(12 / var(--vw-min) * 100vw);
	}
}
.linkA {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: min(calc(6 / var(--vw-min) * 100vw), 6px);
	width: min(calc(290 / var(--vw-min) * 100vw), 290px);
	height: min(calc(50 / var(--vw-min) * 100vw), 50px);
	padding: 0;
	border: none;
	border-radius: min(calc(54 / var(--vw-min) * 100vw), 54px);
	background-color: var(--color-blue);
	overflow: hidden;
	color: #000;
	font-size: min(calc(16 / var(--vw-min) * 100vw), 16px);
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0;
	text-decoration: none;
	white-space: nowrap;
	transition: color .3s var(--cubic-bezier01);
}
.linkA::before {
	content: "";
	position: absolute;
	top: 0;
	left: min(calc(5 / var(--vw-min) * 100vw), 5px);
	width: min(calc(280 / var(--vw-min) * 100vw), 280px);
	height: min(calc(52 / var(--vw-min) * 100vw), 52px);
	border: min(calc(1 / var(--vw-min) * 100vw), 1px) solid var(--color-blue);
	border-radius: inherit;
	box-sizing: border-box;
	background-color: rgba(255, 255, 255, .8);
	pointer-events: none;
	transition: background-color .3s var(--cubic-bezier01);
}
.linkA::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	box-shadow: inset 0 0 0 min(calc(1 / var(--vw-min) * 100vw), 1px) var(--color-blue);
	pointer-events: none;
}
.linkA > span {
	position: relative;
	z-index: 1;
}
@media screen and (max-width:768px){
	.linkA {
		gap: calc(5.1725 / var(--vw-min) * 100vw);
		width: calc(250 / var(--vw-min) * 100vw);
		height: calc(43 / var(--vw-min) * 100vw);
		border-radius: calc(46.5515 / var(--vw-min) * 100vw);
		font-size: calc(14 / var(--vw-min) * 100vw);
	}
	.linkA::before {
		left: calc(4.3105 / var(--vw-min) * 100vw);
		width: calc(241.3795 / var(--vw-min) * 100vw);
		height: calc(44.8275 / var(--vw-min) * 100vw);
		border-width: calc(0.862 / var(--vw-min) * 100vw);
	}
	.linkA::after {
		box-shadow: inset 0 0 0 calc(0.862 / var(--vw-min) * 100vw) var(--color-blue);
	}
}
.linkBtn__arrow {
	position: relative;
	flex: none;
	width: min(calc(14.142 / var(--vw-min) * 100vw), 14.142px);
	height: min(calc(14.142 / var(--vw-min) * 100vw), 14.142px);
}
.linkBtn__arrow::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: min(calc(10 / var(--vw-min) * 100vw), 10px);
	height: min(calc(10 / var(--vw-min) * 100vw), 10px);
	background-color: var(--color-blue);
	transform: translate(-50%, -50%) rotate(135deg);
	mask: url(../img/common/link-arrow.svg) no-repeat center / 100% 100%;
	transition: background-color .3s var(--cubic-bezier01);
}
@media screen and (max-width:768px){
	.linkBtn__arrow {
		width: calc(12.1915 / var(--vw-min) * 100vw);
		height: calc(12.1915 / var(--vw-min) * 100vw);
	}
	.linkBtn__arrow::after {
		width: calc(8.6205 / var(--vw-min) * 100vw);
		height: calc(8.6205 / var(--vw-min) * 100vw);
	}
}
@media (hover: hover) and (pointer: fine){
	.linkA:hover {
		color: #fff;
	}
	.linkA:hover::before {
		background-color: var(--color-blue);
	}
	.linkA:hover .linkBtn__arrow::after {
		background-color: #fff;
	}
}

.news__title{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin-bottom: min(calc(22 / var(--vw-min) * 100vw), 22px);
}
.news__title__txt{
	color: #FFF;
	display: inline-block;
	background-color: #2691F4;
	font-size: min(calc(22 / var(--vw-min) * 100vw), 22px);
	font-weight: 500;
	line-height: 1;
}
.news__title__line{
	flex-grow: 1;
	width: auto;
	height: min(calc(1 / var(--vw-min) * 100vw), 1px);
	background-color: #2691F4;
	position: relative;
}
.news__title__line::before{
	content: "";
	width: min(calc(5 / var(--vw-min) * 100vw), 5px);
	height: min(calc(5 / var(--vw-min) * 100vw), 5px);
	background-color: #2691F4;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}
@media screen and (max-width:768px){
	.news__title__txt{
		font-size: calc(18 / var(--vw-min) * 100vw);
	}
	.news__title__line::before{
		display: none;
	}
}

.newsMoreLink{
	margin-top: min(calc(30 / var(--vw-min) * 100vw), 30px);
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: min(calc(10 / var(--vw-min) * 100vw), 10px);
	text-decoration: none;
	transition: color .3s var(--cubic-bezier01);
}
@media (hover: hover) and (pointer: fine){
	.newsMoreLink:hover {
		color: var(--color-blue);
	}
}
.newsMoreLink__txt{
	color:var(--color-blue);
	font-size: min(calc(20 / var(--vw-min) * 100vw), 20px);
	font-weight: 500;
	line-height: 1;
	font-family: var(--font-en);
	letter-spacing: 0;
	padding-top: min(calc(5 / var(--vw-min) * 100vw), 5px);
}
@media screen and (max-width:768px){
	.newsMoreLink__txt{
		font-size: calc(18 / var(--vw-min) * 100vw);
	}
}

.newsMoreLink__lineWrap{
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
.newsMoreLink__line{
	width: min(calc(68 / var(--vw-min) * 100vw), 68px);
	height: min(calc(1 / var(--vw-min) * 100vw), 1px);
	background-color: var(--color-blue);
}
.newsMoreLink__circle{
	width: min(calc(17 / var(--vw-min) * 100vw), 17px);
	height: min(calc(17 / var(--vw-min) * 100vw), 17px);
	border: min(calc(1 / var(--vw-min) * 100vw), 1px) solid var(--color-blue);
	border-radius: 50%;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}
.newsMoreLink__circle::before{
	content: "";
	display: block;
	width: min(calc(6 / var(--vw-min) * 100vw), 6px);
	height: min(calc(6 / var(--vw-min) * 100vw), 6px);
	background-color: #2691F4;
	border-radius: 50%;
	transition:all 0.3s ease;
}
@media (hover: hover) and (pointer: fine){
	.newsMoreLink:hover .newsMoreLink__circle::before{
		width: 100%;
		height: 100%;
		filter: blur(2px);
	}
}
@media screen and (max-width:768px){
	.newsMoreLink{
		margin-top: calc(32 / var(--vw-min) * 100vw);
		
	}
	.newsMoreLink__line{
		width: calc(50 / var(--vw-min) * 100vw);
		height: calc(1 / var(--vw-min) * 100vw);
	}
	.newsMoreLink__circle{
		width: calc(17 / var(--vw-min) * 100vw);
		height: calc(17 / var(--vw-min) * 100vw);
	}
	.newsMoreLink__circle::before{
		width: calc(6 / var(--vw-min) * 100vw);
		height: calc(6 / var(--vw-min) * 100vw);
	}
}

.section__titleWrap{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-direction: column;
}
.section__title__deco{
	width: 100%;
	color: #FFF;
	display:block;
	font-family: var(--font-en);
	font-size: min(calc(12 / var(--vw-min) * 100vw), 12px);
	font-weight: 600;
	line-height: 1;
	text-align: center;
	margin-bottom: min(calc(20 / var(--vw-min) * 100vw), 20px);
	letter-spacing: 0;
}

@media screen and (max-width:768px){
	.section__title__deco{
		font-size: calc(8 / var(--vw-min) * 100vw);
		margin-bottom: calc(10 / var(--vw-min) * 100vw);
	}
}

/*-----------------------------------------------
 * introduction
-------------------------------------------------*/
.introductionWrap{
	position: relative;
	padding-top: min(calc(80 / var(--vw-min) * 100vw), 80px);
}
.introductionWrap__grad{
	position: absolute;
	left: 0;
	width: 100%;
	z-index: 1;
}
.introductionWrap__grad._top{
	display: none;
	top: 0;
	height: min(calc(400 / var(--vw-min) * 100vw), 400px);
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.00) 0%, #000 100%);
}
.introductionWrap__grad._btm{
	bottom: 0;
	height: min(calc(400 / var(--vw-min) * 100vw), 400px);
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, #000 100%);
}
@media screen and (max-width:768px){
	.introductionWrap__grad._top{
		display: none;
	}
	.introductionWrap__grad._btm{
		height: calc(80 / var(--vw-min) * 100vw);
	}
}

.introduction{
	position: relative;
	z-index: 5;
}
.introduction__title {
	width: 100%;
	height: min(calc(95 / var(--vw-min) * 100vw), 95px);
	background: url(../img/ttl/ttl_introduction.png) no-repeat center center / contain;
	position: relative;
}
@media screen and (max-width:768px){
	.introduction__title{
		height: calc(36 / var(--vw-min) * 100vw);
		background: url(../img/ttl/ttl_introduction_sp.png) no-repeat center center / contain;
	}
}
.introduction__bg{
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: calc(100% - min(calc(80 / var(--vw-min) * 100vw), 80px));
	background: rgba(0, 0, 0, 0.50);
	backdrop-filter: blur(15px);
	z-index: 1;
}

.introBg__frame{
	position: absolute;
	inset: 0;
	margin: auto;
	width: calc(100% - min(calc(20 / var(--vw-min) * 100vw), 20px));
	height: calc(100% - min(calc(20 / var(--vw-min) * 100vw), 20px));
	background-image: url(../img/top/character/frame_lt.svg), url(../img/top/character/frame_rt.svg),
	url(../img/top/character/frame_lb.svg), url(../img/top/character/frame_rb.svg);
	background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
	background-position: left top, right top, left bottom, right bottom;
	background-size: min(calc(190 / var(--vw-min) * 100vw), 190px);
	z-index: 2;
	opacity: 0.5;
}
@media screen and (max-width:768px){
	.introduction__bg{
		height: calc(100% - calc(34 / var(--vw-min) * 100vw));
	}
	.introBg__frame{
		background-size: calc(80 / var(--vw-min) * 100vw);
	}
}
.introduction__inner{
	position: relative;
	z-index: 2;
	padding-bottom: min(calc(136 / var(--vw-min) * 100vw), 136px);
}
@media screen and (max-width:768px){
	.introduction__inner{
		padding-bottom: calc(60 / var(--vw-min) * 100vw);
	}
}
.introduction__cont{
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	gap: min(calc(20 / var(--vw-min) * 100vw), 20px);
	margin-top: min(calc(88 / var(--vw-min) * 100vw), 88px);
}
@media screen and (max-width:768px){
	.introduction__cont{
		gap: 0;
		margin-top: calc(40 / var(--vw-min) * 100vw);
	}
}
.introduction__txt{
	color: #FFF;
	text-align: center;
	font-size: min(calc(18 / var(--vw-min) * 100vw), 18px);
	font-weight: 600;
	line-height: min(calc(46 / var(--vw-min) * 100vw), 46px);
	letter-spacing: min(calc(1.44 / var(--vw-min) * 100vw), 1.44px);
}
.introduction__txt._text1{
	background: url(../img/top/introduction/intro_text1.png) no-repeat center center / contain;
	width: min(calc(900 / var(--vw-min) * 100vw), 900px);
	height: min(calc(50 / var(--vw-min) * 100vw), 50px);
	margin-bottom: min(calc(80 / var(--vw-min) * 100vw), 80px);
}
.introduction__txt._text2{
	background: url(../img/top/introduction/intro_text2.png) no-repeat center center / contain;
	width: min(calc(729 / var(--vw-min) * 100vw), 729px);
	height: min(calc(110 / var(--vw-min) * 100vw), 110px);
	margin-top: min(calc(80 / var(--vw-min) * 100vw), 80px);
	filter: drop-shadow(0 0 8px rgba(255, 255, 255, 0.50));
}
@media screen and (max-width:768px){
	.introduction__txt{
		padding: 0 calc(18 / var(--vw-min) * 100vw);
		font-size: calc(11.5 / var(--vw-min) * 100vw);
		line-height: calc(26.944 / var(--vw-min) * 100vw);
		text-align: left;
		letter-spacing: 0;
	}
	.introduction__txt._text1{
		background: url(../img/top/introduction/intro_text1_sp.png) no-repeat center left / contain;
		width: calc(340 / var(--vw-min) * 100vw);
		height: calc(64 / var(--vw-min) * 100vw);
		margin-bottom: calc(40 / var(--vw-min) * 100vw);
		filter: none;
	}
	.introduction__txt._text2{
		background: url(../img/top/introduction/intro_text2_sp.png) no-repeat center left / contain;
		width: calc(340 / var(--vw-min) * 100vw);
		height: calc(100 / var(--vw-min) * 100vw);
		margin-top: calc(40 / var(--vw-min) * 100vw);
		filter: none;
	}
}
/*-----------------------------------------------
 * character
-------------------------------------------------*/
.character{
	position: relative;
	padding-top: min(calc(80 / var(--vw-min) * 100vw), 80px);
}
@media screen and (max-width:768px){
	.character{
		padding-top: calc(20 / var(--vw-min) * 100vw);
	}
	.character .section__titleWrap{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
	}
}
.character__bg{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #000;
	z-index: 1;
}
.character__bg__line{
	display: block;
	position: absolute;
	inset: 0;
	width: min(calc(1000 / var(--vw-min) * 100vw), 1000px);
	height: min(calc(1000 / var(--vw-min) * 100vw), 1000px);
	margin: auto;
	z-index: 2;
	-webkit-mask-image: radial-gradient(circle, #000 0%, #000 20%, rgba(0, 0, 0, 0) 100%);
	mask-image: radial-gradient(circle, #000 0%, #000 20%, rgba(0, 0, 0, 0) 100%);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
}
.character__bg__line span{
	display: block;
	width: 100%;
	height: 100%;
	background: url(../img/top/character/chara_bg_line.png) repeat-y center center / 180% auto;
}
@media screen and (max-width:768px){
	.character__bg__line{
		width: 100%;
		height: 100%;
	}
	.character__bg__line span{
		background-size: 280% auto;
	}

}
.character .section__titleWrap{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}
.character__title{
	width: 100%;
	height: min(calc(95 / var(--vw-min) * 100vw), 95px);
	background: url(../img/ttl/ttl_character.png) no-repeat center center / contain;
	position: relative;
}
@media screen and (max-width:768px){
	.character__title{
		height: calc(36 / var(--vw-min) * 100vw);
		background-image: url(../img/ttl/ttl_character_sp.png);
	}
}
.character__inner{
	position: relative;
	z-index: 5;
	padding-bottom: min(calc(120 / var(--vw-min) * 100vw), 120px);
	/*min-height: min(calc(1000 / var(--vw-min) * 100vw), 1000px);	*/
}
.character__cont{
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	gap: min(calc(20 / var(--vw-min) * 100vw), 20px);
	position: relative;
	padding-top: min(calc(260 / var(--vw-min) * 100vw), 260px);
}
@media screen and (max-width:768px){
	.character__cont{
		padding-top: calc(180 / var(--vw-min) * 100vw);
	}
}

.charaBg{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: min(calc(500 / var(--vw-min) * 100vw), 500px);
	background: linear-gradient(180deg, #095EAC 0%, #2691F4 100%);
	background: url(../img/top/character/chara_bg_blue.jpg) no-repeat center center / cover;
	z-index: 2;
}
@media screen and (max-width:768px){
	.charaBg{
		height: calc(496 / var(--vw-min) * 100vw);
	}
}
.charaBg__frame{
	position: absolute;
	inset: 0;
	margin: auto;
	width: calc(100% - min(calc(20 / var(--vw-min) * 100vw), 20px));
	height: calc(100% - min(calc(20 / var(--vw-min) * 100vw), 20px));
	background-image: url(../img/top/character/frame_lt.svg), url(../img/top/character/frame_rt.svg), 
	url(../img/top/character/frame_lb.svg), url(../img/top/character/frame_rb.svg);
	background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
	background-position: left top, right top, left bottom, right bottom;
	background-size: min(calc(190 / var(--vw-min) * 100vw), 190px);
	z-index: 2;
}
@media screen and (max-width:768px){
	.charaBg__frame{
		background-size: calc(80 / var(--vw-min) * 100vw);
	}
}
.charaBg__over{
	position: absolute;
	inset: 0;
	margin: auto;
	width: 100%;
	height: 100%;
	background: url(../img/top/character/chara_bg_over.png) no-repeat center center / cover;
}
.character__cont[data-sc=""] .charaBg__over{
	display: none;
}

.character__deco{
	position: absolute;
	bottom: min(calc(500 / var(--vw-min) * 100vw), 500px);
	left: 0;
	width: 100%;
	height: min(calc(89 / var(--vw-min) * 100vw), 89px);
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
}
.character__deco__txt{
	--deco-txt-w: min(calc(1486 / var(--vw-min) * 100vw), 1486px);
	display: block;
	width: calc(100% + var(--deco-txt-w));
	height: 100%;
	background: url(../img/top/character/deco_txt.svg) repeat-x left center / var(--deco-txt-w) 100%;
	animation: decoTxtFlow 24s linear infinite;
}
@keyframes decoTxtFlow{
	from{
		transform: translateX(calc(var(--deco-txt-w) * -1));
	}
	to{
		transform: translateX(0);
	}
}
@media (prefers-reduced-motion: reduce){
	.character__deco__txt{
		animation: none;
	}
}
@media screen and (max-width:768px){
	.character__deco{
		top: calc(226 / var(--vw-min) * 100vw);
		bottom: unset;
		height: calc(38 / var(--vw-min) * 100vw);
	}
	.character__deco__txt{
		/* deco_txt.svg は 1490×90。帯の高さ 38 に合わせた1周分の幅 */
		--deco-txt-w: calc(629.56 / var(--vw-min) * 100vw);
	}
}

.charaScBlock{
	--sc-circle-offset: min(calc(320 / var(--vw-min) * 100vw), 320px);
	position: absolute;
	width: 100%;
	height: min(calc(1020 / var(--vw-min) * 100vw), 1020px);
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	overflow: hidden;
	z-index: 0;
    display: flex;
    justify-content: center;
    align-items: flex-start;
	padding-top: var(--sc-circle-offset);
}
.charaSc__circle{
	--sc-n: 10;
	--sc-r: min(calc(725 / var(--vw-min) * 100vw), 725px);
	position: relative;
	display: block;
	flex-shrink: 0;
	width: calc(var(--sc-r) * 2);
	height: calc(var(--sc-r) * 2);
	animation: charaScRotate 60s linear infinite;
}
@media screen and (max-width:768px){
	.charaScBlock{
		height: calc(590 / var(--vw-min) * 100vw);
		padding-top: calc(160 / var(--vw-min) * 100vw);
	}
	.charaSc__circle{
		--sc-r: calc(344.5 / var(--vw-min) * 100vw);
		--sc-r: calc(310 / var(--vw-min) * 100vw);
	}
}
.charaSc__circle::before{
	content: "";
	position: absolute;
	inset: 0;
	background: url(../img/top/character/sc_circle.svg) no-repeat center center / contain;
	pointer-events: none;
}
@keyframes charaScRotate{
	from{
		rotate: 0deg;
	}
	to{
		rotate: -360deg;
	}
}
.character__cont[data-sc="1"]{ --sc-turn: 0; }
.character__cont[data-sc="2"]{ --sc-turn: 1; }
.character__cont[data-sc="3"]{ --sc-turn: 2; }
.character__cont[data-sc="4"]{ --sc-turn: 3; }
.character__cont[data-sc="5"]{ --sc-turn: 4; }
.character__cont[data-sc="6"]{ --sc-turn: 5; }
.character__cont[data-sc="7"]{ --sc-turn: 6; }
.character__cont:not([data-sc=""]):not([data-sc="0"]) .charaSc__circle{
	animation: none;
	rotate: calc(var(--sc-turn, 0) * -360deg / var(--sc-n));
	transition: rotate 0.8s ease;
}
@media (prefers-reduced-motion: reduce){
	.charaSc__circle{
		animation: none;
	}
	.character__cont:not([data-sc=""]):not([data-sc="0"]) .charaSc__circle{
		transition: none;
	}
}
.charaSc__lists{
	position: absolute;
	inset: 0;
}
.charaSc__item{
	--i: 0;
	--flame-w: min(calc(480 / var(--vw-min) * 100vw), 480px);
	--flame-h: calc(var(--flame-w) * 500 / 531);
	--flame-scale: min(calc(var(--flame-w) / 531), calc(var(--flame-h) / 500));
	/* 炎画像の足元を円周に合わせる。80 は画像下端からの当たり位置 */
	--sc-seat: calc(var(--flame-scale) * 140);
	position: absolute;
	top: 0;
	left: 50%;
	display: block;
	width: var(--flame-w);
	height: var(--flame-h);
	margin-left: calc(var(--flame-w) / -2);
	margin-top: calc(var(--sc-seat) - var(--flame-h));
	transform-origin: center calc(var(--flame-h) - var(--sc-seat) + var(--sc-r));
	transform: rotate(calc(var(--i) * 360deg / var(--sc-n)));
	mix-blend-mode: lighten;
}
@media screen and (max-width:768px){
	.charaSc__item{
		--flame-w: calc(294 / var(--vw-min) * 100vw);
		--flame-w: calc(310 / var(--vw-min) * 100vw);
	}
}
.charaSc__item:nth-child(2){ --i: 1; }
.charaSc__item:nth-child(3){ --i: 2; }
.charaSc__item:nth-child(4){ --i: 3; }
.charaSc__item:nth-child(5){ --i: 4; }
.charaSc__item:nth-child(6){ --i: 5; }
.charaSc__item:nth-child(7){ --i: 6; }
.charaSc__item:nth-child(8){ --i: 7; }
.charaSc__item:nth-child(9){ --i: 8; }
.charaSc__item:nth-child(10){ --i: 9; }
.charaSc__item .flame{
	display: block;
	width: 100%;
	height: 100%;
	background: no-repeat center bottom / contain;
	transform-origin: center bottom;
	animation: charaFlame 6s ease-in-out infinite;
}
.charaSc__item:nth-child(2) .flame{ animation-duration: 3.8s; animation-delay: -0.9s; }
.charaSc__item:nth-child(3) .flame{ animation-duration: 5.4s; animation-delay: -2.7s; }
.charaSc__item:nth-child(4) .flame{ animation-duration: 4.2s; animation-delay: -1.5s; }
.charaSc__item:nth-child(5) .flame{ animation-duration: 5.1s; animation-delay: -3.6s; }
.charaSc__item:nth-child(6) .flame{ animation-duration: 3.9s; animation-delay: -0.6s; }
.charaSc__item:nth-child(7) .flame{ animation-duration: 4.8s; animation-delay: -2.1s; }
.charaSc__item:nth-child(8) .flame{ animation-duration: 6s; animation-delay: 0s; }
.charaSc__item:nth-child(9) .flame{ animation-duration: 3.8s; animation-delay: -0.9s; }
.charaSc__item:nth-child(10) .flame{ animation-duration: 4.8s; animation-delay: -2.1s; }
@keyframes charaFlame{
	0%, 100%{
		/*transform: scale(0.99);*/
		opacity: 0.86;
	}
	28%{
		/*transform: scale(1.015);*/
		opacity: 1;
	}
	52%{
		/*transform: scale(0.985);*/
		opacity: 0.74;
	}
	76%{
		/*transform: scale(1.01);*/
		opacity: 0.95;
	}
}
@media (prefers-reduced-motion: reduce){
	.charaSc__item .flame,
	.charaSc__item .num__level{
		animation: none;
	}
	.character__cont:not([data-sc=""]):not([data-sc="0"]) .charaSc__item .num__level{
		transition: none;
	}
}
.character__cont[data-sc="0"] .charaSc__item .num{
	opacity: 0;
}
.character__cont[data-sc=""] .charaSc__item .num{
	opacity: 0;
}
.charaSc__item:nth-child(3n + 1) .flame{
	background-image: url(../img/top/character/sc_flame1.png);
}
.charaSc__item:nth-child(3n + 2) .flame{
	background-image: url(../img/top/character/sc_flame2.png);
}
.charaSc__item:nth-child(3n) .flame{
	background-image: url(../img/top/character/sc_flame3.png);
}
.charaSc__item:nth-child(8) .flame{
	background-image: url(../img/top/character/sc_flame1.png);
}
.charaSc__item:nth-child(9) .flame{
	background-image: url(../img/top/character/sc_flame2.png);
}
.charaSc__item:nth-child(10) .flame{
	background-image: url(../img/top/character/sc_flame1.png);
}
.charaSc__item .num{
	position: absolute;
	bottom: min(calc(60 / var(--vw-min) * 100vw), 60px);
	right: 0;
	left: 0;
	margin: auto;
	width: min(calc(100 / var(--vw-min) * 100vw), 100px);
	height: min(calc(100 / var(--vw-min) * 100vw), 100px);
	/* 炎の配置角だけ打ち消す。円の回転は .num__level が逆に回して水平を保つ */
	transform: rotate(calc(var(--i) * -360deg / var(--sc-n)));
}
@media screen and (max-width:768px){
	.charaSc__item .num{
		width: calc(80 / var(--vw-min) * 100vw);
		height: calc(80 / var(--vw-min) * 100vw);
		bottom: calc(30 / var(--vw-min) * 100vw);
	}
}
.charaSc__item .num__level{
	display: block;
	width: 100%;
	height: 100%;
	background: no-repeat center center / contain;
	animation: charaNumLevel 60s linear infinite;
}
@keyframes charaNumLevel{
	from{
		rotate: 0deg;
	}
	to{
		rotate: 360deg;
	}
}
.character__cont:not([data-sc=""]):not([data-sc="0"]) .charaSc__item .num__level{
	animation: none;
	rotate: calc(var(--sc-turn, 0) * 360deg / var(--sc-n));
	transition: rotate 0.8s ease;
}
.charaSc__item.sc1 .num__level{
	background-image: url(../img/top/character/sc_num1.png);
}
.charaSc__item.sc2 .num__level{
	background-image: url(../img/top/character/sc_num2.png);
}
.charaSc__item.sc3 .num__level{
	background-image: url(../img/top/character/sc_num3.png);
}
.charaSc__item.sc4 .num__level{
	background-image: url(../img/top/character/sc_num4.png);
}
.charaSc__item.sc5 .num__level{
	background-image: url(../img/top/character/sc_num5.png);
}
.charaSc__item.sc6 .num__level{
	background-image: url(../img/top/character/sc_num6.png);
}
.charaSc__item.sc7 .num__level{
	background-image: url(../img/top/character/sc_num7.png);
}



.character__thumListsBlock{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	gap: min(calc(40 / var(--vw-min) * 100vw), 40px) 0;
	margin-top: min(calc(40 / var(--vw-min) * 100vw), 40px);
	position: relative;
	z-index: 11;
}
.character__thumListsWrap{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	gap: min(calc(20 / var(--vw-min) * 100vw), 20px);
}
.character__thumLists{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	gap: min(calc(10 / var(--vw-min) * 100vw), 10px);
	padding: 0 min(calc(47 / var(--vw-min) * 100vw), 47px);
}
.character__thumListsWrap .character__thumLists:last-child{
	border-left: 1px solid #FF66D2;
	position: relative;
}
.character__thumListsWrap .character__thumLists:last-child::after{
	content: "";
	display: block;
	width: min(calc(5 / var(--vw-min) * 100vw), 5px);
	height: min(calc(5 / var(--vw-min) * 100vw), 5px);
	background: #FF66D2;
	position: absolute;
	top: 0;
	left: 0;
	transform: translateX(max(calc(-3 / var(--vw-min) * 100vw), -3px));
	margin: auto;
	border-radius: 50%;
}
.character__thumListsWrap .character__thumLists:last-child::before{
	content: "";
	display: block;
	width: min(calc(5 / var(--vw-min) * 100vw), 5px);
	height: min(calc(5 / var(--vw-min) * 100vw), 5px);
	background: #FF66D2;
	position: absolute;
	bottom: 0;
	left: 0;
	transform: translateX(max(calc(-3 / var(--vw-min) * 100vw), -3px));
	margin: auto;
	border-radius: 50%;
}
@media screen and (max-width:768px){
	.character__thumListsBlock{
		gap: 0;
		margin-top: 0;
	}
	.character__thumListsWrap{
		gap: 0;
	}
	.character__thumListsWrap .character__thumLists{
		width: calc((100% - calc(8 / var(--vw-min) * 100vw))/ 2);
		flex-wrap: wrap;
		justify-content: center;
		gap: calc(4 / var(--vw-min) * 100vw);
	}
	.character__thumListsWrap .character__thumLists:last-child::before{
		display: none;
	}
	.character__thumLists._lists1,
	.character__thumLists._lists4{
		justify-content: center;
		padding: calc(10 / var(--vw-min) * 100vw) calc(6 / var(--vw-min) * 100vw);
		width: 100%;
		border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	}
	.character__thumListsWrap{
		border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	}
	.character__thumLists._lists2{
		width: 50%;
		padding: calc(10 / var(--vw-min) * 100vw) calc(6 / var(--vw-min) * 100vw);
	}
	.character__thumLists._lists3{
		width: 50%;
		padding: calc(10 / var(--vw-min) * 100vw) calc(6 / var(--vw-min) * 100vw);
		border-left: 1px solid rgba(255, 255, 255, 0.2)!important;
	}
	.character__thumListsWrap .character__thumLists:last-child::after{
		display: none;
	}
}
.charaThumItem{
	display: block;
	width: min(calc(70 / var(--vw-min) * 100vw), 70px);
	height: min(calc(70 / var(--vw-min) * 100vw), 70px);
}
.charaThumItem__link{
	display: block;
	width: 100%;
	height: 100%;
}

.charaThumItem__thumb{
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	overflow: hidden;
	border-radius: 80px;
	border: 2px solid #FFF;
	background: #00A0E9;
}
.charaThumItem__thumb img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center center;
	transition: transform 0.3s ease-in-out;
}
@media screen and (max-width:768px){
	.charaThumItem{
		display: block;
		width: calc(52 / var(--vw-min) * 100vw);
		height: calc(52 / var(--vw-min) * 100vw);
	}
}
.charaThumItem__link.is-active .charaThumItem__thumb img{
	transform: scale(1.1);
}
@media (hover: hover) and (pointer: fine){
	.charaThumItem__link:hover .charaThumItem__thumb img{
		transform: scale(1.1);
	}
}

.characterDetailBlock{
	position: relative;
	z-index: 10;
}

.charaItem__inner{
	display: flex;
	justify-content: center;
	align-items: flex-end;
	width: min(calc(1200 / var(--vw-min) * 100vw), 1200px);
}

.charaItem{
	height: 100%;
}
.charaItem__inner._comingsoon{
	justify-content: center;
	align-items: center;
	height: 100%;
}
._comingsoon .charaItem__txtBox{
	align-items: center;
	height: min(calc(500 / var(--vw-min) * 100vw), 500px);
	justify-content: center;
	margin-bottom: 0;
}
@media screen and (max-width:768px){
	._comingsoon .charaItem__txtBox{
		height: 100%;
	}
}
._comingsoon .charaItem__nameWrap {
    align-items: center;
}
._comingsoon .charaItem__txt{
	text-align: center;
}

@media screen and (max-width:768px){
	.charaItem__inner{
		width: 100%;
		flex-direction: column;
		align-items: flex-start;
	}
	.charaItem{
		width: 100%;
		height: 100%;
	}
}
.charaItem__imgBox{
	display: block;
	width: min(calc(633 / var(--vw-min) * 100vw), 633px);
	opacity: 0;
	transition: opacity 0.45s ease-in-out;
	position: relative;
}
.charaItemWrap.is-active .charaItem__imgBox{
	opacity: 1;
	transition-delay: 0.25s;
}
@media (prefers-reduced-motion: reduce){
	.charaItem__imgBox{
		transition: none;
	}
}
@media screen and (max-width:768px){
	.charaItem__imgBox{
		width: calc(360 / var(--vw-min) * 100vw);
        position: absolute;
        left: calc(-70 / var(--vw-min) * 100vw);
        top: calc(-80 / var(--vw-min) * 100vw);
	}
}
.charaItem__imgBox img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.charaItem__txtBox{
	margin-top: auto;
	width: min(calc(500 / var(--vw-min) * 100vw), 500px);
	display: flex;
	flex-direction: column;
	justify-content:flex-start;
	align-items: flex-start;
	gap: min(calc(20 / var(--vw-min) * 100vw), 20px);
	margin-bottom: min(calc(40 / var(--vw-min) * 100vw), 40px);
}
@media screen and (max-width:768px){
	.charaItem__txtBox{
		width: 100%;
	}
}
.charaItem__nameWrap{
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	gap: min(calc(10 / var(--vw-min) * 100vw), 10px);
}
.charaItem__name{
	color: #fff;
	font-size: min(calc(32 / var(--vw-min) * 100vw), 32px);
	line-height: 1;
	font-weight: 600;
	letter-spacing: min(calc(3.2 / var(--vw-min) * 100vw), 3.2px);
	display: inline-block;
	background-color: #000;
	padding: min(calc(10 / var(--vw-min) * 100vw), 10px) ;
}
.charaItem__cv{
	color: #FFF;
	font-size: min(calc(20 / var(--vw-min) * 100vw), 20px);
	font-weight: 600;
	line-height: 1;
	letter-spacing: min(calc(2 / var(--vw-min) * 100vw), 2px);
	background-color: #000;
	padding:min(calc(6 / var(--vw-min) * 100vw), 6px) min(calc(10 / var(--vw-min) * 100vw), 10px);
}
@media screen and (max-width:768px){
	.charaItem__nameWrap{
		width: 100%;
		padding-right: calc(10 / var(--vw-min) * 100vw);
		align-items: flex-end;
		gap: calc(8 / var(--vw-min) * 100vw);
	}
	.charaItem__name{
		font-size: calc(22 / var(--vw-min) * 100vw);
		letter-spacing: 0;
		padding: 0.2em 0.4em;
	}
	.charaItem__cv{
		font-size: calc(12 / var(--vw-min) * 100vw);
		padding: 0.2em 0.4em;
	}
	._charaIndex1 .charaItem__nameWrap .charaItem__name,
	._charaIndex2 .charaItem__nameWrap .charaItem__name{
		font-size: calc(20 / var(--vw-min) * 100vw);
		padding: 0.2em 0.4em;
	}
	._charaIndex1 .charaItem__nameWrap .charaItem__cv,
	._charaIndex2 .charaItem__nameWrap .charaItem__cv{
		font-size: calc(12 / var(--vw-min) * 100vw);
		padding: 0.2em 0.4em;
	}
}
.charaItem__txtWrap{
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	gap: min(calc(20 / var(--vw-min) * 100vw), 20px);
}
@media screen and (max-width:768px){
	.charaItem__txtWrap{
		width: 100%;
	}
	.charaItem__txtBox{
		width: 100%;
		gap: calc(27 / var(--vw-min) * 100vw);
		padding:0 calc(10 / var(--vw-min) * 100vw);
	}
}
._charaIndex1 .charaItem__nameWrap {
	position: absolute;
	bottom: min(calc(100 / var(--vw-min) * 100vw), 100px);
	left: min(calc(80 / var(--vw-min) * 100vw), 80px);
}
._charaIndex2 .charaItem__nameWrap {
	position: absolute;
	bottom: min(calc(100 / var(--vw-min) * 100vw), 100px);
	right: min(calc(80 / var(--vw-min) * 100vw), 80px);
}
._charaIndex2 .js-charaBtn,
._charaIndex1 .js-charaBtn{
	position: absolute;
	width: 100%;
	height: 100%;
	inset: 0;
}
.character__cont[data-sc=""] .charaItem__imgBox{
	transition: opacity 0.3s ease;
}
.character__cont[data-sc=""] .charaItem__imgBtn::before{
	content: "";
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity 0.3s ease;
	background: rgba(0, 0, 0, 0.6);
	pointer-events: none;
}
.character__cont[data-sc=""] ._charaIndex1 .charaItem__imgBtn::before{
	mask: url(../img/top/character/detail/chara1_main.png) center center / contain no-repeat;
	-webkit-mask: url(../img/top/character/detail/chara1_main.png) center center / contain no-repeat;
}
.character__cont[data-sc=""] ._charaIndex2 .charaItem__imgBtn::before{
	mask: url(../img/top/character/detail/chara2_main.png) center center / contain no-repeat;
	-webkit-mask: url(../img/top/character/detail/chara2_main.png) center center / contain no-repeat;
}
.character__cont[data-sc=""]:hover .charaItem__imgBtn::before{
	opacity: 1;
}
.character__cont[data-sc=""] .charaItem__imgBox:hover .charaItem__imgBtn::before{
	opacity: 0;
}
@media screen and (max-width:768px){
	.character__cont[data-sc=""] ._charaIndex1 .charaItem__imgBtn::before,
	.character__cont[data-sc=""] ._charaIndex2 .charaItem__imgBtn::before{
		width: 150%;
        margin-right: calc(-50 / var(--vw-min) * 100vw);
		padding-bottom: calc(100 / var(--vw-min) * 100vw);
		display: none;
	}
}

.charaItem__txt{
	color: #fff;
	font-size: min(calc(15 / var(--vw-min) * 100vw), 16px);
	font-weight: 700;
	line-height: 1;
	width: min(calc(400 / var(--vw-min) * 100vw), 400px);
	letter-spacing: min(calc(0.64 / var(--vw-min) * 100vw), 0.64px);
	text-shadow: 0 0 6px #222, 0 0 6px #222, 0 0 6px #222;
	line-height: min(calc(26 / var(--vw-min) * 100vw), 26px);
}
.charaItem__face{
	display: flex;
	justify-self:flex-start;
	margin-top: min(calc(30 / var(--vw-min) * 100vw), 30px);
	gap: min(calc(10 / var(--vw-min) * 100vw), 10px);
}
.charaItem__face__item{
	width: min(calc(148 / var(--vw-min) * 100vw), 148px);
	height: min(calc(148 / var(--vw-min) * 100vw), 148px);
	overflow: hidden;
	background: rgba(255, 255, 255, 0.4);
	border-radius: 50%;
	border: 1px solid #222;
}
.charaItem__face img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media screen and (max-width:768px){
	.charaItem__txt{
		width: 100%;
		padding: 0 calc(20 / var(--vw-min) * 100vw);
		font-size: calc(14 / var(--vw-min) * 100vw);
		line-height: calc(25 / var(--vw-min) * 100vw);
	}
	span.charaItem__keep{
		display: inline-block;
		text-wrap: nowrap;
		letter-spacing: 0;
	}
	.charaItem__face{
		width: 100%;
		justify-content: flex-end;
		height:calc(96 / var(--vw-min) * 100vw);
		margin-top: 0;
	}
	.charaItem__face__item{
		width: calc(96 / var(--vw-min) * 100vw);
		height: calc(96 / var(--vw-min) * 100vw);
	}
}
.charaPv__btn{
	appearance: none;
	-webkit-appearance: none;
	position: absolute;
	z-index: 6;
	left: min(calc(50 / var(--vw-min) * 100vw), 50px);
	bottom: min(calc(30 / var(--vw-min) * 100vw), 30px);
	width: min(calc(190 / var(--vw-min) * 100vw), 190px);
	height: min(calc(190 / var(--vw-min) * 100vw), 190px);
	padding: 0;
	border: 1px solid #222;
	border-radius: 50%;
	background: #fff;
	overflow: hidden;
	cursor: pointer;
	transition: transform 0.3s ease;
}
.charaPv__btn__inner{
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
}
.charaPv__btn__thum{
	position: absolute;
	inset: 0;
	border-radius: 50%;
	overflow: hidden;
}
.charaPv__btn__thum img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.charaPv__btn__thum::after{
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 160, 233, .8);
}
.charaPv__btn__txt{
	width: min(calc(170 / var(--vw-min) * 100vw), 170px);
	height: min(calc(170 / var(--vw-min) * 100vw), 170px);
	position: absolute;
	inset: 0;
	margin: auto;
	z-index: 1;
	background: url(../img/common/play_playmovie.svg) center center / contain no-repeat;
	color: transparent;
	animation: circleSpin 20s linear infinite reverse;
}
.charaPv__btn__icon{
	position: absolute;
	z-index: 2;
	left: calc(50% - 1.05%);
	top: 50%;
	width: 32.63%;
	height: 14.74%;
	background: url(../img/common/play_triangle.svg) center center / contain no-repeat;
	transform: translate(-50%, -50%);
}
.charaPv__btn__ttl{
	position: absolute;
	z-index: 3;
	left: calc(50% + 0.26%);
	top: 67.9%;
	transform: translateX(-50%);
	padding: 2.1% 3.16%;
	background: #000;
	color: #fff;
	font-size: min(calc(15 / var(--vw-min) * 100vw), 15px);
	font-weight: 600;
	line-height: 1;
	letter-spacing: min(calc(0.9 / var(--vw-min) * 100vw), 0.9px);
	white-space: nowrap;
}
@media screen and (max-width:768px){
	.charaPv__btn{
		left: unset;
		right: calc(20 / var(--vw-min) * 100vw);
		top: calc(100 / var(--vw-min) * 100vw);
		width: calc(120 / var(--vw-min) * 100vw);
		height: calc(120 / var(--vw-min) * 100vw);
	}
	.charaPv__btn__ttl{
		font-size: calc(11 / var(--vw-min) * 100vw);
		letter-spacing: calc(0.6 / var(--vw-min) * 100vw);
	}
}
@media (hover: hover) and (pointer: fine){
	.charaPv__btn:hover{
		transform: scale(1.04);
	}
}
@media (prefers-reduced-motion: reduce){
	.charaPv__btn__txt{
		animation: none;
	}
	.charaPv__btn{
		transition: none;
	}
}
.character__cont[data-sc="0"] .charaBg{
	background-image: url(../img/common/bg/bg_sc8.jpg);
}
.character__cont[data-sc="1"] .charaBg{
	background-image: url(../img/common/bg/bg_sc1.jpg);
}
.character__cont[data-sc="2"] .charaBg{
	background-image: url(../img/common/bg/bg_sc2.jpg);
}
.character__cont[data-sc="3"] .charaBg{
	background-image: url(../img/common/bg/bg_sc3.jpg);
}
.character__cont[data-sc="4"] .charaBg{
	background-image: url(../img/common/bg/bg_sc4.jpg);
}
.character__cont[data-sc="5"] .charaBg{
	background-image: url(../img/common/bg/bg_sc5.jpg);
}
.character__cont[data-sc="6"] .charaBg{
	background-image: url(../img/common/bg/bg_sc6.jpg);
}
.character__cont[data-sc="7"] .charaBg{
	background-image: url(../img/common/bg/bg_sc7.jpg);
}
.characterDetailBlock{
	width: 100%;
	height: min(calc(780 / var(--vw-min) * 100vw), 780px);
	position: relative;
}
@media screen and (max-width:768px){
	.characterDetailBlock{
		height: calc(580 / var(--vw-min) * 100vw);
	}
}
.charaItemWrap{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	max-width: min(calc(1200 / var(--vw-min) * 100vw), 1200px);
	width: 100%;
	height: min(calc(780 / var(--vw-min) * 100vw), 780px);
	opacity: 0;
	z-index: -100;
	transition: opacity 0.3s ease-in-out;
    display: flex;
    align-items: flex-end;
	pointer-events: none;
}
.charaItemWrap.is-active{
	opacity: 1;
	z-index: 5;
	pointer-events: auto;
}
@media screen and (max-width:768px){
	.character__cont[data-sc=""] .charaBg{
		height: calc(380 / var(--vw-min) * 100vw);
		bottom: unset;
		top: calc(260 / var(--vw-min) * 100vw);
	}
	.character__cont[data-sc=""]  .characterDetailBlock{
		height: calc(460 / var(--vw-min) * 100vw);
	}
	.charaItemWrap{
		width: 100%;
		height: 100%;
		padding-top:0;
	}
	.charaItemWrap[data-chara="0"]{
		padding-top: 0;
		align-items: flex-start;
	}
	.charaItemWrap[data-chara="0"] .charaItem__inner{
		flex-direction: row;
		overflow: hidden;
	}
	.charaItemWrap[data-chara="0"] .charaItem__imgBox{
		width: 50%;
        display: flex;
        flex-direction: column;
        align-items: center;
        position: relative;
		left: unset;
		top: unset;
		padding-bottom: calc(100 / var(--vw-min) * 100vw);
	}
	.charaItemWrap[data-chara="0"] .charaItem__imgBox img {
		width: 150%;
		margin-right: calc(-50 / var(--vw-min) * 100vw);
	}
	.charaItem__nameWrap._charaIndex{
		position: relative;
		bottom: unset;
		left: unset;
	}
	.charaItem__inner{
		width: 100%;
		height: 100%;
	}
	._charaIndex2{
		right: 0;
		left: unset;
	}
	._charaIndex2 .charaItem__nameWrap, ._charaIndex1 .charaItem__nameWrap{
		position: absolute;
		align-items: center;
        right: 0;
        left: 0;
        bottom: calc(20 / var(--vw-min) * 100vw);
		margin: auto;
		padding-left: 0;
		gap: calc(6 / var(--vw-min) * 100vw);
	}

}
@media screen and (max-width:768px){
	.charaItemWrap[data-chara="1"] .charaItem__imgBox{
		top: calc(-120 / var(--vw-min) * 100vw);
		left: calc(-10 / var(--vw-min) * 100vw);
		width: calc(360 / var(--vw-min) * 100vw);

	}
	.charaItemWrap[data-chara="2"] .charaItem__imgBox{
		top: calc(-80 / var(--vw-min) * 100vw);
		left: calc(-50 / var(--vw-min) * 100vw);
		width: calc(340 / var(--vw-min) * 100vw);
	}
	.charaItemWrap[data-chara="4"] .charaItem__imgBox{
		width:calc(340 / var(--vw-min) * 100vw);
		left: calc(-56 / var(--vw-min) * 100vw);
        top: calc(-80 / var(--vw-min) * 100vw);
	}
	.charaItemWrap[data-chara="3"] .charaItem__imgBox{
		width:calc(320 / var(--vw-min) * 100vw);
		left: calc(-56 / var(--vw-min) * 100vw);
        top: calc(-67 / var(--vw-min) * 100vw);
	}
	.charaItemWrap[data-chara="17"] .charaItem__imgBox{
		width: calc(360 / var(--vw-min) * 100vw);
        left: calc(-90 / var(--vw-min) * 100vw);
        top: calc(-60 / var(--vw-min) * 100vw);
	}

}

/*-----------------------------------------------
 * staffcast
-------------------------------------------------*/
.staffcast{
	color: #fff;
	padding-top: min(calc(120 / var(--vw-min) * 100vw), 120px);
	padding-bottom: min(calc(136 / var(--vw-min) * 100vw), 136px);
	position: relative;
}
@media screen and (max-width:768px){
	.staffcast{
		padding-bottom: 0;
		padding-top: 0;
	}
}
.staffcast__grad{
	position: absolute;
	left: 0;
	width: 100%;
	height: min(calc(450 / var(--vw-min) * 100vw), 450px);
}
.staffcast__grad._top{
	top: 0;
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.00) 0%, #000 100%);
}
/*
.staffcast__grad._btm{
	bottom: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, #000 100%);
}
.staffcast__bg{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.50);
	backdrop-filter: blur(25px);
	z-index: -1;
}*/
.staffcast__title{
	width: 100%;
	height: min(calc(100 / var(--vw-min) * 100vw), 100px);
	background: url(../img/ttl/ttl_staffcast.png) no-repeat center center / contain;
	position: relative;
}
@media screen and (max-width:768px){
	.staffcast__title{
		height: calc(32 / var(--vw-min) * 100vw);
		background: url(../img/ttl/ttl_staffcast_sp.png) no-repeat center center / contain;
	}
}
.staffcast__inner{
	position: relative;
	z-index: 2;
	width: min(calc(1100 / var(--vw-min) * 100vw), 1100px);
	margin: 0 auto;
}
.staffcast__cont{
	margin-top: min(calc(101 / var(--vw-min) * 100vw), 101px);
}
.staffcast__block{
	display: grid;
	grid-template-columns: min(calc(140 / var(--vw-min) * 100vw), 140px) minmax(0, 1fr);
	align-items: start;
}
.staffcast__block + .staffcast__block{
	margin-top: min(calc(91 / var(--vw-min) * 100vw), 91px);
}
.staffcast__label{
	color: var(--color-blue);
	font-size: min(calc(24 / var(--vw-min) * 100vw), 24px);
	font-weight: 700;
	line-height: 1;
	letter-spacing: min(calc(0.96 / var(--vw-min) * 100vw), 0.96px);
}
.staffcast__lists{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: min(calc(60 / var(--vw-min) * 100vw), 60px);
	row-gap: min(calc(50 / var(--vw-min) * 100vw), 50px);
}
.staffcast__lists--cast{
	grid-template-columns: repeat(3, minmax(0, 1fr));
	column-gap: min(calc(51 / var(--vw-min) * 100vw), 51px);
}
.staffcast__cast{
	display: flex;
	flex-direction: column;
	gap: min(calc(50 / var(--vw-min) * 100vw), 50px);
}
.staffcast__role{
	display: flex;
	align-items: center;
	gap: min(calc(18 / var(--vw-min) * 100vw), 18px);
	color: #fff;
	font-size: min(calc(15 / var(--vw-min) * 100vw), 15px);
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0;
	white-space: nowrap;
}
.staffcast__role::after{
	content: "";
	flex: 1 1 auto;
	height: min(calc(1 / var(--vw-min) * 100vw), 1px);
	background-color: #fff;
	opacity: 0.2;
}
.staffcast__name{
	display: flex;
	align-items: center;
	gap: min(calc(14 / var(--vw-min) * 100vw), 14px);
	margin-top: min(calc(12 / var(--vw-min) * 100vw), 12px);
	color: #fff;
	font-size: min(calc(22 / var(--vw-min) * 100vw), 22px);
	font-weight: 700;
	line-height: 1;
	letter-spacing: min(calc(0.88 / var(--vw-min) * 100vw), 0.88px);
	white-space: nowrap;
}
.staffcast__lists:not(.staffcast__lists--cast) .staffcast__name{
	margin-top: min(calc(17 / var(--vw-min) * 100vw), 17px);
}
.staffcast__note{
	margin-top: min(calc(13 / var(--vw-min) * 100vw), 13px);
	color: #fff;
	font-size: min(calc(14 / var(--vw-min) * 100vw), 14px);
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
	font-feature-settings: "hwid" 1;
}
.staffcast__more{
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: min(calc(50 / var(--vw-min) * 100vw), 50px);
	height: min(calc(26 / var(--vw-min) * 100vw), 26px);
	border-radius: min(calc(26 / var(--vw-min) * 100vw), 26px);
	background-color: var(--color-blue);
	transition: opacity 0.3s ease;
}
.staffcast__more::before{
	content: "";
	display: block;
	width: min(calc(4 / var(--vw-min) * 100vw), 4px);
	height: min(calc(4 / var(--vw-min) * 100vw), 4px);
	border-radius: 50%;
	background-color: #fff;
	box-shadow:
		min(calc(9 / var(--vw-min) * 100vw), 9px) 0 0 #fff,
		min(calc(18 / var(--vw-min) * 100vw), 18px) 0 0 #fff;
	transform: translateX(max(calc(-9 / var(--vw-min) * 100vw), -9px));
}
@media (hover: hover) and (pointer: fine){
	.staffcast__more:hover{
		opacity: .7;
	}
}
@media screen and (max-width:768px){
	.staffcast__inner{
		width: 100%;
		padding: 0 calc(20 / var(--vw-min) * 100vw) calc(40 / var(--vw-min) * 100vw);
	}
	.staffcast__cont{
		margin-top: calc(32 / var(--vw-min) * 100vw);
	}
	.staffcast__block{
		display: block;
	}
	.staffcast__block + .staffcast__block{
		margin-top: calc(40 / var(--vw-min) * 100vw);
	}
	.staffcast__label{
		margin-bottom: calc(14 / var(--vw-min) * 100vw);
		font-size: calc(18 / var(--vw-min) * 100vw);
	}
	.staffcast__lists{
		grid-template-columns: repeat(1, minmax(0, 1fr));
		row-gap: calc(20 / var(--vw-min) * 100vw);
	}
	.staffcast__lists--cast{
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: calc(34 / var(--vw-min) * 100vw);
	}
	.staffcast__cast{
		gap: calc(34 / var(--vw-min) * 100vw);
	}
	.staffcast__role{
		gap: calc(9 / var(--vw-min) * 100vw);
		font-size: calc(12 / var(--vw-min) * 100vw);
	}
	.staffcast__role::after{
		height: calc(0.5 / var(--vw-min) * 100vw);
	}
	.staffcast__lists--cast .staffcast__role::after{
		display: none;
	}
	.staffcast__name,
	.staffcast__lists:not(.staffcast__lists--cast) .staffcast__name{
		gap: calc(8 / var(--vw-min) * 100vw);
		margin-top: calc(8 / var(--vw-min) * 100vw);
		font-size: calc(16 / var(--vw-min) * 100vw);
		letter-spacing: calc(0.64 / var(--vw-min) * 100vw);
	}
	.staffcast__note{
		margin-top: calc(6 / var(--vw-min) * 100vw);
		font-size: calc(11 / var(--vw-min) * 100vw);
	}
	.staffcast__more{
		width: calc(40 / var(--vw-min) * 100vw);
		height: calc(21 / var(--vw-min) * 100vw);
		border-radius: calc(21 / var(--vw-min) * 100vw);
	}
	.staffcast__more::before{
		width: calc(3 / var(--vw-min) * 100vw);
		height: calc(3 / var(--vw-min) * 100vw);
		box-shadow:
			calc(7 / var(--vw-min) * 100vw) 0 0 #fff,
			calc(14 / var(--vw-min) * 100vw) 0 0 #fff;
		transform: translateX(calc(-7 / var(--vw-min) * 100vw));
	}
}
.staffcast_onairWrap{
	position: relative;
}
.staffcast_onairWrap::before{
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.50);
	backdrop-filter: blur(25px);
}
/*-----------------------------------------------
 * onair
-------------------------------------------------*/
.onair{
	position: relative;
	z-index: 2;
	color: #fff;
	padding-bottom: min(calc(14 / var(--vw-min) * 100vw), 14px);
}
/*
.onair__grad{
	position: absolute;
	left: 0;
	width: 100%;
	height: min(calc(450 / var(--vw-min) * 100vw), 450px);
	pointer-events: none;
}
.onair__grad._top{
	top: 0;
	z-index: 1;
	background: linear-gradient(0deg, rgba(5, 16, 39, 0.00) 0%, #051027 100%);
	display: none;
}
.onair__bg{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(5, 16, 39, 0.50);
	backdrop-filter: blur(25px);
	z-index: -1;
}*/
.onair__inner{
	position: relative;
	z-index: 2;
	width: min(calc(1100 / var(--vw-min) * 100vw), 1100px);
	margin: 0 auto;
	padding-bottom: min(calc(160 / var(--vw-min) * 100vw), 160px);
}
.onair__title{
	position: relative;
	width: 100%;
	height: min(calc(95 / var(--vw-min) * 100vw), 95px);
	background: url(../img/ttl/ttl_onair.png) no-repeat center center / contain;
}
@media screen and (max-width:768px){
	.onair__title{
		height: calc(36/ var(--vw-min) * 100vw);
		background: url(../img/ttl/ttl_onair_sp.png) no-repeat center center / contain;
	}
}
.section__title__tx timg{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.onair__lead{
	display: flex;
	align-items: baseline;
	justify-content: center;
	margin-top: min(calc(52 / var(--vw-min) * 100vw), 52px);
	line-height: 1;
	letter-spacing: 0;
	white-space: nowrap;
}
.onair__num{
	font-family: var(--font-en);
	font-weight: 600;
	font-size: min(calc(48 / var(--vw-min) * 100vw), 48px);
	color: var(--color-blue);
	letter-spacing: 0;
}
.onair__unit,
.onair__leadTxt{
	font-weight: 700;
	font-size: min(calc(36 / var(--vw-min) * 100vw), 36px);
	letter-spacing: 0;
}

@media screen and (max-width:768px){
	.onair__unit,
	.onair__leadTxt{
		font-size: calc(20 / var(--vw-min) * 100vw);
	}
	.onair__num{
		font-size: calc(28 / var(--vw-min) * 100vw);
	}
	.onair__leadTxt small{
		font-size:calc(16 / var(--vw-min) * 100vw);
	}
}
.onair__unit{
	color: var(--color-blue);
}
.onair__leadTxt{
	color: #fff;
}
.onair__block{
	margin-top: min(calc(70 / var(--vw-min) * 100vw), 70px);
}
.onair__block--air{
	margin-top: min(calc(120 / var(--vw-min) * 100vw), 120px);
}
.onair__label{
	color: var(--color-blue);
	font-size: min(calc(24 / var(--vw-min) * 100vw), 24px);
	font-weight: 700;
	line-height: 1;
	letter-spacing: min(calc(0.96 / var(--vw-min) * 100vw), 0.96px);
}
.onair__services{
	display: grid;
	grid-template-columns: repeat(5, min(calc(210 / var(--vw-min) * 100vw), 210px));
	justify-content: space-between;
	row-gap: min(calc(12 / var(--vw-min) * 100vw), 12px);
	margin-top: min(calc(19 / var(--vw-min) * 100vw), 19px);
}
.onair__btn{
	position: relative;
	display: block;
	width: min(calc(210 / var(--vw-min) * 100vw), 210px);
	height: min(calc(50 / var(--vw-min) * 100vw), 50px);
	border-radius: min(calc(54 / var(--vw-min) * 100vw), 54px);
	background-color: var(--color-blue);
	overflow: hidden;
	text-decoration: none;
}
.onair__btn__face{
	position: absolute;
	left: 50%;
	top: max(calc(-1 / var(--vw-min) * 100vw), -1px);
	transform: translateX(-50%);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: min(calc(6 / var(--vw-min) * 100vw), 6px);
	width: calc(100% - min(calc(10 / var(--vw-min) * 100vw), 10px));
	height: min(calc(50 / var(--vw-min) * 100vw), 50px);
	border: min(calc(1 / var(--vw-min) * 100vw), 1px) solid var(--color-blue);
	border-radius: min(calc(54 / var(--vw-min) * 100vw), 54px);
	background-color: rgba(255, 255, 255, 0.8);
	color: #000;
	font-family: var(--font-en);
	font-size: min(calc(16 / var(--vw-min) * 100vw), 16px);
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0;
	white-space: nowrap;
	transition: all 0.3s ease-in-out;
}
.onair__btn__arrow{
	display: block;
	width: min(calc(10 / var(--vw-min) * 100vw), 10px);
	height: min(calc(10 / var(--vw-min) * 100vw), 10px);
	flex: 0 0 auto;
	mask: url(../img/common/link-arrow.svg) no-repeat center center / contain;
	background-color: var(--color-blue);
	transition: background-color 0.3s ease-in-out;
}
@media (hover: hover) and (pointer: fine){
	.onair__btn:hover .onair__btn__face{
		background-color: var(--color-blue);
		color: #fff;
	}
	.onair__btn:hover .onair__btn__arrow{
		background-color: #fff;
	}
}
.onair__lists{
	margin-top: min(calc(6 / var(--vw-min) * 100vw), 6px);
}
.onair__item{
	display: grid;
	grid-template-columns: min(calc(262 / var(--vw-min) * 100vw), 262px) min(calc(419 / var(--vw-min) * 100vw), 419px) minmax(0, 1fr);
	align-items: center;
	height: min(calc(80 / var(--vw-min) * 100vw), 80px);
	border-bottom: 1px dashed var(--color-blue);
	color: #fff;
	font-size: min(calc(16 / var(--vw-min) * 100vw), 16px);
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0;
}
.onair__channel{
	font-weight: 700;
}
.onair__detail{
	display: flex;
	align-items: baseline;
}
@media screen and (max-width:768px){
	.onair__channel{
		margin-bottom: calc(14 / var(--vw-min) * 100vw);
	}
	.onair__detail, .onair__time{
		display: inline;
	}
}
.onair__from{
	margin-left: min(calc(2 / var(--vw-min) * 100vw), 2px);
	font-size: min(calc(13.3 / var(--vw-min) * 100vw), 13.3px);
}
.onair__note{
	margin-top: min(calc(29 / var(--vw-min) * 100vw), 29px);
	color: #fff;
	font-size: min(calc(12 / var(--vw-min) * 100vw), 12px);
	font-weight: 400;
	line-height: 1.15;
	letter-spacing: 0;
}
.onair__note._air{
	margin-top: min(calc(30 / var(--vw-min) * 100vw), 30px);
}
@media screen and (max-width:768px){
	.onair{
		padding-bottom: calc(80 / var(--vw-min) * 100vw);
	}
	.onair__inner{
		width: 100%;
		padding: 0 calc(20 / var(--vw-min) * 100vw);
	}

	.onair__services{
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: calc(10 / var(--vw-min) * 100vw);
		row-gap: calc(8 / var(--vw-min) * 100vw);
	}
	.onair__btn{
		width: 100%;
		height: calc(42 / var(--vw-min) * 100vw);
	}
	.onair__btn__face{
		height: calc(42 / var(--vw-min) * 100vw);
		font-size: calc(13 / var(--vw-min) * 100vw);
	}
	.onair__btn__arrow{
		width: calc(8 / var(--vw-min) * 100vw);
		height: calc(8 / var(--vw-min) * 100vw);
	}
	.onair__item{
		/*grid-template-columns: 1fr;*/
		display: block;
		height: auto;
		padding: calc(14 / var(--vw-min) * 100vw) 0;
		font-size: calc(14 / var(--vw-min) * 100vw);
	}
}

/*-----------------------------------------------
 * music
-------------------------------------------------*/
.music{
	position: relative;
	z-index: 2;
	color: #fff;
	padding-top: min(calc(175 / var(--vw-min) * 100vw), 175px);
	padding-bottom: min(calc(200 / var(--vw-min) * 100vw), 200px);
}
.music__title{
	position: relative;
	width: 100%;
	height: min(calc(95 / var(--vw-min) * 100vw), 95px);
}

.music__title{
	display: block;
	width: 100%;
	height: min(calc(95 / var(--vw-min) * 100vw), 95px);
	background: url(../img/ttl/ttl_music.png) no-repeat center center / contain;
}
.music__title .section__title__txt img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
@media screen and (max-width:768px){
	.music__title {
		height: calc(36 / var(--vw-min) * 100vw);
		background: url(../img/ttl/ttl_music_sp.png) no-repeat center center / contain;
	}
}
.music__lists{
	display: flex;
	justify-content: center;
	gap: min(calc(100 / var(--vw-min) * 100vw), 100px);
	margin-top: min(calc(80 / var(--vw-min) * 100vw), 80px);
}
.music__link{
	display: block;
	width: min(calc(350 / var(--vw-min) * 100vw), 350px);
	color: #fff;
	text-decoration: none;
}
.music__thumb{
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}
.music__thumb::before{
	content: "";
	position: absolute;
	z-index: 0;
	inset: calc(min(calc(8 / var(--vw-min) * 100vw), 8px) * -1);
	background: linear-gradient(160deg, #1A3F6E 0%, #0A1830 100%);
	filter: blur(min(calc(8 / var(--vw-min) * 100vw), 8px));
	opacity: 0;
	transition: opacity .3s var(--cubic-bezier01);
	pointer-events: none;
}

@media (hover: hover) and (pointer: fine){
	.music__link:hover .music__thumb::before{
		opacity: 1;
	}
}
.music__thumb img{
	display: block;
	width: 100%;
	height: auto;
	z-index: 1;
}

@media screen and (max-width:768px){
	.music__thumb img{
		width: 100%;
		height: auto;
	}
}
.music__label{
	display: block;
	margin-top: min(calc(20 / var(--vw-min) * 100vw), 20px);
	color: var(--color-blue);
	font-size: min(calc(18 / var(--vw-min) * 100vw), 18px);
	font-weight: 600;
	line-height: 1;
	letter-spacing: min(calc(0.72 / var(--vw-min) * 100vw), 0.72px);
	text-shadow: 0 0 8px #000, 0 0 8px #000;
}
@media screen and (max-width:768px){
	.music__label{
		font-size: calc(16 / var(--vw-min) * 100vw);
		text-align: center;
	}
}
.music__name{
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: min(calc(17 / var(--vw-min) * 100vw), 17px);
	color: #fff;
	font-size: min(calc(18 / var(--vw-min) * 100vw), 18px);
	font-weight: 600;
	line-height: 1;
	letter-spacing: min(calc(0.18 / var(--vw-min) * 100vw), 0.18px);
	text-shadow: 0 0 8px #000, 0 0 8px #000;
	position: relative;
}
@media screen and (max-width:768px){
	.music__name{
		font-size: calc(16 / var(--vw-min) * 100vw);
		text-align: center;
		line-height: 1.6;
	}
}
.music__arrow.link__arrow{
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	display: block;
	width: min(calc(20 / var(--vw-min) * 100vw), 20px);
	height: min(calc(20 / var(--vw-min) * 100vw), 20px);
	filter: drop-shadow(0 0 8px #000) drop-shadow(0 0 8px #000);
	background: url(../img/common/link-arrow2.svg) center center / contain no-repeat;
}
@media screen and (max-width:768px){
	.music{
		padding-top: calc(60 / var(--vw-min) * 100vw);
		padding-bottom: calc(60 / var(--vw-min) * 100vw);
	}
	.music__lists{
		flex-direction: column;
		align-items: center;
		gap: calc(32 / var(--vw-min) * 100vw);
		padding: 0 calc(20 / var(--vw-min) * 100vw);
		margin-top: calc(40 / var(--vw-min) * 100vw);
	}
	.music__link{
		width: 100%;
		max-width: calc(260 / var(--vw-min) * 100vw);
	}
	.music__name{
		justify-content: center;
	}
	.music__arrow.link__arrow{
		display: none;
	}
}

/*-----------------------------------------------
 * books
-------------------------------------------------*/
.books{
	position: relative;
	z-index: 2;
	color: #fff;
	padding-bottom: min(calc(190 / var(--vw-min) * 100vw), 190px);
}
.books__inner{
	width: min(calc(1100 / var(--vw-min) * 100vw), 1100px);
	margin: 0 auto;
}
.books__title{
	width: 100%;
	height: min(calc(100 / var(--vw-min) * 100vw), 100px);
	background: url(../img/ttl/ttl_books.png) no-repeat center center / contain;
	position: relative;
}
.books__lists{
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: min(calc(20 / var(--vw-min) * 100vw), 20px);
	margin-top: min(calc(56 / var(--vw-min) * 100vw), 56px);
}

.books__thumb{
	display: block;
	position: relative;
	margin-bottom: min(calc(12 / var(--vw-min) * 100vw), 12px);
}
.books__thumb::before{
	content: "";
	position: absolute;
	inset: calc(min(calc(8 / var(--vw-min) * 100vw), 8px) * -1);
	background: linear-gradient(160deg, #1A3F6E 0%, #0A1830 100%);
	filter: blur(min(calc(8 / var(--vw-min) * 100vw), 8px));
	opacity: 0;
	transition: opacity .3s var(--cubic-bezier01);
	pointer-events: none;
}
.books__thumb img{
	display: block;
	position: relative;
	z-index: 1;
	width: 100%;
	height: auto;
}
@media (hover: hover) and (pointer: fine){
	.books__link:hover .books__thumb::before{
		opacity: 1;
	}
}
.books__link{
	display: block;
	width: 100%;
	height: 100%;
	text-decoration: none;
	color: #fff;
}

.books__label{
	display: block;
	width: 100%;
	position: relative;
	text-align: center;
	font-size: min(calc(16 / var(--vw-min) * 100vw), 16px);
	font-weight: 600;
	line-height: 1;
	letter-spacing: min(calc(0.18 / var(--vw-min) * 100vw), 0.18px);
}
@media screen and (max-width:768px){
	.books{
		padding-bottom: calc(80 / var(--vw-min) * 100vw);
	}
	.books__title{
		height: calc(40 / var(--vw-min) * 100vw);
		background: url(../img/ttl/ttl_books_sp.png) no-repeat center center / contain;
	}
	.books__inner{
		width: 100%;
		padding: 0 calc(20 / var(--vw-min) * 100vw);
	}
	.books__lists{
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: calc(12 / var(--vw-min) * 100vw);
		margin-top: calc(28 / var(--vw-min) * 100vw);
	}
}
.books__label__arrow.link__arrow{
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	display: block;
	width: min(calc(15 / var(--vw-min) * 100vw), 15px);
	height: min(calc(15 / var(--vw-min) * 100vw), 15px);
	background: url(../img/common/link-arrow2.svg) center center / contain no-repeat;
}

/*-----------------------------------------------
 * bg
-------------------------------------------------*/
.bg{
	z-index: -10;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../img/top/bg/bg.png) no-repeat center center / cover;
}
.bg__over{
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../img/top/bg/bg_over.png) no-repeat center center / cover;
	z-index: -5;
}
.bg__circle{
	display: block;
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	margin: auto;
	width: min(calc(382 / var(--vw-min) * 100vw), 382px);
	height: min(calc(382 / var(--vw-min) * 100vw), 382px);
	background: url(../img/top/bg/bg_circle.png) no-repeat center center / contain;
	z-index: -6;
	transform: scale(var(--bg-circle-scale, 1));
	transform-origin: center center;
	will-change: transform;
}
.bg__circle ~ .bg__circle{
	opacity: 0;
}

.bg__rectangle{
	display: block;
	position: fixed;
	top: 50%;
	left: 50%;
	width: calc(min(calc(428 / var(--vw-min) * 100vw), 428px) * var(--bg-rectangle-scale, 1));
	height: calc(min(calc(428 / var(--vw-min) * 100vw), 428px) * var(--bg-rectangle-scale, 1));
	border: 1px solid var(--bg-rectangle-color, var(--color-blue));
	transform: translate(-50%, -50%) rotate(var(--bg-rectangle-rotate, -30deg));
	transform-origin: center center;
	will-change: transform;
	z-index: -7;
	opacity: 0.8;
}
.bg__rectangle ~ .bg__rectangle{
	opacity: 0;
}
@media screen and (max-width:768px){
	.bg__rectangle{
		width: calc(calc(200 / var(--vw-min) * 100vw) * var(--bg-rectangle-scale, 1));
		height: calc(calc(200 / var(--vw-min) * 100vw) * var(--bg-rectangle-scale, 1));
	}
}
.charaBackLink{
	display: block;
	position: absolute;
	bottom: min(calc(420 / var(--vw-min) * 100vw), 420px);
	left:min(calc(40 / var(--vw-min) * 100vw), 40px);
	border-radius: min(calc(20 / var(--vw-min) * 100vw), 20px);
	border: 1px solid rgba(255, 255, 255, 0.50);
	background: rgba(0, 0, 0, 0.50);
	padding: min(calc(10 / var(--vw-min) * 100vw), 10px) min(calc(18 / var(--vw-min) * 100vw), 18px);
	cursor: pointer;
	z-index: 20;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: min(calc(6 / var(--vw-min) * 100vw), 6px);
	transition: background 0.3s ease-in-out;
}

.charaBackLink__arrow{
	display: block;
	width: min(calc(10 / var(--vw-min) * 100vw), 10px);
	height: min(calc(10 / var(--vw-min) * 100vw), 10px);
	background: url(../img/common/arrow_left_s.svg) no-repeat center center / contain;
}
.charaBackLink__txt{
	color: #fff;
	font-size: min(calc(15 / var(--vw-min) * 100vw), 15px);
	font-weight: 600;
	line-height: 1;
	letter-spacing: min(calc(0.6 / var(--vw-min) * 100vw), 0.6px);
}
@media screen and (max-width:768px){
	.charaBackLink{
		padding: calc(8 / var(--vw-min) * 100vw) calc(16 / var(--vw-min) * 100vw) calc(8 / var(--vw-min) * 100vw) calc(10 / var(--vw-min) * 100vw);
		bottom: calc(40 / var(--vw-min) * 100vw);
		left: calc(15 / var(--vw-min) * 100vw);
		border-radius: calc(40 / var(--vw-min) * 100vw);
		gap: calc(4 / var(--vw-min) * 100vw);
	}
	.charaBackLink__txt{
		line-height: 1.2;
		font-size: calc(11 / var(--vw-min) * 100vw);
	}
	.charaBackLink__arrow{
		width: calc(12 / var(--vw-min) * 100vw);
		height: calc(12 / var(--vw-min) * 100vw);
	}
}
@media (hover: hover) and (pointer: fine){
	.charaBackLink:hover{
		background: var(--color-blue);
	}
}
.character__cont[data-sc=""] .charaBackLink{
	display: none;
}


.decoBlock{
	width: 100%;
	position: relative;
	z-index: 5;
	padding-bottom: min(calc(50 / var(--vw-min) * 100vw), 50px);
	margin-top: max(calc(-100 / var(--vw-min) * 100vw), -100px);
	pointer-events: none;
}
@media screen and (max-width:768px){
	.decoBlock{
		margin-top:calc(-50 / var(--vw-min) * 100vw);
		padding-bottom: calc(50 / var(--vw-min) * 100vw);
	}
}
.decoBlock__line__img{
	will-change: transform;
}

.decoBlock._line1 .decoBlock__line__img{
	display: block;
	position: relative;
	width: 100%;
	height: calc(450 / var(--vw-min) * 100vw);
}
.decoBlock._line1 .decoBlock__line__img .decoBlock__line__line{
	display: block;
	position: absolute;
	z-index: 1;
	left: 0;
	top: 0;
	width: 100%;
	height:100%;
	background: url(../img/top/deco/deco_line1.png) no-repeat center center / contain;
}
.decoBlock__line__mask{
	display: block;
	position: absolute;
	top:calc(38 / var(--vw-min) * 100vw);
	right: 0;
	width: calc(637 / var(--vw-min) * 100vw);
	height: calc(294 / var(--vw-min) * 100vw);
	mask: url(../img/top/deco/deco_line1_mask.svg) no-repeat center center / contain;
	-webkit-mask: url(../img/top/deco/deco_line1_mask.svg) no-repeat center center / contain;
}
.decoBlock__line__mask img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.decoBlock__line__mask .bgImg{
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	overflow: hidden;
	--bg-dur: 5s;
	--bg-a: url(../img/common/bg/bg_sc1.jpg);
	--bg-b: url(../img/common/bg/bg_sc2.jpg);
}
.decoBlock__line__mask .bgImg::before,
.decoBlock__line__mask .bgImg::after{
	content: "";
	position: absolute;
	inset: 0;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	animation: bgCross calc(var(--bg-dur) * 2) linear infinite;
}
.decoBlock__line__mask .bgImg::before{
	z-index: 1;
	background-image: var(--bg-a);
}
.decoBlock__line__mask .bgImg::after{
	background-image: var(--bg-b);
	animation-delay: calc(var(--bg-dur) * -1);
}
@keyframes bgCross{
	0%   { opacity: 0; transform: scale(1); }
	30%  { opacity: 1; transform: scale(1.06); }
	50%  { opacity: 1; transform: scale(1.1); }
	80%  { opacity: 0; transform: scale(1.16); }
	100% { opacity: 0; transform: scale(1.2); }
}
@media (prefers-reduced-motion: reduce){
	.decoBlock__line__mask .bgImg::before,
	.decoBlock__line__mask .bgImg::after{
		animation: none;
	}
	.decoBlock__line__mask .bgImg::before{
		opacity: 0;
	}
	.decoBlock__line__mask .bgImg::after{
		opacity: 1;
	}
}
@media screen and (max-width:768px){
	.decoBlock._line1 .decoBlock__line__img{
		height: calc(176 / var(--vw-min) * 100vw);
		margin-bottom: calc(20 / var(--vw-min) * 100vw);
		overflow: hidden;
	}
	.decoBlock._line1 .decoBlock__line__img .decoBlock__line__line{
		background-size: auto 100%;
		background-position: center right calc(-20 / var(--vw-min) * 100vw);
	}
	.decoBlock._line1 .decoBlock__line__mask{
        width: calc(277 / var(--vw-min) * 100vw);
        height: calc(132 / var(--vw-min) * 100vw);
        top: calc(3 / var(--vw-min) * 100vw);
        right: calc(-20 / var(--vw-min) * 100vw);
	}
}
.decoBlock._line2 .decoBlock__line__img{
	display: block;
	position: relative;
	width: 100%;
	height: calc(450 / var(--vw-min) * 100vw);
}
.decoBlock._line2 .decoBlock__line__img .decoBlock__line__line{
	display: block;
	position: absolute;
	z-index: 1;
	left: 0;
	top: 0;
	width: 100%;
	height:100%;
	background: url(../img/top/deco/deco_line2.png) no-repeat center center / contain;
}
.decoBlock._line2 .decoBlock__line__img .decoBlock__line__mask{
	display: block;
	position: absolute;
	top: calc(52 / var(--vw-min) * 100vw);
	left: 0;
	mask: url(../img/top/deco/deco_line2_mask.svg) no-repeat center center / contain;
	-webkit-mask: url(../img/top/deco/deco_line2_mask.svg) no-repeat center center / contain;
}
@media screen and (max-width:768px){
	.decoBlock._line2{
		margin-top: calc(-20 / var(--vw-min) * 100vw);
		z-index: 10;
	}
	.decoBlock._line2 .decoBlock__line__img{
		position: relative;
		height: calc(150 / var(--vw-min) * 100vw);
		overflow: hidden;
	}
	.decoBlock._line2 .decoBlock__line__img .decoBlock__line__line{
		background-size: auto 100%;
		background-position: center left calc(-10 / var(--vw-min) * 100vw);
	}
	.decoBlock._line2 .decoBlock__line__img .decoBlock__line__mask{
		width: calc(257 / var(--vw-min) * 100vw);
        height: calc(121 / var(--vw-min) * 100vw);
        top: calc(3 / var(--vw-min) * 100vw);
        left: calc(-10 / var(--vw-min) * 100vw);
	}
}
.decoBlock._line3 .decoBlock__line__img{
	display: block;
	width: 100%;
	height: calc(450 / var(--vw-min) * 100vw);
	background: url(../img/top/deco/deco_line3.png) no-repeat center center / contain;
}

@media screen and (max-width:768px){
	.decoBlock._line3{
		margin-top: unset;
	}
	.decoBlock._line3 .decoBlock__line__img{
		height: calc(147 / var(--vw-min) * 100vw);
		background-size: auto 100%;
		background-position: center center;
		margin-bottom: calc(20 / var(--vw-min) * 100vw);
	}
}

/*-----------------------------------------------
 * tLoading
-------------------------------------------------*/
html:has(.tLoading){
	overflow: hidden;
}
.tLoading{
	position: fixed;
	inset: 0;
	z-index: 200;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #000
}
.tLoading::after{
	content: "";
	position: fixed;
	inset: 0;
	z-index: 201;
	background: url(../img/top/bg/bg.png) no-repeat center center / cover;
	pointer-events: none;
	opacity: 0.8;
}
.tLoading__circleWrap{
	position: relative;
	z-index: 202;
}
.tLoading__circleWrap,
.tLoading__circleIn{
	--tLoading-size: 250;
	width: min(calc(var(--tLoading-size) / var(--vw-min) * 100vw), calc(var(--tLoading-size) * 1px));
	height: min(calc(var(--tLoading-size) / var(--vw-min) * 100vw), calc(var(--tLoading-size) * 1px));
}
.tLoading__circle{
	--tLoading-border: min(calc(10 / var(--vw-min) * 100vw), 10px);
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background: linear-gradient(180deg, #1D2088 0%, #00A0E9 100%);
	-webkit-mask: radial-gradient(farthest-side, transparent calc(100% - var(--tLoading-border)), #000 calc(100% - var(--tLoading-border)));
	mask: radial-gradient(farthest-side, transparent calc(100% - var(--tLoading-border)), #000 calc(100% - var(--tLoading-border)));
	animation: ani_rotate 1.2s linear infinite;
}
@media screen and (max-width:768px){
	.tLoading__circleWrap,
	.tLoading__circleIn{
		width: calc(200 / var(--vw-min) * 100vw);
		height: calc(200 / var(--vw-min) * 100vw);
	}
	.tLoading__circle{
		--tLoading-border: calc(10 / var(--vw-min) * 100vw);
	}
}
.tLoading__circleIn{
	position: relative;
	opacity: 0;
	animation: ani_loading-circle-on .3s cubic-bezier(.54,.22,.24,1.2) forwards .15s;
}
.tLoading__logo{
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 1;
	width: min(calc(384 / var(--vw-min) * 100vw), 384px);
	height: auto;
	aspect-ratio: 674 / 166;
	background: url(../img/common/logo/logo.png) no-repeat center center / contain;
	filter: drop-shadow(0 0 8px #FFF);
	pointer-events: none;
	transform: translate(-50%, -50%);
	animation: ani_loading-logo-on .3s cubic-bezier(.54,.22,.24,1.2) both .15s;
}
@media screen and (max-width:768px){
	.tLoading__logo{
		width: calc(280 / var(--vw-min) * 100vw);
	}
}
@keyframes ani_loading-logo-on {
	0%{
		opacity: 0;
		transform: translate(-50%, -50%) scale(80%);
	}
	100%{
		opacity: 1;
		transform: translate(-50%, -50%) scale(100%);
	}
}
@keyframes ani_loading-circle-on {
	0%{
		opacity: 0;
		transform: scale(80%);
	}
	100%{
		opacity: 1;
		transform: scale(100%);
	}
}
@keyframes ani_rotate{
	0%{ transform: rotate(0deg); }
	100%{ transform: rotate(360deg); }
}
body.--is-loading .tLoading{
	opacity: 0;
	transition: opacity .4s ease .2s;
}
body.--is-loading .tLoading__circleWrap{
	opacity: 0;
	transform: scale(150%);
	transition: opacity .4s ease .2s, transform .6s cubic-bezier(.54,.22,.24,1.2) .2s;
}
@media (prefers-reduced-motion: reduce){
	.tLoading__circle,
	.tLoading__circleIn,
	.tLoading__logo{
		animation: none;
	}
	.tLoading__circleIn{
		opacity: 1;
		transform: none;
	}
	.tLoading__logo{
		opacity: 1;
		transform: translate(-50%, -50%);
	}
}