/* ---------------------------
Subpage Banner
--------------------------- */

.subpage_banner{

	position:relative;
	height:362px;
	margin-top:104px;
	color:#fff;

}

#subpage_introduction .subpage_banner_bg{

	position:absolute;
	inset:0;

	background:url("/images/sub_banner01.png") center/cover no-repeat;

}

.subpage_banner::after{

	content:"";
	position:absolute;
	inset:0;
	background:rgba(0,0,0,0.1);

}

.subpage_banner_inner{

	position:relative;
	z-index:2;

	height:100%;

	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;

	text-align:center;

}

.subpage_banner h1{

	font-size:56px;
	font-weight:700;
	margin-bottom:40px;

}

.subpage_banner p{

	font-size:22px;

}

/* ---------------------------
Subpage Common
--------------------------- */

.sub_title{

	font-size:36px;
	font-weight:700;
	color:#1e4437;

}

.sub_line{
    width: 70px;
    height: 4px;
    background: #007d3d;
    margin: 26px auto 60px;
}


/* ---------------------------
Table
--------------------------- */

#subpage_introduction .intro_table{

	width:100%;
	max-width:1170px;

	border-top:2px solid #0b7a3e;
	border-collapse:collapse;

	margin:0 auto;

}

#subpage_introduction .intro_table th{

	width:240px;

	text-align:center;

	font-size:18px;
	font-weight:700;

	color:#355349;

	padding:20px;

	border-bottom:1px solid #ddd;

	background:#fafafa;

}

#subpage_introduction .intro_table td{
	font-size: 18px;
    color: #355349;
	padding:20px 30px;
	border-bottom:1px solid #ddd;
	line-height:1.8;
	text-align:left;
}



/* ---------------------------
Responsive
--------------------------- */

@media (max-width:768px){

.subpage_banner{

	height:220px;

}

.subpage_banner h1{

	font-size:32px;

}

 .subpage_banner p{

	font-size:16px;

}

 .sub_title{

	font-size:24px;

}

#subpage_introduction .intro_table th{

	width:110px;
	font-size:14px;
	padding:14px;

}

 #subpage_introduction .intro_table td{

	font-size:13px;
	padding:14px;

}

}




/* ---------------------------
Subpage Course
--------------------------- */

#subpage_course .subpage_banner_bg{
	position:absolute;
	inset:0;
	background:url("/images/sub_banner01.png") center/cover no-repeat;
}


/* map */

#subpage_course .course_map{
	background:#f1f1f1;
	display:flex;
	align-items:center;
	justify-content:center;
	margin-bottom:60px;
}

#subpage_course .course_map_inner{
	color:#999;
	font-size:22px;
}


/* table */

#subpage_course .course_table_wrap{
	margin-bottom:60px;
	text-align:left;
}

#subpage_course .course_label{
	font-size:16px;
	font-weight:700;
	color:#333;
	margin-bottom:10px;
}

#subpage_course .course_scroll{
	overflow-x:auto;
}

#subpage_course .course_table{
	width:100%;
	min-width:700px;
	border-collapse:collapse;
}

#subpage_course .course_table th,
#subpage_course .course_table td{
	border:1px solid #ddd;
	padding:12px;
	text-align:center;
	font-size:14px;
}

#subpage_course .course_table th{
	background:#f5f5f5;
	font-weight:700;
}

#subpage_course .course_table .head th{
	background:#007d3d;
	color:#fff;
}


/* ---------------------------
Responsive
--------------------------- */

@media (max-width:768px){

.subpage_banner{
	height:220px;
}

.subpage_banner h1{
	font-size:32px;
}

.subpage_banner p{
	font-size:16px;
}

.course_map_inner{
	font-size:16px;
}

}



/* ---------------------------
Contestant
--------------------------- */

#subpage_contestant .subpage_banner_bg{

	position:absolute;
	inset:0;
	background:url("/images/sub_banner01.png") center/cover no-repeat;

}


/* section */

#subpage_contestant .contestant_section{

	margin-top:80px;

}

#subpage_contestant .contestant_sub{

	font-size:24px;
	color:#1e4437;
	font-weight:700;
	margin-bottom:30px;
	text-align:left;

}

