@charset "UTF-8";
body#index #top_main {
	height: 100vh
}
@-webkit-keyframes bg_loop {
	0% {
		background-position: 0 0
	}
	to {
		background-position: -3000px 0
	}
}
@keyframes bg_loop {
	0% {
		background-position: 0 0
	}
	to {
		background-position: -3000px 0
	}
}
body#index #top_main .loop {
	position: absolute;
	top: 0;
	background-image: url(../img/index/bg_top_sky.png);
	width: 100%;
	background-size: cover;
	-webkit-animation: bg_loop 150s linear infinite;
	animation: bg_loop 150s linear infinite;
	padding-top: 100vh
}
body#index #top_main:before {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	background-image: url(../img/index/bg_top.png);
	position: relative;
	background-repeat: none;
	background-position: center;
	background-size: cover;
	z-index: 5
}
body#index #top_main .inner_wrap {
	width: 100%;
	height: 100vh;
	overflow: hidden;
	position: absolute;
	top: 0
}
body#index #top_main .inner {
	width: 100%;
	height: calc(100vh - 110px);
	position: absolute;
	margin: 110px 0 0;
	top: 0;
	z-index: 5
}
@media screen and (max-width:1024px) {
	body#index #top_main .inner {
		top: 0;
		margin: 0;
		height: 100%
	}
}
body#index #top_main h2 img {
	max-width: 738px;
	width: 35%;
	position: absolute;
	left: 50%;
	margin-left: -17.5%;
	bottom: 30px;
	z-index: 5
}
@media screen and (max-width:1024px) {
	body#index #top_main h2 img {
		width: 86.7%;
		margin-left: -43.35%;
		top: auto;
		bottom: 17vw
	}
}
body#index #top_main .catch_copy {
	position: absolute;
	max-width: 650px;
	top: 1%;
	z-index: 5;
	width: 31%;
	left: 50%;
	margin-left: -15.5%
}
@media screen and (max-width:1024px) {
	body#index #top_main .catch_copy {
		width: 64%;
		margin-left: -32%
	}
}
@media screen and (max-width:768px) {
	body#index #top_main .catch_copy {
		width: 86.7%;
		margin-left: -43.35%
	}
}
body#index #top_main .chara_crom {
	opacity: 0;
	-webkit-transform: translate3d(-50%, 0%, 0);
	transform: translate3d(-50%, 0%, 0);
	-webkit-transition: all 1s ease;
	transition: all 1s ease;
	-webkit-transition-delay: .5s;
	transition-delay: .5s
}
body#index #top_main .chara_crom.active, body#index #top_main .chara_iz.active, body#index #top_main .chara_kasumi.active, body#index #top_main .chara_maple.active, body#index #top_main .chara_sarry.active {
	opacity: 1;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0)
}
body#index #top_main .chara_maple, body#index #top_main .chara_sarry {
	opacity: 0;
	-webkit-transform: translate3d(50%, 0%, 0);
	transform: translate3d(50%, 0%, 0);
	-webkit-transition: all 1s ease;
	transition: all 1s ease;
	-webkit-transition-delay: 1s;
	transition-delay: 1s
}
body#index #top_main .chara_maple {
	-webkit-transform: translate3d(0%, 10%, 0);
	transform: translate3d(0%, 10%, 0);
	-webkit-transition-delay: 1.5s;
	transition-delay: 1.5s
}
body#index #top_main .chara_iz, body#index #top_main .chara_kasumi {
	opacity: 0;
	-webkit-transform: translate3d(-50%, 0%, 0);
	transform: translate3d(-50%, 0%, 0);
	-webkit-transition: all 1s ease;
	transition: all 1s ease;
	-webkit-transition-delay: 1s;
	transition-delay: 1s
}
body#index #top_main .chara_iz {
	-webkit-transform: translate3d(50%, 0%, 0);
	transform: translate3d(50%, 0%, 0);
	-webkit-transition-delay: .5s;
	transition-delay: .5s
}
@-webkit-keyframes korokoro_anim {
	0% {
		-webkit-transform: translate(0%, 0%);
		transform: translate(0%, 0%)
	}
	45%, 5% {
		-webkit-transform: translate(5%, 0%) rotate(5deg);
		transform: translate(5%, 0%) rotate(5deg)
	}
	25% {
		-webkit-transform: translate(10%, 0%) rotate(10deg);
		transform: translate(10%, 0%) rotate(10deg)
	}
	30%, 60% {
		-webkit-transform: translate(-5%, 0%) rotate(-5deg);
		transform: translate(-5%, 0%) rotate(-5deg)
	}
	35% {
		-webkit-transform: translate(-8%, 0%) rotate(-8deg);
		transform: translate(-8%, 0%) rotate(-8deg)
	}
	50% {
		-webkit-transform: translate(8%, 0%) rotate(8deg);
		transform: translate(8%, 0%) rotate(8deg)
	}
	65% {
		-webkit-transform: translate(-7%, 0%) rotate(-7deg);
		transform: translate(-7%, 0%) rotate(-7deg)
	}
	75%, to {
		-webkit-transform: translate(0%, 0%) rotate(0deg);
		transform: translate(0%, 0%) rotate(0deg)
	}
}
@keyframes korokoro_anim {
	0% {
		-webkit-transform: translate(0%, 0%);
		transform: translate(0%, 0%)
	}
	45%, 5% {
		-webkit-transform: translate(5%, 0%) rotate(5deg);
		transform: translate(5%, 0%) rotate(5deg)
	}
	25% {
		-webkit-transform: translate(10%, 0%) rotate(10deg);
		transform: translate(10%, 0%) rotate(10deg)
	}
	30%, 60% {
		-webkit-transform: translate(-5%, 0%) rotate(-5deg);
		transform: translate(-5%, 0%) rotate(-5deg)
	}
	35% {
		-webkit-transform: translate(-8%, 0%) rotate(-8deg);
		transform: translate(-8%, 0%) rotate(-8deg)
	}
	50% {
		-webkit-transform: translate(8%, 0%) rotate(8deg);
		transform: translate(8%, 0%) rotate(8deg)
	}
	65% {
		-webkit-transform: translate(-7%, 0%) rotate(-7deg);
		transform: translate(-7%, 0%) rotate(-7deg)
	}
	75%, to {
		-webkit-transform: translate(0%, 0%) rotate(0deg);
		transform: translate(0%, 0%) rotate(0deg)
	}
}
body#index #top_main .chara_news {
	-webkit-animation: korokoro_anim 5s linear 0s infinite;
	animation: korokoro_anim 5s linear 0s infinite
}
body#index #top_main .chara_crom {
	position: absolute;
	max-width: 720px;
	top: 3%;
	left: 14.4%;
	width: 35%
}
@media screen and (max-width:1024px) {
	body#index #top_main .chara_crom {
		width: 72.3%;
		top: 16%;
		left: -6%
	}
}
body#index #top_main .chara_sarry {
	position: absolute;
	max-width: 640px;
	top: 18%;
	left: 19.5%;
	width: 31%
}
@media screen and (max-width:1024px) {
	body#index #top_main .chara_sarry {
		width: 60.8%;
		top: 30%;
		left: -8.5%
	}
}
body#index #top_main .chara_maple {
	position: absolute;
	max-width: 720px;
	top: 21%;
	z-index: 2;
	width: 39%;
	left: 48%;
	margin-left: -20%
}
@media screen and (max-width:1024px) {
	body#index #top_main .chara_maple {
		width: 68.5%;
		margin-left: -38.25%;
		top: 34%
	}
}
body#index #top_main .chara_kasumi {
	position: absolute;
	max-width: 632px;
	right: 24.6%;
	top: 17%;
	z-index: 1;
	width: 30%
}
@media screen and (max-width:1024px) {
	body#index #top_main .chara_kasumi {
		width: 59.6%;
		top: 26%;
		right: 0%
	}
}
body#index #top_main .chara_iz {
	position: absolute;
	max-width: 695px;
	top: 3%;
	right: 15.5%;
	width: 33%
}
@media screen and (max-width:1024px) {
	body#index #top_main .chara_iz {
		width: 68%;
		top: 16%;
		right: -7.5%
	}
}
body#index #top_main .chara_news {
	position: absolute;
	bottom: 17%;
	max-width: 250px;
	right: 26.5%;
	z-index: 5;
	width: 12%
}
@media screen and (max-width:1024px) {
	body#index #top_main .chara_news {
		width: 33.33%;
		bottom: 50vw;
		right: 1%
	}
}
body#index #top_main ul.infiniteslide {
	height: 500px
}
body#index #top_main .loop_wrap {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	width: 100vw;
	height: 300px;
	overflow: hidden
}
body#index #top_main .loop_wrap img {
	width: 300px
}
@-webkit-keyframes loop {
	0% {
		-webkit-transform: translateX(100%);
		transform: translateX(100%)
	}
	to {
		-webkit-transform: translateX(-100%);
		transform: translateX(-100%)
	}
}
@keyframes loop {
	0% {
		-webkit-transform: translateX(100%);
		transform: translateX(100%)
	}
	to {
		-webkit-transform: translateX(-100%);
		transform: translateX(-100%)
	}
}
@-webkit-keyframes loop2 {
	0% {
		-webkit-transform: translateX(0);
		transform: translateX(0)
	}
	to {
		-webkit-transform: translateX(-200%);
		transform: translateX(-200%)
	}
}
@keyframes loop2 {
	0% {
		-webkit-transform: translateX(0);
		transform: translateX(0)
	}
	to {
		-webkit-transform: translateX(-200%);
		transform: translateX(-200%)
	}
}
body#index #top_main .loop_wrap img:first-child {
	-webkit-animation: loop 50s -25s linear infinite;
	animation: loop 50s -25s linear infinite
}
body#index #top_main .loop_wrap img:last-child {
	-webkit-animation: loop2 50s linear infinite;
	animation: loop2 50s linear infinite
}
body#index #top_main .btn_download {
	position: absolute;
	bottom: 10px;
	width: 96%;
	margin: 0 2%;
	z-index: 7
}
body#index #movie {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	padding: 0;
	position: relative;
	margin: 72px 0
}
@media screen and (max-width:768px) {
	body#index #movie {
		padding: 0;
		margin: 56px 0
	}
}
body#index #movie:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 53%;
	background: #ff71a0 url(../img/common/bg2.png) left top;
	visibility: visible;
	bottom: -20px
}
body#index #movie .inner {
	max-width: 1024px;
	width: 100%;
	margin: 0 auto;
	position: relative;
	z-index: 1
}
@media screen and (max-width:768px) {
	body#index #movie .inner {
		width: 94%
	}
}
body#index #movie h2 {
	max-width: 358px;
	width: 36%;
	margin: 0 auto 50px
}
@media screen and (max-width:768px) {
	body#index #movie h2 {
		width: 60%;
		margin: 0 auto 20px
	}
}
body#index #movie .btn_pv {
	max-width: 600px;
	margin: 0 auto
}
body#index #movie .btn_pv, body#index #movie .btn_pv .icon_youtube {
	display: block;
	position: relative
}
body#index #movie .btn_pv .icon_youtube>* {
	width: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	margin: auto
}
body#index #movie .btn_pv .icon_youtube img.icon {
	max-width: 122px;
	width: 21%;
	z-index: 2;
	-webkit-transition: .3s;
	transition: .3s
}
body#index #movie .btn_pv img.opa_hov {
	position: static;
	top: 0;
	left: 0;
	-webkit-transform: none;
	transform: none
}
body#index #movie a, body#index #movie a:before, body#index #movie a:hover img.icon, body#index #movie a:hover:before {
	-webkit-transition: .3s;
	transition: .3s
}
body#index #movie a:before {
	background: rgba(0, 0, 0, .6);
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 1
}
body#index #movie a:hover:before {
	background: 0 0
}
body#index #movie a:hover img.icon {
	opacity: 0
}
body#index #campaign .inner {
	width: 100%;
	margin: 0 auto;
	padding: 100px 0;
	max-width: 800px;
	text-align: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column
}
@media screen and (max-width:768px) {
	body#index #campaign .inner {
		width: 94%;
		padding: 40px 0
	}
}
body#index #campaign .campaign_info {
	text-align: center;
	position: relative;
	margin: 0 0 12px
}
body#index #campaign .campaign_info .campaign_end {
	position: absolute;
	bottom: 0
}
@media screen and (max-width:768px) {
	body#index #campaign .campaign_info {
		margin: 0 auto 12px
	}
}
body#index #campaign a.btn_basic {
	font-weight: 700;
	margin: 0
}
@media screen and (max-width:768px) {
	body#index #campaign a.btn_basic {
		width: 90%;
		margin: 0 auto
	}
}
body#index #story {
	background-image: url(../img/story/bg_story.png);
	background-size: cover;
	padding: 100px 0;
	color: #570f28;
	text-align: center
}
@media screen and (max-width:768px) {
	body#index #story {
		padding: 40px 0
	}
}
body#index #story .inner {
	max-width: 1024px;
	width: 100%;
	margin: 0 auto
}
@media screen and (max-width:768px) {
	body#index #story .inner {
		width: 94%
	}
}
body#index #story h2 {
	max-width: 358px;
	width: 36%;
	margin: 0 auto 75px
}
@media screen and (max-width:768px) {
	body#index #story h2 {
		width: 60%;
		margin: 0 auto 20px
	}
}
body#index #story .story_catch_copy {
	max-width: 850px;
	width: 85%;
	margin: 0 auto 40px
}
@media screen and (max-width:768px) {
	body#index #story .story_catch_copy {
		width: 100%;
		margin: 0 auto 20px
	}
}
body#index #story .story_text {
	line-height: 1.5em;
	font-size: 22px;
	font-size: 1.375rem;
	margin: 0 0 1em
}
@media screen and (max-width:1024px) {
	body#index #story .story_text {
		font-size: 16px;
		font-size: 1rem;
		line-height: 1.5em;
		text-align: left;
		width: 90%;
		margin: 0 auto 1em
	}
}
body#index #character {
	padding: 100px 0;
	text-align: center
}
@media screen and (max-width:768px) {
	body#index #character {
		padding: 40px 0
	}
}
body#index #character h2 {
	max-width: 358px;
	width: 36%;
	margin: 0 auto 75px
}
@media screen and (max-width:768px) {
	body#index #character h2 {
		width: 60%;
		margin: 0 auto 20px
	}
}
body#index #character ul {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 90vw;
	margin: 0 auto 45px
}
@media screen and (max-width:768px) {
	body#index #character ul {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		width: 96vw;
		margin: 0 auto 25px
	}
}
body#index #character ul _:-ms-lang(x)::-ms-backdrop, body#index #character ul li {
	height: 800px
}
body#index #character ul li {
	position: relative;
	overflow: hidden;
	width: 12.5vw;
	-webkit-transition: .8s;
	transition: .8s;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column
}
body#index #character ul li:hover {
	width: 20vw;
	-webkit-transition: .8s;
	transition: .8s
}
@media screen and (max-width:768px) {
	body#index #character ul li:hover {
		width: 94%
	}
	body#index #character ul li {
		width: 94%;
		height: 110px;
		margin: 0 3% 3%;
		background-image: url(../img/index/character/bg_sp_chara.png);
		background-repeat: repeat;
		background-position: left top
	}
}
body#index #character ul li .img_chara {
	width: auto;
	height: 100%
}
@media all and (-ms-high-contrast:none) {
	body#index #character ul li .img_chara ::-ms-backdrop {
		margin: 0 0 0 -105%
	}
}
@media screen and (max-width:1024px) {
	body#index #character ul li .img_chara {
		left: -12%
	}
}
@media screen and (max-width:768px) {
	body#index #character ul li .img_chara {
		position: absolute;
		max-width: 413px;
		width: 100%;
		height: auto;
		top: -16vw;
		left: -95px
	}
	body#index #character ul li.may .img_chara, body#index #character ul li.yui .img_chara {
		top: -20vw
	}
}
body#character .block_chara, body#index #character ul li a {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex
}
body#character nav.chara_choice ul.guild_list, body#index #character ul li, body#index #character ul li a {
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center
}
body#index #character ul li a {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column
}
@media screen and (max-width:768px) {
	body#index #character ul li a {
		-webkit-box-pack: center;
		-webkit-justify-content: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
		height: 100%;
		z-index: 1;
		position: relative
	}
}
body#index #character ul li a:hover .hov_txt {
	-webkit-transform: rotate(24deg) translate3d(-20%, -90%, 0);
	transform: rotate(24deg) translate3d(-20%, -90%, 0);
	-webkit-transition: all .3s ease-out;
	transition: all .3s ease-out
}
@media screen and (max-width:768px) {
	body#index #character ul li a:hover .hov_txt {
		-webkit-transform: none;
		transform: none
	}
}
body#index #character ul li .hov_txt {
	position: absolute;
	left: -90px;
	bottom: -300px;
	width: 200%;
	-webkit-transform: translate3d(0, 100%, 0);
	transform: translate3d(0, 100%, 0);
	text-align: right;
	padding: 0 75% 140px 0;
	-webkit-transition: all 1s ease-out;
	transition: all 1s ease-out
}
@media screen and (max-width:768px) {
	body#index #character ul li .hov_txt {
		position: static;
		-webkit-transform: none;
		transform: none;
		padding: 0 8% 0 0;
		text-align: right;
		width: 100%;
		left: auto;
		bottom: auto;
		z-index: 5
	}
}
body#index #character ul li .hov_txt img {
	display: inline-block;
	width: 100%
}
@media screen and (max-width:768px) {
	body#index #character ul li:after {
		position: absolute;
		top: 0;
		content: "";
		display: block;
		width: calc(100% - 10px);
		height: 100px
	}
}
body#index #character ul li.maple {
	background-color: #ffa5c5
}
@media screen and (max-width:768px) {
	body#index #character ul li.maple {
		-webkit-box-ordinal-group: 2;
		-webkit-order: 1;
		-ms-flex-order: 1;
		order: 1
	}
	body#index #character ul li.maple:after {
		border: 5px solid #ff8baf
	}
}
body#index #character ul li.maple .hov_txt {
	background: #ffa5c5
}
@media screen and (max-width:768px) {
	body#index #character ul li.maple .hov_txt {
		background: 0 0
	}
}
body#index #character ul li.maple .hov_txt img {
	max-width: 149px;
	width: 59%
}
@media screen and (max-width:768px) {
	body#index #character ul li.maple .hov_txt img {
		width: 100%;
		max-width: 131px
	}
}
body#index #character ul li.sally {
	background-color: #88e6ff
}
@media screen and (max-width:768px) {
	body#index #character ul li.sally {
		-webkit-box-ordinal-group: 3;
		-webkit-order: 2;
		-ms-flex-order: 2;
		order: 2
	}
	body#index #character ul li.sally:after {
		border: 5px solid #54d2f3
	}
}
body#index #character ul li.sally .hov_txt {
	background: #88e6ff
}
@media screen and (max-width:768px) {
	body#index #character ul li.sally .hov_txt {
		background: 0 0
	}
}
body#index #character ul li.sally .hov_txt img {
	max-width: 118px;
	width: 47%
}
@media screen and (max-width:768px) {
	body#index #character ul li.sally .hov_txt img {
		width: 100%;
		max-width: 104px
	}
}
body#index #character ul li.yui {
	background-color: #fca5ec
}
@media screen and (max-width:768px) {
	body#index #character ul li.yui {
		-webkit-box-ordinal-group: 8;
		-webkit-order: 7;
		-ms-flex-order: 7;
		order: 7
	}
	body#index #character ul li.yui:after {
		border: 5px solid #fca5ec
	}
}
body#index #character ul li.yui .hov_txt {
	background: #fca5ec
}
@media screen and (max-width:768px) {
	body#index #character ul li.yui .hov_txt {
		background: 0 0
	}
}
body#index #character ul li.yui .hov_txt img {
	max-width: 75px;
	width: 47%
}
@media screen and (max-width:768px) {
	body#index #character ul li.yui .hov_txt img {
		width: 100%;
		max-width: 75px
	}
}
body#index #character ul li.kasumi {
	background-color: #c071e6
}
@media screen and (max-width:768px) {
	body#index #character ul li.kasumi {
		-webkit-box-ordinal-group: 6;
		-webkit-order: 5;
		-ms-flex-order: 5;
		order: 5
	}
	body#index #character ul li.kasumi:after {
		border: 5px solid #c071e6
	}
}
body#index #character ul li.kasumi .hov_txt {
	background: #c071e6
}
@media screen and (max-width:768px) {
	body#index #character ul li.kasumi .hov_txt {
		background: 0 0
	}
}
body#index #character ul li.kasumi .hov_txt img {
	max-width: 118px;
	width: 47%
}
@media screen and (max-width:768px) {
	body#index #character ul li.kasumi .hov_txt img {
		width: 100%;
		max-width: 118px
	}
}
body#index #character ul li.kuromu {
	background-color: #ff5e5e
}
@media screen and (max-width:768px) {
	body#index #character ul li.kuromu {
		-webkit-box-ordinal-group: 5;
		-webkit-order: 4;
		-ms-flex-order: 4;
		order: 4
	}
	body#index #character ul li.kuromu:after {
		border: 5px solid #ff5e5e
	}
}
body#index #character ul li.kuromu .hov_txt {
	background: #ff5e5e
}
@media screen and (max-width:768px) {
	body#index #character ul li.kuromu .hov_txt {
		background: 0 0
	}
}
body#index #character ul li.kuromu .hov_txt img {
	max-width: 118px;
	width: 56%
}
@media screen and (max-width:768px) {
	body#index #character ul li.kuromu .hov_txt img {
		width: 100%;
		max-width: 118px
	}
}
body#index #character ul li.iz {
	background-color: #8fbcff
}
@media screen and (max-width:768px) {
	body#index #character ul li.iz {
		-webkit-box-ordinal-group: 4;
		-webkit-order: 3;
		-ms-flex-order: 3;
		order: 3
	}
	body#index #character ul li.iz:after {
		border: 5px solid #8fbcff
	}
}
body#index #character ul li.iz .hov_txt {
	background: #8fbcff
}
@media screen and (max-width:768px) {
	body#index #character ul li.iz .hov_txt {
		background: 0 0
	}
}
body#index #character ul li.iz .hov_txt img {
	max-width: 75px;
	width: 47%
}
@media screen and (max-width:768px) {
	body#index #character ul li.iz .hov_txt img {
		width: 100%;
		max-width: 75px
	}
}
body#index #character ul li.kanade {
	background-color: #a45a5d
}
@media screen and (max-width:768px) {
	body#index #character ul li.kanade {
		-webkit-box-ordinal-group: 7;
		-webkit-order: 6;
		-ms-flex-order: 6;
		order: 6
	}
	body#index #character ul li.kanade:after {
		border: 5px solid #a45a5d
	}
}
body#index #character ul li.kanade .hov_txt {
	background: #a45a5d
}
@media screen and (max-width:768px) {
	body#index #character ul li.kanade .hov_txt {
		background: 0 0
	}
}
body#index #character ul li.kanade .hov_txt img {
	max-width: 118px;
	width: 47%
}
@media screen and (max-width:768px) {
	body#index #character ul li.kanade .hov_txt img {
		width: 100%;
		max-width: 104px
	}
}
body#index #character ul li.may {
	background-color: #b7f16b
}
@media screen and (max-width:768px) {
	body#index #character ul li.may {
		-webkit-box-ordinal-group: 9;
		-webkit-order: 8;
		-ms-flex-order: 8;
		order: 8
	}
	body#index #character ul li.may:after {
		border: 5px solid #b7f16b
	}
}
body#index #character ul li.may .hov_txt {
	background: #b7f16b
}
@media screen and (max-width:768px) {
	body#index #character ul li.may .hov_txt {
		background: 0 0
	}
}
body#index #character ul li.may .hov_txt img {
	max-width: 75px;
	width: 47%
}
@media screen and (max-width:768px) {
	body#index #character ul li.may .hov_txt img {
		width: 100%;
		max-width: 75px
	}
}
body#index #character a.btn_basic {
	font-weight: 700
}
body#index #twitter {
	padding: 4% 0 0
}
body#index #twitter .inner {
	max-width: 850px;
	width: 100%;
	margin: 0 auto 150px;
	background: #fff;
	border: 2px solid #ff71a0;
	border-radius: 12px;
	padding: 40px 1px
}
@media screen and (max-width:1024px) {
	body#index #twitter .inner {
		width: 92%;
		margin: 0 auto 70px
	}
}
body#index #twitter h2 {
	max-width: 358px;
	width: 36%;
	margin: 0 auto 25px
}
@media screen and (max-width:768px) {
	body#index #twitter h2 {
		width: 60%;
		margin: 0 auto 20px
	}
}
body#index #twitter iframe {
	width: 9999px!important
}
body#character #contents {
	padding: 165px 0 0
}
@media screen and (max-width:768px) {
	body#character #contents {
		padding: 40px 0 0
	}
}
body#character #contents .inner {
	overflow: hidden
}
body#character h2.page_ttl {
	max-width: 358px;
	margin: 0 auto 50px
}
@media screen and (max-width:768px) {
	body#character h2.page_ttl {
		margin: 0 auto 30px;
		width: 60%
	}
}
body#character nav.chara_choice {
	max-width: 1024px;
	width: 100%;
	margin: 0 auto
}
@media screen and (max-width:768px) {
	body#character nav.chara_choice {
		width: 92%;
		margin: 0 auto 30px
	}
}
body#character nav.chara_choice ul.guild_list {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	margin: 0 0 30px
}
@media screen and (max-width:768px) {
	body#character nav.chara_choice ul.guild_list {
		-webkit-justify-content: space-around;
		-ms-flex-pack: distribute;
		justify-content: space-around
	}
}
body#character nav.chara_choice ul.guild_list li {
	width: 30%;
	opacity: .6;
	-webkit-transition: .3s;
	transition: .3s
}
@media screen and (max-width:768px) {
	body#character nav.chara_choice ul.guild_list li {
		margin: 0 10px 0 0;
		display: none
	}
	body#character nav.chara_choice ul.guild_list li:last-child {
		margin: 0
	}
}
body#character nav.chara_choice ul.guild_list li.active {
	opacity: 1
}
@media screen and (max-width:768px) {
	body#character nav.chara_choice ul.guild_list li.active {
		display: block;
		width: 70%
	}
}
body#character nav.chara_choice ul.guild_list li.arrow {
	display: none
}
@media screen and (max-width:768px) {
	body#character nav.chara_choice ul.guild_list li.arrow {
		opacity: 1;
		display: block;
		max-width: 23px
	}
}
body#character nav.chara_choice ul.guild_list li:hover {
	opacity: 1;
	-webkit-transition: .3s;
	transition: .3s
}
body#character nav.chara_choice ul.chara_list {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
	-webkit-box-pack: start;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	justify-content: flex-start
}
@media screen and (max-width:768px) {
	body#character nav.chara_choice ul.chara_list {
		-webkit-box-pack: justify;
		-webkit-justify-content: space-between;
		-ms-flex-pack: justify;
		justify-content: space-between
	}
}
body#character nav.chara_choice ul.chara_list li {
	margin: 0 15px 0 0;
	width: 100px
}
@media screen and (max-width:768px) {
	body#character nav.chara_choice ul.chara_list li {
		width: calc(25vw - 20px);
		max-width: 92px;
		margin: 0 15px 15px 0
	}
	body#character nav.chara_choice ul.chara_list li:nth-child(4n) {
		margin: 0 0 15px
	}
}
body#character .block_chara {
	-webkit-box-pack: end;
	-webkit-justify-content: flex-end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	color: #570f28;
	position: relative;
	padding: 0 0 100px;
	max-width: 1100px;
	width: 94%;
	margin: 0 auto
}
@media screen and (max-width:768px) {
	body#character .block_chara {
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		-webkit-flex-direction: column-reverse;
		-ms-flex-direction: column-reverse;
		flex-direction: column-reverse;
		padding: 0 2%
	}
}
body#character .block_chara .main_image {
	margin-right: auto;
	padding: 40px 0 0;
	position: relative;
	z-index: 2
}
body#character .block_chara .main_image _:-ms-lang(x)::-ms-backdrop, body#character .block_chara .main_image img {
	width: 75%
}
@media screen and (max-width:768px) {
	body#character .block_chara .main_image {
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		-webkit-flex-direction: column-reverse;
		-ms-flex-direction: column-reverse;
		flex-direction: column-reverse;
		padding: 40px 0 0;
		display: none
	}
	body#character .block_chara .main_image img {
		max-height: 541px;
		width: auto;
		padding: 40px 0 5%
	}
}
body#character .block_chara .chara_info {
	position: relative;
	z-index: 5;
	padding: 40px 0 0;
	max-width: 560px
}
@media screen and (max-width:768px) {
	body#character .block_chara .chara_info {
		padding: 0;
		max-width: 100%
	}
}
body#character .block_chara .chara_info h2 {
	margin: 0 0 40px
}
@media screen and (max-width:768px) {
	body#character .block_chara .chara_info h2 {
		margin: 0 auto 10px;
		width: 100%
	}
}
body#character .block_chara .chara_info h2 img {
	width: auto
}
body#character .block_chara .chara_info h2.maple img {
	width: 53.33%
}
body#character .block_chara .chara_info h2.sarry img {
	width: 40%
}
body#character .block_chara .chara_info h2.iz img {
	width: 30%
}
body#character .block_chara .chara_info h2.kanade img, body#character .block_chara .chara_info h2.kasumi img, body#character .block_chara .chara_info h2.kuromu img {
	width: 47%
}
body#character .block_chara .chara_info h2.may img, body#character .block_chara .chara_info h2.yui img {
	width: 30%
}
body#character .block_chara .chara_info h2.payne img {
	width: 47%
}
body#character .block_chara .chara_info h2.doread img {
	width: 53.33%
}
body#character .block_chara .chara_info h2.dorag img {
	width: 47%
}
body#character .block_chara .chara_info h2.frederica img {
	width: 65%
}
body#character .block_chara .chara_info h2.mii img, body#character .block_chara .chara_info h2.shin img {
	width: 30%
}
body#character .block_chara .chara_info h2.markus img, body#character .block_chara .chara_info h2.misery img {
	width: 53.33%
}
body#character .block_chara .chara_info ul {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	margin: 0 0 50px;
	padding: 0 0 50px;
	background: url(../img/character/c_line.png) bottom left repeat-x
}
@media screen and (max-width:768px) {
	body#character .block_chara .chara_info ul {
		margin: 0 0 20px;
		padding: 0 0 20px
	}
}
body#character .block_chara .chara_info ul li.chara_mov {
	width: 41%
}
@media screen and (max-width:768px) {
	body#character .block_chara .chara_info ul li.chara_mov {
		width: 53%
	}
	body#character .block_chara .chara_info ul li.chara_voice {
		width: 42%
	}
}
body#character .block_chara .chara_info ul li.chara_voice .guild {
	margin: 0 0 25px;
	font-size: 30px;
	font-size: 1.875rem
}
@media screen and (max-width:768px) {
	body#character .block_chara .chara_info ul li.chara_voice .guild {
		font-size: 17px;
		font-size: 1.0625rem;
		margin: 0 0 10px
	}
}
body#character .block_chara .chara_info ul li.chara_voice .cv_info {
	margin: 0 0 65px;
	font-size: 27px;
	font-size: 1.6875rem
}
@media screen and (max-width:768px) {
	body#character .block_chara .chara_info ul li.chara_voice .cv_info {
		font-size: 15px;
		font-size: .9375rem;
		margin: 0 0 20px
	}
}
body#character #atk_action, body#character .block_chara .chara_info ul li.chara_voice ol.voice_list {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	justify-content: flex-start
}
body#character .block_chara .chara_info ul li.chara_voice ol.voice_list li {
	max-width: 65px;
	margin: 0 13px 0 0;
	list-style-type: none;
	cursor: pointer
}
@media screen and (max-width:768px) {
	body#character .block_chara .chara_info ul li.chara_voice ol.voice_list li {
		max-width: 41px
	}
}
body#character .block_chara .chara_info ul li.chara_voice ol.voice_list li.last {
	margin: 0
}
body#character .block_chara .chara_info .text_info {
	font-size: 21px;
	font-size: 1.3125rem;
	line-height: 2
}
@media screen and (max-width:768px) {
	body#character .block_chara .chara_info .text_info {
		font-size: 16px;
		font-size: 1rem;
		line-height: 1.5;
		margin: 0 0 40px
	}
}
body#character .block_chara .chara_deco {
	position: absolute;
	right: -26%;
	bottom: 0
}
@media screen and (max-width:768px) {
	body#character .block_chara .chara_deco {
		width: 100%;
		height: 90%
	}
}
@keyframes bg_loop {
	0% {
		background-position: 0 0
	}
	to {
		background-position: -3000px 0
	}
}
body#character #atk_action {
	-webkit-animation: bg_loop 350s linear infinite;
	animation: bg_loop 350s linear infinite;
	background-image: url(../img/character/bg_c_forest.jpg);
	background-repeat: repeat-x;
	background-size: auto 100%;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	max-height: 375px;
	-webkit-box-align: end;
	-webkit-align-items: flex-end;
	-ms-flex-align: end;
	align-items: flex-end;
	padding: 30px 0;
	overflow: hidden
}
@media screen and (max-width:768px) {
	body#character #atk_action {
		height: 60vw;
		background-size: cover;
		padding: 2vw 0 6vw
	}
}
body#character #atk_action img {
	width: auto;
	height: 100%;
	max-width: 790px
}
@media screen and (max-width:768px) {
	body#character #atk_action img {
		width: 130%;
		height: auto
	}
}
body#system #contents {
	padding: 165px 0 135px
}
@media screen and (max-width:768px) {
	body#system #contents {
		padding: 40px 0 12%
	}
}
body#system #contents .inner {
	max-width: 1024px;
	width: 100%;
	margin: 0 auto
}
@media screen and (max-width:768px) {
	body#system #contents .inner {
		width: 94%
	}
}
body#system h2.page_ttl {
	max-width: 358px;
	margin: 0 auto 120px
}
@media screen and (max-width:768px) {
	body#system h2.page_ttl {
		margin: 0 auto 12%;
		width: 60%
	}
}
body#system .img_explanation {
	position: relative;
	z-index: 1
}
body#system .battle_system {
	position: relative;
	margin: 0 0 80px
}
@media screen and (max-width:1024px) {
	body#system .battle_system {
		margin: 0 0 20%
	}
}
body#system .battle_system .deco_chara1 {
	position: absolute;
	max-width: 505px;
	width: 50%;
	top: -28px;
	right: -130px
}
@media screen and (max-width:1024px) {
	body#system .battle_system .deco_chara1 {
		top: -13%;
		right: 0%
	}
}
body#system .skill_system {
	position: relative;
	margin: 0 0 65px
}
@media screen and (max-width:1024px) {
	body#system .skill_system {
		margin: 0 0 14%
	}
}
body#system .skill_system .deco_chara2 {
	position: absolute;
	max-width: 365px;
	width: 36%;
	left: -173px;
	top: -28px
}
@media screen and (max-width:1024px) {
	body#system .skill_system .deco_chara2 {
		left: -1%;
		top: -21%
	}
}
body#system .levelup_system {
	position: relative;
	margin: 0 0 175px
}
@media screen and (max-width:1024px) {
	body#system .levelup_system {
		margin: 0 0 20%
	}
}
body#system .levelup_system .deco_chara3 {
	position: absolute;
	max-width: 281px;
	width: 28%;
	bottom: 130px;
	left: -53px;
	z-index: 2
}
@media screen and (max-width:1024px) {
	body#system .levelup_system .deco_chara3 {
		bottom: 17%;
		left: -1%
	}
}
body#system .scenario_system {
	position: relative;
	margin: 0 0 10px
}
body#system .scenario_system .deco_chara4 {
	position: absolute;
	max-width: 482px;
	width: 48%;
	top: -149px;
	right: -23px
}
@media screen and (max-width:1024px) {
	body#system .scenario_system .deco_chara4 {
		top: -26%;
		right: -1.1%
	}
}
body#system .caution {
	text-align: right
}
body#law {
	overflow-x: hidden;
	font-size: 22px;
	font-size: 1.375rem
}
@media screen and (max-width:768px) {
	body#law {
		font-size: 16px;
		font-size: 1rem
	}
}
body#law #contents {
	padding: 165px 0 0
}
@media screen and (max-width:768px) {
	body#law #contents {
		padding: 40px 0 0
	}
}
body#law #contents .inner {
	overflow: hidden
}
body#law #sec1 {
	position: relative
}
body#law #sec1 .inner {
	width: 100%;
	margin: 0 auto;
	max-width: 800px;
	position: relative
}
@media screen and (max-width:768px) {
	body#law #sec1 .inner {
		width: 94%
	}
}
body#law #sec1 h1 {
	font-size: 30px;
	font-size: 1.875rem;
	text-align: center;
	color: #fff
}
@media screen and (max-width:768px) {
	body#law #sec1 h1 {
		font-size: 20px;
		font-size: 1.25rem
	}
}
body#law #sec1 h1 span {
	padding: 5px 10%;
	margin: 0 0 5%;
	border-radius: 36px;
	background: #ff71a0;
	line-height: 1.5;
	display: inline-block
}
body#law #sec1 dl dt {
	font-size: 18px;
	font-size: 1.125rem;
	font-weight: 700;
	padding: 5px 5%;
	margin: 0 0 5px;
	color: #fff;
	background: #ff71a0;
	display: inline-block;
	border-radius: 13px
}
body#law #sec1 dl dd {
	margin: 0 0 3% 1em
}
body#law #sec1 dl dd ul li {
	margin: 0 0 0 3em;
	text-indent: -3em
}
body#law #sec1 dl dd ul li ol li {
	list-style: disc;
	list-style-position: outside;
	margin: 0 0 0 2em;
	text-indent: 0
}


