@charset "utf-8";

body {
	font-family: 'Noto Sans JP', sans-serif;
}

img {
	vertical-align: bottom;
}

a {
  color: #ff1970;
  text-decoration: none;
}

a:hover {
	opacity: 0.7;
}

* {
	margin: 0;
}

@media screen and (min-width: 641px) {
	body {
		min-width: 1200px;
	}

	#wrapper {
		min-width: 1200px;
	}
}

/*-----------------------------------------------
 clearfix
-----------------------------------------------*/

.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

.clearfix {
	min-height: 1px;
}

* html .clearfix {
	height: 1px;
}

/*-----------------------------------------------
 共通
-----------------------------------------------*/
.content .main_cont {
	margin: 20px;
}

.content .main_cont h2.main_cont_ttl {
	margin: 1px;
	padding-top: 1px;
	position: relative;
}


@media screen and (max-width:640px) and (min-width: 1px) {
	.content .main_cont {
		margin: 3.125vw;
	}
}

.main_cont_btn p {
	position: relative;
}

.main_cont_btn p a {
	position: relative;
	display: block;
	opacity: 1;
}

.main_cont_btn p a img {
	filter: drop-shadow(5px 5px 0 #222222);
	transition: all 0.3s;
}

.main_cont_btn p a:hover {
	animation: none;
}

.main_cont_btn p a img:hover,
.main_cont_btn p a img:active {
	filter: none;
	transform: translate3D(5px, 5px, 0);
}

.main_cont_btn .replay_btn {
	display: flex;
	align-items: center;
	justify-content: center;
}

.main_cont_btn .replay_btn a img {
	filter: none;
	width: 316px;
}

@media screen and (max-width:640px) and (min-width: 1px) {
	.main_cont_btn .replay_btn a img {
		width: 49.375vw;
	}

}

.main_cont_btn .replay_btn a img:hover,
.main_cont_btn .replay_btn a img:active {
	transform: none;
}

.note {
	text-align: right;
	margin: -10px 10px;
	font-size: 12px;
}

@media screen and (max-width:640px) and (min-width: 1px) {
	.note {
		margin: -1.562vw 1.563vw;
		font-size: 2.2vw;
	}
}



/*-----------------------------------------------
sp切り替え
-----------------------------------------------*/
#content .for-sp {
	display: none;
}

#content .for-pc {
	display: block;
}

@media screen and (max-width:640px) and (min-width: 1px) {
	#content .for-sp {
		display: block;
	}

	#content .for-pc {
		display: none;
	}
}

/*-----------------------------------------------
 topへ戻る
-----------------------------------------------*/
.back_top {
	text-align: center;
	margin: 70px 0 62px;
}

@media screen and (max-width:640px) and (min-width: 1px) {
	.back_top {
		margin: 10.9375vw 0 9.688vw;
	}

	.back_top img {
		margin: 0 auto;
		max-width: 195px;
		width: 30.46875vw;
	}

}

/*-----------------------------------------------
 banner
-----------------------------------------------*/
.banner {
	background: url(../img/sns_bg.png) no-repeat top center/100% 100%;
	padding: 0 75px 20px;
	border-radius: 30px;
	width: 417px;
	margin: 0 auto 20px;
	position: relative;
	box-sizing: border-box;
}

.banner::before {
	content: "";
	width: 53px;
	height: 23px;
	background: url(../img/ribon.png) no-repeat top center/contain;
	position: absolute;
	left: calc(50% - 26px);
	top: -12px;
}

.bnr_txt {
	width: 186px;
	margin: 0 auto 12px;
}

.banner ul {
	display: flex;
	justify-content: space-between;
	gap: 35px;
	padding: 0;
	list-style: none;
}

.banner a {
	margin: 0;
	max-width: 93px;
	display: block;
}

.banner img {
	width: 100%;
}

@media screen and (max-width:640px) and (min-width: 1px) {
	.banner {
		padding: 0;
		width: calc(580/640*100vw);
		background: url(../img/sns_bg-sp.png) no-repeat top center / 100% 100%;
		margin-bottom: calc(80/640*100vw);
	}

	.banner::before {
		width: calc(73 / 640 * 100vw);
		height: calc(33 / 640 * 100vw);
		left: calc(50% - calc(31 / 640 * 100vw));
		top: calc(-15 / 640 * 100vw);
	}

	.bnr_txt {
		width: calc(258 / 640 * 100vw);
		margin: 0 auto calc(32 / 640 * 100vw);
	}

	.banner ul {
		gap: calc(50 / 640 * 100vw);
		justify-content: center;
	}


	.banner a {
		width: calc(90/640*100vw);
		max-width: 90px;
	}
}


/*-----------------------------------------------
 page-top
-----------------------------------------------*/
#page-top {
	position: fixed;
	bottom: 30px;
	right: calc(50% - 600px);
	z-index: 10;
}

#page-top img {
	width: 62px;
}


@media screen and (max-width:1200px) {
	#page-top {
		right: 10px;
	}
}

@media screen and (max-width:640px) and (min-width: 1px) {
	#page-top img {
		width: calc(80/640*100vw);
	}
}

/*-----------------------------------------------
 footer
-----------------------------------------------*/
footer {
	font-size: 12px;
	line-height: 1.8;
	position: relative;
}

footer .inner {
	width: 419px;
	margin: 0 auto;
	text-align: center;
	padding: 42px 0 30px;
	color: #212121;
}

footer .inner a {
	color: #212121;
}

footer .btn {
	width: 173px;
	margin: 0 auto 25px;
}

footer .btn img {
	width: 100%;
}

