@charset "utf-8";
.harfContIn{
	padding-left: 0;
}
@media screen and (max-width:767px){
	.content{
		overflow: hidden;
	}
	.cont_h2{
		align-items: flex-end;
	}
	.cont_h2--en{
		width: calc(600 / var(--vw-min) * 100vw);
	}
	.cont_h2--en img{
		width: 100%;
		object-fit: contain;
		object-position: bottom;
	}
}

/*-----------------------------------------------
 * CHARACTER
-------------------------------------------------*/
.characterSelectWrap{
	width: 100%;
}
.characterSelectLists{
	width: 100%;/* 840 */
	display: flex;
	gap: min(calc(16 / var(--vw-min) * 100vw), 16px);
}
.characterSelectList{
	width: min(9.5239%, 80px);/* 80 */
	padding-top: min(9.5239%, 80px);
	position: relative;
	border-radius: 50%;
}
.btn_characterSelect{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	pointer-events: none;
}
.btn_characterSelect:before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	filter: drop-shadow(0 0 16px rgba(0,0,0,10%)) drop-shadow(0 0 16px rgba(0,0,0,10%));
	border-radius: 50%;
	background: #FFF;
}
.btn_characterSelectIn{
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
	border-radius: 50%;
	overflow: hidden;
}
.characterSelect--bg{
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
	border-radius: 50%;
	background-color: #fff;
	pointer-events: auto;
}
.characterSelect--img{
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	pointer-events: none;
}
.characterSelect--img img{
	width: 100%;
}

@media screen and (max-width:767px){
	.characterSelectLists{
		gap: calc(20 / var(--vw-min) * 100vw);
	}
	.characterSelectList{
		width: calc(96 / var(--vw-min) * 100vw);
		height: calc(96 / var(--vw-min) * 100vw);
	}
}

/* standby */
.characterSelect--bg:before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border-radius: 50%;
	background-color: #4db0e2;
	transform: scale(80%);
	opacity: 0;
	transition: opacity .3s ease, transform .3s ease;
}
.btn_characterSelect:before{
	transition: opacity .3s ease, transform .3s ease, filter .3s ease;
}

@media screen and (hover:hover) and (pointer: fine){
	.btn_characterSelect:hover .characterSelect--bg:before{
		opacity: 60%;
		transform: scale(100%);
	}
	.btn_characterSelect:hover::before{
		filter: drop-shadow(0 0 32px rgba(0,0,0,10%)) drop-shadow(0 0 16px rgba(0,0,0,10%)) drop-shadow(0 0 16px rgba(0,0,0,10%)) drop-shadow(0 0 16px rgba(0,0,0,10%)) drop-shadow(0 0 16px rgba(0,0,0,10%)) drop-shadow(0 0 16px rgba(0,0,0,10%));
	}
}



/* active */
.btn_characterSelect.--is-active .characterSelect--bg:before{
	transform: scale(100%);
	opacity: 1;
}
.btn_characterSelect.--is-active:before{
	transform: scale(80%);
	opacity: 0;
}


/*------------------------------
* characterContent
------------------------------*/
.characterContent{
	width: 100%;
	display: flex;
}
@media screen and (max-width:767px){
	.characterContent{
		flex-direction: column;
	}
	.characterAreaSwiper{
		overflow: unset;
		padding-top: calc(48 / var(--vw-min) * 100vw);
	}
}


/**
* characterDetail
**/
.characterDetail{
	order: 1;
	width: 38.0953%;/* 320 */
	padding-top: 6.6667%;/* 56 */
	position: relative;
}
.characterName{
	line-height: 1;
}
.characterName--name{
	font-size: min(calc(40 / var(--vw-min) * 100vw), 40px);
	font-weight: 500;
}
.characterName--name:before{
	content: attr(data-ruby);
	font-size: min(calc(12 / var(--vw-min) * 100vw), 12px);
	display: block;
	margin-bottom: 1em;
}
.characterName--name_txt{
	display: block;
}
.characterName--name_txt:first-letter{
	color: var(--color-main-red);
}
.characterName--cv{
	margin-top: min(calc(26 / var(--vw-min) * 100vw), 26px);
	display: flex;
	align-items: flex-end;
	font-size: min(calc(20 / var(--vw-min) * 100vw), 20px);
}
.characterName--cv > span{
	display: inline-block;
	font-family: var(--font-en);
	font-size: 80%;
	color: var(--color-main-red);
	padding-right: 0.625em;
	line-height: 0.8;
}

.characterProfile{
	width: 100%;
	margin-top: 11.25%;/* 36 */
	position: relative;
	line-height: 2;
}

