@charset "utf-8";

body {
	font-family: 'Noto Sans JP', sans-serif;
	background: url("../img/bg_dot.png") repeat;
}


img {
	vertical-align: bottom;
}

a:hover {
	opacity: 0.8;
}

* {
	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;
	/*¥*/
	/*/
	height: auto;
	overflow: hidden;
	/**/
}

/*-----------------------------------------------
 共通
-----------------------------------------------*/
.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: #ffdbf2;
	padding: 25px 67px;
	display: flex;
	justify-content: center;
	gap: 30px;
}

.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: 7%;
		gap: calc(60/640*100vw);
	}

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


/*-----------------------------------------------
 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(62/640*100vw);
	}
}

/*-----------------------------------------------
 footer
-----------------------------------------------*/
footer {
	background: #b3b3b3;
	font-size: 12px;
	line-height: 1.8;
}

footer .inner {
	width: 800px;
	margin: 0 auto;
	text-align: center;
	padding: 43px 0 47px;
	color: #fff;
}

footer .inner a {
	color: #fff;
}

footer .btn {
	width: 235px;
	margin: 0 auto 10px;
}

footer .btn img {
	width: 100%;
}

footer .inner p.terms {
	text-align: center;
	line-height: 1.57;
	margin: 0 0 37px;
	font-feature-settings: "palt";
	letter-spacing: -0.03em;
}

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

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

	footer {
		min-width: 100%;
	}

	footer .btn {
		width: 46%;
	}

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

	footer .inner p.terms {
		font-size: 2.8125vw;
		margin: 3.5vw 0 6vw;
		line-height: 1.3;
	}

	footer p.terms,
	footer p.copy {
		font-size: 2.5vw;
	}
}


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


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

#key-visual .kv_copy {
	width: 100%;
	background-color: #e8342f;
	padding: 10px 14px;
	box-sizing: border-box;
}

#key-visual .kv_copy .inner {
	max-width: 900px;
	margin: 0 auto;
}

#key-visual .inner .kv_name {
	position: relative;
	margin: 43px 0 0 13px;
	animation-delay: 0.1s;
	z-index: 1;
}

#key-visual .inner .kv_illust {
	position: absolute;
	top: -72px;
	z-index: 0;
}

#key-visual .inner .kv_fukidashi {
	position: relative;
	margin-top: -10px;
}

#key-visual .inner .kv_title {
	position: relative;
	margin: -37px 0 0 69px;
}

#key-visual .inner .kv_trump {
	position: relative;
	margin-top: -4px;
}

#key-visual .inner .kv_term {
	position: relative;
	margin-top: -52px;
}

#key-visual .inner .kv_deco {
	position: absolute;
	top: -23px;
	left: -20px;
	animation: blinking 1s ease-in-out infinite alternate;

}

@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%;
	}

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

	#key-visual img,
	#content img {
		width: 100%;
		margin: 0;
		padding: 0;
	}

	#key-visual .kv_copy {
		padding: calc(8/640*100vw) calc(14/640*100vw);
	}

	#key-visual .kv_copy .inner {
		min-width: auto;
		width: fit-content;
	}

	#key-visual .kv_copy .inner img {
		width: calc(551/640*100vw);
	}

	#key-visual .inner .kv_name {
		margin: calc(4/640*100vw) 0 0 calc(115/640*100vw);
	}

	#key-visual .inner .kv_name img {
		width: calc(427/640*100vw);
	}

	#key-visual .inner .kv_illust {
		top: calc(14/640*100vw);
	}

	#key-visual .inner .kv_fukidashi {
		margin-top: calc(-3/640*100vw);
	}

	#key-visual .inner .kv_fukidashi img {
		width: calc(307/640*100vw);
	}

	#key-visual .inner .kv_title {
		position: relative;
		margin: calc(-53/640*100vw) 0 0 calc(11/640*100vw);
	}

	#key-visual .inner .kv_title img {
		width: calc(620/640*100vw);
	}

	#key-visual .inner .kv_trump {
		margin-top: calc(582/640*100vw);
	}

	#key-visual .inner .kv_term {
		margin-top: 0;
	}

	#key-visual .inner .kv_deco {
		position: absolute;
		top: calc(9/640*100vw);
		left: auto;
		right: 0;
	}

}

