/* CSS Custom Properties (Variables) */
:root {
	/* Primary Colors */
	--primary-orange: #F1890E;
	--primary-orange-dark: #C16E0B;
	--primary-orange-darker: #bb6c0f;
	--primary-orange-alt: #F17F0E;
	--primary-red: #FF583C;
	--primary-blue: #1D438A;
	--primary-blue-dark: #004986;
	--primary-purple: #3C1D6B;
	
	/* Accent Colors */
	--accent-yellow: #EF9B00;
	--accent-yellow-dark: #D6870D;
	--accent-pink: #DA2F74;
	--accent-pink-dark: #AF245C;
	--accent-pink-darker: #C52966;
	--accent-green: #1DC9A9;
	--accent-green-dark: #03A98E;
	--accent-green-darker: #17B39A;
	--accent-light-blue: #B1E8FA;
	--accent-light-pink: #FACFDA;
	--accent-week1: #2CC575;
	--accent-week1-dark: #009D50;
	--accent-week2: #008FDC;
	--accent-week2-dark: #0065B8;
	--accent-week3: #FF5961;
	--accent-week3-dark: #D22E2E;
	
	/* Text Colors */
	--text-primary: #333333;
	--text-secondary: #555555;
	--text-tertiary: #777777;
	--text-danger: #FD3651;
	--text-warning: #D91C0B;
	--text-error: #F14444;
	--text-special: #E83936;
	--text-link: #00ACEE;
	--text-link-alt: #3778F1;
	--text-disabled: #C7C7C7;
	--text-red-alt: #F00;
	--text-gray-disabled: #cccc;
	--text-prize-gold: #EA9B22;
	--text-prize-silver: #777777;
	--text-prize-bronze: #B1602E;
	
	/* Background Colors */
	--background-white: #ffffff;
	--background-white-alt: #fff;
	--background-light: #F5F5F5;
	--background-lighter: #FBFBFB;
	--background-disabled: #F4F4F4;
	--background-gray: #F8F9FA;
	--background-flow: #FFF5E9;
	--background-dropdown: #F5F5F5;
	
	/* Border Colors */
	--border-light: #E4E4E4;
	--border-medium: #DDDDDD;
	--border-dark: #DDD;
	--border-darker: #CCCCCC;
	--border-flow: #FFC581;
	--border-orange-dark: #E5820C;
	
	/* Utility Colors */
	--color-transparent: transparent;
	--color-gray: #bbb;
	--color-level-badge: #F8A83B;
	--color-level-9: #F5913D;
}


* {
	box-sizing: border-box;
}

/* Language-specific fonts */
html:lang(ja) body {
	font-family: "Noto Sans JP", "Noto Sans", sans-serif;
}
html:lang(zh-tw) body {
	font-family: "Noto Sans TC", "Noto Sans", sans-serif;
}

/* Base Campaign Styles */
.page_inner .campaign_main_title{
	margin: auto auto 3rem;
	width: fit-content;
	font-size: 1.6rem;
	font-weight: 700;
	text-align: center;
	color: var(--primary-blue);
}

.page_inner .campaign_period{
	font-size: 1.6rem;
	font-weight: 700;
	text-align: center;
	margin: auto;
}

/* Ribbon Title Component */
.page_inner .ribbon-title::before,
.page_inner .ribbon-title::after {
	content: "";
	position: absolute;
	display: block;
	bottom: -1rem;
	border: 1.5rem solid var(--border-orange-dark);;
}
.page_inner .ribbon-title::before {
	left: -3rem;
	border-right-width: 4.5rem;
	border-left-color: transparent;
}
.page_inner .ribbon-title::after {
	right: -3rem;
	border-left-width: 4.5rem;
	border-right-color: transparent;
}
.page_inner .ribbon-title{
	width: 20rem;
	font-size: 1.6rem;
	font-weight: 700;
	text-align: center;
	margin: 0 auto 4rem;
	position: relative;
}
.page_inner .ribbon-title span {
	display: block;
	width: 20rem;
	height: 4.4rem;
	font-weight: 700;
	color: var(--background-white-alt);
	background: var(--primary-orange);
	padding: 1.2rem 2rem 1rem;
	position: relative;
	z-index: 10;
}

.page_inner .ribbon-title span:before,
.page_inner .ribbon-title span:after{
	content: "";
	position: absolute;
	display: block;
	border-style: solid;
	border-color: var(--primary-orange-dark) transparent transparent transparent;
	bottom: -1rem;
}
.page_inner .ribbon-title span:before{
	left: 0;
	border-width: 1rem 0 0 3rem;
}
.page_inner .ribbon-title span:after{
	right: 0;
	border-width: 1rem 3rem 0 0;
}

/* Section Styles */
.page_inner .section-title{
	width: 100vw;
	font-weight: 700;
	padding: 1rem;
	background: var(--primary-red);
	color: var(--background-white);
}

.page_inner .section-content{
	padding: 2.5rem 2rem 4rem;
	display: flex;
	flex-direction: column;
}
.page_inner .section-content .nav-content {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.page_inner .line-title{
	position: relative;
	color: var(--primary-red);
	font-weight: 700;
	padding-left: 1rem;   
}

.page_inner .line-title::before{
	content: "";
	position: absolute;
	width: 4px;
	height: 23px;
	background: var(--primary-red);
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	margin-bottom: 1.5rem;
}

/* Common UI Elements */
.page_inner .steps {
	width: 9.4rem;
	height: 3.7rem;
    border-radius: 2rem;	
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--background-white-alt);
	padding: 0.8rem 2rem;
	background: var(--primary-red);
	margin-bottom: 1.5rem;
}

.page_inner .arrow{
	display: block;
	text-align: center;
	width: 0;
	height: 0;
	margin: 3rem auto;
	border: 8rem solid transparent;
	border-bottom: 0;
	border-top: 4rem solid var(--color-gray);
}

/* Event Border Component */
.page_inner .event.border{
	position: relative;
	width: 100%;
	max-width: 80rem;
	border: .2rem solid var(--text-primary);
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--text-primary);
	line-height: normal;
	padding: 1rem 2.8rem 1rem 1.5rem;
}

.page_inner .event.border::after {
	content: '';
	width: 2.3rem;
	height: 1.3rem;
	background: url(/images/campaign/halloween/chevron-down-solid.svg) no-repeat center;
	background-size: 1.4rem .8rem;
	position: absolute;
	right: .5rem;
	top: 50%;
	transform: translateY(-50%);
}

.page_inner .border{
	border: .1rem solid var(--primary-red);
}

/* Notice Component */
.page_inner .notice{
	padding: 1.5rem;
	background: var(--background-light);
}
.page_inner .notice h3{
	font-weight: 700;
	margin-bottom: .6rem;
	font-size: 1.2rem;
	color: #333333;
}
.page_inner .notice h2{
	font-weight: 700;
	font-size: 1.2rem;
}
.page_inner .notice p{
	line-height: normal;
	font-size: 1.2rem;
	display: flex;
	gap: .4rem;
	color: #333333;
}
.page_inner .notice p.colored{
	color: var(--text-warning);
}

/* Button Components */
.page_inner .padded-title{
	background: var(--primary-orange);
	color: var(--background-white);
	padding: 1.6rem 2.4rem;
	width: fit-content;
	margin: auto;
	border-radius: 1rem;
	position: relative;
	font-weight: 700;
}

.page_inner .rouded-button{
	display: block;
	font-size: 1.6rem;
	color: var(--primary-orange);
	padding: 0.8rem 2.9rem;
	width: 10.5rem;
	background: var(--background-white);
	border-radius: 2rem;
	border: 1px solid var(--primary-orange);
	font-weight: 700;
}

.page_inner .button{
	width: 100%;
	border-radius: 1rem;
	padding: 1.1rem 4rem;
	display: block;
	text-align: center;
	font-size: 1.6rem;
	font-weight: 700;
	margin: 1.4rem auto 3rem;
	background: var(--primary-orange);
	box-shadow: 0px 6px var(--primary-orange-dark);
	color: var(--background-white);
}

.page_inner .button.button_trial {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 4.8rem;
	border-radius: 10rem;
}

.page_inner .button.disabled{
	pointer-events: none;
	background: var(--background-disabled);
	box-shadow: unset;
	color: var(--text-disabled);
}

.page_inner .balloon {
	color: var(--primary-orange);
	font-size: 1.6rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.0rem;
}

.page_inner .btn-style{
	border-radius: 1rem;
	min-width: 33.5rem;
	width: 100%;
	height: 4.8rem;
	flex-shrink: 0;
	font-size: 1.6rem;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
	color: #FFF;
	justify-content: center;
	display: flex;
	align-items: center;
}
.page_inner .btn-green{
	background: #1DC9A9;
	box-shadow: 0 0.6rem 0 #03A98E;
}

.page_inner .btn-orange{
	background: var(--primary-orange);
	box-shadow: 0 0.6rem 0 var(--primary-orange-dark);
}

.page_inner .balloon:before {
	content: "";
	display: inline-block;
	width: 3rem;
	height: 3rem;
	vertical-align: middle;
	background: url(/images/index/ver_3/balloon_l.png) no-repeat;
	background-size: contain;
}

.page_inner .balloon:after {
	content: "";
	display: inline-block;
	width: 3rem;
	height: 3rem;
	vertical-align: middle;
	background: url(/images/index/ver_3/balloon_r.png) no-repeat;
	background-size: contain;
}

.page_inner .hero-banner {
	width: 100%;
	height: auto;
	display: flex;
	align-items: center;
	justify-content: center;
}

.page_inner .hero-banner img {
	width: 100%;
	height: auto;
	display: block;
}

.page_inner .hero-content {
	padding: 3rem 1.6rem 4rem;
	text-align: center;
}

.page_inner .step-text {
	margin-bottom: 1.5rem;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: normal;
}

.page_wrap .page_inner .step-notes {
	color: var(--text-warning);
	font-size: 1.4rem;
	text-align: start;
	line-height: normal;
}

