.tc_kanna {
	color: #7fc4ff !important;
}

.tc_miyabi {
	color: #af0045 !important;
}

.tc_kai {
	color: #edd842 !important;
}

.tc_ran {
	color: #58859c !important;
}

.tc_soichi {
	color: #c091f0 !important;
}

.tc_yuri {
	color: #6ddaa4 !important;
}

.tc_kohaku {
	color: #ffcd84 !important;
}

.tc_hotaru {
	color: #d597ea !important;
}

.tc_shinju {
	color: #bebebe !important;
}

.tc_menou {
	color: #8ddfe9 !important;
}

.tc_ruri {
	color: #82a2f7 !important;
}

.tc_hidaka {
	color: #a64c55 !important;
}

.tc_chihiro {
	color: #3371b1 !important;
}

.tc_kyosuke {
	color: #bae18b !important;
}

.tc_shiori {
	color: #fdc5e0 !important;
}

.tc_mitsuki {
	color: #fa9a10 !important;
}

.bgc_kanna {
	background-color: #7fc4ff !important;
}

.bgc_miyabi {
	background-color: #af0045 !important;
}

.bgc_kai {
	background-color: #edd842 !important;
}

.bgc_ran {
	background-color: #58859c !important;
}

.bgc_soichi {
	background-color: #c091f0 !important;
}

.bgc_yuri {
	background-color: #6ddaa4 !important;
}

.bgc_kohaku {
	background-color: #ffcd84 !important;
}

.bgc_hotaru {
	background-color: #d597ea !important;
}

.bgc_shinju {
	background-color: #bebebe !important;
}

.bgc_menou {
	background-color: #8ddfe9 !important;
}

.bgc_ruri {
	background-color: #82a2f7 !important;
}

.bgc_hidaka {
	background-color: #a64c55 !important;
}

.bgc_chihiro {
	background-color: #3371b1 !important;
}

.bgc_kyosuke {
	background-color: #bae18b !important;
}

.bgc_shiori {
	background-color: #fdc5e0 !important;
}

.bgc_mitsuki {
	background-color: #fa9a10 !important;
}

.bdc_kanna {
	border-color: #7fc4ff !important;
}

.bdc_miyabi {
	border-color: #af0045 !important;
}

.bdc_kai {
	border-color: #edd842 !important;
}

.bdc_ran {
	border-color: #58859c !important;
}

.bdc_soichi {
	border-color: #c091f0 !important;
}

.bdc_yuri {
	border-color: #6ddaa4 !important;
}

.bdc_kohaku {
	border-color: #ffcd84 !important;
}

.bdc_hotaru {
	border-color: #d597ea !important;
}

.bdc_shinju {
	border-color: #bebebe !important;
}

.bdc_menou {
	border-color: #8ddfe9 !important;
}

.bdc_ruri {
	border-color: #82a2f7 !important;
}

.bdc_hidaka {
	border-color: #a64c55 !important;
}

.bdc_chihiro {
	border-color: #3371b1 !important;
}

.bdc_kyosuke {
	border-color: #bae18b !important;
}

.bdc_shiori {
	border-color: #fdc5e0 !important;
}

.bdc_mitsuki {
	border-color: #fa9a10 !important;
}

body#character #Container {
	padding: 0;
	max-width: none;
}

#lineup {
	width: 100%;
	max-width: 1260px;
	margin: 0 auto;
	padding: 0 40px;
	box-sizing: border-box;
}

#lineup::before,
#lineup::after {
	display: none;
}

#lineup a {
	display: block;
	text-decoration: none;
}

#lineup .group {
	width: 100%;
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #8650a9;
	font-family: "Josefin Sans", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 1.85em;
	letter-spacing: 0.02em;
	line-height: 1.3em;
	position: relative;
	z-index: 1;
}

#lineup .group .title {
	display: block;
	width: -moz-fit-content;
	width: fit-content;
	box-sizing: border-box;
	padding: 0 110px;
	margin: 0 20px;
	flex-shrink: 0;
	position: relative;
	z-index: 1;
}

#lineup .group .title::before,
#lineup .group .title::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 84px;
	height: 30px;
	background-position: center;
	background-size: 100% 100%;
	background-repeat: no-repeat;
}

#lineup .group .title::before {
	left: 0;
	background-image: url(../img/character/_index/deco_cap_left.png);
}

#lineup .group .title::after {
	right: 0;
	background-image: url(../img/character/_index/deco_cap_right.png);
}

#lineup .group .bar {
	width: 100%;
	height: 2px;
	background-color: #8650a9;
}

#lineup .main {
	overflow: hidden;
	position: relative;
	z-index: 1;
	margin-bottom: 80px;
	text-align: center;
}

#lineup .main ul {
	display: grid;
	justify-content: center;
	grid-template-columns: repeat(6, 1fr);
}

#lineup .main ul > li {
	width: 100%;
	position: relative;
	z-index: 1;
	aspect-ratio: 196/435;
}

#lineup .main ul > li:nth-child(odd) {
	background-color: #fff;
}

#lineup .main ul > li:nth-child(even) {
	background-color: #cfd7dd;
}

#lineup .main ul > li > a {
	overflow: hidden;
	display: block;
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
}

#lineup .main ul > li > a .thumb {
	display: block;
	position: relative;
	z-index: 50;
	width: 100%;
	height: 100%;
	background-color: transparent;
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	transition: background 0.2s linear;
}