footer p.copy {
	font-size: 14px;
}

@media screen and (max-width:640px) and (min-width: 1px) {

	footer {
		min-width: 100%;
	}

	footer .btn {
		width: 42%;
		margin: 0 auto calc(30/640*100vw);
	}

	footer .inner {
		width: 90%;
		margin: 0 auto;
		padding: calc(60/640*100vw) 0 calc(48/640*100vw);
	}

	footer p.copy {
		font-size: calc(20/640*100vw);
	}
}


/*-----------------------------------------------
 key-visual
-----------------------------------------------*/
h1,
h2 {
	padding: 0;
	margin: 0;
	font-size: 0;
}

img {
	width: 100%;
}


#key-visual {
	background: url(../img/kv_bg.png) no-repeat center top / 2000px,
	 linear-gradient(0deg, rgba(197, 252, 255, 1), rgba(168, 195, 255, 1) 50%, rgba(255, 197, 242, 1) 75%);
	position: relative;
}

#key-visual .inner {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	position: relative;
}

#key-visual .inner .kv_illust {
	position: relative;
	width: 818px;
	top: 0;
	left: -165px;
	z-index: 0;
}

#key-visual .inner .kv_title {
	position: absolute;
	width: 518px;
	top: 154px;
	right: 0;
	z-index: 1;
}

#key-visual .inner .kv_prize {
	position: absolute;
	animation-delay: 0.1s;
	width: 533px;
	bottom: 72px;
	right: 13px;
	z-index: 2;
}

#key-visual .inner .term {
	position: absolute;
	width: 1000px;
	bottom: 0;
	left: 0;
	z-index: 1;
}

@keyframes blinking {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

@media screen and (max-width:640px) and (min-width: 1px) {
	#wrap {
		min-width: inherit;
	}

	#key-visual {
		width: 100%;
		background: url(../img/kv_bg-sp.png) no-repeat center top / 100%,
		linear-gradient(0deg, rgba(197, 252, 255, 1), rgba(168, 195, 255, 1) 50%, rgba(255, 197, 242, 1) 75%);
	}

	#key-visual .inner {
		min-width: 100%;
	}

	#key-visual .inner .kv_illust {
		width: 100%;
		top: auto;
		left: 0;
		margin-bottom: calc(120 / 640 * 100vw);
		padding-top: calc(246 / 640 * 100vw);
	}

	#key-visual .inner .kv_title {
		width: calc(592 / 640 * 100vw);
		top: calc(34 / 640 * 100vw);
		bottom: auto;
		right: calc(27 / 640 * 100vw);
	}

	#key-visual .inner .kv_prize {
		position: absolute;
		width: calc(608 / 640 * 100vw);
		left: calc(17 / 640 * 100vw);
		right: auto;
		bottom: calc(70 / 640 * 100vw);
	}

	#key-visual .inner .term {
		position: absolute;
		width: 100%;
		bottom: calc(-122 / 640 * 100vw);
	}

}


/*-----------------------------------------------
 content
-----------------------------------------------*/
#content {
	margin-top: 0;
}

#content .mb10 {
	margin-bottom: 10px;
}

#content .mb20 {
	margin-bottom: 20px;
}

#content .mb30 {
	margin-bottom: 30px;
}

#content .mb40 {
	margin-bottom: 40px;
}

#content .mt10 {
	margin-top: 10px;
}

#content .mt20 {
	margin-top: 20px;
}

#content .mt30 {
	margin-top: 30px;
}

#content .fs24 {
	font-size: 24px;
}

#content .pk {
	color: #fb4b92;
}

#content .bold {
	font-weight: bold;
}

#content p {
	margin: 0;
}

#content .inner {
	max-width: 640px;
	margin: 0 auto;
	text-align: center;
}

#content h2 {
	margin-bottom: 24px;
}

#content .under {
	text-decoration: underline;
}

@media screen and (max-width:640px) and (min-width: 1px) {
	#content {
		min-width: 100%;
	}

	#content p {
		text-align: left;
	}

	#content .inner {
		width: 100%;
		margin: 0 auto;
	}

	#content h2 {
		margin: 0 5% 4%;
	}

	#content .mb10 {
		margin-bottom: 3%;
	}

	#content .mb20 {
		margin-bottom: 4%;
	}

	#content .fs24 {
		font-size: 5.5vw;
	}

	#content .sp-mt20 {
		margin-top: 20px;
	}
}


/*-----------------------------------------------
 トップページ
-----------------------------------------------*/
/*応募方法*/
#content .howto {
	background: linear-gradient(to bottom, #ffc5f2, #ffc5d5);
	padding: 30px;
}

#content .howto .inner {
	max-width: none;
	margin: 0 auto;
	padding: 42px 0 70px;
	border: solid #fff 2px;
	z-index: 1;
	position: relative;
}

#content .howto .inner .howto_deco01 {
	display: block;
	position: absolute;
	top: -2px;
	left: -2px;
	width: 320px;
	height: 320px;
	background: url(../img/howto_bg_top.png) no-repeat center top/cover;
}

#content .howto .inner .howto_deco02 {
	display: block;
	position: absolute;
	top: -2px;
	right: -2px;
	width: 320px;
	height: 320px;
	background: url(../img/howto_bg_top.png) no-repeat center top/cover;
	transform: scaleX(-1);
}

#content .howto .inner .howto_deco03 {
	display: block;
	position: absolute;
	bottom: -2px;
	left: -2px;
	width: 82px;
	height: 82px;
	background: url(../img/howto_bg_bottom.png) no-repeat center top/cover;
}