/*-----------------------------------------------
 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;
	}
}

/*-----------------------------------------------
 line
-----------------------------------------------*/
.line {
	padding: 10px 0;
	overflow: hidden;
	white-space: nowrap;
	box-sizing: border-box;
}

.line_text {
	display: flex;
}

.line_text img:first-child {
	animation: scroll-left 50s -25s linear infinite;
}

.line_text img:last-child {
	animation: scroll-left2 50s linear infinite;
}

.line_text img {
	width: 2000px;
}

@keyframes scroll-left {
	from {
		transform: translateX(100%);
	}

	to {
		transform: translateX(-100%);
	}
}

@keyframes scroll-left2 {
	from {
		transform: translateX(0%);
	}

	to {
		transform: translateX(-200%);
	}
}


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

	.line_text img {
		width: auto !important;
		height: calc(43/640*100vw);
	}
}


/*-----------------------------------------------
 トップページ
-----------------------------------------------*/
/*応募方法*/
#content .howto {
	background: #ffdbf2;
}

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

#content .howto .inner .howto_title {
	margin: -48px auto -20px;
	position: relative;
	z-index: 1;
	right: 13px;
}

#content .howto .inner .howto_txt {
	margin: 0 auto 8px;
}
#content .howto .inner .howto_txt img{
    width:100%;
    height:auto;
}
#content .howto .inner .howto_btn {
	position: absolute;
    top: 80%;
    left: 20%;
}

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

	#content .howto .inner .howto_title {
		width: calc(325/640*100vw);
		margin: calc(-44/640*100vw) auto calc(-24/640*100vw);
	}

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

	#content .howto .inner .howto_txt {
		margin: 0 calc(20/640*100vw);
	}
    
    #content .howto .inner .howto_btn {
    width: calc(400 / 640 * 100vw);
    margin: calc(-4 / 640 * 100vw) calc(0 / 640 * 100vw) ;
}
}

/*応募規約*/
#content .rules {
	background: url(../img/bg_dot.png) repeat;
	padding: 65px 0 40px;
}

#content .rules .inner {
	max-width: 900px;
	margin: 0 auto;
	border: solid 1px #e8342f;
	border-radius: 20px;
	position: relative;
}

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

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

#content .rules .inner .rules_box {
	text-align: left;
	padding: 0 20px 10px 50px;
	height: 292px;
}

#content .rules .inner .scroll_inner {
	max-height: 292px;
	overflow-y: scroll;
	-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: #e8342f;
	border-radius: 6px;
	border: none;
}

#content .rules .inner .rules_box h3 {
	color: #e8342f;
}

#content .rules .inner .rules_box p {
	line-height: 1.7;
	margin-bottom: 2em;
}

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

#content .rules .inner .rules_box ul li {
	list-style: none;
}

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

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

	#content .rules .inner {
		border-radius: 0;
		border-right: none;
		border-left: none;
	}

	#content .rules .inner .rules_title {
		top: calc(-45/640*100vw);
		margin: 0 auto;
		width: calc(133/640*100vw);
	}

	#content .rules .inner .rules_box {
		padding: 0 calc(20/640*100vw) calc(10/640*100vw) calc(20/640*100vw);
		height: calc(460/640*100vw);
	}

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

}

/*投票リスト*/
#content .vote {
	background: url("../img/vote_bg-dot.png") repeat;
}

#content .vote .inner {
	max-width: 1000px;
	background: url("../img/vote_bg-illust.png") no-repeat top center/100%, #e8342f;
	background-blend-mode: multiply;
	padding: 28px 0;
}

#content .vote .inner .vote_lists {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 43px 16px;
	padding: 35px 70px 65px 40px;
}

#content .vote .inner .vote_lists .vote_list {
	list-style: none;
	position: relative;
}

#content .vote .inner .vote_lists .vote_list a {
	display: block;
	position: relative;
}


#content .vote .inner .vote_lists .vote_list .vote_num {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

