/******************* 공통 *******************/
.sub-section-in {
	width: 1400px;
	margin: auto;
	padding: 120px 0;
}
/******************* 공통 *******************/


/******************* sports-01 *******************/
#sports-01 .sub-top {
	background: url("../img/sub/subtop_03.png") no-repeat center / cover;
}
#sports-02.top .sub-section-in > h1 {
	display: block;
	margin-bottom: 50px;
	font-size: 34px;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    letter-spacing: -0.5px;
    word-break: keep-all;
}
#sports-02.top .img-wrap {
	float: left;
	width: 48%;
	padding-top: 29%;
	background: url("../img/sub/sports-01.png") no-repeat center / cover;
	border-radius: 30px;
}
#sports-02.top.physical .sub-section-in > .img-wrap {
	background: url("../img/sub/poster-240806.jpg") no-repeat center / cover;
	border: 1px solid #ddd;
}
#sports-02.top.netsports .sub-section-in > .img-wrap {
	background: url("../img/sub/net-240723.jpg") no-repeat center / cover;
}
#sports-02.top.trekking .sub-section-in > .img-wrap {
	background: url("../img/sub/trekking-240723.jpg") no-repeat center / cover;
}

#sports-02.top .txt-wrap {
	float: right;
	width: 48%;
}
#sports-02.top .sub-section-in:after {
	content: "";
	display: block;
	clear: both;
}
#sports-02.top .explain:nth-child(2), #sports-02.top .explain:nth-child(3) {
	margin: 40px 0;
}
#sports-02.top .explain > strong {
	display: block;
	margin-bottom: 10px;
	font-size: 18px;
	color: #05a1f2;
}
#sports-02.top .explain > .emphasis {
	font-weight: bold;
	color: #05a1f2;
	text-decoration: underline;
}
#sports-02.top .explain .map-list li {
	display: flex;
	margin-bottom: 10px;
}
#sports-02.top .explain .map-list li .left {
	width: 110px;
}
#sports-02.top .explain .map-list, #sports-02.top .explain > span, #sports-02.top .explain > div {
	font-size: 22px;
	word-break: keep-all;
}
#sports-02.top .explain .map-list li .right span, #sports-02.top .explain .map-list li .right small, #sports-02.top.fishing .explain .map-list li small, #sports-02.top .explain > div small {
	display: block;
}
#sports-02.top .explain > div small {
	line-height: 1.6;
}
/******************* sports-01 *******************/


/******************* sports-02 *******************/
#sports-02.fishing .img-wrap {
	float: left;
	width: 48%;
	padding-top: 29%;
	background: url("../img/sub/sports-02-230621.png") no-repeat center / cover;
	border-radius: 30px;
}
/******************* sports-02 *******************/

#sports-02.physical > .sub-section-in {
	padding-bottom: 0;
}
#festival-02.physical > .sub-section-in {
	padding-top: 0;
}
#sports-02.physical .explain {
	margin: 40px 0;
}
#sports-02.physical .explain:first-child {
	margin-top: 0;
}
#sports-02.physical .explain:last-child {
	margin-bottom: 0;
}
#sports-02.physical .game-list {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
}
#sports-02.physical .game-list li {
	display: flex;
	flex-direction: column;
	width: calc(50% - 10px);
}
#sports-02.physical .game-list li .img-wrap {
	width: 100%;
	margin-bottom: 0;
	padding-top: 75%;
	border-radius: 0px;
}
#sports-02.physical .game-list li:nth-child(1) .img-wrap {
	background: url("../img/sub/240723-01.jpg") no-repeat center / cover;
}
#sports-02.physical .game-list li:nth-child(2) .img-wrap {
	background: url("../img/sub/240723-02.jpg") no-repeat center / cover;
}
#sports-02.physical .game-list li:nth-child(3) .img-wrap {
	background: url("../img/sub/240723-03.jpg") no-repeat center / cover;
}
#sports-02.physical .game-list li:nth-child(4) .img-wrap {
	background: url("../img/sub/240723-04.jpg") no-repeat center / cover;
}
#sports-02.physical .game-list li small {
	display: block;
	margin-top: 10px;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
}
#sports-02.physical .game-list li span {
	font-size: 22px;
	text-align: center;
}
#sports-02.physical .explain table {
	float: left;
	width: 50%;
	margin: 5px 0 20px;
}
#sports-02.physical .explain table:last-child {
	margin-bottom: 0px;
}
#sports-02.physical .explain table th {
	padding: 12px 0;
	font-size: 18px;
	text-align: center;
	background: #f8f8f8;
	border-top: 1px solid #000;
}
#sports-02.physical .explain table td {
	padding: 15px 0;
	font-size: 18px;
	line-height: 1.5;
	text-align: center;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}