.page_inner .step-note {
	font-size: 1.2rem;
	font-weight: 400;
	text-align: end;
	line-height: 1.5;
	margin-top: 0.8rem;
	color: #333333;
}
.halloween.page_wrap_2025 .page_inner .level-1  { background-color: #9CCC65; }
.halloween.page_wrap_2025 .page_inner .level-2  { background-color: #C5DB5A; }
.halloween.page_wrap_2025 .page_inner .level-3  { background-color: #E2E658; }
.halloween.page_wrap_2025 .page_inner .level-4  { background-color: #F8EE58; }
.halloween.page_wrap_2025 .page_inner .level-5  { background-color: #FFE144; }
.halloween.page_wrap_2025 .page_inner .level-6  { background-color: #FFCC29; }
.halloween.page_wrap_2025 .page_inner .level-7  { background-color: #FFBA26; }
.halloween.page_wrap_2025 .page_inner .level-8  { background-color: #F8A83B; }
.halloween.page_wrap_2025 .page_inner .level-9  { background-color: #F5913D; }
.halloween.page_wrap_2025 .page_inner .level-10 { background-color: #F57E3D; }

.page_inner .step-image {
	text-align: center;
	margin: 3rem auto 0;
}

.page_inner .step-image img {
	max-width: 100%;
	height: auto;
	border-radius: 0.8rem;
}

.page_inner .step-image img.bordered {
	border-radius: 1.2rem;
	border: 0.1rem solid var(--border-medium);
}

.page_inner .step-image img.bordered-black {
	border-radius: 1.2rem;
	border: 0.1rem solid #000000;
}

.page_inner .register-btn{
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto 2rem;
}

.page_inner .participate-text{
	font-size: 16px;
	font-style: normal;
	font-weight: 400;   
	color: var(--text-red-alt);
}

/* Period Table */
.page_inner .period-table {
	background: var(--background-gray);
	border-radius: 1.2rem;
	overflow: hidden;
	border: 0.2rem solid var(--accent-yellow);
}

.page_inner .period-header {
	background: var(--accent-yellow);
	color: var(--background-white-alt);
	padding: 1.2rem;
	text-align: center;
}

.page_inner .period-header h4 {
	font-size: 1.6rem;
	font-weight: 700;
	margin: 0;
}

.page_inner .period-list {
    background: var(--background-white-alt);
    padding: 1.5rem 1.5rem .5rem;
}

.page_inner .period-item {
	display: flex;
	justify-content: space-between;
	text-align: center;
	align-items: center;
	padding: 1.2rem 2rem;
	background: var(--background-white-alt);
}
.page_inner .period-item:nth-child(1),
.page_inner .period-item:nth-child(2){
	border-bottom: 0.1rem solid var(--border-medium);
}
.page_inner .week-label {
	font-size: 1.6rem;
	font-weight: 700;
	width: 7rem;
}

.page_inner .date-range {
	font-size: 1.6rem;
	font-weight: 400;
	color: var(--text-primary);
	flex: 1;
}

  /* Custom styles for recommended teacher campaign */
	#recommended_teacher_campaignPage .campaign-hero {
		width: 100%;
		margin-bottom: 2.4rem;
	}

	#recommended_teacher_campaignPage .campaign-hero img {
		width: 100%;
		height: auto;
		display: block;
	}

	#recommended_teacher_campaignPage .campaign-intro {
		padding: 0 1.2rem;
		margin-bottom: 2.4rem;
	}

	#recommended_teacher_campaignPage .campaign-intro p {
		font-size: 1.4rem;
		line-height: 1.57;
		color: #fff;
		margin: 0;
		text-align: left;
	}

	#recommended_teacher_campaignPage .campaign-section {
		margin-bottom: 3.2rem;
	}

	/* Content box styling - separate from section-content */
	#recommended_teacher_campaignPage.page_wrap .page_inner .section-content{
		padding: 0 1.2rem;
	}
	#recommended_teacher_campaignPage .campaign-content-box {
		background: transparent;
		border: 0.1rem solid #004986;
		padding: 1.6rem;
		border-radius: 0.8rem;
	}

	#recommended_teacher_campaignPage .campaign-content-inner {
		display: flex;
		flex-direction: column;
		gap: 2.5rem;
	}

	#recommended_teacher_campaignPage .campaign-text {
		font-size: 1.4rem;
		font-weight: 700;
		line-height: 1.57;
		color: #fff;
		margin: 0;
		text-align: left;
	}

	#recommended_teacher_campaignPage .campaign-bullet-list {
		display: flex;
		flex-direction: column;
		gap: 1rem;
	}

	#recommended_teacher_campaignPage .campaign-bullet-item {
		display: flex;
		align-items: flex-start;
		gap: 0.4rem;
		width: 100%;
	}

	#recommended_teacher_campaignPage .campaign-bullet {
		font-size: 1.4rem;
		line-height: 1.57;
		color: #333333;
		min-width: 1.4rem;
		flex-shrink: 0;
	}

	#recommended_teacher_campaignPage .campaign-bullet-text {
		font-size: 1.4rem;
		line-height: 1.57;
		color: #FFF;
		flex: 1;
	}

	#recommended_teacher_campaignPage .campaign-details {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 0.5rem;
		text-align: center;
	}

	#recommended_teacher_campaignPage .campaign-time-label {
		font-size: 1.4rem;
		line-height: 1.57;
		color: #fff;
		margin: 0;
	}

	#recommended_teacher_campaignPage .campaign-time-value {
		font-size: 1.6rem;
		font-weight: 700;
		line-height: 1.5;
		color: #fff;
		margin: 0;
	}

	#recommended_teacher_campaignPage .campaign-normal-content {
		padding: 0 1.6rem;
		display: flex;
		flex-direction: column;
		gap: 1rem;
	}

	#recommended_teacher_campaignPage .campaign-normal-text {
		font-size: 1.4rem;
		line-height: 1.57;
		color: #fff;
		margin: 0;
		text-align: left;
	}

	#recommended_teacher_campaignPage .campaign-normal-text span {
		color: #F14444;
		font-weight: 700;
	}

	#recommended_teacher_campaignPage .campaign-steps-container {
		display: flex;
		flex-direction: column;
		gap: 1.5rem;
	}

	#recommended_teacher_campaignPage .campaign-step-flow {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 3rem;
	}

	#recommended_teacher_campaignPage .campaign-step-box {
		background:transparent;
		border: 0.1rem solid #004986;
		width: 100%;
		padding: 1.6rem;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 1rem;
		border-radius: 0.8rem;
	}

	#recommended_teacher_campaignPage .campaign-step-content {
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 100%;
		gap: 2.5rem;
	}

	#recommended_teacher_campaignPage .campaign-step-header {
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 100%;
		gap: 1.6rem;
	}

	#recommended_teacher_campaignPage .campaign-step-badge {
		background: #004986;
		color: #ffffff;
		font-size: 1.6rem;
		font-weight: 700;
		line-height: 1.45;
		text-align: center;
		padding: 0.8rem 2rem;
		border-radius: 5rem;
		height: 4rem;
		display: flex;
		align-items: center;
		justify-content: center;
		width: fit-content;
	}

	#recommended_teacher_campaignPage .campaign-step-text {
		font-size: 1.4rem;
		line-height: 1.57;
		color: #fff;
		width: 100%;
		margin: 0;
	}

	#recommended_teacher_campaignPage .campaign-step-text span {
		color: #F14444;
		font-weight: 700;
	}

	#recommended_teacher_campaignPage .campaign-step-text.orange span {
		color: #F1890E;
		font-weight: 700;
	}

	#recommended_teacher_campaignPage .campaign-step-image {
		width: 100%;
		max-width: 31.9rem;
		height: auto;
		display: block;
		border-radius: 0.8rem;
	}

	/* Override arrow from campaign-common.css */
	#recommended_teacher_campaignPage.page_wrap .page_inner .arrow {
		border: 2rem solid transparent;
		border-top: 2rem solid #555555;
		margin: 0 auto;
	}

	#recommended_teacher_campaignPage .campaign-button-container {
		display: flex;
		justify-content: center;
		width: 100%;
		margin-top: 1.6rem;
	}

	#recommended_teacher_campaignPage .campaign-button {
		width: 100%;
		max-width: 30.3rem;
		height: 5.2rem;
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		text-decoration: none;
	}

	#recommended_teacher_campaignPage .campaign-button-shadow {
		position: absolute;
		width: 100%;
		height: 100%;
		background: #03A98E;
		border-radius: 1rem;
		top: 0.4rem;
		left: 0;
	}

	#recommended_teacher_campaignPage .campaign-button-surface {
		position: absolute;
		width: 100%;
		height: 4.8rem;
		background: #1DC9A9;
		border-radius: 1rem;
		top: 0;
		left: 0;
	}

	#recommended_teacher_campaignPage .campaign-button-text {
		position: relative;
		color: #ffffff;
		font-size: 1.6rem;
		font-weight: 700;
		line-height: 1.45;
		z-index: 1;
		text-decoration: none;
	}

	#recommended_teacher_campaignPage .campaign-links-section {
		display: flex;
		flex-direction: column;
		gap: 1rem;
		margin-top: 2.4rem;
	}

	#recommended_teacher_campaignPage .campaign-link-item {
		display: flex;
		align-items: center;
		gap: 0.1rem;
	}

	#recommended_teacher_campaignPage .campaign-link-text {
		color: #00ACEE;
		font-size: 1.4rem;
		line-height: 1.2;
		text-decoration: underline;
	}

	#recommended_teacher_campaignPage .campaign-special-link {
		display: flex;
		align-items: center;
		gap: 0.1rem;
		padding-top: 2rem;
		justify-content: center;
	}

	#recommended_teacher_campaignPage .campaign-special-link-text {
		color: #3778F1;
		font-size: 1.4rem;
		line-height: 1.2;
		text-decoration: underline;
	}

	#recommended_teacher_campaignPage .t_center {
		text-align: center;
	}

	/* Override section-title from campaign-common.css for this specific design */
	#recommended_teacher_campaignPage.page_wrap .page_inner .section-title {
		font-size: 1.6rem;
		margin-left: calc(-50vw + 50%);
		margin-right: calc(-50vw + 50%);
		margin-bottom: 2.4rem;
		text-align: center;
		background: #004986;
	}

	#recommended_teacher_campaignPage.page_wrap .page_inner .section-title h2 {
		margin: 0;
		font-size: 1.6rem;
		font-weight: 700;
		color: #fff;
	}

	/* Override notice section from campaign-common.css */
	#recommended_teacher_campaignPage.page_wrap .page_inner .notice {
		margin: 2.4rem 0rem 0;
		border-radius: 0.8rem;
		background: #333;
	}

	#recommended_teacher_campaignPage.page_wrap .page_inner .notice h3 {
		font-weight: 700;
		margin: 0 0 1rem 0;
		color: #fff;
		text-align:center;
		font-size: 1.2rem;
	}

	#recommended_teacher_campaignPage.page_wrap .page_inner .notice p {
		margin: 0.8rem 0;
		line-height: 1.2;
		color: #fff;
	}

	#recommended_teacher_campaignPage.page_wrap .page_inner .notice p span {
		color: #fff;
		flex-shrink: 0;
	}
	.method-title {
		display: flex;
		flex-direction: column;
		gap: 1.6rem;
	}