#content .vote .inner .vote_lists .vote_list .vote_img {
	margin: 30px 0 0 10px;
	transition: transform 0.4s ease;
    width:86%;
}


#content .vote .inner .vote_lists .vote_list a:hover .vote_img {
	transform: scale(1.08);
}


#content .vote_lists .vote_list:nth-last-child(2):nth-child(n+13) {
	grid-column: 2;
}

#content .vote_lists .vote_list:last-child:nth-child(n+13) {
	grid-column: 3;
}

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

	#content .vote .inner .vote_title {
		margin: 0 calc(20/640*100vw);
	}

	#content .vote .inner .vote_txt {
		width: calc(470/650*100vw);
		margin: calc(28/650*100vw) auto 0;
	}

	#content .vote .inner .vote_lists {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: calc(10/640*100vw) calc(12/640*100vw);
		padding: calc(31/640*100vw) calc(20/640*100vw) calc(13/640*100vw) calc(5/640*100vw);
	}

	#content .vote .inner .vote_lists .vote_list .vote_num {
		width: calc(60/650*100vw);
		top: 0;
		left: 0;
	}

	#content .vote .inner .vote_lists .vote_list .vote_img {
		margin: calc(32/650*100vw) 0 0 calc(20/650*100vw);
		max-width: calc(100% - (20/650*100vw));
		max-height: calc(288/650*100vw);
	}
}

/*コミックス情報*/
#content .comics_area {
	background: #c19d5a;
	padding: 60px 0 55px;
	position: relative;
	overflow: hidden;
}

.confetti {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	pointer-events: none;
	z-index: 1;
}

.comics_area .inner {
	position: relative;
	z-index: 2;
}

.confetti span {
	position: absolute;
	top: -10%;
	left: 0;
	width: 1.5vw;
	height: 1vw;
	background: #f9f49e;
}

.confetti span:nth-child(2n+1) {
	animation: confetti-anim-1 10s 0s linear infinite;
}

.confetti span:nth-child(2n+2) {
	animation: confetti-anim-2 10s 0s linear infinite;
}

.confetti span:nth-child(1) {
	left: 0%;
}

.confetti span:nth-child(2) {
	left: 2%;
}

.confetti span:nth-child(3) {
	left: 4%;
}

.confetti span:nth-child(4) {
	left: 6%;
}

.confetti span:nth-child(5) {
	left: 8%;
}

.confetti span:nth-child(6) {
	left: 10%;
}

.confetti span:nth-child(7) {
	left: 12%;
}

.confetti span:nth-child(8) {
	left: 14%;
}

.confetti span:nth-child(9) {
	left: 16%;
}

.confetti span:nth-child(10) {
	left: 18%;
}

.confetti span:nth-child(11) {
	left: 20%;
}

.confetti span:nth-child(12) {
	left: 22%;
}

.confetti span:nth-child(13) {
	left: 24%;
}

.confetti span:nth-child(14) {
	left: 26%;
}

.confetti span:nth-child(15) {
	left: 28%;
}

.confetti span:nth-child(16) {
	left: 30%;
}

.confetti span:nth-child(17) {
	left: 32%;
}

.confetti span:nth-child(18) {
	left: 34%;
}

.confetti span:nth-child(19) {
	left: 36%;
}

.confetti span:nth-child(20) {
	left: 38%;
}

.confetti span:nth-child(21) {
	left: 40%;
}

.confetti span:nth-child(22) {
	left: 42%;
}

.confetti span:nth-child(23) {
	left: 44%;
}

.confetti span:nth-child(24) {
	left: 46%;
}

.confetti span:nth-child(25) {
	left: 48%;
}

.confetti span:nth-child(26) {
	left: 50%;
}

.confetti span:nth-child(27) {
	left: 52%;
}

.confetti span:nth-child(28) {
	left: 54%;
}

.confetti span:nth-child(29) {
	left: 56%;
}

.confetti span:nth-child(30) {
	left: 58%;
}

.confetti span:nth-child(31) {
	left: 60%;
}

.confetti span:nth-child(32) {
	left: 62%;
}

.confetti span:nth-child(33) {
	left: 64%;
}

.confetti span:nth-child(34) {
	left: 66%;
}