#sports-02.physical .explain:after {
	content: "";
	display: block;
	clear: both;
}


#festival-02.top .festival-wrap > p {
	margin: 80px auto 30px;
	padding-top: 80px;
	font-size: 28px;
	font-weight: 800;
	color: #05a1f2;
	border-top: 1px solid #ddd;
	word-break: keep-all;
}

.form-wrap {
	margin: 30px auto 0;
}
.form-wrap li {
	overflow: hidden;
	display: inline-block;
	width: 100%;
	padding: 8px 0;
	font-size: 0;
	margin-bottom: 15px;
	transition: 0.3s ease-in-out;
	display: flex;
	align-items: center;
}
.form-wrap li > * {
	display: inline-block;
}
.form-wrap li > label {
	min-width: 130px;
	float: left;
	font-size: 20px;
	font-weight: 800;
	text-align: left;
}
.form-wrap li > input {
	width: calc(100% - 130px);
	border: 0;
	background: transparent;
	font-size: 20px;
	font-weight: 500;
	color: rgba(0, 0, 0, 1);
	border-radius: 4px;
	border: 1px solid rgba(0, 0, 0, 0.2);
	text-indent: 10px;
}
.form-wrap li > input::placeholder {
	font-family: 'Poppins', 'Pretandard', sans-serif;
	font-size: 16px;
	font-weight: 500;
	color: rgba(0, 0, 0, 0.5);
	text-indent: 10px;
}
.form-wrap li:last-child {
	border-bottom: 0;
}
.form-wrap li:last-child .form-wrap li > label {
	float: none;
}
.form-wrap li.active {	
	border-bottom: 1px solid rgba(0, 0, 0, 0.7);
}
.form-wrap .answer {
	width: 100%;
	padding-bottom: 22px;
	margin-top: 15px;
}
.form-wrap textarea {
	width: calc(100% - 130px);
	height: 260px;
	padding: 20px;
	background: transparent;
	font-size: 20px;
	font-weight: 500;
	color: rgba(0, 0, 0, 0.95);
	border: none;
	outline: none;
	resize: none;
	box-shadow: none;
	box-sizing: border-box;
	text-indent: 0;
	border-radius: 4px;
	border: 1px solid rgba(0, 0, 0, 0.2);
}
.form-wrap textarea::placeholder {
	font-family: 'Poppins', 'Pretandard', sans-serif;
	font-size: 16px;
	font-weight: 500;
	color: rgba(0, 0, 0, 0.5);	
}

#festival-02.top input[type="checkbox"] + label {
	position:relative;
	margin: 0 28px 0 8px;
	font-size: 15px;
	font-weight: 600;
	text-align: left;
}
#festival-02.top input[type="checkbox"] + label span {
	float: left;
	width: 20px;
	height: 20px;
	margin-top: 2px;
	background: #fff;
	border: 1px solid #d1d1d1;
	border-radius: 4px;
}
#festival-02.top input[type="checkbox"]:checked + label {
	color: #000
}
#festival-02.top input[type="checkbox"]:checked + label span {
	background:url('../img/sub/check_white.png') no-repeat 50% 50% #05a1f2;
	background-size: 18px;
	border-color: #05a1f2;
	border-radius: 4px;
}
#festival-02 select {
	width: calc(100% - 130px);
    padding: 12px 18px;
    font-family: inherit;
    font-size: 17px;
    background: url("../img/sub/down.png") no-repeat right 15px center / 16px;
    border: 1px solid #ccc;
    border-radius: 4px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