/* Hero Section Layout */
.halloween.page_wrap_2025 .page_inner .hero-section {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	margin: 0 auto;
}

/* Participation Section Fixes */
.halloween.page_wrap_2025 .page_inner .participation-section {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	margin: 0 auto;
}

.halloween.page_wrap_2025 .page_inner .participation-section .section-content {
	padding: 2.5rem 2rem 4rem;
	width: 100%;
}

.halloween.page_wrap_2025 .page_inner .hero-banner {
	width: 100%;
	height: auto;
	display: flex;
	align-items: center;
	justify-content: center;
}

.halloween.page_wrap_2025 .page_inner .hero-banner img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.halloween.page_wrap_2025 .page_inner .hero-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 3rem 2rem 4rem;
	width: 100%;
}
.halloween.page_wrap_2025 .page_inner .campaign_main_title{
	margin: 0 auto;
	width: fit-content;
	font-size: 1.6rem;
	font-weight: 700;
	text-align: center;
	color: var(--primary-purple);
	line-height: 1.375em;
}

.halloween.page_wrap_2025 .page_inner .campaign-info {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 33.5rem;
	width: 100%;
}

.halloween.page_wrap_2025 .page_inner .title-container {
	display: flex;
	justify-content: center;
	min-width: 33.5rem;
	width: 100%;
}

/* Campaign Content Section */
.halloween.page_wrap_2025 .page_inner .campaign-content-section {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	margin: 0 auto;
}

.halloween.page_wrap_2025 .page_inner .campaign-section-title {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 1rem 0;
	width: 100%;
	background: var(--primary-purple);
}

.halloween.page_wrap_2025 .page_inner .campaign-section-title h2 {
	width: 35.5rem;
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 1.4375em;
	text-align: center;
	color: var(--background-white);
	margin: 0;
}

.halloween.page_wrap_2025 .page_inner .campaign-section-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 2.5rem 2rem 4rem;
	width: 100%;
}

.halloween.page_wrap_2025 .page_inner .campaign-page-links {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2rem;
	width: 100%;
	min-width: 33.5rem;
	width: 100%;
	margin: 0 auto;
}

.halloween.page_wrap_2025 .page_inner .campaign-page-link {
	display: flex;
	justify-content: center;
	gap: 1rem;
	padding: 1rem 1rem 1rem 1.5rem;
	width: 100%;
	background: var(--background-white);
	border: 0.2rem solid var(--text-primary);
	box-shadow: 0 0.3rem 0.6rem 0 rgba(0, 0, 0, 0.16);
	text-decoration: none;
	border-radius: 0;
	transition: all 0.2s ease;
	position: relative;
}

.halloween.page_wrap_2025 .page_inner .campaign-page-link:hover {
	transform: translateY(1px);
	box-shadow: 0 0.2rem 0.4rem 0 rgba(0, 0, 0, 0.12);
}

.halloween.page_wrap_2025 .page_inner .campaign-link-inner {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	width: 100%;
	padding-right: 1rem;
}

.halloween.page_wrap_2025 .page_inner .campaign-link-text {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	width: 100%;
}

.halloween.page_wrap_2025 .page_inner .campaign-event-number,
.halloween.page_wrap_2025 .page_inner .campaign-event-title {
	width: 100%;
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 1.4375em;
	text-align: left;
	color: var(--text-primary);
	margin: 0;
}

.halloween.page_wrap_2025 .page_inner .campaign-link-icon {
	width: 1.4rem;
	height: 0.8rem;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.halloween.page_wrap_2025 .page_inner .campaign-link-icon svg {
	width: 1.4rem;
	height: 0.8rem;
}

/* Campaign Page Link Chevron - Using CSS ::after instead of inline SVG */
.halloween.page_wrap_2025 .page_inner .campaign-page-link::after {
	content: '';
	width: 2.3rem;
	height: 1.3rem;
	background: url(/images/campaign/halloween/chevron-down-solid.svg) no-repeat center;
	background-size: 1.4rem .8rem;
	position: absolute;
	right: .5rem;
	top: 50%;
	transform: translateY(-50%);
}

.halloween.page_wrap_2025 .page_inner .section-title {
	background: var(--primary-purple);
	text-align: center;
	line-height: 1.5;
	font-size: 1.6rem;
}

.halloween.page_wrap_2025 .page_inner .line-title {
	color: var(--primary-purple);
	margin-bottom: 2rem;
	font-size: 1.6rem;
}

.halloween.page_wrap_2025 .page_inner .line-title::before {
	background: var(--primary-purple);
}

.halloween.page_wrap_2025 .page_inner .steps {
	background: var(--primary-purple);
	width: 9rem;
	height: 4rem;
	border-radius: 2rem;
	margin-bottom: 1.6rem;
	display: flex;
	padding: 0;
	align-items: center;
	justify-content: center;
}

/* Halloween Period Badge */
.halloween.page_wrap_2025 .page_inner .halloween-period {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 3rem;
	min-width: 33.5rem;
	width: 100%;
}

.halloween.page_wrap_2025 .page_inner .period-badge {
	position: relative;
	background: var(--primary-orange);
	color: var(--background-white);
	padding: 1rem 2rem;
	font-size: 1.6rem;
	font-weight: 700;
	margin-bottom: 3rem;
	width: 20rem;
	height: 4.4rem;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1.4375em;
}

.halloween.page_wrap_2025 .page_inner .period-badge::before {
	content: "";
	position: absolute;
	left: -2.9rem;
	top: 0;
	width: 6rem;
	height: 3rem;
	background: var(--border-orange-dark);
	transform: skewX(-45deg);
	transform-origin: bottom left;
}

.halloween.page_wrap_2025 .page_inner .period-badge::after {
	content: "";
	position: absolute;
	right: -2.9rem;
	top: 0;
	width: 6rem;
	height: 3rem;
	background: var(--border-orange-dark);
	transform: skewX(45deg);
	transform-origin: bottom right;
}

.halloween.page_wrap_2025 .page_inner .period-badge span {
	position: relative;
	z-index: 2;
}

.halloween.page_wrap_2025 .page_inner .period-date {
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--text-primary);
	text-align: center;
	min-width: 33.5rem;
	width: 100%;
	line-height: 1.4375em;
}

/* Halloween Info Sections */
.halloween.page_wrap_2025 .page_inner .halloween-info-section {
	margin: 2rem 0;
}

.halloween.page_wrap_2025 .page_inner .contest-description {
	font-size: 1.4rem;
	line-height: 1.4;
	color: var(--text-primary);
	margin-bottom: 1.5rem;
}

.halloween.page_wrap_2025 .page_inner .contest-note {
	font-size: 1.2rem;
    line-height: 1.3;
    color: var(--text-primary);
    margin: 0;
    display: flex;
    gap: 0.2rem;
}

.halloween.page_wrap_2025 .page_inner .contest-note span {
	color: var(--text-primary);
	margin-right: 0.4rem;
}

/* Contest Flow */
.halloween.page_wrap_2025 .page_inner .contest-flow {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .8rem;
	padding: 2rem 0;
	min-width: 33.5rem;
	width: 100%;
	height: 8.5rem;
	margin-bottom: 3rem;
}

.halloween.page_wrap_2025 .page_inner .flow-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.7rem;
	width: 9.5rem;
	height: 8.5rem;
}

.halloween.page_wrap_2025 .page_inner .flow-badge {
	background: var(--background-flow);
	border: 1px solid var(--border-flow);
	color: var(--primary-orange);
	padding: 0;
	font-size: 1.6rem;
	font-weight: 700;
	text-align: center;
	width: 9.5rem;
	height: 5.8rem;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1.4479999542236328em;
}

.halloween.page_wrap_2025 .page_inner .flow-date {
	font-size: 1.4rem;
	font-weight: 700;
	color: var(--text-primary);
	text-align: center;
	width: 9.5rem;
	height: 2rem;
	line-height: 1.4479999542236328em;
}

.halloween.page_wrap_2025 .page_inner .flow-arrow {
	width: 1rem;
	height: 5.8rem;
	top: -1.2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	background: url('https://assets2.nativecamps.com/user/webroot/mobile/images/campaign/halloween/arrow.svg') no-repeat center;
	background-size: contain;
}

/* Contest Departments */
.halloween.page_wrap_2025 .page_inner .contest-departments {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.5rem;
	padding: 2rem 0;
	min-width: 33.5rem;
	width: 100%;
}

.halloween.page_wrap_2025 .page_inner .department-card {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1.5rem 3rem 1.5rem 2rem;
	background: var(--background-white);
	border: 1px solid var(--primary-purple);
	border-radius: 1.2rem;
	width: 25.5rem;
	height: auto;
}

.halloween.page_wrap_2025 .page_inner .department-icon {
	position: relative;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.halloween.page_wrap_2025 .page_inner .department-card:nth-child(1) .department-icon {
	background-image: url('https://assets2.nativecamps.com/user/webroot/mobile/images/campaign/halloween/icon_01.svg');
}

.halloween.page_wrap_2025 .page_inner .department-card:nth-child(2) .department-icon {
	background-image: url('https://assets2.nativecamps.com/user/webroot/mobile/images/campaign/halloween/icon_02.svg');
}

.halloween.page_wrap_2025 .page_inner .department-card:nth-child(3) .department-icon {
	background-image: url('https://assets2.nativecamps.com/user/webroot/mobile/images/campaign/halloween/icon_03.svg');
}

.halloween.page_wrap_2025 .page_inner .department-title {
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--primary-purple);
	margin: 0;
	line-height: 1.4479999542236328em;
	flex: 1;
}

/* Prize Section */
.halloween.page_wrap_2025 .page_inner .prize-section {
    margin: 1.5rem auto;
    width: 100%;	
}

.halloween.page_wrap_2025 .page_inner .prize-header {
	background: var(--primary-orange);
	color: var(--background-white);
	padding: 1.1rem 2.4rem;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	border-radius: 1.6rem 1.6rem 0 0;
	position: relative;	
	width: 100%;
	height: 4.4rem;
}

.halloween.page_wrap_2025 .page_inner .prize-header h3 {
	font-size: 1.6rem;
	font-weight: 700;
	margin: 0;
	line-height: 1.4479999542236328em;
	position: relative;
}