.confetti span:nth-child(35) {
	left: 68%;
}

.confetti span:nth-child(36) {
	left: 70%;
}

.confetti span:nth-child(37) {
	left: 72%;
}

.confetti span:nth-child(38) {
	left: 74%;
}

.confetti span:nth-child(39) {
	left: 76%;
}

.confetti span:nth-child(40) {
	left: 78%;
}

.confetti span:nth-child(41) {
	left: 80%;
}

.confetti span:nth-child(42) {
	left: 82%;
}

.confetti span:nth-child(43) {
	left: 84%;
}

.confetti span:nth-child(44) {
	left: 86%;
}

.confetti span:nth-child(45) {
	left: 88%;
}

.confetti span:nth-child(46) {
	left: 90%;
}

.confetti span:nth-child(47) {
	left: 92%;
}

.confetti span:nth-child(48) {
	left: 94%;
}

.confetti span:nth-child(49) {
	left: 96%;
}

.confetti span:nth-child(50) {
	left: 98%;
}

.confetti span:nth-child(5n+1) {
	background: rgba(249, 244, 158, 1);
}

.confetti span:nth-child(5n+2) {
	background: rgba(249, 244, 158, 0.8);
}

.confetti span:nth-child(5n+3) {
	background: rgba(249, 244, 158, 0.6);
}

.confetti span:nth-child(5n+4) {
	background: rgba(249, 244, 158, 0.9);
}

.confetti span:nth-child(5n+5) {
	background: rgba(249, 244, 158, 0.7);
}

.confetti span:nth-child(4n+1) {
	animation-duration: 5s;
}

.confetti span:nth-child(4n+2) {
	animation-duration: 12s;
}

.confetti span:nth-child(4n+3) {
	animation-duration: 8s;
}

.confetti span:nth-child(4n+4) {
	animation-duration: 6s;
}

.confetti span:nth-child(11n+1) {
	animation-delay: 0s;
}

.confetti span:nth-child(11n+2) {
	animation-delay: 9s;
}

.confetti span:nth-child(11n+3) {
	animation-delay: 2s;
}

.confetti span:nth-child(11n+4) {
	animation-delay: 5s;
}

.confetti span:nth-child(11n+5) {
	animation-delay: 6s;
}

.confetti span:nth-child(11n+6) {
	animation-delay: 7s;
}

.confetti span:nth-child(11n+7) {
	animation-delay: 3s;
}

.confetti span:nth-child(11n+8) {
	animation-delay: 1s;
}

.confetti span:nth-child(11n+9) {
	animation-delay: 2s;
}

.confetti span:nth-child(11n+10) {
	animation-delay: 11s;
}

.confetti span:nth-child(11n+11) {
	animation-delay: 10s;
}

@keyframes confetti-anim-1 {
	0% {
		top: -10%;
		transform: translateX(0) rotateX(0) rotateY(0);
	}

	100% {
		top: 100%;
		transform: translateX(20vw) rotateX(180deg) rotateY(360deg);
	}
}

@keyframes confetti-anim-2 {
	0% {
		top: -10%;
		transform: translateX(0) rotateX(0) rotateY(0);
	}

	100% {
		top: 100%;
		transform: translateX(-20vw) rotateX(180deg) rotateY(360deg);
	}
}

#content .comics_area .inner {
	max-width: 900px;
}

#content .comics_area .inner .comics_box {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#content .comics_area .inner .comics_box .comics_cover {
	width: 384px;
}

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

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


#content .comics_area .inner .comics_box .comics_text .comics_title {
	margin: -10px -10px 0 0;
}

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

@media screen and (max-width:640px) and (min-width: 1px) {
	#content .comics_area {
		margin: calc(72/640*100vw) 0 calc(60/640*100vw);
		padding: calc(15/640*100vw) calc(5/640*100vw) calc(60/640*100vw);
	}

	#content .comics_area .inner .comics_box {
		flex-direction: column;
	}

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

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

	#content .comics_area .inner .comics_box .comics_text .comics_release {
		width: calc(210/640*100vw);
	}

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

/*-----------------------------------------------
 投票確認
-----------------------------------------------*/
#confirm {
	background: url(../img/vote_bg-dot.png);
}