#subpage_contestant .contestant_asof{
	font-size: 16px;
    margin-bottom: 30px;
    text-align: left;
    margin-top: -21px;
    color: #333;
}

#subpage_contestant .contestant_date{

	font-size:14px;
	color:#666;
	margin-top:-20px;
	margin-bottom:30px;
	text-align:left;

}


#subpage_contestant .contestant_grid{

	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:40px;

}

#subpage_contestant .player_card{

	border:1px solid #ddd;
	background:#fff;

}

#subpage_contestant .player_img{
	position:relative;
	width:100%;
	padding-top:100%;
}

#subpage_contestant .player_img img{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	object-fit:cover;
}

#subpage_contestant .player_info{

	padding:20px;
	text-align:left;

}

#subpage_contestant .player_info h4{

	font-size:18px;
	margin-bottom:10px;
	font-weight:700;

}

#subpage_contestant .player_info p{

	font-size:14px;
	color:#666;
	margin-bottom:4px;

}



/* table */

#subpage_contestant .contestant_table{

	border-top:2px solid #0b7a3e;

}

#subpage_contestant .contestant_row{

	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(120px,1fr));

	border-bottom:1px solid #ddd;

}

#subpage_contestant .contestant_row span{
    padding: 18px;
    text-align: center;
    font-size: 16px;
    color: #666;
}



/* ---------------------------
Responsive
--------------------------- */

@media (max-width:768px){

#subpage_contestant .contestant_grid{

	grid-template-columns:1fr 1fr;
	gap:20px;

}

#subpage_contestant .player_img{

	height:140px;

}

#subpage_contestant .contestant_row{

	grid-template-columns:repeat(2,1fr);

}

}


/* ---------------------------
Winner
--------------------------- */

#subpage_winner .subpage_banner_bg{

	position:absolute;
	inset:0;
	background:url("/images/sub_banner01.png") center/cover no-repeat;

}

/* #subpage_winner .winner_grid{

	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:40px;

} */



#subpage_winner .winner_grid{
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(360px, 300px));
	justify-content:center;
	gap:40px;
} 

#subpage_winner .winner_card{

	border:1px solid #e3e3e3;
	background:#fff;
	transition:all .25s;

}

#subpage_winner .winner_img{

	position:relative;
	background:#ddd;
	height:240px;
	overflow:hidden;

}

#subpage_winner .winner_img img{

	width:100%;
	height:100%;
	object-fit:cover;

}

#subpage_winner .winner_badge{

	position:absolute;
	top:0;
	left:0;
	width:80px;

}

#subpage_winner .winner_info{

	padding:22px;
	text-align:left;

}

#subpage_winner .winner_title_row{

	display:flex;
	align-items:flex-end;
	gap:8px;
	margin-bottom:12px;
	flex-wrap:wrap;

}

#subpage_winner .winner_subtitle{
	font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
	color:#333;

}

#subpage_winner .winner_info h3{

	font-size:24px;
	margin:0;

	line-height:1.3;

}

#subpage_winner .winner_info strong{

	color:#1e4437;

}

#subpage_winner .winner_info p{

	font-size:16px;
	color:#666;
	line-height:2;

}

#subpage_winner .winner_card:hover{

	transform:translateY(-6px);
	box-shadow:0 10px 30px rgba(0,0,0,0.08);

}


@media (max-width:768px){

	#subpage_winner .winner_grid{
		grid-template-columns:1fr;
		gap:30px;
	}

	#subpage_winner .winner_img{
		height:200px;
	}

	#subpage_winner .winner_info{
		padding:18px;
	}

	#subpage_winner .winner_title_row{
		gap:6px;
		margin-bottom:10px;
	}

	#subpage_winner .winner_subtitle{
		font-size:11px;
	}

	#subpage_winner .winner_info h3{
		font-size:16px;
	}

	#subpage_winner .winner_info p{
		font-size:13px;
	}

}

/* ---------------------------
Sponsor
--------------------------- */

#subpage_sponsor .subpage_banner_bg{

	position:absolute;
	inset:0;
	background:url("/images/sub_banner01.png") center/cover no-repeat;

}