#lineup .main ul > li.kanna > a .thumb {
	background-image: url(../img/character/_index/img_tmb_kanna_off.png);
}

#lineup .main ul > li.kanna > a:hover .thumb {
	background-image: url(../img/character/_index/img_tmb_kanna_on.png);
}

#lineup .main ul > li.miyabi > a .thumb {
	background-image: url(../img/character/_index/img_tmb_miyabi_off.png);
}

#lineup .main ul > li.miyabi > a:hover .thumb {
	background-image: url(../img/character/_index/img_tmb_miyabi_on.png);
}

#lineup .main ul > li.kai > a .thumb {
	background-image: url(../img/character/_index/img_tmb_kai_off.png);
}

#lineup .main ul > li.kai > a:hover .thumb {
	background-image: url(../img/character/_index/img_tmb_kai_on.png);
}

#lineup .main ul > li.ran > a .thumb {
	background-image: url(../img/character/_index/img_tmb_ran_off.png);
}

#lineup .main ul > li.ran > a:hover .thumb {
	background-image: url(../img/character/_index/img_tmb_ran_on.png);
}

#lineup .main ul > li.soichi > a .thumb {
	background-image: url(../img/character/_index/img_tmb_soichi_off.png);
}

#lineup .main ul > li.soichi > a:hover .thumb {
	background-image: url(../img/character/_index/img_tmb_soichi_on.png);
}

#lineup .main ul > li.yuri > a .thumb {
	background-image: url(../img/character/_index/img_tmb_yuri_off.png);
}

#lineup .main ul > li.yuri > a:hover .thumb {
	background-image: url(../img/character/_index/img_tmb_yuri_on.png);
}

#lineup .sub {
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
}

#lineup .sub:not(:last-child) {
	margin-bottom: 80px;
}

#lineup .sub > ul {
	display: grid;
	justify-content: center;
	grid-template-columns: repeat(5, 1fr);
}

#lineup .sub > ul > li {
	width: 100%;
	position: relative;
	z-index: 1;
	aspect-ratio: 196/435;
}

#lineup .sub > ul > li:nth-child(odd) {
	background-color: #fff;
}

#lineup .sub > ul > li:nth-child(even) {
	background-color: #cfd7dd;
}

#lineup .sub > ul > li > a {
	overflow: hidden;
	display: block;
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
}

#lineup .sub > ul > li > a .thumb {
	display: block;
	position: relative;
	z-index: 50;
	width: 100%;
	height: 100%;
	background-color: transparent;
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	transition: background 0.2s linear;
}

#lineup .sub ul > li.kohaku > a .thumb {
	background-image: url(../img/character/_index/img_tmb_kohaku_off.png);
}

#lineup .sub ul > li.kohaku > a:hover .thumb {
	background-image: url(../img/character/_index/img_tmb_kohaku_on.png);
}

#lineup .sub ul > li.hotaru > a .thumb {
	background-image: url(../img/character/_index/img_tmb_hotaru_off.png);
}

#lineup .sub ul > li.hotaru > a:hover .thumb {
	background-image: url(../img/character/_index/img_tmb_hotaru_on.png);
}

#lineup .sub ul > li.shinju > a .thumb {
	background-image: url(../img/character/_index/img_tmb_shinju_off.png);
}

#lineup .sub ul > li.shinju > a:hover .thumb {
	background-image: url(../img/character/_index/img_tmb_shinju_on.png);
}

#lineup .sub ul > li.menou > a .thumb {
	background-image: url(../img/character/_index/img_tmb_menou_off.png);
}

#lineup .sub ul > li.menou > a:hover .thumb {
	background-image: url(../img/character/_index/img_tmb_menou_on.png);
}

#lineup .sub ul > li.ruri > a .thumb {
	background-image: url(../img/character/_index/img_tmb_ruri_off.png);
}

#lineup .sub ul > li.ruri > a:hover .thumb {
	background-image: url(../img/character/_index/img_tmb_ruri_on.png);
}

#lineup .sub ul > li.hidaka > a .thumb {
	background-image: url(../img/character/_index/img_tmb_hidaka_off.png);
}

#lineup .sub ul > li.hidaka > a:hover .thumb {
	background-image: url(../img/character/_index/img_tmb_hidaka_on.png);
}

#lineup .sub ul > li.chihiro > a .thumb {
	background-image: url(../img/character/_index/img_tmb_chihiro_off.png);
}

#lineup .sub ul > li.chihiro > a:hover .thumb {
	background-image: url(../img/character/_index/img_tmb_chihiro_on.png);
}

#lineup .sub ul > li.kyosuke > a .thumb {
	background-image: url(../img/character/_index/img_tmb_kyosuke_off.png);
}

#lineup .sub ul > li.kyosuke > a:hover .thumb {
	background-image: url(../img/character/_index/img_tmb_kyosuke_on.png);
}

#lineup .sub ul > li.shiori > a .thumb {
	background-image: url(../img/character/_index/img_tmb_shiori_off.png);
}

#lineup .sub ul > li.shiori > a:hover .thumb {
	background-image: url(../img/character/_index/img_tmb_shiori_on.png);
}

#lineup .sub ul > li.mitsuki > a .thumb {
	background-image: url(../img/character/_index/img_tmb_mitsuki_off.png);
}