#confirm .inner {
	background: #e8342f;
	max-width: 1000px;
	margin: 0 auto;
	padding: 15px 8px;
	box-sizing: border-box;
}

#confirm .confirm_title {
	position: relative;
	text-align: center;
}

#confirm .confirm_title::before,
#confirm .confirm_title::after {
	content: "";
	display: block;
	position: absolute;
	background: #fff;
	width: 100%;
}

#confirm .confirm_title::before {
	height: 4px;
	bottom: 16px;
}

#confirm .confirm_title::after {
	height: 1px;
	bottom: 10px;
}

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

#confirm .confirm_subtitle {
	text-align: center;
	margin: 37px 0 0;
}

#confirm .vote_image_area {
	padding: 60px 60px 43px;
	background: #fd7571;
	border-radius: 20px;
	width: fit-content;
	margin: -10px auto 64px;
}

#confirm .vote_image_area img {
	width: auto;
	max-height: 634px;
}

#confirm .confirm_txt {
	text-align: center;
	position: relative;
	padding-bottom: 83px;
}

#confirm .confirm_txt::before,
#confirm .confirm_txt::after {
	content: "";
	display: block;
	position: absolute;
	background: #fff;
	width: 100%;
}

#confirm .confirm_txt::before {
	height: 1px;
	bottom: 18px;
}

#confirm .confirm_txt::after {
	height: 4px;
	bottom: 10px;
}

#confirm .vote_btn {
	text-align: center;
	margin: 47px 0 18px
}

#confirm .select-back_btn {
	text-align: center;
}

#confirm .top-back_btn {
	text-align: center;
	margin: 47px 0 30px;
}

#confirm .top-back_btn img {
	width: 158px;
}

@media screen and (max-width:640px) and (min-width: 1px) {
	#confirm .confirm_title img {
		width: calc(279/640*100vw);
	}

	#confirm .confirm_title::before,
	#confirm .confirm_title::after,
	#confirm .confirm_txt::before,
	#confirm .confirm_txt::after {
		width: 96%;
		left: 2%;
	}

	#confirm .confirm_subtitle {
		text-align: center;
		margin: calc(37/640*100vw) calc(31/640*100vw) 0 calc(48/640*100vw);
	}

	#confirm .confirm_subtitle img {
		width: 100%;
	}

	#confirm .vote_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 .vote_image_area img {
		max-width: 100%;
		max-height: calc(634/640*100vw);
	}

	#confirm .confirm_txt {
		padding-bottom: calc(83/640*100vw);
	}

	#confirm .confirm_txt img {
		width: calc(457/640*100vw);
	}

	#confirm .vote_btn {
		margin: calc(30/640*100vw) 0 calc(28/640*100vw);
	}

	#confirm .vote_btn img {
		width: calc(570/640*100vw);
		margin-left: calc(10/640*100vw);
	}

	#confirm .select-back_btn {
		text-align: center;
	}

	#confirm .select-back_btn img {
		width: calc(570/640*100vw);
		margin-left: calc(10/640*100vw);
	}

	#confirm .top-back_btn {
		text-align: center;
		margin: calc(64/640*100vw) 0 calc(50/640*100vw);
	}

	#confirm .top-back_btn img {
		width: calc(220/640*100vw);
	}
}

/*-----------------------------------------------
投票完了
-----------------------------------------------*/
#thanks {
	background: url(../img/vote_bg-dot.png);
}

#thanks .inner {
	background: #e8342f;
	max-width: 1000px;
	margin: 0 auto;
	padding: 15px 8px;
	box-sizing: border-box;
}

#thanks .thanks_title {
	position: relative;
	text-align: center;
}

#thanks .thanks_title::before,
#thanks .thanks_title::after {
	content: "";
	display: block;
	position: absolute;
	background: #fff;
	width: 100%;
}

#thanks .thanks_title::before {
	height: 4px;
	bottom: 16px;
}

#thanks .thanks_title::after {
	height: 1px;
	bottom: 10px;
}

#thanks .thanks_title img {
	position: relative;
	z-index: 2;
}