#content .howto .inner .howto_deco04 {
	display: block;
	position: absolute;
	bottom: -2px;
	right: -2px;
	width: 82px;
	height: 82px;
	background: url(../img/howto_bg_bottom.png) no-repeat center top/cover;
	transform: scaleX(-1);
}

#content .howto .inner .howto_title {
	margin: 0 auto;
	position: relative;
	z-index: 1;
	width: 432px;
}

#content .howto .inner .howto_txt {
	width: 848px;
	margin: 30px auto 8px;
}

#content .howto .inner .howto_txt img {
	width: 100%;
	height: auto;
}

#content .howto .inner .howto_btn {
	position: absolute;
	bottom: 178px;
	left: 50%;
	transform: translateX(-50%);
	width: 448px;
}

#content .howto_btn a img {
	display: block;
}

#content .howto_btn a:hover img {
	content: url("../img/howto_btn_hover.png");
}

@media screen and (max-width:640px) and (min-width: 1px) {
	#content .howto {
		padding: calc(20/640*100vw);
		position: relative;
		z-index: 2;
	}

	#content .howto .inner .howto_title {
		width: calc(519/640*100vw);
		margin: 0 auto;
		right: auto;
	}

	#content .howto .inner {
		margin: 0 auto;
		padding: calc(60/640*100vw) 0 calc(58/640*100vw);
	}

	#content .howto .inner .howto_deco01 {
		top: calc(-9/640*100vw);
		left: calc(-9/640*100vw);
		width: calc(210/640*100vw);
		height: calc(210/640*100vw);
		background: url(../img/howto_bg_top-sp.png) no-repeat center top/cover;
	}

	#content .howto .inner .howto_deco02 {
		top: calc(-9/640*100vw);
		right: calc(-9/640*100vw);
		width: calc(210/640*100vw);
		height: calc(210/640*100vw);
		background: url(../img/howto_bg_top-sp.png) no-repeat center top/cover;
	}

	#content .howto .inner .howto_deco03 {
		bottom: calc(-2/640*100vw);
		left: calc(-2/640*100vw);
		width: calc(82/640*100vw);
		height: calc(82/640*100vw);
	}

	#content .howto .inner .howto_deco04 {
		bottom: calc(-2/640*100vw);
		right: calc(-2/640*100vw);
		width: calc(82/640*100vw);
		height: calc(82/640*100vw);
		transform: scaleX(-1);
	}

	#content .howto .inner .howto_txt {
		width: calc(604/640*100vw);
		margin: 0 calc(-10/640*100vw) 0 0;
		right: calc(-10/640*100vw);
	}

	#content .howto .inner .howto_btn {
		width: calc(560 / 640 * 100vw);
		left: 50%;
		bottom: calc(220 / 640 * 100vw);
		transform: translateX(-50%);
	}
}

/*応募規約*/
#content .rules {
	background: #d2e9ff;
	padding: 65px 0 60px;
	position: relative;
}

#content .rules .inner {
	background: #fff;
	border-top: solid 1px #abafff;
	border-bottom: solid 1px #abafff;
	position: relative;
	max-width: 100%;
}

#content .rules .inner.animated {
	opacity: 1;
}

#content .rules .inner .rules_title {
	position: relative;
	top: -45px;
	width: 96px;
	margin: 0 auto;
}

#content .rules .inner .rules_box {
	text-align: left;
	padding: 0 20px 30px;
	height: 272px;
	max-width: 900px;
	margin: 0 auto;
}

#content .rules .inner .scroll_inner {
	max-height: 272px;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

#content .rules .inner .rules_box .scroll_inner::-webkit-scrollbar {
	width: 12px;
}

#content .rules .inner .rules_box .scroll_inner::-webkit-scrollbar-track {
	background: transparent;
	border-radius: 6px;
}

#content .rules .inner .rules_box .scroll_inner::-webkit-scrollbar-thumb {
	background-color: #b2b5ff;
	border-radius: 6px;
	border: none;
}

#content .rules .inner .scroll_inner .rules_text {
	padding:0 40px 0 0;
}

#content .rules .inner .rules_box h3 {
	color: #858bfe;
	font-size: 15px;
}

#content .rules .inner .rules_box p {
	line-height: 1.33;
	margin-bottom: 1em;
	color: #212121;
	font-size: 14px;
}

#content .rules .inner .rules_box ul {
	padding: 0;
}

#content .rules .inner .rules_box ul li {
	list-style: none;
	color: #212121;
	font-size: 14px;
}

#content .rules .inner .rules_box ul li::before {
	content: "・";
}

@media screen and (max-width:640px) and (min-width: 1px) {
	#content .rules {
		padding: calc(25/640*100vw) 0 calc(70/640*100vw);
	}

	#content .rules .inner {
		background: inherit;
		border-top:none;
	}

	#content .rules .inner .rules_title {
		top: 0;
		width: calc(128/640*100vw);
		margin-bottom: calc(23/640*100vw);
	}

	#content .rules .inner .rules_box {
		padding: calc(40/640*100vw) calc(20/640*100vw) calc(48/640*100vw) calc(30/640*100vw);
		height: calc(500/640*100vw);
		background: #fff;
		border-top: solid 1px #abafff;
	}

	#content .rules .inner .rules_box h3 {
		font-size: calc(22/640*100vw);
	}

	#content .rules .inner .rules_box p {
		font-size: calc(22/640*100vw);
	}

	#content .rules .inner .rules_box ul li {
		font-size: calc(22/640*100vw);
		
	}

	#content .rules .inner .scroll_inner {
		max-height: calc(500/640*100vw);
	}

	#content .rules .inner .scroll_inner .rules_text {
		padding:0 calc(30/640*100vw) 0 0;
	}

}