#lineup .sub ul > li.mitsuki > a:hover .thumb {
	background-image: url(../img/character/_index/img_tmb_mitsuki_on.png);
}

#diagram {
	margin-top: 160px;
	text-align: center;
}

#diagram p {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	border-width: 2px 0;
	border-style: solid;
	border-color: #fea0ae;
	width: 100%;
	height: 120px;
	background: #fff;
	color: #fea0ae;
	text-align: center;
	transition: all 0.3s;
	opacity: 1 !important;
}

#diagram p:not(.off):hover {
	background: #fea0ae;
	color: #fff;
}

#diagram p:not(.off):hover .en::before {
	background-image: url(../img/btn_arrow_next_w.png);
}

#diagram p:not(.off):hover .jp::before,
#diagram p:not(.off):hover .jp::after {
	background-color: #fff;
}

#diagram p .en {
	font-family: geom-graphic, sans-serif;
	font-weight: 300;
	font-style: normal;
	font-size: 1.88em;
	line-height: 1.1em;
	letter-spacing: 0.02em;
	position: relative;
	box-sizing: border-box;
	padding-right: 49px;
	margin-bottom: 9px;
}

#diagram p .en::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	width: 30px;
	height: 18px;
	background-position: center center;
	background-size: 100% 100%;
	background-repeat: no-repeat;
	background-image: url(../img/btn_arrow_next_p.png);
	transition: all 0.3s;
}

#diagram p .jp {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-weight: 400;
	font-size: 1.3em;
	line-height: 1.1em;
	letter-spacing: 0.02em;
	box-sizing: border-box;
	padding: 0 20px;
	position: relative;
}

#diagram p .jp::before,
#diagram p .jp::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 8px;
	height: 1px;
	background-color: #fea0ae;
	transition: all 0.3s;
}

#diagram p .jp::before {
	left: 0;
}

#diagram p .jp::after {
	right: 0;
}

body#character_detail #Container {
	padding: 0;
	max-width: none;
}

body#character_detail .detail {
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	margin: 90px auto 0;
	padding: 120px 0 20px;
	min-height: 854px;
}

body#character_detail .detail::before,
body#character_detail .detail::after {
	content: "";
	display: block;
	position: absolute;
	background-size: 100% 100%;
	background-repeat: no-repeat;
}

body#character_detail .detail::before {
	right: 30px;
	bottom: calc(100% + 20px);
	width: 278px;
	height: 33px;
	background-image: url(../img/img_deco_unlogical.png);
}

body#character_detail .detail::after {
	top: 120px;
	right: 0;
	width: 30px;
	height: 508px;
	background-image: url(../img/character/deco_bg_text.png);
}

body#character_detail .detail > .desc {
	position: relative;
	z-index: 500;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: 30px;
	padding: 30px 50px 30px 80px;
	background-color: #f2f3f5;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 670px;
	min-height: 704px;
	text-align: left;
}

body#character_detail .detail h1 {
	display: block;
	color: #003d63;
}

body#character_detail .detail h1 .ruby {
	display: block;
	margin-bottom: -1px;
	font-size: 1.3em;
	line-height: 1em;
	letter-spacing: 0.05em;
	font-family: "Josefin Sans", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-weight: 400;
}

body#character_detail .detail h1 .name {
	display: block;
	font-size: 3.75em;
	line-height: 1em;
	letter-spacing: 0.07em;
}

body#character_detail .detail .head {
	width: 100%;
	position: relative;
}

body#character_detail .detail .info {
	display: flex;
	align-items: center;
	border-top: #003d63 solid 1px;
	border-bottom: #003d63 solid 1px;
	padding: 10px 0;
	box-sizing: border-box;
	min-height: 62px;
	margin-top: 22px;
}

body#character_detail .detail .info._voice {
	justify-content: space-between;
}

body#character_detail .detail .info._voice .rect-buttons {
	margin-top: 0;
}

body#character_detail .detail .cv {
	box-sizing: border-box;
	display: inline-block;
	color: #003d63;
	font-size: 1.2em;
	line-height: 1em;
}

body#character_detail .detail .cv span {
	font-size: 0.9em;
	font-family: "Josefin Sans", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-weight: 400;
	margin-right: 6px;
}

body#character_detail .detail .intro {
	margin-top: 30px;
	font-size: 1em;
	line-height: 2.1em;
}

body#character_detail .detail ul.profile {
	display: flex;
	flex-flow: row wrap;
	padding: 14px 0;
	margin-top: 30px;
	font-size: 1em;
	line-height: 1.8em;
}

body#character_detail .detail ul.profile > li {
	display: flex;
	flex-flow: row nowrap;
	width: -moz-fit-content;
	width: fit-content;
	position: relative;
}

body#character_detail .detail ul.profile > li:not(:last-child)::after {
	content: "／";
	display: inline-block;
	margin: 0 6px;
}

body#character_detail .detail .about {
	display: flex;
	justify-content: space-between;
	margin-top: 40px;
}

body#character_detail .detail .rect-buttons {
	position: relative;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
}

body#character_detail .detail .rect-buttons._voice > dt {
	margin-right: 10px;
}

body#character_detail .detail .rect-buttons._voice > dd a,
body#character_detail .detail .rect-buttons._voice > dd span {
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: none;
	color: #fff;
	font-family: geom-graphic, sans-serif;
	font-weight: 300;
	font-style: normal;
}