.halloween.page_wrap_2025 .page_inner .prize-header h3::before,
.halloween.page_wrap_2025 .page_inner .prize-header h3::after {
	content: "";
	display: inline-block;
	width: 2.3rem;
	height: 2rem;
	background-image: url('https://assets2.nativecamps.com/user/webroot/mobile/images/campaign/halloween/image_coin.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	vertical-align: middle;
}

.halloween.page_wrap_2025 .page_inner .prize-header h3::before {
	margin-right: 1rem;
}

.halloween.page_wrap_2025 .page_inner .prize-header h3::after {
	margin-left: 1rem;
}

.halloween.page_wrap_2025 .page_inner .prize-table {
	border: 1px solid var(--primary-orange);
	border-top: none;
	width: 100%;
	border-radius: 0 0 1.6rem 1.6rem;
}

.halloween.page_wrap_2025 .page_inner .prize-row {
	display: flex;
	align-items: center;
}

.halloween.page_wrap_2025 .page_inner .prize-header-row {
	border-bottom: 1px solid var(--primary-orange);
	height: 3.4rem;
}

.halloween.page_wrap_2025 .page_inner .prize-rank-header,
.halloween.page_wrap_2025 .page_inner .prize-reward-header {
	color: var(--primary-orange);
	font-size: 1.2rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.8rem;
	line-height: 1.4479999542236328em;
}

.halloween.page_wrap_2025 .page_inner .prize-rank-header {
	width: 24%;
}

.halloween.page_wrap_2025 .page_inner .prize-reward-header {
	width: 76%;
}

.halloween.page_wrap_2025 .page_inner .prize-rank {
	width: 24%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.8rem;
	background: var(--background-white);
	height: 5rem;
}

.halloween.page_wrap_2025 .page_inner .prize-reward {
	width: 76%;
	height: 5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 0.8rem;
	font-size: 1.2rem;
	font-weight: 700;
	color: var(--text-primary);
	background: var(--background-white);
}

.halloween.page_wrap_2025 .page_inner .prize-row:nth-child(3) .prize-rank,
.halloween.page_wrap_2025 .page_inner .prize-row:nth-child(3) .prize-reward,
.halloween.page_wrap_2025 .page_inner .prize-row:nth-child(5) .prize-rank,
.halloween.page_wrap_2025 .page_inner .prize-row:nth-child(5) .prize-reward,
.halloween.page_wrap_2025 .page_inner .prize-row:nth-child(7) .prize-rank,
.halloween.page_wrap_2025 .page_inner .prize-row:nth-child(7) .prize-rewards-multi{
	background: var(--background-lighter);
}

.halloween.page_wrap_2025 .page_inner .prize-text {
	font-size: 1.2rem;
	font-weight: 700;
	color: var(--text-primary);
	text-align: center;
	line-height: 1.4479999542236328em;
}

.halloween.page_wrap_2025 .page_inner .prize-participation {
	border-radius: 0 0 0 1.6rem;
	height: 9rem;
	font-size: 1.2rem;
	font-weight: 700;
	color: var(--text-primary);
	text-align: center;
	line-height: 1.4479999542236328em;
}

.halloween.page_wrap_2025 .page_inner .prize-rewards-multi {
	border-radius: 0 0 1.6rem 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0.5rem;
	width: 76%;
	padding: 0.8rem;
}

.halloween.page_wrap_2025 .page_inner .reward-item {
	font-size: 1.2rem;
	text-align: center;
	font-weight: 700;
	color: var(--text-primary);
	line-height: 1.4479999542236328em;
}

.halloween.page_wrap_2025 .page_inner .prize-gold {
	color: var(--text-prize-gold);
}

.halloween.page_wrap_2025 .page_inner .prize-silver {
	color: var(--text-prize-silver);
}

.halloween.page_wrap_2025 .page_inner .prize-bronze {
	color: var(--text-prize-bronze);
}

.halloween.page_wrap_2025 .page_inner .prize-notice {
	background: var(--background-light);
	padding: 1.5rem;
	margin-top: 0;
	width: 100%;
}

.halloween.page_wrap_2025 .page_inner .prize-notice p {
	font-size: 1.2rem;
	line-height: 1.3333333333333333em;
	color: var(--text-primary);
	margin: 0;
	display: flex;
	gap: 0.2rem;
}

.halloween.page_wrap_2025 .page_inner .prize-notice span {
	margin-right: 0.2rem;
	flex-shrink: 0;
}

/* Step Containers */
.halloween.page_wrap_2025 .page_inner .steps-container {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.halloween.page_wrap_2025 .page_inner .step-item {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.halloween.page_wrap_2025 .page_inner .step-text {
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--text-primary);
	line-height: 1.4;
}

.halloween.page_wrap_2025 .page_inner .step-notice {
	background: transparent;
	padding: 0;
	margin-top: 1rem;
}

.halloween.page_wrap_2025 .page_inner .step-notice.black-text p{
	color: var(--text-primary);
}

.halloween.page_wrap_2025 .page_inner .step-notice p {
    font-size: 1.4rem;
    color: var(--text-warning);
    line-height: 1.4;
    margin: 0;
    display: flex;
    gap: 0.2rem;
}

.halloween.page_wrap_2025 .page_inner .step-notice span {
	margin-right: 0.4rem;
}

.halloween.page_wrap_2025 .page_inner .step-image {
	text-align: center;
	margin: 1.5rem auto;
    width: 33.5rem;
}

.halloween.page_wrap_2025 .page_inner .step-image img {
	max-width: 100%;
	height: auto;
	border-radius: 1.2rem;
	border: 0.1rem solid var(--border-dark);
}

/* Dropdown Section */
.halloween.page_wrap_2025 .page_inner .dropdown-section {
	margin: 1.5rem 0;
}

.halloween.page_wrap_2025 .page_inner .dropdown-container {
	min-width: 33.5rem;
	width: 100%;
	position: relative;
}

.halloween.page_wrap_2025 .page_inner .dropdown-button {
	width: 100%;
	background: var(--accent-pink);
	color: var(--background-white-alt);
	border: none;
	border-radius: 2.2rem;
	padding: 1.1rem 2rem;
	font-size: 1.6rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background-color 0.3s, transform 0.2s;
	box-shadow: 0 0.4rem 0 var(--accent-pink-dark);
	position: relative;
}

.halloween.page_wrap_2025 .page_inner .dropdown-button:hover {
	background: var(--accent-pink-darker);
	transform: translateY(0.1rem);
	box-shadow: 0 0.3rem 0 var(--accent-pink-dark);
}

.halloween.page_wrap_2025 .page_inner .dropdown-button::after {
	content: "";
	position: absolute;
	right: 2rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1.4rem;
	height: 0.8rem;
	background: url('https://assets2.nativecamps.com/user/webroot/mobile/images/campaign/halloween/chevron-down-solid.svg') no-repeat center;
	background-size: contain;
	transition: transform 0.3s ease;
}

/* For dropdown open state */
.halloween.page_wrap_2025 .page_inner .dropdown-button.open::after {
	transform: translateY(-50%) rotate(180deg);
}

/* Dropdown Content */
.halloween.page_wrap_2025 .page_inner .dropdown-content {
	min-width: 33.5rem;
	width: 100%;
	background: var(--background-light);
	border-radius: 0 0 2.2rem 2.2rem;
	padding: 2rem 1.5rem 3rem;
	display: none;
}

.halloween.page_wrap_2025 .page_inner .dropdown-content.open {
	display: block;
}

.halloween.page_wrap_2025 .page_inner .dropdown-inner {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	width: 100%;
}

.halloween.page_wrap_2025 .page_inner .instruction-item {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.halloween.page_wrap_2025 .page_inner .instruction-text {
	display: flex;
	gap: 0.5rem;
	align-items: flex-start;
}

.halloween.page_wrap_2025 .page_inner .step-number {
	font-size: 1.4rem;
	font-weight: 400;
	color: var(--text-primary);
	min-width: 2rem;
	line-height: 1.2em;
}

.halloween.page_wrap_2025 .page_inner .step-description {
	font-size: 1.4rem;
	font-weight: 400;
	color: var(--text-primary);
	line-height: 1.2em;
	flex: 1;
}

.halloween.page_wrap_2025 .page_inner .instruction-image {
	width: 30.5rem;
	margin: 0 auto;
	border: 0.1rem solid var(--border-darker);
	border-radius: 1.2rem;
	overflow: hidden;
}

.halloween.page_wrap_2025 .page_inner .instruction-image img {
	width: 100%;
	height: auto;
	display: block;
}

/* Hashtag Container */
.halloween.page_wrap_2025 .page_inner .hashtag-container {
	background: var(--background-white-alt);
	border: 0.1rem solid var(--border-dark);
	border-radius: 1.2rem;
	padding: 3rem 2rem 2rem;
	margin: 1.5rem 0;
}

.halloween.page_wrap_2025 .page_inner .hashtag-list {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin-bottom: 2rem;
}

.halloween.page_wrap_2025 .page_inner .hashtag-item {
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--text-primary);
	margin: 0;
}

.halloween.page_wrap_2025 .page_inner .hashtag-copy-btn {
	background: var(--accent-yellow);
	color: var(--background-white-alt);
	border: none;
	border-radius: 1rem;
	padding: 1.3rem 2rem;
	font-size: 1.6rem;
	font-weight: 700;
	width: 100%;
	cursor: pointer;
	box-shadow: 0 0.4rem 0 var(--primary-orange-dark);
	transition: all 0.3s;
}

.halloween.page_wrap_2025 .page_inner .hashtag-copy-btn:hover {
	background: var(--accent-yellow-dark);
	transform: translateY(1px);
	box-shadow: 0 0.3rem 0 var(--primary-orange-dark);
}

.halloween.page_wrap_2025 .page_inner .hashtag-copy-btn:active {
	transform: translateY(2px);
	box-shadow: 0 0.2rem 0 var(--primary-orange-dark);
}

/* Method Sections */
.halloween.page_wrap_2025 .page_inner .method-section {
	margin: 4rem 0 0;
}

/* Register Button */
.halloween.page_wrap_2025 .page_inner .register-btn {
	display: flex;
	justify-content: center;
	margin: 2rem 0;
}

.halloween.page_wrap_2025 .page_inner .btn-halloween {
	background: var(--accent-green);
	color: var(--background-white-alt);
	border: none;
	border-radius: 1rem;
	padding: 1.1rem 4rem;
	font-size: 1.6rem;
	font-weight: 700;
	text-decoration: none;
	display: inline-block;
	box-shadow: 0 0.6rem 0 var(--accent-green-dark);
	transition: all 0.3s;
	min-width: 30.3rem;
	text-align: center;
}

.halloween.page_wrap_2025 .page_inner .btn-halloween:hover {
	background: var(--accent-green-darker);
	transform: translateY(1px);
	box-shadow: 0 0.5rem 0 var(--accent-green-dark);
}

.halloween.page_wrap_2025 .page_inner .participate-text {
	font-size: 1.5rem;
	color: var(--text-warning);
	font-weight: 400;
}

/* Textbook Section - Figma Design */
.halloween.page_wrap_2025 .page_inner .textbook-section-container {
	min-width: 33.5rem;
	width: 100%;
}

.halloween.page_wrap_2025 .page_inner .textbook-section-border {
	position: relative;
	border: 0.1rem solid var(--border-medium);
	border-radius: 1.2rem;
	margin-top: 1.1rem;
}

.halloween.page_wrap_2025 .page_inner .textbook-section-header {
	position: absolute;
	top: -1.1rem;
	left: 50%;
	transform: translateX(-50%);
	background: var(--background-white);
	padding: 0 1.6rem;
	z-index: 1;
}

.halloween.page_wrap_2025 .page_inner .textbook-section-header h3 {
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--text-primary);
	margin: 0;
	line-height: 1.4479999542236328em;
}

.halloween.page_wrap_2025 .page_inner .textbook-section-content {
	display: flex;
	flex-direction: column;
	gap: 1.6rem;
	padding: 3rem 3rem 3rem;
}

.halloween.page_wrap_2025 .page_inner .textbook-item {
	background: var(--background-white);
	border-radius: 0.6rem;
	box-shadow: 0 0.2rem 0.8rem rgba(0,0,0,0.08);
	overflow: hidden;
	width: 27.5rem;
	height: 25.6rem;
	margin: 0 auto;
}

.halloween.page_wrap_2025 .page_inner .textbook-image {
	width: 27.5rem;
	height: 16.2rem;
	overflow: hidden;
}

.halloween.page_wrap_2025 .page_inner .textbook-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.halloween.page_wrap_2025 .page_inner .textbook-title {
	font-size: 1.4rem;
	font-weight: 500;
	color: var(--text-primary);
	padding: 1.8rem 1.6rem;
	margin: 0;
	line-height: 1.3620000566755022em;
	font-family: "Noto Sans", sans-serif;
	height: 5.8rem;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.halloween.page_wrap_2025 .page_inner .textbook-levels {
	display: flex;
	gap: 0.2rem;
	padding: .8rem 1.6rem 1.6rem;
	height: 1.6rem;
}

.halloween.page_wrap_2025 .page_inner .level-badge {
	color: var(--background-white);
	font-size: 1.1rem;
	font-weight: 700;
	border-radius: 0.2rem;
	box-shadow: 0 0 0.4rem rgba(0,0,0,0.15);
	text-shadow: 0 0 0.4rem rgba(0,0,0,0.25);
	width: 1.6rem;
	height: 1.6rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: "Noto Sans", sans-serif;
	line-height: 1.3620000319047407em;
}

/* Present Section - Figma Design */
.halloween.page_wrap_2025 .page_inner .present-section-container {
	margin: 3rem 0;
	min-width: 33.5rem;
	width: 100%;
}

.halloween.page_wrap_2025 .page_inner .present-section-border {
	position: relative;
	border: 0.1rem solid var(--border-medium);
	border-radius: 1.2rem;
	margin-top: 1.1rem;
}

.halloween.page_wrap_2025 .page_inner .present-section-header {
	position: absolute;
	top: -1.1rem;
	left: 50%;
	transform: translateX(-50%);
	background: var(--background-white);
	padding: 0 1.6rem;
	z-index: 1;
}

.halloween.page_wrap_2025 .page_inner .present-section-header h3 {
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--text-primary);
	margin: 0;
	line-height: 1.4479999542236328em;
}

.halloween.page_wrap_2025 .page_inner .present-section-content {
	padding: 4rem 1.6rem;
	text-align: center;
}
.halloween_campaign img.main_img {
    width: 100%;
    height: 100%;
}
.halloween.page_wrap_2025 .page_inner .coin-display {
	display: flex;
	justify-content: center;
	margin-top: 4rem;
}

.halloween.page_wrap_2025 .page_inner .present-text {
	font-size: 1.4rem;
	font-weight: 400;
	color: var(--text-primary);
	line-height: 1.2000000817435128em;
	margin: 0;
}

/* Trial Section */
.trial_area {
    max-width: 60rem;
    width: 100%;
    padding: 0 2rem;
}

.halloween.page_wrap_2025 .page_inner .trial-section {
	display: flex;
	justify-content: center;
	padding: 4rem 0;
}

.halloween.page_wrap_2025 .page_inner .trial-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
}