/*投票リスト*/
#content .episode {
	background: url(../img/episode_bg.png) center 10px;
	position: relative;
}

#content .episode .inner {
	max-width: 1310px;
	background-blend-mode: multiply;
	margin: 0 auto;
	padding: 47px 0 86px;
}
@media screen and (max-width:1300px) and (min-width: 641px) {
	#content .episode .inner {
		width: 95vw;
		margin: 0;
		padding: 47px 20px 86px;
	}
}

#content .episode .inner .episode_title {
	width: 485px;
	margin: 0 auto;
}

#content .episode .inner .episode_txt {
	width: 553px;
	margin: 24px auto 0;
	position: relative;
}

#content .episode .inner .episode_lists {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(253px, 1fr));
	gap: 22px 10px;
	margin: 0 auto;
	padding: 32px 0 0;
}

#content .episode .inner .episode_lists .episode_list {
	list-style: none;
	position: relative;
}

#content .episode .inner .episode_lists .episode_list a {
	display: block;
	position: relative;
}

/* エピソードカード */

#content .episode .inner .episode_card {
	overflow: hidden;
	position: relative;
	width: 253px;
}

#content .episode .inner .ep_card_top {
	position: relative;
	background: url("../../common/img/episode_frame.png") no-repeat top center / contain;
	height: 253px;
	display: flex;
	justify-content: center;
	align-items: center;
}

#content .episode .inner .ep_frame {
	position: relative;
	text-align: center;
}

#content .episode .inner .ep_frame img {
	width: 153px;
	border: solid 1px #b0b0b0;
}
#content .episode .inner .ep_frame.thin01 img {
	width: 97px;
}
#content .episode .inner .ep_frame.thin02 img {
	width: 131px;
}
#content .episode .inner .ep_frame.wide img {
	width: 216px;
}
#content .episode .inner .ep_frame.square img {
	width: 170px;
}

#content .episode .inner .ep_card_bottom {
	width: 100%;
	padding: 5px 0 0;
	text-align: left;
	flex: 1;
	display: flex;
	flex-direction: column;
}

#content .episode .inner .ep_title {
	font-weight: bold;
	font-size: 17px;
	line-height: 1.3;
	color: #ff3399;
	padding: 0 15px;
}

#content .episode .close_overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(190, 224, 255, 0.8);
}

#content .episode .close_overlay p{
	font-size: 20px;
	line-height: 1.6;
	font-weight: bold;
	margin: 250px auto;
	background: rgba(190, 224, 255, 0.8);
	text-align: center;
	color: #ff1970;
}

#content .episode .rimacomi {
	background-color: #d2e9ff;
	padding: 20px 0;
}

#content .episode .rimacomi_box {
	width: 539px;
	height: 196px;
	background: #fff;
	margin: 0 auto;
	padding-top: 48px;
	border-radius: 50%;
}

#content .episode .rimacomi_text {
	width: 306px;
	margin: 0 auto 20px;
}

#content .episode .rimacomi_btn {
	width: 260px;
	margin: 0 auto;
}

@media screen and (max-width:640px) and (min-width: 1px) {
	#content .episode .inner {
		padding: calc(46/640*100vw) 0 calc(40/640*100vw);
	}

	#content .episode .inner .episode_title {
		width: calc(512/650*100vw);
	}

	#content .episode .inner .episode_txt {
		width: calc(602/650*100vw);
		margin: calc(30/650*100vw) auto 0;
	}

	#content .episode .inner .ep_title {
		font-size: calc(20 / 650 * 100vw);
		margin: 0 0 calc(12 / 650 * 100vw);
		padding: 0 calc(20 / 650 * 100vw);
	}

	#content .episode .inner .episode_lists {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: calc(20/640*100vw) calc(10/640*100vw);
		padding: calc(30/640*100vw) calc(12/640*100vw) 0;
	}

	#content .episode .inner .episode_card {
		width: auto;
	}

	#content .episode .inner .ep_card_top {
		background: url(../../common/img/episode_frame-sp.png) no-repeat top center / contain;
		height: calc(300 / 650 * 100vw);
		padding: 0 calc(20 / 650 * 100vw);
	}

	#content .episode .inner .ep_frame img {
		width: calc(184 / 650 * 100vw);
	}
	#content .episode .inner .ep_frame.thin01 img {
		width: calc(116 / 650 * 100vw);
	}
	#content .episode .inner .ep_frame.thin02 img {
		width: calc(157 / 650 * 100vw);
	}
	#content .episode .inner .ep_frame.wide img {
		width: calc(260 / 650 * 100vw);
	}
	#content .episode .inner .ep_frame.square img {
		width: calc(220 / 650 * 100vw);
	}

	#content .episode .rimacomi {
		padding: calc(20 / 650 * 100vw) 0;
	}

	#content .episode .rimacomi_box {
		width: calc(539 / 650 * 100vw);
		height: calc(210 / 650 * 100vw);
		padding-top: calc(64 / 650 * 100vw);
	}

	#content .episode .rimacomi_text {
		width: calc(323 / 650 * 100vw);
		margin: 0 auto calc(20 / 650 * 100vw);
	}

	#content .episode .rimacomi_btn {
		width: calc(260 / 650 * 100vw);
	}

}

/*コミックス情報*/
#content .comics_area {
	background: linear-gradient(to bottom, #ffc5f2, #a8c3ff);
	padding: 20px;
	position: relative;
	overflow: hidden;
}