body#character_detail .detail .rect-buttons._ev {
	height: -moz-fit-content;
	height: fit-content;
	padding-top: 27px;
}

body#character_detail .detail .rect-buttons._ev > dt {
	position: absolute;
	top: 0;
	left: 0;
}

body#character_detail .detail .rect-buttons > dt {
	display: inline-block;
	width: -moz-fit-content;
	width: fit-content;
	font-size: 1.1em;
	line-height: 1.2em;
	font-family: "Josefin Sans", sans-serif;
	font-weight: 400;
	font-style: normal;
}

body#character_detail .detail .rect-buttons > dd:not(:last-child) {
	margin-right: 10px;
}

body#character_detail .detail .rect-buttons > dd a,
body#character_detail .detail .rect-buttons > dd span {
	box-sizing: border-box;
	display: block;
	border: 1px solid #003d63;
	width: 80px;
	height: 80px;
	background: #b5c1c9;
	line-height: 0;
	cursor: pointer;
	transition: all 0.3s;
}

body#character_detail .detail .rect-buttons > dd a img,
body#character_detail .detail .rect-buttons > dd span img {
	transition: all 0.3s;
}

body#character_detail .detail .rect-buttons > dd a[data-audio].play,
body#character_detail .detail .rect-buttons > dd a:hover,
body#character_detail .detail .rect-buttons > dd span[data-audio].play,
body#character_detail .detail .rect-buttons > dd span:hover {
	opacity: 0.6;
}

body#character_detail .detail .links {
	width: 100%;
	max-width: 280px;
}

body#character_detail .detail .button {
	border: none;
	color: #fff;
	font-size: 1.2em;
	letter-spacing: 0.04em;
	justify-content: flex-start;
	padding-left: 30px;
	padding-right: 52px;
}

body#character_detail .detail .button:not(:first-child) {
	margin-top: 10px;
}

body#character_detail .detail .button:not(.off):hover {
	color: #fff;
}

body#character_detail .detail .button:not(.off):hover::before {
	right: 10px;
	background-image: url(../img/btn_arrow_next_w.png);
}

body#character_detail .detail .button::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	width: 22px;
	height: 14px;
	background-position: center center;
	background-size: 100% 100%;
	background-repeat: no-repeat;
	background-image: url(../img/btn_arrow_next_w.png);
	transition: all 0.3s;
}

body#character_detail .detail .vertical-buttons {
	position: absolute;
	top: 114px;
	right: 730px;
	z-index: 600;
	text-align: center;
}

body#character_detail .detail .vertical-buttons > div {
	box-sizing: border-box;
	overflow: hidden;
	position: relative;
	z-index: 1;
	margin: 0 auto;
	border: 4px solid #fff;
	border-radius: 50%;
	width: 70px;
	height: 70px;
	background-color: transparent;
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

body#character_detail .detail .vertical-buttons > div:not(:last-child) {
	margin-bottom: 10px;
}

body#character_detail .detail .vertical-buttons > div.change {
	background-position: center;
	background-size: 60px auto;
	background-repeat: no-repeat;
	transition: background-size 0.3s;
}

body#character_detail .detail .vertical-buttons > div.change:hover {
	background-size: 70px auto;
}

body#character_detail .detail .vertical-buttons > div.change.out {
	background-image: url(../img/character/btn_zoom.png);
}

body#character_detail .detail .vertical-buttons > div.change.out:hover {
	background-size: 70px auto;
}

body#character_detail .detail .vertical-buttons > div.change.zoom {
	background-image: url(../img/character/btn_out.png);
}

body#character_detail .detail .vertical-buttons > div.change.zoom:hover {
	background-size: 50px auto;
}

body#character_detail .detail .vertical-buttons .change-visual .slick-arrow {
	position: relative;
	transform: none;
	z-index: 20;
	display: block;
	width: 70px;
	height: 70px;
	border: none;
	padding: 0;
	margin: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border-radius: 50%;
	background-position: center;
	background-size: 70px auto;
	background-color: transparent;
	cursor: pointer;
	text-indent: -9999px;
}

body#character_detail .detail .vertical-buttons .change-visual .slick-prev {
	display: none !important;
}

body#character_detail .detail .vertical-buttons .change-visual .slick-next {
	top: -4px;
	right: 4px;
	background-image: url(../img/character/btn_change.png);
	opacity: 1;
}

body#character_detail .detail .vertical-buttons .change-visual .slick-next:hover,
body#character_detail .detail .vertical-buttons .change-visual .slick-next:active {
	opacity: 1;
	transition: transform 0.3s;
	transform: rotate(360deg);
}

body#character_detail .detail .serif {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	position: absolute;
	left: 110px;
	top: 0;
	z-index: 400;
	font-size: 1.7em;
	line-height: 1.1em;
	text-align: center;
}

body#character_detail .detail .serif > p {
	margin-right: 9px;
	padding: 0.7em 0.25em;
	width: 1em;
	background: #fff;
	color: #003d63;
}

body#character_detail .detail .serif > p:nth-of-type(1) {
	order: 2;
}

body#character_detail .detail .serif > p:nth-of-type(2) {
	order: 1;
}

body#character_detail .detail .serif > p span {
	display: block;
}

body#character_detail .detail .serif > p .rotate {
	transform: rotate(90deg);
}

body#character_detail .detail .serif > p .lower {
	line-height: 0.9em;
	transform: translate(0.15em, -0.15em);
}