#subpage_sponsor .sponsor_grid{

	display:grid;
	grid-template-columns:repeat(5,1fr);
	gap:40px;

}

#subpage_sponsor .sponsor_card{
	background: #fff;
    border: 1px solid #ddd;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0px 0px 30px;
    aspect-ratio: 1 / 1;
	position:relative;
}

#subpage_sponsor .sponsor_logo{

	width:100%;
	flex:1;

	display:flex;
	align-items:center;
	justify-content:center;

}

#subpage_sponsor .sponsor_logo img{

	max-width:80%;
	max-height:80%;
	object-fit:contain;

}

#subpage_sponsor .sponsor_card p{
	position: absolute;
    top: 84%;
    left: 50%;
    font-size: 16px;
    font-weight: 600;
    color: #444;
    transform: translateX(-50%);
    width: 100%;
}

@media (max-width:1024px){

#subpage_sponsor .sponsor_grid{

	grid-template-columns:repeat(3,1fr);

}

}

@media (max-width:768px){

#subpage_sponsor .sponsor_grid{

	grid-template-columns:repeat(2,1fr);
	gap:20px;

}

#subpage_sponsor .sponsor_card p{

	font-size:12px;

}

}


/* ---------------------------
Visit Guide
--------------------------- */

#subpage_visitguide .subpage_banner_bg{

	position:absolute;
	inset:0;
	background:url("/images/sub_banner02.png") center/cover no-repeat;

}


#subpage_visitguide .guide_image{
	max-width:800px;
	margin:0 auto;
}

#subpage_visitguide .guide_image img{
	width:100%;
	height:auto;
}


/* ---------------------------
Subpage Ticket
--------------------------- */

#subpage_ticket .subpage_banner_bg{

	position:absolute;
	inset:0;
	background:url("/images/sub_banner03.png") center/cover no-repeat;

}

/* 기간 */

#subpage_ticket .ticket_period{
    text-align: left;
    font-size: 24px;
    font-weight: 700;
    color: #333;
    margin-bottom: 30px;
}


/* ---------------------------
table
--------------------------- */

#subpage_ticket .ticket_table_wrap{
	margin-bottom:30px;
}

#subpage_ticket .ticket_table{
	width:100%;
	border-collapse:collapse;
	border-top:2px solid #0b7a3e;
}

#subpage_ticket .ticket_table th,
#subpage_ticket .ticket_table td{
	border-bottom:1px solid #ddd;
	border-right:1px solid #ddd;
	padding:16px;
	text-align:center;
	font-size:20px;
	color:#355349;
}

#subpage_ticket .ticket_table th:last-child,
#subpage_ticket .ticket_table td:last-child{
	border-right:none;
}

#subpage_ticket .ticket_table th{
	background:#f7f7f7;
	font-weight:700;
	color:#355349;
}

#subpage_ticket .ticket_table .head th {
    background: #007d3d;
    color: #fff;
    border-right: none;
    font-size: 20px;
}

#subpage_ticket .ticket_table span{
	font-size:16px;
	color:#355349;
}


/* ---------------------------
notice
--------------------------- */

#subpage_ticket .ticket_notice{
	/* list-style: disc; */
    text-align: left;
    max-width: 900px;
    margin: 30px 0px 60px 26px;
}

#subpage_ticket .ticket_notice li{
	font-size:16px;
	color:#666;
	margin-bottom:8px;
	line-height:1.6;
}

#subpage_ticket .ticket_notice li.red {
    list-style: none;
    color: #d40000;
    font-size: 14px;
    line-height: 0.92;
	padding-left:15px;
}

#subpage_ticket .ticket_notice li.red2 {
    list-style: none;
    color: #d40000;
    font-size: 14px;
    line-height: 0.92;
	padding-left: 35px;
}

#subpage_ticket .ticket_notice .spacer {
	margin-bottom:15px;
}

/* ---------------------------
button
--------------------------- */

#subpage_ticket .ticket_btn_wrap{
	text-align:center;
}

#subpage_ticket .ticket_btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #0b7a3e;
    color: #fff;
    width: 362px;
    height: 60px;
    border-radius: 30px;
    font-size: 24px;
    font-weight: 500;
    transition: all .2s;
}