#content .comics_area .inner {
	position: relative;
	max-width: none;
	padding: 40px;
	background-color: rgba(255, 255, 255, .3);
	border: solid #fff 2px;
	z-index: 2;
}

#content .comics_area .inner .comics_deco {
	display: block;
	position: absolute;
	width: 82px;
	height: 82px;
	background: url(../img/comics_frame.png) no-repeat center top/cover;
}

#content .comics_area .inner .comics_deco01 {
	top: -2px;
	left: -2px;
}

#content .comics_area .inner .comics_deco02 {
	top: -2px;
	right: -2px;
	transform: scaleX(-1);
}

#content .comics_area .inner .comics_deco03 {
	bottom: -2px;
	left: -2px;
	transform: scaleY(-1);
}

#content .comics_area .inner .comics_deco04 {
	bottom: -2px;
	right: -2px;
	transform: scale(-1);
}

#content .comics_area .inner .comics_deco05 {
	display: block;
	position: absolute;
	top: 50%;
	right: 20px;
	width: 12px;
	height: 210px;
	background: url(../img/comics_deco_text.png) no-repeat center top/cover;
	transform: translateY(-50%);
}

#content .comics_area .inner .comics_deco06 {
	display: block;
	position: absolute;
	top: 50%;
	left: 20px;
	width: 12px;
	height: 210px;
	background: url(../img/comics_deco_text.png) no-repeat center top/cover;
	transform: translateY(-50%);
}

#content .comics_area .inner .comics_box {
	display: flex;
	justify-content: space-between;
	gap: 128px;
	width: 780px;
	margin: 0 auto;
}

#content .comics_area .inner .comics_box .comics_cover {
	position: relative;
	width: 270px;
}
#content .comics_area .inner .comics_box .comics_cover::after {
	content: '';
	display: block;
	position: absolute;
	top: -15px;
	left: -118px;
	width: 495px;
	height: 461px;
	background: url(../img/comics_deco_cover.png) no-repeat center top/cover;
	z-index: -1;
}

#content .comics_area .inner .comics_box .comics_text {
	margin: 0 -10px 0 0;
	flex: 1;
	text-align: center;
}

#content .comics_area .inner .comics_box .comics_text .comics_title {
	padding-top: 70px;
	margin: 0 auto;
	width: 340px;
}

#content .comics_area .inner .comics_box .comics_text .comics_btn {
	margin: 20px auto 0;
	width: 389px;
}

@media screen and (max-width:640px) and (min-width: 1px) {
	#content .comics_area {
		padding: calc(20/640*100vw);
	}

	#content .comics_area .inner {
		width: auto;
		padding: calc(46/640*100vw) calc(30/640*100vw);
	}

	#content .comics_area .inner .comics_deco {
		width: calc(82/640*100vw);
		height: calc(82/640*100vw);
		background: url(../img/comics_frame-sp.png) no-repeat center top/cover;
	}

	#content .comics_area .inner .comics_deco01 {
		top: calc(-2/640*100vw);
		left: calc(-2/640*100vw);
	}

	#content .comics_area .inner .comics_deco02 {
		top: calc(-2/640*100vw);
		right: calc(-2/640*100vw);
		transform: scaleX(-1);
	}

	#content .comics_area .inner .comics_deco03 {
		bottom: calc(-2/640*100vw);
		left: calc(-2/640*100vw);
		transform: scaleY(-1);
	}

	#content .comics_area .inner .comics_deco04 {
		bottom: calc(-2/640*100vw);
		right: calc(-2/640*100vw);
		transform: scale(-1);
	}

	#content .comics_area .inner .comics_deco05 {
		display: none;
	}

	#content .comics_area .inner .comics_deco06 {
		display: none;
	}

	#content .comics_area .inner .comics_box {
		flex-direction: column;
		gap: calc(28/640*100vw);
		width: calc(540/640*100vw);
		margin: 0 auto;
	}

	#content .comics_area .inner .comics_title {
		display: block;
		width: calc(487/640*100vw);
		margin: 0 auto;
	}

	#content .comics_area .inner .comics_title.for-pc {
		display: none;
	}

	#content .comics_area .inner .comics_box .comics_cover {
		width: calc(410/640*100vw);
		margin: 0 auto;
	}

	#content .comics_area .inner .comics_box .comics_cover::after {
		top: calc(36/640*100vw);
		left: calc(-48/640*100vw);
		width: calc(496/640*100vw);
		height: calc(462/640*100vw);
	}

	#content .comics_area .inner .comics_box .comics_text {
		margin: 0 auto;
	}

	#content .comics_area .inner .comics_box .comics_text .comics_btn {
		margin: 0 auto;
		width: calc(540/640*100vw);
	}
}

/*-----------------------------------------------
 投票確認
-----------------------------------------------*/
#confirm {
	background: url(../img/kv_bg_sub.png) no-repeat center top / 2000px,
	 linear-gradient(0deg, rgba(197, 252, 255, 1), rgba(168, 195, 255, 1) 50%, rgba(255, 197, 242, 1) 75%);
	position: relative;
}

#confirm .inner {
	max-width: 1000px;
	margin: 0 auto;
	padding: 40px 0 42px;
	box-sizing: border-box;
}

#confirm .confirm_title {
	position: relative;
	margin: 0 auto;
	width: 358px;
}

#confirm .confirm_title img {
	position: relative;
	z-index: 2;
}

#confirm .confirm_subtitle {
	margin: 7px auto 0;
	width: 466px;
}

.vote_confirm {
	margin: 0 0 0;
}

.vote_image_area {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
	width: 560px;
	height: 560px;
	margin: 28px auto 35px;
}