body#character_detail .detail .serif > p .period {
	line-height: 0.7em;
	transform: translate(0.5em, -0.3em);
}

body#character_detail .detail .serif > p .brace {
	line-height: 0.5em;
}

body#character_detail .detail .serif > p .brace.start {
	transform: rotate(90deg) translate(-0.1em, -0.2em);
}

body#character_detail .detail .serif > p .brace.end {
	transform: rotate(90deg) translate(0.1em, 0.1em);
}

body#character_detail .detail .character-visual {
	position: absolute;
	top: 0;
}

body#character_detail .detail .character-visual .slick-list {
	overflow: visible !important;
}

body#character_detail .detail .char > div {
	opacity: 0;
	position: absolute;
	z-index: 100;
	text-align: left;
	transition: all 0.3s ease-in-out;
}

body#character_detail .detail .char > div.show {
	opacity: 1;
}

body#character_detail .detail .char > div.out {
	left: -200%;
	top: -30px;
	width: 600px;
}

body#character_detail .detail .char > div.out.show {
	left: 200px;
}

body#character_detail .detail .char > div.zoom {
	left: -200%;
	top: -65px;
	width: 1200px;
	height: 919px;
	-webkit-mask-image: linear-gradient(90deg, black 20%, black 100%);
	mask-image: linear-gradient(90deg, black 20%, black 100%);
}

body#character_detail .detail .char > div.zoom img {
	width: 1200px !important;
}

body#character_detail .detail .char > div.zoom.show {
	left: -126px;
}

body#character_detail .detail .symbol {
	content: "";
	position: absolute;
	right: 0;
	top: -40px;
	width: 120px;
	z-index: -1;
	pointer-events: none;
}

body#character_detail .detail .en_name {
	position: absolute;
	top: 0;
	right: 20px;
	pointer-events: none;
	z-index: -2;
}

body#character_detail .detail .en_name img {
	height: 130px;
}

body#character_detail .detail#kanna {
	background-color: #a0d3ff;
}

body#character_detail .detail#kanna .cv {
	position: relative;
	z-index: 1;
}

body#character_detail .detail#kanna .cv::after {
	content: "※名前変更可能";
	position: absolute;
	right: -58px;
	z-index: 1;
	color: #003d63;
	font-size: 0.8em;
	line-height: 1em;
	letter-spacing: 0.1em;
	white-space: nowrap;
	transform: translateX(100%);
}

body#character_detail .detail#miyabi {
	background-color: #d77fa2;
}

body#character_detail .detail#kai {
	background-color: #f2e27b;
}

body#character_detail .detail#ran {
	background-color: #9cb7c4;
}

body#character_detail .detail#soichi {
	background-color: #d0a9f8;
}

body#character_detail .detail#yuri {
	background-color: #98e8c0;
}

body#character_detail .detail#kohaku {
	background-color: #ffcd84;
}

body#character_detail .detail#hotaru {
	background-color: #d597ea;
}

body#character_detail .detail#shinju {
	background-color: #dad6d9;
}

body#character_detail .detail#menou {
	background-color: #98d9e3;
}

body#character_detail .detail#ruri {
	background-color: #a7bef9;
}

body#character_detail .detail#hidaka {
	background-color: #bd9599;
}

body#character_detail .detail#chihiro {
	background-color: #97b6d6;
}

body#character_detail .detail#kyosuke {
	background-color: #bde88c;
}

body#character_detail .detail#shiori {
	background-color: #fdc5e0;
}

body#character_detail .detail#mitsuki {
	background-color: #fdd295;
}

#groups {
	display: flex;
	flex-flow: row wrap;
	position: relative;
	left: -7px;
	z-index: 1;
	margin: 0 auto;
	width: calc(100% + 14px);
	text-align: center;
}

#groups ul {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
}

#groups ul > li {
	margin: 10px 5px;
	width: 200px;
}

#groups ul > li > a,
#groups ul > li > span {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	border: none;
	height: 50px;
	background-color: #fea0ae;
	color: #fff;
	font-family: geom-graphic, sans-serif;
	font-weight: 300;
	font-style: normal;
	font-size: 1em;
	line-height: 1.2em;
	letter-spacing: 0.04em;
	text-decoration: none;
	transition: all 0.3s;
}

#groups ul > li.cur > *,
#groups ul > li:not(.cur) > a:hover,
#groups ul > li.diagram > span:hover {
	background: #003d63;
	opacity: 1;
}

.thumb-nav {
	width: 100%;
	box-sizing: border-box;
	padding: 0 40px;
	margin-top: 20px;
}

.thumb-nav > ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 auto;
}

.thumb-nav > ul > li {
	width: 100%;
	position: relative;
	z-index: 1;
	aspect-ratio: 252/206;
	width: 16.65%;
}

.thumb-nav > ul > li:nth-child(odd) {
	background-color: #fff;
}

.thumb-nav > ul > li:nth-child(even) {
	background-color: #cfd7dd;
}

.thumb-nav > ul > li.kanna.cur > * .thumb,
.thumb-nav > ul > li.kanna:not(.cur) > a:hover .thumb {
	background-image: url(../img/character/_select/img_tmb_kanna_on.png);
}

.thumb-nav > ul > li.kanna > a .thumb,
.thumb-nav > ul > li.kanna > span .thumb {
	background-image: url(../img/character/_select/img_tmb_kanna_off.png);
}