#subpage_ticket .ticket_btn:hover{
	transform:translateY(-2px);
}


/* ---------------------------
Responsive
--------------------------- */

@media (max-width:768px){

/* 기간 */
#subpage_ticket .ticket_period{
	font-size:15px;
	margin-bottom:20px;
}

/* 테이블 스크롤 처리 */
#subpage_ticket .ticket_table_wrap{
	overflow-x:auto;
}

/* 테이블 최소 너비 유지 */
#subpage_ticket .ticket_table{
	min-width:600px;
}

/* 테이블 폰트 */
#subpage_ticket .ticket_table th,
#subpage_ticket .ticket_table td{
	font-size:13px;
	padding:10px 8px;
	white-space:nowrap;
}

/* 날짜 span */
#subpage_ticket .ticket_table span{
	font-size:11px;
}

/* notice */
#subpage_ticket .ticket_notice{
	margin:20px 0 40px 10px;
	padding-left:16px;
}

#subpage_ticket .ticket_notice li{
	font-size:14px;
	line-height:1.5;
	margin-bottom:6px;
}

/* 빨간 안내 */
#subpage_ticket .ticket_notice li.red{
	font-size:12px;
	line-height:1.3;
}

#subpage_ticket .ticket_notice li.red2{
	font-size:12px;
	line-height:1.3;
	margin-left:-10px;
}

/* 버튼 */
#subpage_ticket .ticket_btn{
	width:100%;
	max-width:280px;
	height:48px;
	font-size:14px;
	margin-bottom:50px;
}

}


/* ---------------------------
SNS EVENT
--------------------------- */

#sns_event .sns_grid{
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:80px;
	max-width:800px;
	margin:0 auto;
}

#sns_event .subpage_banner_bg{

	position:absolute;
	inset:0;
	background:url("/images/sub_banner04.png") center/cover no-repeat;

}

#sns_event .sns_card{
	display:block;
	text-align:left;
}

#sns_event .sns_img{
	position:relative;
	width:100%;
	padding-top:133%; /* 4:3 비율 */
	background:#eee;
	overflow:hidden;
}

#sns_event .sns_img img{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	object-fit:cover;
}

#sns_event .sns_card:hover img{
	transform:scale(1.05);
}

#sns_event .sns_info{
	margin-top:18px;
}

#sns_event .sns_date{
	font-size:13px;
	color:#999;
	display:block;
	margin-bottom:8px;
}

#sns_event .sns_title{
	font-size:16px;
	color:#333;
	font-weight:600;
	line-height:1.5;
}

/* popup */
#sns_popup{
	position:fixed;
	inset:0;
	background:rgba(0,0,0,0.7);
	display:none;
	align-items:center;
	justify-content:center;
	z-index:9999;
}

#sns_popup.active{
	display:flex;
}

#sns_popup .popup_inner{
	width:90%;
	max-width:800px;
	max-height:90%;
	overflow:auto;
}

#sns_popup img{
	width:100%;
	height:auto;
	display:block;
}

#sns_popup .popup_close{
	position:fixed;
	top:20px;
	right:20px;
	background:#000;
	color:#fff;
	font-size:20px;
	width:40px;
	height:40px;
	border-radius:50%;
	cursor:pointer;
}

/* ---------------------------
Responsive
--------------------------- */

@media (max-width:768px){

#sns_event .sns_grid{
	grid-template-columns:1fr;
	gap:30px;
}

#sns_event .sns_title{
	font-size:14px;
}

#sns_event .sns_date{
	font-size:12px;
}

}


/* ---------------------------
PICK WINNER
--------------------------- */

#pick_winner .container{
	max-width:1170px;
	margin:0 auto;
}

#pick_winner .subpage_banner_bg{
	position:absolute;
	inset:0;
	background:url("/images/sub_banner04.png") center/cover no-repeat;
}

#pick_winner .pick_winner_top img{
	width:100%;
	display:block;
	margin-bottom:40px;
}

#pick_winner .section_title{
	font-size:48px;
	font-weight:700;
	text-align:center;
	color:#fff;
	margin-bottom:50px;
}