.vote_image_area img {
	width: auto;
	max-width: 560px;
	max-height: 560px;
	border: solid 1px #b0b0b0;
}

.vote_image_area.wide {
	align-items: flex-start;
	margin: 28px auto 0;
	padding-top: 45px;
}

.vote_image_area.wide img {
	width: 560px;
	height: 396px;
}

.vote_image_area.square {
	margin: -2px auto 68px;
	padding-top: 0;
}

.vote_image_area.square img {
	width: 480px;
	height: 480px;
}

.vote_text_area {
	width: 369px;
	margin: 0 auto;
}

#confirm .episode_image_area img {
	width: auto;
	max-height: 560px;
}

#confirm .confirm_txt {
	position: relative;
	width: 295px;
	margin: 0 auto;
}

#confirm .vote_btn {
	margin: 28px 0 22px;
}

#confirm .vote_btn a img {
	display: block;
}

#confirm .vote_btn a:hover img {
	content: url("../../common/img/confirm/vote_btn_hover.png");
}

#confirm .select-back_btn {
	position: relative;
	padding-bottom: 30px;
}

#confirm .select-back_btn::after {
	content: "";
	display: block;
	height: 4px;
	background-image: radial-gradient(circle, #fff9ed 0 2px, transparent 2px);
	background-position: left bottom;
	background-repeat: repeat-x;
	background-size: 12px 4px;
	position: absolute;
	bottom: 0;
	width: 310px;
	left: calc(50% - 155px);
}

#confirm .select-back_btn img {
	display: block;
}

.select-back_btn a:hover img {
	content: url("../../common/img/confirm/select-back_btn_hover.png");
}

#confirm .select-back_btn {
	margin: 0 auto;
}

#confirm .top-back_btn {
	margin: 20px auto 0;
	width: 150px;
}

#confirm .top-back_btn a img {
	display: block;
}

#confirm .top-back_btn a:hover img {
	content: url("../../common/img/top-back_btn_hover.png");
}

@media screen and (max-width:640px) and (min-width: 1px) {
	#confirm {
	background: url(../img/kv_bg_sub-sp.png) no-repeat center top / 100%,
	 linear-gradient(0deg, rgba(197, 252, 255, 1), rgba(168, 195, 255, 1) 50%, rgba(255, 197, 242, 1) 75%);

	}

	#confirm .inner {
		max-width: 100%;
		padding: calc(40/640*100vw) calc(27/640*100vw) calc(48/640*100vw);
	}

	#confirm .confirm_subtitle {
		text-align: center;
		margin: calc(9/640*100vw) auto 0;
		width: calc(506/640*100vw);
	}

	.vote_confirm {
		display: block;
		margin: calc(28/640*100vw) 0 0;
	}

	.vote_image_area {
		width: calc(560/640*100vw);
		height: calc(560/640*100vw);
		margin: calc(70/640*100vw) auto calc(90/640*100vw);
	}

	.vote_image_area img {
		max-width: calc(560/640*100vw);
		max-height: calc(560/640*100vw);
	}

	.vote_image_area.wide {
		height: calc(470/640*100vw);
		margin: calc(70/640*100vw) auto calc(90/640*100vw);
		padding-top: calc(84/640*100vw);
	}

	.vote_image_area.wide img {
		max-width: none;
		max-height: none;
		width: calc(560/640*100vw);
		height: auto;
	}

	.vote_image_area.square {
		margin: calc(67/640*100vw) auto calc(82/640*100vw);
		padding-top: 0;
	}

	.vote_image_area.square img {
		width: calc(460/640*100vw);
		height: calc(460/640*100vw);
	}

	.vote_text_area {
		width: 100%;
	}

	#confirm .episode_image_area {
		border-radius: calc(20/640*100vw);
		width: auto;
		margin: calc(-10/640*100vw) calc(12/640*100vw) calc(58/640*100vw);
		padding: calc(30/640*100vw) calc(30/640*100vw) calc(23/640*100vw);
		text-align: center;
	}

	#confirm .episode_image_area img {
		max-width: 100%;
		max-height: calc(634/640*100vw);
	}

	#confirm .ep_title {
		font-size: calc(28 / 650 * 100vw);
		margin: calc(25 / 650 * 100vw) calc(-27 / 650 * 100vw) calc(10 / 650 * 100vw);
	}

	#confirm .ep_title span {
		font-size: calc(22 / 650 * 100vw);
	}

	#confirm .confirm_txt {
		padding: 0 0 calc(43/640*100vw);
		width: calc(407/640*100vw);
	}

	#confirm .confirm_txt::after {
		height: calc(6/640*100vw);
		background-image: radial-gradient(circle, #fff9ed 0 calc(3/640*100vw), transparent calc(3/640*100vw));
		background-size: calc(18/640*100vw) calc(6/640*100vw);
		width: calc(478/640*100vw);
		left: calc(50% - (478/640*100vw/2));
	}

	#confirm .vote_btn {
		width: calc(560/640*100vw);
		margin: 0 auto calc(35/640*100vw);
	}

	#confirm .select-back_btn {
		width: calc(560/640*100vw);
		margin: 0 auto calc(80/640*100vw);
		padding-bottom: 0;
	}

	#confirm .select-back_btn::after {
		height: calc(6/640*100vw);
		background-image: radial-gradient(circle, #fff9ed 0 calc(3/640*100vw), transparent calc(3/640*100vw));
		background-size: calc(18/640*100vw) calc(6/640*100vw);
		width: calc(478/640*100vw);
		left: calc(50% - (478/640*100vw/2));
		bottom: calc(-46/640*100vw);
	}

	#confirm .top-back_btn {
		text-align: center;
		margin: calc(34/640*100vw) auto calc(10/640*100vw);
		width: calc(230/640*100vw);
	}
}