#thanks .thanks_subtitle {
	text-align: center;
	position: relative;
	margin: 7px 0 0;
	padding: 0 0 36px;
}

#thanks .thanks_subtitle::before,
#thanks .thanks_subtitle::after {
	content: "";
	display: block;
	position: absolute;
	background: #fff;
	width: 100%;
}

#thanks .thanks_subtitle::before {
	height: 1px;
	bottom: 18px;
}

#thanks .thanks_subtitle::after {
	height: 4px;
	bottom: 10px;
}

#thanks .thanks_image {
	width: fit-content;
	margin: 26px auto 34px;
}

#thanks .thanks_image img {
	min-width: 480px;
}


#thanks .x_btn {
	text-align: center;
	margin: 0 0 18px
}

#thanks .top-back_btn {
	text-align: center;
	margin: 47px 0 30px;
}

#thanks .top-back_btn img {
	width: 158px;
}

@media screen and (max-width:640px) and (min-width: 1px) {
	#thanks .thanks_title img {
		width: calc(280/640*100vw);
	}

	#thanks .thanks_title::before,
	#thanks .thanks_title::after,
	#thanks .thanks_subtitle::before,
	#thanks .thanks_subtitle::after {
		width: 96%;
		left: 2%;
	}

	#thanks .thanks_title::before {
		height: calc(4/640*100vw);
		bottom: calc(16/640*100vw);
	}

	#thanks .thanks_title::after {
		height: 1px;
		bottom: calc(10/640*100vw);
	}


	#thanks .thanks_subtitle::before {
		height: 1px;
		bottom: calc(18/640*100vw);
	}

	#thanks .thanks_subtitle::after {
		height: calc(4/640*100vw);
		bottom: calc(10/640*100vw);
	}

	#thanks .thanks_image {
		border-radius: calc(20/640*100vw);
		width: auto;
		margin: calc(17/640*100vw) calc(12/640*100vw) calc(41/640*100vw);
		padding: 0;
		text-align: center;
	}

	#thanks .thanks_image img {
		width: 100%;
		min-width: auto;
	}

	#thanks .thanks_subtitle {
		padding: 0 0 calc(34/640*100vw);
		margin: 0;
	}

	#thanks .thanks_subtitle img {
		margin: calc(3/640*100vw) calc(77/640*100vw) 0 calc(74/640*100vw);
		width: calc(474/640*100vw);
	}

	#thanks .x_btn {
		margin: calc(30/640*100vw) 0 calc(28/640*100vw);
	}

	#thanks .x_btn img {
		width: calc(570/640*100vw);
		margin-left: calc(10/640*100vw);
	}


	#thanks .top-back_btn {
		text-align: center;
		margin: calc(59/640*100vw) 0 calc(52/640*100vw);
	}

	#thanks .top-back_btn img {
		width: calc(220/640*100vw);
	}
}

/*-----------------------------------------------
結果発表
-----------------------------------------------*/
/*結果発表kv*/
.result_kv#key-visual .inner .kv_fukidashi {
	margin-top: 20px;
}

.result_kv#key-visual .inner .kv_title {
	margin: -37px 0 0 69px;
}

.result_kv#key-visual .inner .kv_result_title {
	margin: -18px 0 0 137px;
}

.result_kv#key-visual .inner .kv_text {
	margin: 45px 0 0 -18px;
	z-index: 1;
	position: relative;
}

.result_kv#key-visual .inner .kv_deco {
	position: absolute;
	top: -23px;
	left: 10px;
	animation: blinking 1s ease-in-out infinite alternate;
}

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

	.result_kv#key-visual .inner .kv_fukidashi {
		margin-top: calc(-3/640*100vw);
	}

	.result_kv#key-visual .inner .kv_fukidashi img {
		width: calc(307/640*100vw);
	}

	.result_kv#key-visual .inner .kv_title {
		position: relative;
		margin: calc(-53/640*100vw) 0 0 calc(11/640*100vw);
	}

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

	.result_kv#key-visual .inner .kv_result_title {
		position: relative;
		margin: calc(-25/640*100vw) 0 0 calc(107/640*100vw);
	}

	.result_kv#key-visual .inner .kv_result_title img {
		width: calc(430/640*100vw);
	}

	.result_kv#key-visual .inner .kv_text {
		margin: calc(752/640*100vw) 0 calc(3/640*100vw);
	}

	.result_kv#key-visual .inner .kv_deco {
		position: absolute;
		top: calc(9/640*100vw);
		left: auto;
		right: 0;
	}
}