/* ====================================================== */

/* 20210615 トップにお知らせ追加 */
body#index #notice {
    text-align: center;
    margin: 72px 0 72px;
}

body#index #notice ul {
    max-width: 600px;
    width: 100%;
    margin: 0 auto;
    background: #fff;
    border: 2px solid #ff71a0;
    border-radius: 12px;
    padding: 40px 1px;
    font-size: 28px;
}

body#index #notice ul li {
    margin-bottom: 24px;
}

body#index #notice ul li:last-child {
    margin-bottom: 0;
}

@media screen and (max-width: 1024px) {
    body#index #notice {
        margin: 40px 0 40px;
    }

    body#index #notice ul {
        width: 92%;
        font-size: 20px;
    }
}

/* 20210615 お知らせページ追加 */
body#notice {
	overflow-x: hidden;
	font-size: 22px;
	font-size: 1.2rem;
	color: #570f28;
}
@media screen and (max-width:768px) {
	body#notice {
		font-size: 16px;
		font-size: 1rem
	}
}
body#notice #contents {
	padding: 165px 0 0
}
@media screen and (max-width:768px) {
	body#notice #contents {
		padding: 40px 0 0
	}
}
body#notice #contents .inner {
	overflow: hidden
}
body#notice #sec1 {
	position: relative
}
body#notice #sec1 .inner {
	width: 100%;
	margin: 0 auto;
	max-width: 800px;
	position: relative
}
@media screen and (max-width:768px) {
	body#notice #sec1 .inner {
		width: 94%
	}
}
body#notice #sec1 h1 {
	font-size: 30px;
	font-size: 1.875rem;
	text-align: center;
	color: #fff
}
@media screen and (max-width:768px) {
	body#notice #sec1 h1 {
		font-size: 20px;
		font-size: 1.25rem
	}
}
body#notice #sec1 h1 span {
	padding: 5px 10%;
	margin: 0 0 2%;
	border-radius: 36px;
	background: #570f28;
	line-height: 1.5;
	display: inline-block;
}
body#notice #sec1 time {
	display: block;
	margin-bottom: 5%;
	text-align: center;
	font-size: 1.4rem;
	font-weight: bold;
}