/*-----------------------------------------------
投票完了
-----------------------------------------------*/
#thanks {
	background: url(../img/kv_bg_sub.png) no-repeat center top / 2000px,
	 linear-gradient(0deg, rgba(197, 252, 255, 1), rgba(168, 195, 255, 1) 50%, rgba(255, 197, 242, 1) 75%);
	position: relative;
}

#thanks .inner {
	max-width: 1000px;
	margin: 0 auto;
	padding: 48px 0 42px;
	box-sizing: border-box;
}

#thanks .thanks_subtitle {
	position: relative;
	margin: 0 auto;
	width: 466px;
}

.thanks_text_area {
	flex: 1;
	display: flex;
	flex-direction: column;
	margin-right: 15px;
	padding-bottom: 5px;
}

#thanks .thanks_image {
	width: 728px;
	margin: 26px auto 62px;
}

#thanks .x_btn {
	width: 402px;
	margin: 0 auto 60px;
	position: relative;
}

#thanks .x_btn a:hover img {
	content: url("../../common/img/thanks/x_btn-hover.png");
}

#thanks .x_btn::after {
	content: "";
	display: block;
	height: 4px;
	background-image: radial-gradient(circle, #fff9ed 0 2px, transparent 2px);
	background-position: left bottom;
	background-repeat: repeat-x;
	background-size: 12px 4px;
	position: absolute;
	width: 344px;
	left: calc(50% - 172px);
}

#thanks .x_btn::after {
	bottom: -34px;
}

#thanks .top-back_btn {
	margin: 0 auto;
	width: 164px;
}

#thanks .top-back_btn a:hover img {
	content: url("../../common/img/top-back_btn_hover.png");
}

@media screen and (max-width:640px) and (min-width: 1px) {
	#thanks {
		background: url(../img/kv_bg_sub-sp.png) no-repeat center top / 100%,
		linear-gradient(0deg, rgba(197, 252, 255, 1), rgba(168, 195, 255, 1) 50%, rgba(255, 197, 242, 1) 75%);
		position: relative;
	}
	#thanks .inner {
		max-width: 100%;
		padding: calc(40/640*100vw) calc(20/640*100vw) calc(48/640*100vw);
	}

	#thanks .thanks_subtitle {
		text-align: center;
		margin: calc(9/640*100vw) auto 0;
		width: calc(506/640*100vw);
	}

	#thanks .thanks_image {
		width: calc(600 / 640 * 100vw);
		min-width:auto;
		margin: 0;
		padding: 0;
		text-align: center;
	}

	#thanks .thanks_subtitle {
		margin: calc(9 / 640 * 100vw) auto calc(155 / 640 * 100vw);
		width: calc(506 / 640 * 100vw);
	}

	.thanks_confirm {
		display: block;
	}

	.thanks_image {
		width: 100%;
		margin-bottom: 20px;
	}

	.thanks_text_area {
		display: block;
		margin: 0;
	}

	.thanks_text_area>* {
		margin-bottom: 20px;
	}

	.thanks_text_area>*:last-child {
		margin-bottom: 0;
	}

	#thanks .x_btn {
		margin: calc(140/640*100vw) auto calc(80/640*100vw);
		width: calc(560/640*100vw);
		padding: 0;
	}

	#thanks .x_btn::after,
	#thanks .x_btn::before {
		height: calc(6/640*100vw);
		background-image: radial-gradient(circle, #fff9ed 0 calc(3/640*100vw), transparent calc(3/640*100vw));
		background-size: calc(18/640*100vw) calc(6/640*100vw);
		width: calc(478/640*100vw);
		left: calc(50% - (478/640*100vw/2));
		bottom: calc(-46/640*100vw);
	}

	#thanks .top-back_btn {
		text-align: center;
		margin: calc(34/640*100vw) auto calc(10/640*100vw);
		width: calc(230/640*100vw);
	}
}

/*-----------------------------------------------
結果発表
-----------------------------------------------*/
/*結果発表kv*/

.result_kv#key-visual .inner .kv_title {
	z-index: 3;
}

.result_kv#key-visual .inner .kv_illust {
	z-index: 2;
}

.result_kv#key-visual .inner .kv_result_title {
	position: absolute;
	width: 340px;
	bottom: 212px;
	right: 35px;
	z-index: 3;
}

.result_kv#key-visual .inner .kv_result_comment {
	position: absolute;
	width: 693px;
	bottom: 20px;
	right: -30px;
	z-index: 1;
}


@media screen and (max-width:640px) and (min-width: 1px) {

	.result_kv#key-visual .inner .kv_title {
		bottom: calc(122/640*100vw);
	}

	.result_kv#key-visual .inner .kv_result_title {
		bottom: calc(42/640*100vw);
		width: calc(509/640*100vw);
		right: calc(62/640*100vw);
	}

	.result_kv#key-visual .inner {
		padding-bottom: 0;
	}

	.result_kv#key-visual .inner .kv_result_comment {
		width: 100%;
		bottom: calc(-122/640*100vw);
		right: 0;
		z-index: 2;
	}
}


.result_comment {
	position: relative;
	background: #fff9ed;
	border-top: 3px solid #bce7db;
	border-bottom: 3px solid #bce7db;
	padding: 26px 0;
	width: 100%;
	text-align: center;
	color: #6f2c29;
	font-size: 18px;
	line-height: 1.44;
	font-feature-settings: "palt";
}