/*結果発表メイン*/
#result {
	background: url("../img/vote_bg-dot.png") repeat;
}

#content #result .inner {
	max-width: 1000px;
	background: url("../img/vote_bg-illust.png") no-repeat top center/100%, #e8342f;
	background-blend-mode: multiply;
	padding: 28px 0 56px;
}

#content #result .inner .result_title {
	margin: 60px auto 0;
}

#content #result .inner .result_lists {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 130px 36px;
	padding: 0 70px 65px 40px;
	margin: -150px auto 0;
}

#content #result .inner .result_lists .first {
	grid-column: span 2 / span 2;
	background: url("../img/result/first_bg.png") no-repeat top center/ contain;
	padding: 236px 230px 0 260px;
	margin: 0 -100px;
}

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

#content #result .inner .result_lists .result_img {
	box-sizing: border-box;
}

#content #result .inner .result_lists .first .result_img {
	background: url("../img/result/result01_bg.png") no-repeat top center/100% 100%;
	padding: 47px 20px 27px;
	width: 100%;
	margin-bottom: 25px;
}

#content #result .inner .result_lists .other .result_img {
	background: url("../img/result/result_other_bg.png") no-repeat top center/100% 100%;
	margin-bottom: 22px;
	padding: 57px 27px 22px;
}

#content #result .inner .result_lists .result_img img {
	max-width: 556px;
	max-height: 722px;
}

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

#content #result .inner .result_lists .first .num {
	top: 161px;
}

#content #result .inner .result_lists .other .num {
	top: -72px;
}

#content #result .inner .result_lists .comment_title {
	text-align: center;
	margin-bottom: 10px;
}

#content #result .inner .result_lists .other .comment_title img {
	width: 332px;
}

#content #result .inner .result_lists .comment_text {
	color: #fff;
}

#content #result .inner .result_lists .first .comment_text {
	font-size: 24px;
	text-align-last: left;
	line-height: 1.6;
}

#content #result .inner .result_lists .other .comment_text {
	font-size: 21px;
	text-align-last: left;
	line-height: 1.6;
}

@media screen and (max-width:640px) and (min-width: 1px) {
	#content #result .inner {
		padding: calc(29 / 640 * 100vw) 0 calc(18 / 640 * 100vw);
		overflow: hidden;
	}

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

	#content #result .inner .result_title img {
		width: calc(569 / 640 * 100vw);
	}

	#content #result .inner .result_lists {
		gap: calc(116 / 640 * 100vw) calc(25 / 640 * 100vw);
		padding: 0 calc(18 / 640 * 100vw) calc(52 / 640 * 100vw);
		margin: calc(-150 / 640 * 100vw) auto 0;
	}

	#content #result .inner .result_lists .first {
		background: url(../img/result/first_bg-sp.png) no-repeat top center / contain;
		padding: calc(236 / 640 * 100vw) calc(20/640*100vw) 0;
		margin: 0 calc(-22 / 640 * 100vw);
	}

	#content #result .inner .result_lists .first .result_img {
		padding: calc(43/640*100vw) calc(20/640*100vw) calc(27/640*100vw);
		margin: 0 auto calc(27/640*100vw);
		width: calc(100% - (10/640*100vw));
	}

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

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

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

	#content #result .inner .result_lists li .num {
		left: 51%;
	}

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

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

	#content #result .inner .result_lists .comment_title {
		margin-bottom: calc(10/640*100vw);
	}

	#content #result .inner .result_lists .first .comment_title img {
		width: calc(368/640*100vw);
	}

	#content #result .inner .result_lists .other .comment_title {
		margin-bottom: calc(12/640*100vw);
	}

	#content #result .inner .result_lists .other .comment_title img {
		width: calc(284/640*100vw);
	}

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

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

}