.thumb-nav > ul > li.miyabi.cur > * .thumb,
.thumb-nav > ul > li.miyabi:not(.cur) > a:hover .thumb {
	background-image: url(../img/character/_select/img_tmb_miyabi_on.png);
}

.thumb-nav > ul > li.miyabi > a .thumb,
.thumb-nav > ul > li.miyabi > span .thumb {
	background-image: url(../img/character/_select/img_tmb_miyabi_off.png);
}

.thumb-nav > ul > li.kai.cur > * .thumb,
.thumb-nav > ul > li.kai:not(.cur) > a:hover .thumb {
	background-image: url(../img/character/_select/img_tmb_kai_on.png);
}

.thumb-nav > ul > li.kai > a .thumb,
.thumb-nav > ul > li.kai > span .thumb {
	background-image: url(../img/character/_select/img_tmb_kai_off.png);
}

.thumb-nav > ul > li.ran.cur > * .thumb,
.thumb-nav > ul > li.ran:not(.cur) > a:hover .thumb {
	background-image: url(../img/character/_select/img_tmb_ran_on.png);
}

.thumb-nav > ul > li.ran > a .thumb,
.thumb-nav > ul > li.ran > span .thumb {
	background-image: url(../img/character/_select/img_tmb_ran_off.png);
}

.thumb-nav > ul > li.soichi.cur > * .thumb,
.thumb-nav > ul > li.soichi:not(.cur) > a:hover .thumb {
	background-image: url(../img/character/_select/img_tmb_soichi_on.png);
}

.thumb-nav > ul > li.soichi > a .thumb,
.thumb-nav > ul > li.soichi > span .thumb {
	background-image: url(../img/character/_select/img_tmb_soichi_off.png);
}

.thumb-nav > ul > li.yuri.cur > * .thumb,
.thumb-nav > ul > li.yuri:not(.cur) > a:hover .thumb {
	background-image: url(../img/character/_select/img_tmb_yuri_on.png);
}

.thumb-nav > ul > li.yuri > a .thumb,
.thumb-nav > ul > li.yuri > span .thumb {
	background-image: url(../img/character/_select/img_tmb_yuri_off.png);
}

.thumb-nav > ul > li.kohaku.cur > * .thumb,
.thumb-nav > ul > li.kohaku:not(.cur) > a:hover .thumb {
	background-image: url(../img/character/_select/img_tmb_kohaku_on.png);
}

.thumb-nav > ul > li.kohaku > a .thumb,
.thumb-nav > ul > li.kohaku > span .thumb {
	background-image: url(../img/character/_select/img_tmb_kohaku_off.png);
}

.thumb-nav > ul > li.hotaru.cur > * .thumb,
.thumb-nav > ul > li.hotaru:not(.cur) > a:hover .thumb {
	background-image: url(../img/character/_select/img_tmb_hotaru_on.png);
}

.thumb-nav > ul > li.hotaru > a .thumb,
.thumb-nav > ul > li.hotaru > span .thumb {
	background-image: url(../img/character/_select/img_tmb_hotaru_off.png);
}

.thumb-nav > ul > li.shinju.cur > * .thumb,
.thumb-nav > ul > li.shinju:not(.cur) > a:hover .thumb {
	background-image: url(../img/character/_select/img_tmb_shinju_on.png);
}

.thumb-nav > ul > li.shinju > a .thumb,
.thumb-nav > ul > li.shinju > span .thumb {
	background-image: url(../img/character/_select/img_tmb_shinju_off.png);
}

.thumb-nav > ul > li.menou.cur > * .thumb,
.thumb-nav > ul > li.menou:not(.cur) > a:hover .thumb {
	background-image: url(../img/character/_select/img_tmb_menou_on.png);
}

.thumb-nav > ul > li.menou > a .thumb,
.thumb-nav > ul > li.menou > span .thumb {
	background-image: url(../img/character/_select/img_tmb_menou_off.png);
}

.thumb-nav > ul > li.ruri.cur > * .thumb,
.thumb-nav > ul > li.ruri:not(.cur) > a:hover .thumb {
	background-image: url(../img/character/_select/img_tmb_ruri_on.png);
}

.thumb-nav > ul > li.ruri > a .thumb,
.thumb-nav > ul > li.ruri > span .thumb {
	background-image: url(../img/character/_select/img_tmb_ruri_off.png);
}

.thumb-nav > ul > li.hidaka.cur > * .thumb,
.thumb-nav > ul > li.hidaka:not(.cur) > a:hover .thumb {
	background-image: url(../img/character/_select/img_tmb_hidaka_on.png);
}

.thumb-nav > ul > li.hidaka > a .thumb,
.thumb-nav > ul > li.hidaka > span .thumb {
	background-image: url(../img/character/_select/img_tmb_hidaka_off.png);
}

.thumb-nav > ul > li.chihiro.cur > * .thumb,
.thumb-nav > ul > li.chihiro:not(.cur) > a:hover .thumb {
	background-image: url(../img/character/_select/img_tmb_chihiro_on.png);
}

.thumb-nav > ul > li.chihiro > a .thumb,
.thumb-nav > ul > li.chihiro > span .thumb {
	background-image: url(../img/character/_select/img_tmb_chihiro_off.png);
}

.thumb-nav > ul > li.kyosuke.cur > * .thumb,
.thumb-nav > ul > li.kyosuke:not(.cur) > a:hover .thumb {
	background-image: url(../img/character/_select/img_tmb_kyosuke_on.png);
}