@media screen and (max-width:640px) and (min-width: 1px) {
	/* .result_comment_wrap {
		padding: calc(40 / 640 * 100vw) 0 0;
	}

	.result_comment {
		padding: calc(44 / 640 * 100vw) calc(57 / 640 * 100vw) calc(37 / 640 * 100vw);
		font-size: calc(32 / 640 * 100vw);
		width: auto;
		line-height: 1.375;
	}

	.result_comment:before {
		width: calc(73 / 640 * 100vw);
		height: calc(33 / 640 * 100vw);
		left: calc(50% - calc(36 / 640 * 100vw));
		top: calc(-15 / 640 * 100vw);
	} */

}

/*結果発表メイン*/
#result {
	background: url(../img/episode_bg.png);
	position: relative;
}

#content #result .inner {
	max-width: 1000px;
	background-blend-mode: multiply;
	padding: 48px 0 58px;
}

#content #result .inner .result_title {
	width: 358px;
	margin: 19px auto 0;
}

#content #result .inner .result_txt {
	width: 635px;
	margin: 0 auto;
	position: relative;
}

#content #result .inner .result_lists {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 55px 0;
	padding: 0 50px 0 46px;
	margin: 0 auto 0;
}

#content #result .inner .result_lists .first {
	grid-column: span 2 / span 2;
	padding: 134px 0 0 0;
}

#content #result .inner .result_lists .other {
	padding: 90px 0 0 0;
}

#content #result .inner .result_lists li {
	list-style: none;
	position: relative;
}

#content #result .inner .result_lists .result_img {
	box-sizing: border-box;
	position: relative;
	margin: 0 auto;
	border-radius: 60px;
	z-index: 2;
	/* width: 432px;
	min-height: 266px; */
}

#content #result .inner .result_lists .first .result_img {
	width: 580px;
	background: #a8c3ff;
	padding: 30px;
	box-shadow: 4px 4px 0 #858bfe;
}

#content #result .inner .result_lists .first .result_img img {
	width: 356px;
	border: solid 1px #999;
}

#content #result .inner .result_lists .other .result_img {
	width: 400px;
	height: 400px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #c5fbff;
	padding: 20px;
	box-shadow: 4px 4px 0 #fff;
}

#content #result .inner .result_lists .other .result_img img {
	max-width: 358px;
	max-height: 358px;
	width: auto;
	border: solid 1px #999;
}

#content #result .inner .result_lists li .num {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	z-index: 3;
}

#content #result .inner .result_lists .first .num {
	top: 5px;
	width: 572px;
}

#content #result .inner .result_lists .other .num {
	top: 0;
	width: 112px;
}


@media screen and (max-width:640px) and (min-width: 1px) {
	#result::after {
		height: calc(22 / 640 * 100vw);
	}

	#content #result .inner {
		padding: calc(60 / 640 * 100vw) 0 calc(70 / 640 * 100vw);
		overflow: hidden;
	}

	#content #result .inner .result_title {
		width: calc(502 / 650 * 100vw);
		margin: 0 auto;
	}

	#content #result .inner .result_deco {
		position: absolute;
		width: 100%;
		top: calc(13 / 650 * 100vw);
		left: 0;
	}

	#content #result .inner .result_txt {
		width: calc(564 / 650 * 100vw);
		margin: 0 auto calc(30 / 650 * 100vw);
	}

	#content #result .inner .result_lists {
		display: block;
		padding: 0 calc(18 / 640 * 100vw);
	}

	#content #result .inner .result_lists li {
		margin: 0 0 calc(103/640*100vw);
	}

	#content #result .inner .result_lists .first {
		padding: calc(99 / 640 * 100vw) 0 0;
		margin: 0 0 calc(78/640*100vw);
	}

	#content #result .inner .result_lists .other {
		margin: 0 0 calc(78/640*100vw);
		padding: calc(60/640*100vw) 0 0 0;
	}

	#content #result .inner .result_lists li:last-child {
		margin-bottom: 0;
	}

	#content #result .inner .result_lists .result_img {
		border-radius: calc(60 / 640 * 100vw);
		min-height: calc(376 / 640 * 100vw);
	}

	#content #result .inner .result_lists .first .result_img img {
		max-height: calc(520 / 640 * 100vw);
		max-width: none;
		width: auto;
	}

	#content #result .inner .result_lists .other .result_img img {
		max-height: calc(394 / 640 * 100vw);
		max-width: calc(394 / 640 * 100vw);
		width: auto;
	}

	#content #result .inner .result_lists .first .result_img {
		padding: calc(30 / 640 * 100vw);
		margin: 0 auto calc(44/640*100vw);
		width: calc(580/640*100vw);
	}

	#content #result .inner .result_lists .other .result_img {
		margin-bottom: calc(19/640*100vw);
		padding: calc(20 / 640 * 100vw);
		width: calc(440 / 640 * 100vw);
		height: calc(440 / 640 * 100vw);
	}

	#content #result .inner .result_lists .result_img::after {
		border-radius: calc(60 / 640 * 100vw);
	}

	#content #result .inner .result_lists .first .num {
		top: calc(-9 / 640 * 100vw);
		width: calc(582 / 640 * 100vw);
	}

	#content #result .inner .result_lists .other .num {
		top: calc(-30/640*100vw);
		width: calc(122/640*100vw);
	}

	#content #result .inner .result_lists .comment_text {
		font-size: calc(26/640*100vw);
		margin: 0 calc(15/640*100vw);
	}

	#content #result .inner .result_lists .comment_text span {
		font-size: calc(24/640*100vw);
	}

}


.js-animate {
	opacity: 0;
}

.js-animate.animated {
	opacity: 1;
}