@media screen and (max-width:768px) {
	body#notice #sec1 time {
		font-size: 1.2rem;
	}
}

body#notice #sec1 h2 {
	font-size: 1.6rem;
	margin-top: 56px;
	margin-bottom: 32px;
}

body#notice #sec1 p {
	margin-bottom: 24px;
}

body#notice #sec1 .caution {
	font-size: 0.98rem;
}

@media screen and (max-width:768px) {
	body#notice #sec1 .caution {
		font-size: 0.85rem;
	}
}

body#notice #sec1 dl dt {
	font-size: 18px;
	font-size: 1.125rem;
	font-weight: 700;
	/* padding: 5px 2%; */
	/* margin: 0 0 5px; */
	/* color: #fff; */
	/* background: #ff71a0; */
	display: inline-block;
	border-radius: 13px;
	/* text-decoration: underline; */
}

body#notice #sec1 dl dd {
	margin: 0 0 3% 1em
}
body#notice #sec1 dl dd ol {
	margin-bottom: 16px;
}

body#notice #sec1 dl dd ol li {
	margin: 0 0 0 1em;
	/* text-indent: -3em */
}
body#notice #sec1 dl dd ul li {
	margin: 0 0 0 3em;
	text-indent: -3em
}
body#notice #sec1 dl dd ul li {
	list-style: disc;
	list-style-position: outside;
	margin: 0 0 0 2em;
	text-indent: 0
}




/*20211021*/
body#system h2.page_ttl {
    margin: 0 auto 30px;
}
p.end-p{
	font-size: 1.2rem;
	line-height: 1.8em;
	margin-bottom: 90px;
	color: #570f28;
	text-align: center;
	font-weight: 800;
 }