.thumb-nav > ul > li.kyosuke > a .thumb,
.thumb-nav > ul > li.kyosuke > span .thumb {
	background-image: url(../img/character/_select/img_tmb_kyosuke_off.png);
}

.thumb-nav > ul > li.shiori.cur > * .thumb,
.thumb-nav > ul > li.shiori:not(.cur) > a:hover .thumb {
	background-image: url(../img/character/_select/img_tmb_shiori_on.png);
}

.thumb-nav > ul > li.shiori > a .thumb,
.thumb-nav > ul > li.shiori > span .thumb {
	background-image: url(../img/character/_select/img_tmb_shiori_off.png);
}

.thumb-nav > ul > li.mitsuki.cur > * .thumb,
.thumb-nav > ul > li.mitsuki:not(.cur) > a:hover .thumb {
	background-image: url(../img/character/_select/img_tmb_mitsuki_on.png);
}

.thumb-nav > ul > li.mitsuki > a .thumb,
.thumb-nav > ul > li.mitsuki > span .thumb {
	background-image: url(../img/character/_select/img_tmb_mitsuki_off.png);
}

.thumb-nav > ul > li > a,
.thumb-nav > ul > li > span {
	overflow: hidden;
	display: block;
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
}

.thumb-nav > ul > li > a .thumb,
.thumb-nav > ul > li > span .thumb {
	display: block;
	position: relative;
	z-index: 50;
	width: 100%;
	height: 100%;
	background-color: transparent;
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	transition: background 0.2s linear;
}

.bottom-nav {
	margin-top: 80px;
}

@media screen and (max-width: 1300px) {

body#character_detail .detail > .desc {
	padding: 30px;
	width: 600px;
}

body#character_detail .detail .vertical-buttons {
	right: 660px;
}

body#character_detail .detail .char > div.out.show {
	left: 100px;
}

body#character_detail .detail .char > div.zoom.show {
	left: -226px;
}

}

@media screen and (max-width: 1080px) {

#groups ul > li {
	width: 160px;
}

#groups ul > li > a,
#groups ul > li > span {
	font-size: 0.9em;
}

}

@media screen and (max-width: 768px) {

#lineup .group {
	font-size: 1.7em;
}

#lineup .main {
	margin-bottom: 90px;
}

#lineup .main ul {
	display: flex;
	flex-wrap: wrap;
	max-width: 588px;
	margin: 0 auto;
}

#lineup .main ul > li {
	width: 33.33%;
}

#lineup .main ul > li.kanna > a .thumb {
	background-image: url(../img/character/_index/img_tmb_kanna_on.png);
}

#lineup .main ul > li.miyabi > a .thumb {
	background-image: url(../img/character/_index/img_tmb_miyabi_on.png);
}

#lineup .main ul > li.kai > a .thumb {
	background-image: url(../img/character/_index/img_tmb_kai_on.png);
}

#lineup .main ul > li.ran > a .thumb {
	background-image: url(../img/character/_index/img_tmb_ran_on.png);
}

#lineup .main ul > li.soichi > a .thumb {
	background-image: url(../img/character/_index/img_tmb_soichi_on.png);
}

#lineup .main ul > li.yuri > a .thumb {
	background-image: url(../img/character/_index/img_tmb_yuri_on.png);
}

#lineup .sub:not(:last-child) {
	margin-bottom: 90px;
}

#lineup .sub > ul {
	display: flex;
	flex-wrap: wrap;
	max-width: 588px;
	margin: 0 auto;
}

#lineup .sub > ul > li {
	width: 33.33%;
}

#lineup .sub ul > li.kohaku > a .thumb {
	background-image: url(../img/character/_index/img_tmb_kohaku_on.png);
}

#lineup .sub ul > li.hotaru > a .thumb {
	background-image: url(../img/character/_index/img_tmb_hotaru_on.png);
}

#lineup .sub ul > li.shinju > a .thumb {
	background-image: url(../img/character/_index/img_tmb_shinju_on.png);
}

#lineup .sub ul > li.menou > a .thumb {
	background-image: url(../img/character/_index/img_tmb_menou_on.png);
}

#lineup .sub ul > li.ruri > a .thumb {
	background-image: url(../img/character/_index/img_tmb_ruri_on.png);
}

#lineup .sub ul > li.hidaka > a .thumb {
	background-image: url(../img/character/_index/img_tmb_hidaka_on.png);
}

#lineup .sub ul > li.chihiro > a .thumb {
	background-image: url(../img/character/_index/img_tmb_chihiro_on.png);
}

#lineup .sub ul > li.kyosuke > a .thumb {
	background-image: url(../img/character/_index/img_tmb_kyosuke_on.png);
}

#lineup .sub ul > li.shiori > a .thumb {
	background-image: url(../img/character/_index/img_tmb_shiori_on.png);
}

#lineup .sub ul > li.mitsuki > a .thumb {
	background-image: url(../img/character/_index/img_tmb_mitsuki_on.png);
}

#diagram p .en {
	padding-right: 50px;
}

#diagram p .en::before {
	width: 38px;
	height: 24px;
}

#diagram {
	margin-top: 120px;
	box-sizing: border-box;
	padding: 0 40px;
}

#diagram p {
	height: 180px;
}

#diagram p:not(.off):hover {
	background: #fff;
	color: #fea0ae;
}