@media screen and (max-width:767px){
	.characterDetail{
		order: 0;
		width: 100%;
		z-index: 2;
		padding-top: 0;
	}
	.characterName--name{
		font-size: calc(56 / var(--vw-min) * 100vw);
	}
	.characterName--name:before{
		font-size: calc(20 / var(--vw-min) * 100vw);
		margin-bottom: calc(22 / var(--vw-min) * 100vw);
	}
	.characterName--cv{
		margin-top: calc(32 / var(--vw-min) * 100vw);
		font-size: calc(32 / var(--vw-min) * 100vw);
	}
	.characterName--cv > span{
		font-size: calc(24 / var(--vw-min) * 100vw);
		padding-right: calc(20 / var(--vw-min) * 100vw);
	}
	.characterProfile{
		margin-top: calc(820 / var(--vw-min) * 100vw);
	}
}


/* characterProfile__txt */
.characterProfile__txt{
	display: none;
}
.characterProfile__txt:not(.--active){
	display: none!important;
	opacity: 0;
	transition: opacity .4s ease;
}


/**
* characterFace
**/
.characterFace{
	order: 0;
	width: 19.0477%;/* 160 */
	position: relative;
	z-index: 2;
}
.charaChage{
	width: 50%;
	border-radius: 50%;
	overflow: hidden;
	margin: 46.876% auto 0;/* 75 auto 0 */
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
}
.btn_charaChange{
	display: block;
	width: 100%;
	padding-top: 100%;
	position: relative;
	font-family: var(--font-en);
	font-size: min(calc(20 / var(--vw-min) * 100vw), 20px);
	line-height: 1;
}
.charaChangeNum{
	display: inline-flex;
	align-items: center;
	line-height: 0.8;
}
.charaNow,
.charaAll{
	display: inline-block;
	padding: 0 0.25em;
}
.btn_charaChange:before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: url(../img/character/arrow_change.svg) no-repeat center / contain;
}
.btn_charaChangeIn{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}


.charaFaceLists{
	width: 100%;
	margin-top: 130%;/* 208 */
	padding-top: 220%;/* 352 */
	position: relative;
	z-index: 2;
}
.charaFaceList{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	display: flex;
	flex-direction: column;
}
.charaFaceList__img{
	width: 100%;
	padding: 5% 0;
}
.charaFaceList__img img{
	width: 100%;
}

@media screen and (hover:hover) and (pointer: fine){
	.btn_charaChange:before{
		transition: transform .3s ease;
	}
	.btn_charaChange:hover::before{
		transform: rotate(180deg);
	}
}


@media screen and (max-width:767px){
	.characterFace{
		width: calc(192 / var(--vw-min) * 100vw);
		position: absolute;
		top: 0;
		left: 0;
		margin-top: calc(298 / var(--vw-min) * 100vw);
		margin-left: calc(40 / var(--vw-min) * 100vw);
	}
	.charaChage{
		width: calc(120 / var(--vw-min) * 100vw);
		margin-top: 0;
	}
	.btn_charaChange{
		font-size: calc(26 / var(--vw-min) * 100vw);
	}
	.charaFaceLists{
		margin-top: calc(176 / var(--vw-min) * 100vw);
		padding-top: 225%;/* 432 */
	}
	.charaFaceList__img{
		padding: 6.25% 0;
	}
}


/* standby */
.charaFaceList__img{
	opacity: 0;
	transform: scale(90%);
	transition: opacity .2s ease, transform .2s ease;
}

/* active */
.charaFaceList.--active .charaFaceList__img{
	opacity: 1;
	transform: scale(100%);
	transition: opacity .3s ease, transform .4s ease;
	transition-delay: .3s;
}
.charaFaceList.--active .charaFaceList__img:nth-of-type(2){
	transition-delay: .45s;
}



/**
* characterImage
**/
.characterImage{
	width: 42.8572%;/* 360 */
	position: relative;
}
.charaMainImageLists{
	width: 155.5556%;/* 560 */
	margin-left: -22.2223%;/* -80 */
	padding-top: 196.6667%;/* 708 */
	position: relative;
}
.charaMainImageList{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.charaMainImageList img{
	width: 100%;
	height: 100%;
	object-fit: contain;
}

@media screen and (max-width:767px){
	.characterImage{
		position: absolute;
		top: 0;
		left: 0;
		width: 85.3212%;/* 558 */
		margin-left: 14.6789%;
	}
	.charaMainImageLists{
		width: 134.4087%;/* 750 */
		padding-top: 169.8925%;/* 948 */
		margin-left: 0;
	}
}


/* standby */
.charaMainImageList{
	opacity: 0;
	transform: scale(90%);
	transition: opacity .2s ease, transform .2s ease;
}

/* active */
.charaMainImageList.--active{
	opacity: 1;
	transform: scale(100%);
	transition: opacity .3s ease, transform .4s ease;
	transition-delay: .4s;
}