#festival-02 .form-wrap {
	margin-top: 0;
}
#festival-02 .form-wrap li {
	padding: 0;
}
#festival-02 .form-wrap li.half {
	width: 50%;
	float: left;
}
#festival-02 .form-wrap li .frm_input {
	height: 50px;
}
#festival-02 .form-wrap li > label {
	min-width: 150px;
	font-size: 16px;
}
#festival-02 .form-wrap .f-flex {
	display: flex;
	align-items: center;
	gap: 10px;
}
#festival-02 .form-wrap .f-flex span {
	display: block;
	font-size: 16px;
}
#festival-02 .cf-info {
	display: block;
	margin: 30px 0 15px;
	font-size: 20px;
	font-weight: 800;
	text-align: left;
	color: #05a1f2;
}
#festival-02 .form-wrap:after {
	content: "";
	display: block;
	clear: both;
}

#festival-02.top .btn_submit {
	display: block;
	margin: 30px auto 0;
}
#fregister_private {
	margin-top: 30px;
	text-align: left;
}
#fregister_private .fregister_agree {
	margin-top: 15px;
}
#fregister_private .selec_chk {
	display: none;
}
#fregister_private p {
    margin-top: 24px;
	font-size: 14px;
}
#fregister_private div {
    height: 180px;
    padding: 20px;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: -.3px;
    background: #f9f9f9;
    border-radius: 20px;
    overflow-y: scroll;
}
#fregister_private p:first-child {
    margin-top: 0;
}
.form-wrap li .radio-box {
	display: flex;
	margin-top: 2px;
}
.festival-wrap input[type="radio"] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    border: 0;
    clip: rect(0, 0, 0, 0);
    overflow: hidden;
}
.festival-wrap input[type="radio"] + label {
    display: inline-block;
    margin-right: 40px;
    position: relative;
    padding-left: 30px;
	font-size: 16px;
	color: #0c0c0c;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}
.festival-wrap input[type="radio"]:disabled + label {
	color: #c7c7c7;
}
.festival-wrap input[type="radio"] + label:before {
    content: '';
    position: absolute;
    top: 50%;
	left: 0;
    transform: translateY(-50%);
    width: 22px;
    height: 22px;
    text-align: center;
    background: #fff;
    border: 1px solid #d1d1d1;
    border-radius: 100%;
}
.festival-wrap input[type="radio"]:checked + label:before {
    background: #fff;
}
.festival-wrap input[type="radio"]:checked + label:after {
    content: '';
    position: absolute;
    top: 50%;
	left: 5px;
    transform: translateY(-50%);
    width: 12px;
    height: 12px;
    background: #05a1f2;
    border-radius: 100%;
}
.form-wrap li > label .essential {
	color: #05a1f2;
	font-weight: 400;
}
#festival-02 .reser-info {
	margin: 50px auto 30px;
	padding: 50px;
	background: #f9f9f9;
	border-radius: 20px;
    text-align: left;
}
#festival-02 .reser-info > div p {
	margin-top: 8px;
	font-size: 16px;
	line-height: 1.6;
	word-break: keep-all;
}
#festival-02 .reser-info > div p span {
	text-decoration: underline;
}
#festival-02 .reser-info > div strong {
	font-size: 18px;
	color: #05a1f2;
}

.package-table {
	width: 100%;
}
.package-table th {
    padding: 12px;
    font-size: 18px;
    text-align: center;
    background: #f8f8f8;
    border-top: 1px solid #000;
}
.package-table td {
    padding: 15px 12px;
    font-size: 18px;
    line-height: 1.5;
    text-align: center;
    border-top: 1px solid #ddd;
}
.package-table tr:last-child th {
    border-bottom: 1px solid #000;
}
.package-table tr:last-child td {
    border-bottom: 1px solid #ddd;
}
.pack-explain {
	display: block;
	margin: 10px 0 40px;
    font-size: 18px;
	text-align: left;
}
.btn_submit.package {
	display: flex;
	justify-content: center;
	width: 200px;
	margin: auto;
}
.blank {
	padding: 80px 0 0;
	margin-bottom: 80px;
	border-bottom: 1px solid #ddd;
}



@media all and (max-width:1551px){
	.sub-section-in {width: 80%;}
	#sports-02.physical .explain table {float: none; width: 100%;}
}

@media all and (max-width:1281px){
	.sub-section-in {width: 90%;}
	#sports-02.physical .game-list {gap: 20px 10px;}
	#sports-02.physical .game-list li {width: calc(50% - 5px);}
}

