/* 本プレゼント（パーツP）と商品ポップアップ（パーツQ） */
#genericCMS .nvPopupAdminNote{
	display: none !important;
}
#genericCMS section.partsPresent p.winner{
	margin: 4px 0;
	color: #DE484D;
	font-weight: bold;
	font-size: 12px;
}
#genericCMS section.partsPresent p.btnPresent{
	width: 120px;
	margin: 8px 0 0;
}
#genericCMS section.partsPresent p.btnPresent a{
	display: block;
	border-radius: 14px;
	line-height: 28px;
	font-size: 13px;
	text-align: center;
	text-decoration: none;
	color: #fff;
	background: #DE484D;
}

/* Popup (parts Q). Same look as the present-campaign #modal (present/xmas2025/css/main.css, sp.css). */
.nvPopup{
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	width: 100vw;
	height: 100vh;
	background: rgba(0,0,0,0.5);
	z-index: 9999;
}
.nvPopup__backdrop{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
.nvPopup__panel{
	box-sizing: border-box;
	position: absolute;
	left: 50%;
	top: 50%;
	width: 630px;
	max-width: calc(100vw - 30px);
	max-height: 80vh;
	padding: 30px 15px;
	background: #fff;
	transform: translate(-50%,-50%);
	overflow-y: auto;
	font-size: 14px;
	line-height: 1.6;
	color: #000;
	text-align: left;
}
.nvPopup__x{
	position: absolute;
	right: 15px;
	top: 15px;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	background: transparent;
	font-size: 0;
	cursor: pointer;
}
.nvPopup__x:before,
.nvPopup__x:after{
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 28px;
	height: 3px;
	border-radius: 2px;
	background: #674040;
}
.nvPopup__x:before{
	transform: translate(-50%,-50%) rotate(45deg);
}
.nvPopup__x:after{
	transform: translate(-50%,-50%) rotate(-45deg);
}
.nvPopup__heading{
	margin: 0 40px 10px 0;
	padding: 0;
	background: none;
	border: 0;
	font-size: 18px;
	line-height: 1.4;
	font-weight: bold;
}
.nvPopup__figure{
	margin: 0 0 10px;
	text-align: center;
}
.nvPopup__figure img{
	max-width: 100%;
	max-height: 40vh;
	height: auto;
}
.nvPopup__intro{
	box-sizing: border-box;
	padding: 15px 30px;
	margin: 0 0 10px;
	background: #F2D08F;
	border-radius: 10px;
	word-break: break-word;
}
.nvPopup__note{
	margin: 0 0 25px;
	color: #FF505E;
	word-break: break-word;
}
.nvPopup__btnWrap{
	margin: 50px 0 0;
}
.nvPopup__btns{
	list-style: none;
	margin: 0;
	padding: 0;
}
.nvPopup__btns li,
.nvPopup__back{
	margin: 0 0 20px;
	padding: 0;
	text-align: center;
	line-height: 46px;
}
.nvPopup__back{
	margin: 0;
}
.nvPopup__btns a,
.nvPopup__close{
	box-sizing: border-box;
	display: block;
	width: 100%;
	padding: 0;
	border: #FFA916 2px solid;
	background: #FFA916;
	border-radius: 25px;
	font-size: 18px;
	line-height: 46px;
	color: #fff;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
}
.nvPopup__close{
	background: #fff;
	border-color: #674040;
	color: #674040;
	font-family: inherit;
}
.nvPopup__btns a:hover,
.nvPopup__close:hover{
	opacity: 0.7;
	color: #fff;
	text-decoration: none;
}
.nvPopup__close:hover{
	color: #674040;
}

@media (max-width: 768px){
	.nvPopup__panel{
		width: 100vw;
		max-width: none;
		height: 100vh;
		max-height: none;
		left: 0;
		top: 0;
		padding: 8vw 2.6667vw 16vw;
		transform: translate(0,0);
	}
	.nvPopup__x{
		right: 2.6667vw;
		top: 2.6667vw;
	}
	.nvPopup__heading{
		margin: 0 10vw 1.3333vw 0;
		font-size: 16px;
	}
	.nvPopup__figure{
		margin: 0 0 1.3333vw;
	}
	.nvPopup__intro{
		padding: 4vw;
		margin: 0 0 4vw;
		border-radius: 2.6667vw;
	}
	.nvPopup__note{
		margin: 0 0 4vw;
	}
	.nvPopup__btnWrap{
		margin: 10vw 0 0;
	}
	.nvPopup__btns li,
	.nvPopup__back{
		width: 72vw;
		margin: 0 auto 4vw;
		line-height: 14vw;
	}
	.nvPopup__back{
		margin: 0 auto;
	}
	.nvPopup__btns a,
	.nvPopup__close{
		line-height: calc(14vw - 4px);
		border-radius: 7vw;
		font-size: 16px;
	}
}
