@charset "utf-8";
/* ============== 共通 =================== */
#contents {
	color: #333333;
	font-size: 14px;
	line-height: 1.6;
	text-align: center;
	background-color: #ffffff;
	padding: 0;
	overflow: hidden;
}
#contents * {
	box-sizing: border-box;
}
#contents a {
	color: #0099cc;
	text-decoration: underline;
}
#contents a:hover {
	opacity: 0.7;
}
.display-sp {
	display: none;
}
.end_txt {
	color: #f50028;
	font-size: 180%;
	font-weight: bold;
	text-align: center;
	padding: 20px 0;
}
.main {
	padding: 30px 0 45px;
	background:
		url(https://pntc.sslcs.cdngc.net/cdn/campaign/pontapartners2026/img/bg_cloud_pc.png) top 35px center / 1194px no-repeat,
		url(https://pntc.sslcs.cdngc.net/cdn/campaign/pontapartners2026/img/bg_contents.png),
		linear-gradient(-45deg, #ffffc8 10%, #c6cb00 50%, #ffffc8 90%);
}
.sec {
	width: min(90.3vw, 876px);
	margin: 0 auto;
}
.ly-frame {
	width: 100%;
	height: 100%;
	position: relative;
	background-color: #ffffff;
	border: 3px solid #a06eb4;
}
.ly-frame::before {
	content: "";
	position: absolute;
	width: calc(100% - 7px);
	height: calc(100% - 7px);
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	border: 1px solid #a06eb4;
	pointer-events: none;
}

/* ============== タイマー =================== */
.standby-wrap,
.end-wrap{
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
.standby-wrap {
	background-image: url(https://pntc.sslcs.cdngc.net/cdn/campaign/pontapartners2026/img/timer_comingsoon.png);
}
.end-wrap {
	background-image: url(https://pntc.sslcs.cdngc.net/cdn/campaign/pontapartners2026/img/timer_cp-end.png);
}

/* ============== top =================== */
.top {
	background: url(https://pntc.sslcs.cdngc.net/cdn/campaign/pontapartners2026/img/bg_mv.png) left top repeat;
}

/* ============== sec top =================== */
.sec_top {
	margin-bottom: 30px;
	padding: 30px 0;
	background: url(https://pntc.sslcs.cdngc.net/cdn/campaign/pontapartners2026/img/sec_top_bg_pc.png) left top no-repeat;
	background-size: cover;
	box-shadow: 8px 8px 0px #784696;
}
.biz_ttl {
	margin: 0 auto 30px;
	width: min(71.9vw, 698px);
}
.biz_link {
	margin: 0 auto;
	width: min(77.3vw, 750px);
	background-color: #fff;
}

/* ============== sec bottom =================== */
.sec_bottom {
	padding: 30px;
	display: flex;
	justify-content: space-between;
	background: url(https://pntc.sslcs.cdngc.net/cdn/campaign/pontapartners2026/img/sec_bottom_bg_sp.png) left top no-repeat;;
	background-size: cover;
	box-shadow: 8px 8px 0px #784696;
}

/* おみくじ,カレンダー　共通 */
.sec_item {
	width: min(41.32vw, 400px);
}
.omikuji_contents,
.calendar_contents {
	height: 100%;
	display: flex;
	align-items: center;
	flex-direction: column;
}
.omikuji_head,
.calendar_head {
	height: 100%;
}
.omikuji_img,
.calendar_img {
	width: min(37.3vw, 362px);
	margin-bottom: 2px;
}
.omikuji_entry,
.calendar_entry {
	display: flex;
	align-items: center;
	flex-direction: column;
}
.omikuji_btn,
.calendar_btn {
	width: min(30.9vw, 300px);
	height: min(4.6vw, 45px);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	cursor: pointer;
}
.omikuji_btn:hover,
.calendar_btn:hover {
	opacity: 0.7;
}
.omikuji_btn a,
.calendar_btn a {
	display: block;
	text-decoration: none !important;
}
.omikuji_btn-txt,
.calendar_btn-txt {
	color: #fff !important;
	font-weight: bold;
	line-height: min(4.6vw, 45px);
	font-size: 19px;
}
.omikuji_balloon,
.calendar_balloon {
	color: #663322;
	font-size: 17.6px;
	font-weight: bold;
}
.omikuji_balloon::before,
.calendar_balloon::before,
.omikuji_balloon::after,
.calendar_balloon::after {
	content: "";
	width: 10px;
	height: 17px;
	display: inline-block;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	margin-bottom: -2px;
}
.omikuji_balloon::before,
.calendar_balloon::before {
	background-image: url(https://pntc.sslcs.cdngc.net/cdn/campaign/pontapartners2026/img/balloon_left.png);
	margin-right: 16px;
}
.omikuji_balloon::after,
.calendar_balloon::after {
	background-image: url(https://pntc.sslcs.cdngc.net/cdn/campaign/pontapartners2026/img/balloon_right.png);
	margin-left: 16px;
}

/* おみくじコンテンツ */
.omikuji_contents {
	padding: 10px 0 20px;
}
.omikuji_ttl,
.omikuji_lead {
	width: min(33.6vw, 326px);
}
.omikuji_lead {
	margin-bottom: 7px;
}
.omikuji_balloon {
	margin-bottom: 5px;
}
.omikuji_btn {
	background-image: url(https://pntc.sslcs.cdngc.net/cdn/campaign/pontapartners2026/img/btn_omikuji.png);
}

/* カレンダーコンテンツ */
.calendar_contents {
	padding: 30px 0 20px;
}
.calendar_ttl {
	width: min(33.9vw, 329px);
	margin: 0 auto;
}
.calendar_lead {
	width: min(41.2vw, 400px);
	position: relative;
	padding-bottom: 25px;
}
.calendar_lead::after {
	content: "";
	width: min(6.1vw, 59px);
	height: min(5.1vw, 49px);
	position: absolute;
	bottom: 5px;
	right: 32px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	background-image: url(https://pntc.sslcs.cdngc.net/cdn/campaign/pontapartners2026/img/img_calendar-ponta.png);
}
.calendar_balloon {
	margin-bottom: 5px;
}
.calendar_btn {
	background-image: url(https://pntc.sslcs.cdngc.net/cdn/campaign/pontapartners2026/img/btn_calendar.png);
}

/* コンテンツ（SP：767px以下）
========================================================*/
@media screen and (max-width: 767px) {

	/* ============== 共通 =================== */
	.display-pc {
		display: none;
	}
	.display-sp {
		display: block;
	}
	.end_txt {
		font-size: 150%;
	}
	.main {
		padding: min(5.8vw, 40px) 0;
		background:
			url(https://pntc.sslcs.cdngc.net/cdn/campaign/pontapartners2026/img/bg_cloud_sp.png) top center / 100% no-repeat,
			url(https://pntc.sslcs.cdngc.net/cdn/campaign/pontapartners2026/img/bg_contents.png),
			linear-gradient(-45deg, #ffffc8 10%, #c6cb00 50%, #ffffc8 90%);
		}
	.sec {
		width: 92%;
	}
	.ly-block {
		width: calc(100% - 30px);
	}
	.ly-frame::before {
		width: calc(100% - 10px);
		height: calc(100% - 10px);
	}

	/* ============== sec top =================== */
	.sec_top {
		padding: 18px 6px 9px;
		margin-bottom: 18px;
	}
	.biz_ttl {
		width: 68vw;
		margin-bottom: 15px;
	}
	.biz_link {
		width: 100%;
	}

	/* ============== sec bottom =================== */
	.sec_bottom {
		padding: 0;
		display: block;
		background-image: none;
		box-shadow: none;
	}

	/* おみくじ,カレンダー　共通 */
	.sec_item {
		width: auto;
		padding: min(4.3vw, 30px) min(5.8vw, 40px) min(4.6vw, 32px);
		display: flex;
		position: relative;
		align-items: center;
		flex-direction: column;
		background-image: url(https://pntc.sslcs.cdngc.net/cdn/campaign/pontapartners2026/img/sec_bottom_bg_sp.png);
		background-repeat: no-repeat;
		background-position: top;
		background-size: cover;
		box-shadow: 8px 8px 0px #784696;
	}
	.omikuji_lead,
	.calendar_lead {
		margin-bottom: min(5.7vw, 40px);
	}
	.omikuji_img,
	.calendar_img {
		width: 72vw;
		margin-bottom: 5px;
	}
	.omikuji_balloon,
	.calendar_balloon {
		font-size: min(3.7vw, 26px);
		margin-bottom: 2px;
	}
	.omikuji_balloon::before,
	.calendar_balloon::before,
	.omikuji_balloon::after,
	.calendar_balloon::after {
		width: 9px;
		height: 14px;
	}
	.omikuji_btn,
	.calendar_btn {
		width: min(60vw, 414px);
		height: min(8.5vw, 62px);
	}
	.omikuji_btn-txt,
	.calendar_btn-txt {
		line-height: min(8.5vw, 62px);
		font-size: min(4.8vw, 33px);
	}

	/* おみくじコンテンツ */
	.sec_item.omikuji {
		margin-bottom: 18px;
	}
	.omikuji_ttl {
		width: 65.3vw;
	}
	.omikuji_lead {
		width: 69.3vw;
	}

	/* カレンダーコンテンツ */
	.calendar_contents {
		padding: min(7.2vw, 50px) 0 min(4vw, 28px);
	}
	.calendar_ttl {
		width: 66.7vw;
	}
	.calendar_lead {
		width: 68vw;
		padding-bottom: 0;
	}
	.calendar_lead::after {
		width: min(11.7vw, 81px);
		height: min(9.8vw, 68px);
		bottom: -18px;
		right: 0px;
	}
}