@charset "utf-8";
/*-----------------------------------------------
 * CHARACTER
-------------------------------------------------*/
.chara__bg {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	pointer-events: none;
	/* overflow: hidden; */
}
@media screen and (max-width:768px){
	.chara__bg{
		z-index: 0;
	}
}
.chara__bg-clip {
	width: 100%;
	height: 100%;
	position: relative;
	overflow: hidden;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
.chara__bg-clip-in {
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
}
.chara__bg-clip-in {
	background: url(../img/common/bg/bg_bnr.jpg)no-repeat top/cover;
}
@supports (background-image: url(../img/common/bg/bg_bnr.webp)){
	.chara__bg-clip-in {
		background-image: url(../img/common/bg/bg_bnr.webp);
	}
}
.subSecWrap {
	position: relative;
	margin-top: max(calc(-176 / var(--vw-min) * 100vw),-176px);
}
@media screen and (max-width:768px){
	.subSecWrap {
		margin-top: calc(-259 / var(--vw-min) * 100vw);
	}
}
.subSec .cont-titWrap {
	width: calc(100% - 85.7143%);
	z-index: 2;
	padding-left: 0;
	margin-top: -80px;
}
@media screen and (max-width:768px){
	.subSec .cont-titWrap {
		width: 100%;
		margin-top: 0;
	}
}
.cont-tit {
	height: min(calc(323 / var(--vw-min) * 100vw),323px);
	background: url(../img/common/tit/tit_chara2.svg)no-repeat center/contain;
}
@media screen and (max-width:768px){
	.cont-tit {
		width: calc(414 / var(--vw-min) * 100vw);
		height: calc(140 / var(--vw-min) * 100vw);
		background-image: url(../img/common/tit/tit_chara2-s.svg);
	}
}
.subCont {
	width: 85.7143%;/*960*/
	padding-right: 5%;/*48*/
	padding-left: 7.1429%;/*80*/
	padding-top: 0;
}
@media screen and (max-width:768px){
	.subCont {
		width: 100%;
		max-width: 100%;
		padding: calc(80 / var(--vw-min) * 100vw) calc(48 / var(--vw-min) * 100vw) 0;
	}
}
/**
* thumb
**/
.chara__thumbWrap {
    width: 100%;
	position: relative;
	padding-bottom: min(calc(76 / var(--vw-min) * 100vw),76px);
	margin-top: min(calc(96 / var(--vw-min) * 100vw),96px);
}
@media screen and (max-width:768px){
	.chara__thumbWrap {
		/* padding-bottom: calc(50 / var(--vw-min) * 100vw); */
		padding-bottom: 0;
		margin-top: calc(78 / var(--vw-min) * 100vw);
	}
}
.chara__thumbLists {
	width: min(calc(745 / var(--vw-min) * 100vw),745px);
	position: relative;
	z-index: 3;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: min(calc(4 / var(--vw-min) * 100vw),4px);
	padding: min(calc(8 / var(--vw-min) * 100vw),8px) 0;
	margin: 0 auto;
}
@media screen and (max-width:768px){
	.chara__thumbLists {
		width: 100%;
		padding: calc(16 / var(--vw-min) * 100vw) calc(70 / var(--vw-min) * 100vw);
		gap: calc(8 / var(--vw-min) * 100vw);
	}
}
.chara__thumbItem {
	width: min(calc(64 / var(--vw-min) * 100vw),64px);
	height: min(calc(64 / var(--vw-min) * 100vw),64px);
	background-color: #fff;
}
@media screen and (max-width:768px){
	.chara__thumbItem {
		width: calc(80 / var(--vw-min) * 100vw);
		height: calc(80 / var(--vw-min) * 100vw);
	}
}
.chara__thumbLink {
	width: 100%;
	height: 100%;
	display: flex;
    align-items: center;
    justify-content: center;
}
.chara__thumb-img {
	width: min(calc(60 / var(--vw-min) * 100vw),60px);
	border: min(calc(1 / var(--vw-min) * 100vw),1px) solid var(--color-khaki4F4);
	transition: .3s var(--cubic-bezier01);
}
@media screen and (max-width:768px){
	.chara__thumb-img {
		width: calc(72 / var(--vw-min) * 100vw);
		border-width: calc(2 / var(--vw-min) * 100vw);
	}
}
.chara__thumb-img img {
	width: 100%;
	pointer-events: none;
}
@media (hover: hover) and (pointer: fine){
	.chara__thumbLink:hover .chara__thumb-img  {
		background-color: var(--color-redD44);
	}
}
.chara__thumbLink.is-active .chara__thumb-img {
	background-color: var(--color-redD44);
}
/**
* deco
**/
.charaTopBg.--left,
.charaTopBg.--right {
	width: min(calc(560 / var(--vw-min) * 100vw),560px);
    height: min(calc(76 / var(--vw-min) * 100vw),76px);
    position: absolute;
	bottom: 2px;
	z-index: 2;
	background-color: var(--color-khaki4F4);
}
.charaTopBg.--left {
	left: 0;
	clip-path: polygon(100% 0, 0% 100%, 0 0);
}
.charaTopBg.--right {
	right: 0;
	clip-path: polygon(0 0, 100% 100%, 100% 0);
}
@media screen and (max-width:768px){
	.charaTopBg.--left,
	.charaTopBg.--right {
		width: 50%;
		height: calc(50 / var(--vw-min) * 100vw);
		bottom: calc(-48 / var(--vw-min) * 100vw);
	}
}
.subSec .deco__chochinParts {
	position: absolute;
	top: unset;
	bottom: max(calc(-76 / var(--vw-min) * 100vw),-76px);
}
@media screen and (max-width:768px){
	.subSec .deco__chochinParts {
		/* bottom: calc(-90 / var(--vw-min) * 100vw); */
		bottom: calc(-132 / var(--vw-min) * 100vw);
	}
}
.charaCont {
	padding-top: min(calc(300 / var(--vw-min) * 100vw),300px);
}
@media screen and (max-width:768px){
	.charaCont {
		padding-top: 0;
	}
}
.chara__item {
	height: 100%;
	min-height: min(calc(800 / var(--vw-min) * 100vw),800px);
	position: relative;
	display: flex;
	align-items: flex-start;
	flex-direction: row-reverse;
	justify-content: space-between;
}
@media screen and (max-width:768px){
	.chara__item {
		display: block;
		min-height: calc(1268 / var(--vw-min) * 100vw);
	}
}
.chara__imgLists {
	width: min(calc(360 / var(--vw-min) * 100vw),360px);
	min-height: min(calc(800 / var(--vw-min) * 100vw),800px);
	position: relative;
	top: max(calc(-110 / var(--vw-min) * 100vw),-110px);
	right: 0;
	left: 0;
	pointer-events: none;
}
@media screen and (max-width:768px){
	.chara__imgLists {
		width: calc(550 / var(--vw-min) * 100vw);
		min-height: calc(1222 / var(--vw-min) * 100vw);
		position: absolute;
		right: 0;
		left: 0;
	}
}
.chara__img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
}
.chara__img img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	margin: auto;
	object-fit: cover;
	pointer-events: none;
}
@media screen and (max-width:768px){
	.chara__item.--chara2 .chara__img.c-normal {
		left: calc(68 / var(--vw-min) * 100vw);
	}
}
/** name **/
.chara__nameWrap {
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	font-feature-settings:initial;
	display: flex;
	flex-direction: column;
	position: relative;
	z-index: 2;
	text-shadow: var(--text-shadow);
}
@media screen and (max-width:768px){
	.chara__nameWrap {
		margin: calc(350 / var(--vw-min) * 100vw) 0 0 auto;
	}
}
.chara__ruby {
	font-size: min(calc(16 / var(--vw-min) * 100vw),16px);
	line-height: 1;
	font-weight: 700;
}
@media screen and (max-width:768px){
	.chara__ruby {
		font-size: calc(20 / var(--vw-min) * 100vw);
	}
}
.chara__name {
	font-size: min(calc(48 / var(--vw-min) * 100vw),48px);
	line-height: 1;
	font-weight: 900;
	margin: 0 min(calc(15 / var(--vw-min) * 100vw),15px);
}
@media screen and (max-width:768px){
	.chara__name {
		font-size: calc(56 / var(--vw-min) * 100vw);
		margin: 0 calc(24 / var(--vw-min) * 100vw);
	}
}
.chara__cvWrap {
	margin-top: min(calc(25 / var(--vw-min) * 100vw),25px);
}
@media screen and (max-width:768px){
	.chara__cvWrap {
		margin-top: 0;
	}
}
.chara__cv {
	font-size: min(calc(16 / var(--vw-min) * 100vw),16px);
	color: var(--color-redD44);
	font-weight: 700;
}
@media screen and (max-width:768px){
	.chara__cv  {
		font-size: calc(20 / var(--vw-min) * 100vw);
	}
}
.chara__cvName {
	font-size: min(calc(20 / var(--vw-min) * 100vw),20px);
	font-weight: 700;
}
@media screen and (max-width:768px){
	.chara__cvName {
		font-size: calc(28 / var(--vw-min) * 100vw);
	}
}
/** txt **/
.chara__txtWrap {
	width: min(calc(320 / var(--vw-min) * 100vw),320px);
	position: relative;
	padding: min(calc(40 / var(--vw-min) * 100vw),40px);
	margin-top: min(calc(55 / var(--vw-min) * 100vw),55px);
	background-color: rgba(255, 255, 255, .8);
}
@media screen and (max-width:768px){
	.chara__txtWrap {
		width: 100%;
		padding: calc(32 / var(--vw-min) * 100vw);
		margin: calc(726 / var(--vw-min) * 100vw) auto 0;
	}
}
.chara__txt {
	font-size: min(calc(16 / var(--vw-min) * 100vw),16px);
	line-height: 2;
	font-weight: 600;
	text-shadow: var(--text-shadow);
}
@media screen and (max-width:768px){
	.chara__txt {
		font-size: calc(24 / var(--vw-min) * 100vw);
	}
}
/**
* changeBtn
**/
.chara__changeBtn {
	width: min(calc(100 / var(--vw-min) * 100vw),100px);
	height: min(calc(100 / var(--vw-min) * 100vw),100px);
	position: absolute;
	top: min(calc(360 / var(--vw-min) * 100vw),360px);
	right: 0;
	margin: auto;
	z-index: 1;
}
@media screen and (max-width:768px){
	.chara__changeBtn {
		width: calc(124 / var(--vw-min) * 100vw);
		height: calc(124 / var(--vw-min) * 100vw);
		top: calc(72 / var(--vw-min) * 100vw);
		right: unset;
		left: 0;
	}
}
.chara__changeBtn::before {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	inset: 0;
	margin: auto;
	-webkit-mask: url(../img/common/deco/deco_change-txt.svg)no-repeat center/contain;
	mask: url(../img/common/deco/deco_change-txt.svg)no-repeat center/contain;
	background-color: #000;
	animation: 32s ani_rotate01 linear infinite;
}
.chara__changeBtn::after {
	content: "";
	width: min(calc(64 / var(--vw-min) * 100vw),64px);
	height: min(calc(64 / var(--vw-min) * 100vw),64px);
	display: block;
	position: absolute;
	inset: 0;
	margin: auto;
	-webkit-mask: url(../img/common/deco/deco_change.svg)no-repeat center/contain;
	mask: url(../img/common/deco/deco_change.svg)no-repeat center/contain;
	background-color: #000;
	transition: .3s var(--cubic-bezier01);
}
@media screen and (max-width:768px){
	.chara__changeBtn::after {
		width: calc(80 / var(--vw-min) * 100vw);
		height: calc(80 / var(--vw-min) * 100vw);
	}
}
@media (hover: hover) and (pointer: fine){
	.chara__changeBtn:hover::after {
		transform: rotate(-180deg);
	}
}
.chara__item .c-active {
	display: none;
	opacity: 0;
	transform: scale(0.5);
	transition: .3s var(--cubic-bezier01);
	animation: fadeIn .4s forwards;
}
.chara__item.c-change .c-active {
	transform: scale(1);
	display: block;
	opacity: 1;
}
.chara__item .c-normal {
	transform: scale(1);
	display: block;
	opacity: 1;
	transition: .3s var(--cubic-bezier01);
	animation: fadeIn .4s forwards;
}
.chara__item.c-change .c-normal {
	transform: scale(0.5);
	display: none;
	opacity: 0;	
}
@keyframes fadeIn{
    0% {
		opacity: 0;
		transform: scale(0.5);
    }

    100% {
      opacity: 1;
	  transform: scale(1);
    }
}
body.--noBtn .js-chara__changeBtn {
	display: none; 
}
/**
* bg 
**/
.charaBg {
	width: 100%;
	height: calc(100% - min(calc(96 / var(--vw-min) * 100vw),96px));
	position: absolute;
	top: min(calc(98 / var(--vw-min) * 100vw),98px);
	left: 0;
	z-index: -1;
	margin: auto;
	background-color: #fefdfa;
	border-bottom: min(calc(1 / var(--vw-min) * 100vw),1px) solid rgba(0, 0, 0, .2);
}
@media screen and (max-width:768px){
	.charaBg {
		height: calc(100% - calc(236 / var(--vw-min) * 100vw));
		border-color: rgba(0, 0, 0, .2);
	}
}
.charaBg::before {
	content: "";
	width: 100%;
	height: min(calc(1 / var(--vw-min) * 100vw),1px);
	position: absolute;
	bottom: min(calc(80 / var(--vw-min) * 100vw),80px);
	background-color: rgba(0, 0, 0, .2);
}
.charaBg::after {
	content: "";
	width: min(100vw,1200px);
	height: min(calc(534 / var(--vw-min) * 100vw),534px);
	display: block;
	position: absolute;
	right: 0;
	bottom: min(calc(180 / var(--vw-min) * 100vw),180px);
	left: 0;
	background: url(../img/common/bg/bg_chara2.png)no-repeat center/contain;
	opacity: .2;
	margin: auto;
}
@media screen and (min-width:769px){
	@supports (background-image: url(../img/common/bg/bg_chara2.webp)){
	.charaBg::after {
		background-image: url(../img/common/bg/bg_chara2.webp);
	}
	}
}
@media screen and (max-width:768px){
	.charaBg::before {
		content: unset;
	}
	.charaBg::after {
		padding-top: 0;
		height: calc(1080 / var(--vw-min) * 100vw);
		bottom: 0;
		background-image: url(../img/common/bg/bg_chara2-s.png);
		opacity: 1;
	}
}