.halloween.page_wrap_2025 .page_inner .trial-header {
	display: flex;
	align-items: center;
	gap: 0.3rem;
}

.halloween.page_wrap_2025 .page_inner .trial-text {
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--accent-yellow);
}

.halloween.page_wrap_2025 .page_inner .trial-button {
	background: var(--accent-yellow);
	color: var(--background-white-alt);
	border: none;
	border-radius: 10rem;
	padding: 1.5rem 2rem;
	font-size: 1.6rem;
	font-weight: 700;
	text-decoration: none;
	display: inline-block;
	box-shadow: 0 0.4rem 0 var(--primary-orange-dark);
	transition: all 0.3s;
	min-width: 33.5rem;
	width: 100%;
	height: 4.8rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.halloween.page_wrap_2025 .page_inner .trial-button:hover {
	background: var(--accent-yellow-dark);
	transform: translateY(1px);
	box-shadow: 0 0.3rem 0 var(--primary-orange-dark);
}

/* Notice Section Overrides */
.halloween.page_wrap_2025 .page_inner .notice {
	background: var(--background-light);
	padding: 1.5rem;
	margin: 2rem 0 0;
}

.halloween.page_wrap_2025 .page_inner .notice h3 {
	font-size: 1.2rem;
	font-weight: 700;
	color: var(--text-secondary);
	margin: 0 0 1rem 0;
}

.halloween.page_wrap_2025 .page_inner .notice h4 {
	font-size: 1.2rem;
	font-weight: 700;
	color: var(--text-secondary);
	margin: 1rem 0 0.4rem 0;
}

.halloween.page_wrap_2025 .page_inner .notice p {
	font-size: 1.2rem;
	line-height: 1.2;
	color: var(--text-secondary);
	margin: 0.8rem 0;
	display: flex;
	gap: 0.4rem;
}

.halloween.page_wrap_2025 .page_inner .notice p span {
	color: var(--text-secondary);
	flex-shrink: 0;
}

.halloween.page_wrap_2025 .page_inner .notice-section {
	margin: 1rem 0;
}

.halloween.page_wrap_2025 .page_inner.p_0{
	padding: 0;
}
/* Event Section Improvements - Exact Figma Color Matching */
.halloween.page_wrap_2025 .page_inner .event-section {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	margin: 0 auto;
}

.halloween.page_wrap_2025 .page_inner .event-section .section-content {
	padding: 2.5rem 2rem 4rem;
	width: 100%;
}

.halloween.page_wrap_2025 .page_inner .event-description {
	font-size: 1.4rem;
	line-height: 1.4285714285714286em;
	color: var(--text-primary);
	font-weight: 400;
	margin-bottom: 3rem;
	min-width: 33.5rem;
	width: 100%;
}

.campaign-period-class {
    margin-bottom: 3rem;
}

.halloween.page_wrap_2025 .page_inner .arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 3rem 0;
	min-width: 33.5rem;
	width: 100%;
	height: auto;
	margin: 0 auto;
	border: none;
	background: url('https://assets2.nativecamps.com/user/webroot/mobile/images/campaign/halloween/arrow-down.svg') no-repeat center;
	background-size: 12rem 3rem;
}

.halloween.page_wrap_2025 {
    padding-bottom: 12rem;
    background: url(https://assets2.nativecamps.com/user/webroot/mobile/images/campaign/halloween/halloween_sp_bg.png) no-repeat center bottom var(--background-white-alt);
    background-size: contain;
}
/* Reusable Halloween Item Component */
.halloween-item {
	position: relative;
	width: 30rem;
	height: 30.1rem;
	background: var(--background-white);
	border-radius: 1rem;
	box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.16);
	overflow: visible;
	transition: transform 0.2s ease;
	cursor: pointer;
}

.halloween-item:hover {
	transform: translateY(-0.2rem);
}

.halloween-item.active {
	border: unset;
	background: #FFE4B9;
}

.halloween-item__box {
	position: relative;
	width: 21.2rem;
	height: 24.3rem;
	border-radius: 1rem;
	border: 0.2rem solid var(--primary-orange);
	margin: 1.5rem auto 0;
	overflow: hidden;
}

.halloween-item__box--white {
	background: var(--background-white);
}

.halloween-item__box--black {
	background: #000000;
}

.halloween-item__star {
	position: absolute;
	top: -.1rem;
	right: -.1rem;
	width: 6.8rem;
	height: 6.8rem;
	background: url('https://assets2.nativecamps.com/user/webroot/mobile/images/campaign/halloween/star.webp') no-repeat center;
	background-size: contain;
	z-index: 2;
}

.halloween-item__image {
	position: absolute;
	top: 4.9rem;
	left: 1.8rem;
	width: 17.6rem;
	height: 17.6rem;
	border: 0.2rem solid var(--primary-orange);
	border-radius: 0;
	overflow: hidden;
}

.halloween-item__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.halloween-item__name {
	position: absolute;
	top: 1.8rem;
	left: 1.8rem;
	width: 17.9rem;
	height: 2.2rem;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.3619999885559082em;
	text-align: left;
	color: var(--text-primary);
	display: flex;
	align-items: center;
}

.halloween-item__box--black .halloween-item__name {
	color: var(--background-white);
}

.halloween-item__radio {
	position: absolute;
	bottom: 1.3rem;
	left: 4.4rem;
	display: flex;
	align-items: center;
	gap: 1rem;
}

.halloween-item__radio input[type="radio"] {
	width: 1.8rem;
	height: 1.8rem;
	border: 0.1rem solid var(--border-darker);
	border-radius: 50%;
	background: var(--background-light);
	cursor: pointer;
	appearance: none;
	position: relative;
}

.halloween-item__radio input[type="radio"]:checked::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 0.8rem;
	height: 0.8rem;
	border-radius: 50%;
	background: #16A9B2;
}

.halloween-item__radio label {
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.3619999885559082em;
	color: var(--text-primary);
	cursor: pointer;
	width: 18.4rem;
}

/* Halloween Campaign 2025 Common Styles */
.halloween_campaign_2025 {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	margin: 0 auto;
}

.halloween-campaign-header {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4rem;
	padding: 3rem 2rem 6rem;
	width: 100%;
}