/* ---------------------------
선수 리스트
--------------------------- */

#pick_winner .player_section{
	max-width:840px;
	width:100%;
	margin:0 auto 60px;
}

#pick_winner .radio_group{
	display:grid;
	grid-template-columns:repeat(4, 1fr);
	gap:16px 90px;
}

#pick_winner .radio_group label{
	display:flex;
	align-items:center;
	gap:8px;
	font-size:18px;
	cursor:pointer;
	white-space:nowrap;
}

/* ---------------------------
개인정보 영역
--------------------------- */

#pick_winner .info_section{
	padding:60px 180px;
	background:#1e7d47;
	color:#fff;
}

/* ---------------------------
폼 구조
--------------------------- */

#pick_winner .form_row{
	display:grid;
	grid-template-columns:220px 1fr;
	margin-bottom:10px;
	background:#fff;
	border:2px solid #1e7d47;
}

#pick_winner .label{
	background:#e9e9e9;
	color:#333;
	font-weight:600;
	display:flex;
	align-items:center;
	padding:0 20px;
	border-right:2px solid #1e7d47;
	font-size:16px;
	height:72px;
}

#pick_winner .field{
	display:flex;
	align-items:center;
	height:72px;
}

#pick_winner input,
#pick_winner select{
	height:100%;
	border:none;
	outline:none;
	font-size:16px;
	padding:0 15px;
	border-radius:0;
}

/* ---------------------------
전화번호
--------------------------- */

#pick_winner .phone_group{
	display:grid;
	grid-template-columns:120px 1fr 1fr;
	width:100%;
	height:100%;
}

#pick_winner .phone_group select,
#pick_winner .phone_group input{
	width:100%;
	border-right:2px solid #1e7d47;
	text-align:center;
}

#pick_winner .phone_group input:last-child{
	border-right:none;
}

/* ---------------------------
약관
--------------------------- */

#pick_winner .agree_box{
	margin-top:25px;
}

#pick_winner .agree_box textarea{
	font-family:'Noto Sans KR',sans-serif;
	width:100%;
	max-width:100%;
	height:330px;
	padding:20px;
	font-size:14px;
	line-height:1.7;
	border:none;
	resize:none;
	margin-bottom:10px;
	background:#f2f2f2;
	color:#333;
	white-space:pre-line;
	box-sizing:border-box;
}

#pick_winner .agree_check{
	display:flex;
	align-items:center;
	gap:8px;
	font-size:16px;
}

#pick_winner input[type="radio"],
#pick_winner input[type="checkbox"]{
	width:18px;
	height:18px;
	flex-shrink:0;
}

#pick_winner input[type="checkbox"]{
	-webkit-appearance:checkbox;
}

/* ---------------------------
버튼
--------------------------- */

#pick_winner .submit_wrap{
	text-align:center;
	margin-top:30px;
}

#pick_winner .submit_wrap button{
	background:transparent;
	color:#fff;
	padding:14px 40px;
	border:2px solid #fff;
	border-radius:30px;
	font-size:16px;
	cursor:pointer;
}

/* ---------------------------
기타
--------------------------- */

#page_on,
#page_off{
	display:none;
}

/* ---------------------------
Responsive
--------------------------- */

@media (max-width:1024px){

	#pick_winner .radio_group{
		grid-template-columns:repeat(4, 1fr);
		gap:16px 40px;
	}

	#pick_winner .info_section{
		padding:60px 80px;
	}

}