#diagram p:not(.off):hover .en::before {
	background-image: url(../img/btn_arrow_next_p.png);
}

#diagram p:not(.off):hover .jp::before,
#diagram p:not(.off):hover .jp::after {
	background-color: #fea0ae;
}

#diagram p .en {
	font-size: 1.7em;
	letter-spacing: 0.02em;
	margin-bottom: 16px;
}

#diagram p .jp {
	font-size: 1.1em;
	letter-spacing: 0.07em;
}

body#character_detail .detail {
	padding: 840px 0 30px;
}

body#character_detail .detail::before {
	display: none;
}

body#character_detail .detail::after {
	top: auto;
	bottom: 30px;
	right: auto;
	left: 508px;
	transform: rotate(-90deg);
	transform-origin: bottom right;
}

body#character_detail .detail > .desc {
	display: block;
	width: calc(100% - 30px);
	margin-right: 0;
	padding: 60px 42px 60px 50px;
}

body#character_detail .detail h1 .ruby {
	font-size: 1em;
	letter-spacing: 0.07em;
	line-height: 1em;
	margin-bottom: 9px;
}

body#character_detail .detail h1 .name {
	font-size: 3em;
	line-height: 1em;
}

body#character_detail .detail .info {
	min-height: 102px;
}

body#character_detail .detail .cv {
	font-size: 1.1em;
	line-height: 1em;
}

body#character_detail .detail .cv span {
	font-size: 0.8em;
}

body#character_detail .detail .intro {
	margin-top: 37px;
	font-size: 0.98em;
	line-height: 1.8em;
}

body#character_detail .detail ul.profile > li:not(:last-child)::after {
	margin: 0 8px;
}

body#character_detail .detail ul.profile {
	margin-top: 42px;
	font-size: 1.1em;
	line-height: 1.8em;
}

body#character_detail .detail .about {
	display: block;
}

body#character_detail .detail .rect-buttons._voice > dt {
	margin-right: 10px;
}

body#character_detail .detail .rect-buttons._voice > dd a,
body#character_detail .detail .rect-buttons._voice > dd span {
	width: 60px;
	height: 60px;
}

body#character_detail .detail .rect-buttons._ev {
	padding-top: 40px;
}

body#character_detail .detail .rect-buttons._ev > dd:not(:last-child) {
	margin-right: 20px;
}

body#character_detail .detail .rect-buttons > dt {
	font-size: 0.9em;
	line-height: 1.2em;
	letter-spacing: 0.03em;
}

body#character_detail .detail .rect-buttons > dd a,
body#character_detail .detail .rect-buttons > dd span {
	border-width: 1px;
	width: 100px;
	height: 100px;
}

body#character_detail .detail .rect-buttons > dd a:not([data-audio].play):hover,
body#character_detail .detail .rect-buttons > dd span:not([data-audio].play):hover {
	opacity: 1;
}

body#character_detail .detail .links {
	max-width: none;
	margin-top: 50px;
}

body#character_detail .detail .button {
	height: 90px;
	padding-right: 76px;
}

body#character_detail .detail .button:not(.off):hover::before {
	right: 20px;
}

body#character_detail .detail .button:not(:first-child) {
	margin-top: 20px;
}

body#character_detail .detail .button::before {
	width: 38px;
	height: 24px;
	right: 30px;
}

body#character_detail .detail .vertical-buttons {
	top: 30px;
	right: 40px;
}

body#character_detail .detail .vertical-buttons > div {
	width: 100px;
	height: 100px;
}

body#character_detail .detail .vertical-buttons > div.change {
	background-size: auto !important;
}

body#character_detail .detail .vertical-buttons .change-visual .slick-arrow {
	width: 100px;
	height: 100px;
	background-size: 100px auto;
}

body#character_detail .detail .vertical-buttons .change-visual .slick-next:hover,
body#character_detail .detail .vertical-buttons .change-visual .slick-next:active {
	transform: none;
}

body#character_detail .detail .serif {
	left: 46px;
	font-size: 1.1em;
	line-height: 1em;
}

body#character_detail .detail .serif > p {
	margin-right: 10px;
}

body#character_detail .detail .char > div.out {
	width: 600px;
}

body#character_detail .detail .char > div.out.show {
	left: calc(50% + 75px);
}

body#character_detail .detail .char > div.zoom {
	top: -20px;
	width: 1200px;
	height: 860px;
}

body#character_detail .detail .char > div.zoom.show {
	left: calc(50% - 240px);
}

body#character_detail .detail .symbol {
	right: 0;
	top: -13px;
}

body#character_detail .detail .en_name {
	top: auto;
	bottom: calc(100% - 910px);
	right: 0;
	transform: rotate(90deg);
	transform-origin: top right;
}

body#character_detail .detail .en_name img {
	height: 100px;
}

#groups {
	left: 0;
	width: 100%;
}

#groups ul {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px 10px;
}

#groups ul > li {
	width: 100%;
	margin: 0;
}

#groups ul > li > a,
#groups ul > li > span {
	height: 60px;
}

#groups ul > li:not(.cur) > a:hover,
#groups ul > li.diagram > span:hover {
	background-color: #fea0ae;
}

.thumb-nav {
	margin-top: 80px;
}

.thumb-nav > ul > li {
	width: 33.33%;
}

}


/*# sourceMappingURL=../map/character.css.map */