.halloween-campaign-title-group {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
	width: 100%;
}

.halloween-campaign-title {
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.4479999542236328em;
	text-align: center;
	color: var(--text-primary);
	margin: 0 auto;
	width: 100%;
	position: relative;
}

.halloween-campaign-title::after {
	content: '';
	position: absolute;
	bottom: -1rem;
	left: 0;
	width: 100%;
	height: 0.2rem;
	background: var(--primary-orange);
}

.halloween-campaign-warning {
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.4479999542236328em;
	text-align: center;
	color: var(--text-danger);
	margin: 0;
}

.halloween-campaign-date{
	font-size: 1.6rem;
	font-weight: 700;
	line-height: normal;
	color: var(--text-primary);
}

.halloween-vote-section {
	display: flex;
	flex-direction: column;
	width: 100%;
	margin-bottom: 0;
}

.halloween-vote-section .section-title {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 1rem 0;
	width: 100%;
	background: var(--primary-purple);
	margin: 0;
}

.halloween-vote-section .section-title h2 {
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.4375em;
	text-align: center;
	color: var(--background-white);
	margin: 0;
}

.halloween-vote-section .section-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
	padding: 2.5rem 3.7rem 4rem;
	width: 100%;
}

.halloween-vote-list {
	display: flex;
	flex-direction: column;
	gap: 1.6rem;
	width: 30rem;
}

.halloween-vote-bottom {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4rem;
	width: 100%;
	padding: 0 2rem;
	margin: 0 0 2rem;
}

.halloween-vote-btn-area {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 33.5rem;
}

.halloween-vote-btn-area .btn-style {
	width: 33.5rem;
	height: 4.8rem;
	border-radius: 1rem;
	background: var(--background-disabled);
	color: var(--text-disabled);
	border: none;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: normal;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.3s ease;
}

.halloween-item.active ~ .halloween-vote-btn-area .btn-style,
.halloween-vote-list:has(.halloween-item.active) ~ .halloween-vote-bottom .btn-style {
	background: var(--accent-green);
	color: var(--background-white);
	box-shadow: 0 0.6rem 0 var(--accent-green-dark);
}

.halloween-vote-list:has(.halloween-item.active) ~ .halloween-vote-bottom .btn-style:hover {
	background: var(--accent-green-darker);
	transform: translateY(0.1rem);
	box-shadow: 0 0.5rem 0 var(--accent-green-dark);
}

/* Make the entire vote card clickable */
.halloween-item .halloween-item__box {
	cursor: pointer;
}

/* Halloween Vote Button Component */
.halloween-vote-button-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
}

.halloween-vote-button {
	background: var(--accent-pink);
	color: var(--background-white);
	width: 33.5rem;
	height: 4.8rem;
	border-radius: 1rem;
	padding: 1.3rem 2rem;
	border: none;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.4479999542236328em;
	text-align: center;
	cursor: pointer;
	transition: all 0.3s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 0.5rem 0 #A12356;
}

.halloween-vote-button.disabled {
	background: var(--background-disabled);
	box-shadow: 0 0.5rem 0 var(--background-disabled);
	color: var(--text-disabled);
	cursor: not-allowed;
	pointer-events: none;
}

/* Halloween Item Large Component - Winner Display */
.halloween-item-large {
	position: relative;
	width: 30rem;
	height: 63.8rem;
	background: var(--background-white);
	border-radius: 1rem;
	box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.16);
	overflow: visible;
	margin-bottom: 1.6rem;
}

.halloween-item-large__box {
	position: relative;
	width: 30rem;
	height: 63.8rem;
	border-radius: 1rem;
	border: 0.2rem solid var(--primary-orange);
	overflow: hidden;
}

.halloween-item-large__box--white {
	background: var(--background-white);
}

.halloween-item-large__box--black {
	background: #000000;
}

.halloween-item-large__star {
	position: absolute;
	top: -.1rem;
	right: -.1rem;
	width: 8rem;
	height: 8rem;
	background: url('https://assets2.nativecamps.com/user/webroot/mobile/images/campaign/halloween/star.webp') no-repeat center;
	background-size: contain;
	z-index: 2;
}

.halloween-item-large__top {
	position: relative;
	width: 30rem;
	height: 8rem;
	display: flex;
	align-items: center;
	gap: 0;
}

.halloween-item-large__rank {
	position: absolute;
	top: -2rem;
	left: -2rem;
	width: 4rem;
	height: 4rem;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2.1rem;
	font-weight: 700;
	color: var(--background-white);
	border: 0.2rem solid var(--background-white);
	z-index: 3;
}

.halloween-item-large__name {
	position: absolute;
	top: 1.3rem;
	left: 3.6rem;
	width: 17.9rem;
	height: 2.5rem;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.3619999885559082em;
	text-align: left;
	color: var(--text-primary);
	display: flex;
	align-items: center;
}

.halloween-item-large__box--black .halloween-item-large__name {
	color: var(--background-white);
}

.halloween-item-large__bottom {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 2rem;
	width: 26.8rem;
	margin: 0 auto;
	padding-top: 0;
}

.halloween-item-large__comment {
	width: 26.8rem;
	margin-top: -3.2rem;
}

.halloween-item-large__comment p {
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.3619999885559082em;
	color: var(--text-primary);
	margin: 0;
}

.halloween-item-large__box--black .halloween-item-large__comment p {
	color: var(--background-white);
}

.halloween-item-large__image {
	width: 26.8rem;
	height: 26.8rem;
	border: 0.2rem solid var(--primary-orange);
	border-radius: 0;
	overflow: hidden;
}

.halloween-item-large__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Halloween Item Ranking Numbers */
.halloween-item__rank {
	position: absolute;
	top: -2rem;
	left: -2rem;
	width: 4rem;
	height: 4rem;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2.1rem;
	font-weight: 700;
	color: var(--background-white);
	border: 0.2rem solid var(--background-white);
	z-index: 3;
}


/* Bottom Gallery Section */
.halloween-gallery-section {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	margin: 0 auto;
	padding: 4rem 2rem;
}

.halloween-gallery-title {
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1.3620000566755022em;
	text-align: center;
	color: var(--text-primary);
	margin: 0 0 3rem 0;
	width: 33.5rem;
}

.halloween-gallery-grid {
	height: auto;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.5rem;
	width: 100%;
	margin-bottom: 4rem;
	background: #000;
	padding: 0.8rem;
	border-radius: 0;
}

.halloween-gallery-item {
	width: 100%;
	height: auto;
	overflow: hidden;
}


.halloween-gallery-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Instagram Button Section */
.halloween-instagram-section {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.halloween-instagram-text {
	color: var(--text-primary);
	font-size: 1.6rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.0rem;
}

.halloween-instagram-text:before {
	content: "";
	display: inline-block;
	width: 2.1rem;
	height: 2.8rem;
	vertical-align: middle;
	background: url(/user/webroot/images/campaign/halloween/bar_before.svg) no-repeat;
	background-size: contain;
}

.halloween-instagram-text:after {
	content: "";
	display: inline-block;
	width: 2.1rem;
	height: 2.8rem;
	vertical-align: middle;
	background: url(/user/webroot/images/campaign/halloween/bar_after.svg) no-repeat;
	background-size: contain;
}
.halloween-instagram-button {
	background: var(--accent-pink);
	color: var(--background-white);
	width: 33.5rem;
	height: 5.4rem;
	border-radius: 1rem;
	padding: 1.5rem 2rem;
	border: none;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.4479999542236328em;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: all 0.3s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	box-shadow: 0 0.6rem 0 #A12356;
}

.halloween-instagram-button:hover {
	background: var(--accent-pink-darker);
	transform: translateY(0.1rem);
	box-shadow: 0 0.5rem 0 #A12356;
}

.halloween-instagram-button i {
	font-size: 2.4rem;
}

/* Halloween Report - Voting In Progress */
.halloween-description-text {
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1.36em;
	color: var(--text-primary);
	margin-bottom: 1rem;
}

.halloween-description-text-final {
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1.36em;
	color: var(--text-primary);
	margin-bottom: 2rem;
}

.halloween-login-notice {
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.36em;
	color: #ED1212;
	text-align: center;
	margin: 0;
}

.halloween-instagram-bottom {
	margin: 4rem 2rem;
}

/* New Halloween Report Design - Exact Figma Match */
.halloween-report-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	margin: 0 auto;
}

.halloween-report-section {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
	padding: 2.5rem 3.7rem 4rem;
	width: 100%;
}

.halloween-report-list {
	display: flex;
	flex-direction: column;
	gap: 1.6rem;
	width: 30rem;
}

/* Halloween Report Item - Exact Figma Specifications */
.halloween-report-item {
	position: relative;
	width: 30rem;
	height: 33.2rem;
	border: 0.2rem solid #F9A31C;
	border-radius: 1rem;
	overflow: hidden;
}

.halloween-report-item--white {
	background: #FFFFFF;
}

.halloween-report-item--black {
	background: #000000;
}

.halloween-report-item__name {
	position: absolute;
	top: 1.2rem;
	left: 1.6rem;
	width: 21.1rem;
	height: 2.5rem;
	font-family: "Noto Sans", sans-serif;
	font-weight: 700;
	font-size: 1.8rem;
	line-height: 1.3619999355740018em;
	text-align: left;
	color: #333333;
	display: flex;
	align-items: center;
	z-index: 2;
}

.halloween-report-item--black .halloween-report-item__name {
	color: #FFFFFF;
}

.halloween-report-item__image {
	position: absolute;
	top: 4.8rem;
	left: 1.6rem;
	width: 26.8rem;
	height: 26.8rem;
	border: 0.2rem solid #F9A31C;
	overflow: hidden;
}

.halloween-report-item__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.halloween-report-item__star {
	position: absolute;
	top: -.1rem;
	right: -.1rem;
	width: 8rem;
	height: 8rem;
	background: url('https://assets2.nativecamps.com/user/webroot/mobile/images/campaign/halloween/star.webp') no-repeat center;
	background-size: contain;
	z-index: 3;
}
.page_inner.halloween_report {
    padding: 0;
}

/* Halloween Results Winner Display - Exact Figma Match */
.halloween-results-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4rem;
	padding: 4rem 3.7rem 6rem;
	width: 100%;
}

.halloween-results-list {
	display: flex;
	flex-direction: column;
	gap: 4rem;
	width: 30rem;
}

/* Large Winner Item - 1st Place (638px height) */
.halloween-winner-large {
	position: relative;
	width: 30rem;
	height: auto;
	border: 0.2rem solid #F9A31C;
	border-radius: 1rem;
	overflow: visible;
	padding: 0 0 1.6rem;
}