@media (max-width:768px){

	#pick_winner .info_section{
		padding:40px 20px;
	}

	#pick_winner .section_title{
		font-size:24px;
		margin-bottom:30px;
	}

	#pick_winner .player_section{
		padding:0 20px;
		margin-bottom:40px;
	}

	#pick_winner .radio_group{
		grid-template-columns:repeat(3, 1fr);
		gap:15px 10px;
	}

	#pick_winner .radio_group label{
		font-size:14px;
	}

	#pick_winner .form_row{
		grid-template-columns:1fr;
		border-width:1px;
	}

	#pick_winner .label{
		height:45px;
		font-size:14px;
		padding:0 12px;
		border-right:none;
		border-bottom:1px solid #1e7d47;
	}

	#pick_winner .field{
		height:50px;
	}

	#pick_winner input,
	#pick_winner select{
		font-size:14px;
		padding:0 10px;
	}

	#pick_winner .phone_group{
		grid-template-columns:80px 1fr 1fr;
	}

	#pick_winner .phone_group select,
	#pick_winner .phone_group input{
		border-right:1px solid #1e7d47;
	}

	#pick_winner .phone_group input:last-child{
		border-right:none;
	}

	#pick_winner .agree_box textarea{
		width:100%;
		height:220px;
		font-size:13px;
		padding:15px;
		line-height:1.6;
	}

	#pick_winner .agree_check{
		font-size:14px;
	}

	#pick_winner .submit_wrap button{
		width:100%;
		max-width:280px;
		height:48px;
		font-size:14px;
	}

}

@media (max-width:480px){

	.container{
		padding:50px 10px 128px;
	}

	.subpage_banner{
		margin-top:64px;
		height:270px;
	}

	.subpage_banner h1{
		margin-bottom:28px;
	}

	.sub_title{
		font-size:26px;
	}

	.sub_line{
		width:50px;
		height:2px;
		margin:20px auto 45px;
	}

	#subpage_introduction .intro_table th{
		width:85px;
	}

	#subpage_course .course_map{
		margin-bottom:25px;
	}

	#subpage_course .course_table th,
	#subpage_course .course_table td{
		font-size:12px;
	}

	#subpage_course .course_table_wrap{
		margin-bottom:20px;
		text-align:left;
	}

	#subpage_contestant .contestant_section{
		margin-top:0;
	}

	#subpage_contestant .contestant_sub{
		font-size:20px;
	}

	#subpage_contestant .contestant_grid{
		grid-template-columns:1fr;
		gap:20px;
	}

	#subpage_contestant .player_info p{
		margin-bottom:15px;
	}

	#subpage_contestant .player_info h4{
		font-size:20px;
		margin-bottom:20px;
	}

	#subpage_contestant .contestant_row{
		grid-template-columns:repeat(3, 1fr);
	}

	#subpage_winner .winner_badge{
		width:70px;
	}

	#subpage_winner .winner_subtitle{
		font-size:18px;
	}

	#subpage_winner .winner_info h3{
		font-size:24px;
	}

	#subpage_winner .winner_info p{
		font-size:16px;
	}

	#subpage_sponsor .sponsor_grid{
		grid-template-columns:repeat(3, 1fr);
		gap:10px;
	}

	#subpage_ticket .ticket_table_wrap{
		width:100%;
	}

	#subpage_ticket .ticket_table{
		min-width:0;
	}

	#subpage_ticket .ticket_table .head th{
		width:60px;
		font-size:14px;
	}

	#subpage_ticket .ticket_period{
		font-size:20px;
		margin-bottom:20px;
		line-height:1.2;
	}

	#subpage_ticket .ticket_notice{
		margin:20px 0 40px 10px;
		padding-left:0;
	}

	#subpage_ticket .ticket_notice li{
		font-size:12px;
		line-height:1.2;
		margin-bottom:6px;
	}

	#subpage_ticket .ticket_notice li.red{
		font-size:10px;
		line-height:1.2;
	}

	#subpage_ticket .ticket_notice li.red2{
		font-size:10px;
		line-height:1;
		margin-left:-10px;
	}

	#subpage_ticket .ticket_btn{
		width:100%;
		max-width:310px;
		margin-bottom:0;
		font-size:18px;
	}

	#pick_winner .radio_group{
		grid-template-columns:repeat(3, 1fr);
		gap:10px 5px;
	}

	#pick_winner .radio_group label{
		font-size:13px;
		gap:4px;
	}

	#pick_winner .radio_group label input{
		width:15px;
		height:15px;
	}

	#pick_winner .submit_wrap button{
		width:100%;
		max-width:200px;
		height:55px;
		font-size:24px;
		line-height:1;
		border-radius:20px;
	}

	#sns_event .sns_title{
		font-size:20px;
	}

}