@media all and (max-width:1201px){
	.sub-section-in {padding: 100px 0;}

	#sports-02.top .sub-section-in > h1 {font-size: 30px; margin-bottom: 25px;}
	#sports-02.top .img-wrap {width: 50%; padding-top: 30%;}
	#sports-02.top .txt-wrap {width: 46%;}
	#sports-02.top .explain .map-list, #sports-02.top .explain > span, #sports-02.top .explain > div, #sports-02.physical .game-list li span {font-size: 20px; line-height: 1.4;}

	#sports-02.physical .game-list li small {font-size: 17px;}

	#festival-02.top .festival-wrap > p {font-size: 24px; line-height: 1.2;}
}

@media all and (max-width:1025px){
	.sub-section-in {padding: 80px 0;}

	#festival-02.top .festival-wrap > p {font-size: 22px;}
}

@media all and (max-width:877px){
	#sports-02.top .sub-section-in > h1 {font-size: 26px;}
	#sports-02.top .img-wrap {float: none; width: 100%; padding-top: 60%; margin: 0 auto 50px;}
	#sports-02.top .txt-wrap {float: none; width: 100%;}
	#sports-02.top .explain .map-list, #sports-02.top .explain > span, #sports-02.top .explain > div, #sports-02.physical .game-list li span {font-size: 18px;}
	#sports-02.top .explain:nth-child(2) {margin: 30px 0;}

	#sports-02.physical .game-list li small {font-size: 16px;}

	#festival-02 .form-wrap li > label {min-width: 150px; float: none; margin-bottom: 8px;}
	#festival-02 .form-wrap li > input {width: 100%;}
	#festival-02.top .btn_submit {width: 150px; line-height: 54px; height: 54px; font-size: 18px;}
	#festival-02 .reser-info {padding: 34px;}

	.btn_submit.package {width: 190px; line-height: 54px; height: 54px; font-size: 18px;}
}

@media all and (max-width:641px){
	.sub-section-in {padding: 80px 0;}

	#sports-02.top .img-wrap {border-radius: 20px;}

	#sports-02.top .sub-section-in > h1 {font-size: 22px;}
	#sports-02.top .explain .map-list, #sports-02.top .explain > span, #sports-02.top .explain > div, #sports-02.physical .game-list li span, #sports-02.physical .explain table th, #sports-02.physical .explain table td {font-size: 16px;}

	#sports-02.physical .game-list li {width: 100%;}
	#sports-02.physical .game-list li small {font-size: 15px;}

	#festival-02.top .festival-wrap > p {font-size: 20px; margin: 40px auto 30px; padding-top: 40px;}
	#festival-02 .reser-info {margin: 30px auto 10px; padding: 20px;}
	.form-wrap li > *, .form-wrap li {display: block; margin-bottom: 5px;}
	.form-wrap li > input, .form-wrap li > input::placeholder, #festival-02 .form-wrap li .frm_input::placeholder {font-size: 15px; text-indent: 5px; padding: 10px 5px;}
	
	.package-table tr th, .package-table tr td {font-size: 16px;}
}

@media all and (max-width:481px){
	#sports-02.top .img-wrap {border-radius: 15px;}
	
	#sports-02.top .sub-section-in > h1 {font-size: 20px;}
	#sports-02.top .explain .map-list, #sports-02.top .explain > span, #sports-02.top .explain > div, #sports-02.physical .game-list li span, #sports-02.physical .explain table th, #sports-02.physical .explain table td {font-size: 15px; line-height: 1.2; word-break: keep-all;}
	#sports-02.physical .explain table th {line-height: 1;}
	#sports-02.physical .explain table td {line-height: 1.6;}

	#sports-02.physical .game-list li small {font-size: 14px;}
	#sports-02.physical .game-list li .img-wrap {padding-top: 70%;}

	#festival-02.top .btn_submit {width: 144px; line-height: 46px; height: 46px; font-size: 16px;}

	.package-table tr th, .package-table tr td {width: 50%; font-size: 15px; line-height: 1.4; word-break: keep-all;}
	.pack-explain {font-size: 16px; line-height: 1.2;}

	.btn_submit.package {width: 170px; line-height: 46px; height: 46px; font-size: 16px;}
}