.halloween-winner-large--white {
	background: #FFFFFF;
}

.halloween-winner-large--black {
	background: #000000;
}

.halloween-winner-large__box {
	position: relative;
	width: 30rem;
	height: 100%;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.halloween-winner-large__top {
	position: relative;
	width: 30rem;
	height: 8rem;
	display: flex;
	align-items: center;
}

.halloween-winner-large__name {
	position: absolute;
	top: 1.3rem;
	left: 3.6rem;
	width: 17.9rem;
	height: 2.5rem;
	font-family: "Noto Sans", sans-serif;
	font-weight: 700;
	font-size: 1.8rem;
	line-height: 1.3619999355740018em;
	text-align: left;
	color: #333333;
	display: flex;
	align-items: center;
	z-index: 2;
}

.halloween-winner-large--black .halloween-winner-large__name {
	color: #FFFFFF;
}

.halloween-winner-large__star {
	position: absolute;
	top: -.1rem;
	right: -.1rem;
	width: 8rem;
	height: 8rem;
	background: url('https://assets2.nativecamps.com/user/webroot/mobile/images/campaign/halloween/star.webp') no-repeat center;
	background-size: contain;
	z-index: 3;
}

.halloween-winner-large__rank {
	position: absolute;
	top: -2rem;
	left: -2rem;
	width: 4rem;
	height: 4rem;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2.1rem;
	font-weight: 700;
	color: #FFFFFF;
	border: 0.2rem solid #F9A31C;
	z-index: 99;
}

.halloween-winner-large__bottom {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 2rem;
	width: 26.8rem;
	margin: -3.2rem auto 0;
	flex: 1;
}

.halloween-winner-large__comment {
	width: 26.8rem;
}

.halloween-winner-large__comment p {
	font-family: "Noto Sans", sans-serif;
	font-weight: 400;
	font-size: 1.6rem;
	line-height: 1.3619999885559082em;
	text-align: left;
	color: #333333;
	margin: 0;
}

.halloween-winner-large--black .halloween-winner-large__comment p {
	color: #FFFFFF;
}

.halloween-winner-large__image {
	width: 26.8rem;
	height: 26.8rem;
	border: 0.2rem solid #F9A31C;
	overflow: hidden;
}

.halloween-winner-large__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Regular Winner Items with Number Rankings */
.halloween-winner-item {
	position: relative;
	width: 30rem;
	height: 33.2rem;
	border: 0.2rem solid #F9A31C;
	border-radius: 1rem;
	overflow: visible;
}

.halloween-winner-item--white {
	background: #FFFFFF;
}

.halloween-winner-item--black {
	background: #000000;
}

.halloween-winner-item__name {
	position: absolute;
	top: 1.2rem;
	left: 3.6rem;
	width: 21.1rem;
	height: 2.5rem;
	font-family: "Noto Sans", sans-serif;
	font-weight: 700;
	font-size: 1.8rem;
	line-height: 1.3619999355740018em;
	text-align: left;
	color: #333333;
	display: flex;
	align-items: center;
	z-index: 2;
}

.halloween-winner-item--black .halloween-winner-item__name {
	color: #FFFFFF;
}

.halloween-winner-item__image {
	position: absolute;
	top: 4.8rem;
	left: 1.6rem;
	width: 26.8rem;
	height: 26.8rem;
	border: 0.2rem solid #F9A31C;
	overflow: hidden;
}

.halloween-winner-item__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.halloween-winner-item__star {
	position: absolute;
	top: -.1rem;
	right: -.1rem;
	width: 8rem;
	height: 8rem;
	background: url('https://assets2.nativecamps.com/user/webroot/mobile/images/campaign/halloween/star.webp') no-repeat center;
	background-size: contain;
	z-index: 3;
}

.halloween-winner-item__rank {
	position: absolute;
	top: -2rem;
	left: -2rem;
	width: 4rem;
	height: 4rem;
	border-radius: 50%;
	border: 0.2rem solid #FFAC2F;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 700;
	font-size: 2.1rem;
	line-height: 1.4479999542236328em;
	text-align: center;
	color: #FFFFFF;
	z-index: 4;
}

/* Ranking Colors */
.halloween-winner-rank--gold {
	background: #FCC82A;
}

.halloween-winner-rank--silver {
	background: #B4C1CD;
}

.halloween-winner-rank--bronze {
	background: #CD8152;
}

img.copy-done {
    width: unset;
}
/* Halloween Vote Completion Page */
main.halloween.page_wrap_2025.halloween_vote_comp {
    min-height: 100%;
}
.halloween.halloween_vote_comp .page_inner {
	padding: 3rem 2rem 0;
}

.halloween.halloween_vote_comp .halloween_campaign_2025 {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 8rem;
	min-height: calc(60vh - 3rem);
}

/* Header Section - Exact Figma Match */
.halloween.halloween_vote_comp .halloween-campaign-header-comp {
	display: flex;
	flex-direction: column;
	gap: 8rem;
	width: 100%;
	max-width: 33.5rem;
	margin: 0 auto;
}

.halloween.halloween_vote_comp .halloween-campaign-title-group-comp {
	position: relative;
	width: 33.5rem;
	height: 3.9rem;
}

.halloween.halloween_vote_comp .halloween-campaign-title-comp {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 700;
	font-size: 2rem;
	line-height: 1.4479999542236328em;
	text-align: center;
	color: #333333;
	margin: 0;
	width: 33.5rem;
	height: 2.9rem;
	position: absolute;
	top: 0;
	left: 0;
}

.halloween.halloween_vote_comp .halloween-campaign-title-comp::after {
	content: '';
	position: absolute;
	bottom: -1rem;
	left: 0;
	width: 33.5rem;
	height: 0.2rem;
	background: #F9A31C;
}

.halloween.halloween_vote_comp .halloween-campaign-message-comp {
	width: 100%;
}

.halloween.halloween_vote_comp .halloween-vote-message-comp {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 1.4479999542236328em;
	text-align: center;
	color: #333333;
	margin: 0;
	width: 100%;
}

/* Navigation Section - Exact Figma Match */
.halloween.halloween_vote_comp .halloween-description-section-comp {
	width: 100%;
	max-width: 33.5rem;
	margin: 0 auto;
}

.halloween.halloween_vote_comp .halloween-description-text-comp {
	margin: 0;
}

.halloween.halloween_vote_comp .halloween-back-link-comp {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	font-size: 1.4rem;
	line-height: 1.4479999542236328em;
	text-align: left;
	color: #0FACEE;
	text-decoration: none;
	display: block;
	width: 100%;
}

.halloween.halloween_vote_comp .halloween-back-link-comp:hover {
	text-decoration: underline;
}
/* NJ-77512 END */
/* NJ-82114 Start */
.page_wrap--new_year_2026 .page_inner.p_0{
	padding: 0;
}

.page_wrap--new_year_2026 .section-title {
    background-size: 35px 35px;
    background-image: linear-gradient(45deg, #d2a957 26%, transparent 25%, transparent 75%, #d2a957 75%, #d2a957), linear-gradient(45deg, #d2a957 26%, transparent 25%, transparent 75%, #d2a957 75%, #d2a957), linear-gradient(45deg, #c99a50 25%, transparent 26%, transparent 75%, #c99a50 75%, #c99a50), linear-gradient(45deg, #c99a50 75%, transparent 26%, transparent 75%, #c99a50 75%, #c99a50);
    background-position: 0 0, 17.5px 17.5px, 17.5px 0, 0 17.5px;
    position: relative;
}

.page_wrap--new_year_2026 .section-title::before, .page_wrap--new_year_2026 .section-title::after {
    content: '';
    position: absolute;
    height: .4rem;
    background-color: #E83936;
    width: 100%;
    left: 50%;
    transform: translateX(-50%);
}

.page_wrap--new_year_2026 .section-title::before {
    top: 0;
}

.page_wrap--new_year_2026 .section-title::after {
    bottom: 0;
}

.page_wrap--new_year_2026 .section-title h2 {
    text-align: center;
    font-size: 1.6rem;
	line-height: normal;
}

.page_wrap--new_year_2026 .page_inner .line-title::before,
.page_wrap--new_year_2026 .page_inner .steps{
	background: #C89950;
}

.page_wrap--new_year_2026 .page_inner .line-title{
	color: #C89950;
}

.page_wrap--new_year_2026 .page_inner .event-description {
    font-size: 1.4rem;
    font-weight: 400;
    color: var(--text-primary);
    line-height: 1.57;
    margin: 0 0 1.6rem 0;
    text-align: start;
}

.page_wrap--new_year_2026 .page_inner .arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3rem 0;
    width: 33.5rem;
    height: auto;
    margin: 0 auto;
    border: none;
    background: url(https://assets2.nativecamps.com/user/webroot/mobile/images/campaign/halloween/arrow-down.svg) no-repeat center;
    background-size: 12rem 3rem;
}
.page_wrap--new_year_2026 .textbook-btn {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
	margin: 1.4rem auto 5rem;
}
/* NJ-82114 New Year 2026 Stamp Calendar */
.page_wrap.page_wrap--new_year_2026 {
    background: #fff;
}

.page_wrap--new_year_2026 .stamp-calendar {
    background: var(--background-white-alt);
    border-radius: 0;
    padding: 1rem 0 0;
    border-top: 0;
    border-bottom: 0;
    position: relative;
    overflow: hidden;
}

.page_wrap--new_year_2026 .stamp-banner {
    width: 100%;
    height: auto;
}

.page_wrap--new_year_2026 .stamp-banner img {
    width: 100%;
    height: auto;
    display: block;
}

.page_wrap--new_year_2026 .stamp-container {
    position: relative;
    background: var(--background-white-alt);
  	border: 0.2rem solid #C89950;
    border-top: none;
    padding: 1.5rem 1rem 2rem;
	margin-bottom: 3.5rem;
}
.page_wrap--new_year_2026.daily_news .stamp-container {
	position: relative;
    background: var(--background-white-alt);
  	border: 0.4rem solid #000000;
    border-top: none;
    padding: 1.5rem 1rem 2rem;
	margin-bottom: 3.5rem;
}
.page_wrap--new_year_2026 .coin-counter {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
}

.page_wrap--new_year_2026 .coin-text {
    display: flex;
    align-items: flex-end;
    gap: 0.5rem;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.4rem;
    font-weight: 700;
    color: #333333;
    line-height: 1.4rem;
    margin: 0;
}

.page_wrap--new_year_2026 .stamp-number {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 2.4rem;
    font-weight: 700;
    color: #FF0000;
    line-height: 1.9rem;
    text-align: right;
}

.page_wrap--new_year_2026 .calendar-grid {
    width: 100%;
    margin: 0 auto;
}

.page_wrap--new_year_2026 .calendar-header {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0;
}

.page_wrap--new_year_2026 .calendar-header-cell {
    height: 2.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.4rem;
    font-weight: 400;
    color: var(--text-secondary);
    background: var(--background-white-alt);
    border: 0.1rem solid #E4E4E4;
    border-bottom: 0.1rem solid #E4E4E4;
    padding: 0.4rem 0;
    line-height: 2rem;
    text-align: center;
}

.page_wrap--new_year_2026 .calendar-header-cell:not(:last-child) {
    border-right: none;
}

.page_wrap--new_year_2026 .calendar-body {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.page_wrap--new_year_2026 .calendar-row {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0;
}

.page_wrap--new_year_2026 .calendar-row:last-child {
    margin-bottom: 0;
}

.page_wrap--new_year_2026 .calendar-cell {
    height: 6rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: var(--background-white-alt);
    border: 0.1rem solid #E4E4E4;
    border-top: none;
    padding: 0.2rem 0 0 0;
    position: relative;
}

.page_wrap--new_year_2026 .calendar-cell:not(:last-child) {
    border-right: none;
}

.page_wrap--new_year_2026 .calendar-cell.empty {
    background: var(--background-white-alt);
    border: 0.1rem solid #E4E4E4;
    border-top: none;
}

.page_wrap--new_year_2026 .calendar-cell.empty:not(:last-child) {
    border-right: none;
}

.page_wrap--new_year_2026 .calendar-date{
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--text-secondary);
    line-height: 2rem;
    text-align: center;
    margin: 0;
    margin-top: 1rem;
}

.page_wrap--new_year_2026 .stamp-placeholder {
    width: 3.6rem;
    height: 3.3rem;
    display: flex;
    align-items: center;
    justify-content: center;
	margin-bottom: 1.1rem;
    border-radius: 0.4rem;
}

.page_wrap--new_year_2026 .stamp-placeholder img {
    width: 3.6rem;
    height: 3.3rem;
    object-fit: contain;
}

/* Event 2 - Daily News Articles Section */
.page_wrap--new_year_2026 .event2-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
}

.page_wrap--new_year_2026 .event2-content .event-description {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.4285714285714286em;
    color: var(--text-primary);
    text-align: left;
    width: 100%;
    margin: 0;
}

.page_wrap--new_year_2026 .articles-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.page_wrap--new_year_2026 .articles-header {
    position: relative;
    width: 100%;
	margin-bottom: 1.6rem;
}

.page_wrap--new_year_2026 .articles-title {
    position: relative;
    background: var(--background-white-alt);
    padding: 0 1rem;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.4479999542236328em;
    text-align: center;
    color: var(--text-primary);
    margin: 0;
    display: inline-block;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
}

.page_wrap--new_year_2026 .articles-header::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 0.2rem;
    background: #DDDDDD;
    z-index: 1;
}

.page_wrap--new_year_2026 .daily-news-articles {
    width: 100%;
	padding: 0 2rem;
}

.page_wrap--new_year_2026 .articles-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    width: 100%;
    margin: 0 auto;
}

.page_wrap--new_year_2026 .article-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.6rem;
    padding: 0 0 1.6rem 0;
    background: var(--background-white-alt);
    border-radius: 0.8rem;
    box-shadow: 0 0.2rem 0.8rem rgba(0, 0, 0, 0.08);
    width: 100%;
    text-decoration: none;
}

.page_wrap--new_year_2026 .article-image {
	border-radius: .8rem .8rem 0 0;
	width: 100%;
    height: 17.5rem;
    overflow: hidden;
}

.page_wrap--new_year_2026 .article-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.page_wrap--new_year_2026 .article-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.6rem;
	padding: 0 2rem;
	width: 100%;
}

.page_wrap--new_year_2026 .article-title {
    font-family: "Noto Sans", sans-serif;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.3619999885559082em;
    text-align: left;
    color: var(--text-primary);
    margin: 0;
    width: 100%;
    height: 4.4rem;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.page_wrap--new_year_2026 .level-indicators {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.page_wrap--new_year_2026 .level-link{
	padding: 1.4rem 0.8rem;
    width: 100%;
}

.page_wrap--new_year_2026 .level-link:hover {
    background: #f5f5f5;
}

.page_wrap--new_year_2026 .level-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.8rem;
}

.page_wrap--new_year_2026 .level-left {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.page_wrap--new_year_2026 .level-label {
    font-family: "Noto Sans", sans-serif;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.3620000566755022em;
    color: var(--text-primary);
}

.page_wrap--new_year_2026 .level-badges {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.page_wrap--new_year_2026 .level-badge {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0.1rem 0.6rem;
    width: 1.8rem;
    height: 1.8rem;
    border-radius: 0.2rem;
    font-family: "Noto Sans", sans-serif;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.3620000319047407em;
    text-align: center;
    color: var(--background-white-alt);
    box-shadow: 0 0 0.4rem rgba(0, 0, 0, 0.15);
    text-shadow: 0 0 0.4rem rgba(0, 0, 0, 0.25);
}

.page_wrap--new_year_2026 .level-arrow {
    width: 1.6rem;
    height: 1.6rem;
    background: url("https://assets2.nativecamps.com/user/webroot/mobile/images/icon/chevron-right-solid.svg") no-repeat center;
    background-size: 0.8rem 1.4rem;
}

.page_wrap--new_year_2026 .level-divider {
    width: 100%;
    height: 0.2rem;
    background: #F6F6F6;
}

/* Present Section */
.page_wrap--new_year_2026 .present-section {
    position: relative;
    width: 100%;
    height: 27.2rem;
	margin-top: 2rem;
}

.page_wrap--new_year_2026 .present-container {
    position: relative;
    width: 100%;
    height: 100%;
}

.page_wrap--new_year_2026 .present-container::before {
    content: '';
    position: absolute;
    top: 1.1rem;
    left: 0;
    width: 100%;
    height: 26.1rem;
    background: var(--background-white-alt);
    border: 0.1rem solid #DDDDDD;
    border-radius: 1.2rem;
}

.page_wrap--new_year_2026 .present-header {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background: var(--background-white-alt);
    padding: 0 1.6rem;
    z-index: 2;
}

.page_wrap--new_year_2026 .present-title {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.4479999542236328em;
    text-align: center;
    color: var(--text-primary);
    margin: 0;
    width: 8.1rem;
}

.page_wrap--new_year_2026 .present-content {
    position: absolute;
    top: 4rem;
    left: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3rem;
    padding: 0 1.6rem;
}

.page_wrap--new_year_2026 .coin-illustration {
    width: 23.1rem;
    height: 9.1rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.page_wrap--new_year_2026 .coin-illustration img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.page_wrap--new_year_2026 .present-text {
    margin-top: 1rem;
}

.page_wrap--new_year_2026 .present-text p {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: normal;
    text-align: left;
    color: var(--text-primary);
    margin: 0;
    width: 100%;
}

.page_wrap--new_year_2026 .event-text-title{
	font-size: 1.5rem;
	font-weight: 700;
	color: #C89950;
	line-height: normal;
}

.page_wrap--new_year_2026 .page_inner .register-btn{
	margin: 1rem auto 5rem;
}

.page_wrap--new_year_2026 .page_inner .campaign_main_title {
	color: #333333;
}

.page_wrap--new_year_2026 .btn-orange.btn-style::after {
	content: "";
	display: inline-block;
	width: 1.2rem;
	height: 1.2rem;
	background: url('https://assets2.nativecamps.com/user/webroot/mobile/images/icon/chevron-right-white.svg') no-repeat center center;
	background-size: contain;
	transition: transform 0.2s ease;
	margin-left: 1rem;
}

.fw_700 {
    font-weight: 700;
}

.page_wrap--new_year_2026 .page_inner .period-table{
	border:	0.2rem solid #C89950;
	margin-top: .5rem;
}

.page_wrap--new_year_2026  .page_inner .period-header{
	background: #C89950;
	height: 4.3rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.page_wrap--new_year_2026 a.t_link {
    text-decoration: underline;
    color: #00ACEE;
}

.page_wrap--new_year_2026 .page_inner .step-text{
	font-size: 1.5rem;
	margin-bottom: 0;
    padding-bottom: 1.5rem;
	color: #333333;
}

.page_wrap--new_year_2026 .page_inner .step-notes{
	font-size: 1.2rem;
}

.page_wrap--new_year_2026 .page_inner .red-notes{
	color: var(--text-warning);
    font-size: 1.4rem;
    text-align: start;
    line-height: normal;
}

.page_wrap--new_year_2026 .page_inner .step-image{
	margin: 1.5rem auto 0;
}

.page_wrap--new_year_2026 .page_inner .step-image{
	margin: 1.5rem auto 0;
}

.page_wrap--new_year_2026 .method-title {
    gap: 2rem;
}

.page_wrap--new_year_2026 .page_inner .steps,
.page_wrap--new_year_2026 .page_inner .ribbon-title span {
    line-height: 1.2;
}

/* NEW YEAR ZH-TW */
.page_wrap--new_year_2026.zh-tw .section-title{
	background-color: #000000;
	background-image: none;
}
.page_wrap--new_year_2026.zh-tw .section-title::before, .page_wrap--new_year_2026.zh-tw .section-title::after,
.page_wrap--new_year_2026.zh-tw  .step-number,
.page_wrap--new_year_2026.zh-tw  .page_inner .period-header {
	background-color: #000000;
}
.page_wrap--new_year_2026.zh-tw .page_inner .line-title{
	color: #000000;
}

.page_wrap--new_year_2026.zh-tw  .page_inner .line-title::before, .page_wrap--new_year_2026.zh-tw  .page_inner .steps {
	background: #000000;
}

.page_wrap--new_year_2026.zh-tw .page_inner .period-table,
.page_wrap--new_year_2026.zh-tw .stamp-container{
	border:	0.2rem solid #000;
}


/* popup */
.page_wrap--new_year_2026 .new_year_text{
	color: #E40000;
	font-size: 1.6rem;
	text-align: center;
	font-weight: 700;
	margin-bottom: 1.1rem;
}
.page_wrap--new_year_2026 .new_year_text span{
	display: inline-block;
    width: 100%;
}

html[lang="zh-tw"]  .page_wrap--new_year_2026 .stamp-container {
  	border: 0.4rem solid #000000;
	border-top: none;
}
.page_wrap.page_wrap--new_year_2026.popup .stamp-container {
    margin-bottom: 3.2rem;
}
/* NJ-82114-END */