body::-webkit-scrollbar, html::-webkit-scrollbar {
	display: none;
}
body, html {
	-ms-overflow-style: none;  /* IE and Edge */
	scrollbar-width: none;  /* Firefox */
	font-family: 'NanumSquareNeo';

}

img {
	-webkit-user-drag: none;
}

::selection {
	background: #0b327f;
	color: #fff
}
::-moz-selection {
	background: #0b327f;
	color: #fff
}
::-webkit-selection {
	background: #0b327f;
	color: #fff
}

@font-face {
	font-family: 'NanumSquareNeo';
	src: url(https://hangeul.pstatic.net/hangeul_static/webfont/NanumSquareNeo/NanumSquareNeoTTF-aLt.woff2);
	font-weight: 300;
	font-display: swap;
}

@font-face {
	font-family: 'NanumSquareNeo';
	src: url(https://hangeul.pstatic.net/hangeul_static/webfont/NanumSquareNeo/NanumSquareNeoTTF-aLt.woff2);
	font-weight: 400;
	font-display: swap;
}
@font-face {
	font-family: 'NanumSquareNeo';
	src: url(https://hangeul.pstatic.net/hangeul_static/webfont/NanumSquareNeo/NanumSquareNeoTTF-bRg.woff2);
	font-weight: 400;
	font-display: swap;
}
@font-face {
	font-family: 'NanumSquareNeo';
	src: url(https://hangeul.pstatic.net/hangeul_static/webfont/NanumSquareNeo/NanumSquareNeoTTF-cBd.woff2);
	font-weight: 400;
	font-display: swap;
}
@font-face {
	font-family: 'NanumSquareNeo';
	src: url(https://hangeul.pstatic.net/hangeul_static/webfont/NanumSquareNeo/NanumSquareNeoTTF-dEb.woff2);
	font-weight: 400;
	font-display: swap;
}
@font-face {
	font-family: 'NanumSquareNeo';
	src: url(https://hangeul.pstatic.net/hangeul_static/webfont/NanumSquareNeo/NanumSquareNeoTTF-eHv.woff2);
	font-weight: 400;
	font-display: swap;
}
@font-face {
	font-family: 'NanumSquareNeo';
	src: url(https://hangeul.pstatic.net/hangeul_static/webfont/NanumSquareNeo/NanumSquareNeo-Variable.woff2);
	font-weight: 400;
	font-display: swap;
}

@font-face {
	font-family: 'NanumSquareNeo';
	src: url(https://hangeul.pstatic.net/hangeul_static/webfont/NanumSquareNeo/NanumSquareNeoTTF-bRg.woff2);
	font-weight: 400;
	font-display: swap;
}

@font-face {
	font-family: 'NanumSquareNeo';
	src: url(https://hangeul.pstatic.net/hangeul_static/webfont/NanumSquareNeo/NanumSquareNeoTTF-cBd.woff2);
	font-weight: 700;
	font-display: swap;
}

@font-face {
	font-family: 'NanumSquareNeo';
	src: url(https://hangeul.pstatic.net/hangeul_static/webfont/NanumSquareNeo/NanumSquareNeoTTF-dEb.woff2);
	font-weight: 800;
	font-display: swap;
}

@font-face {
	font-family: 'NanumSquareNeo';
	src: url(https://hangeul.pstatic.net/hangeul_static/webfont/NanumSquareNeo/NanumSquareNeoTTF-eHv.woff2);
	font-weight: 900;
	font-display: swap;
}
body {
	-webkit-font-smoothing: antialiased;
	color:#333;
}

.footer {
	background-color: #fff;
	padding: 60px 0px;
	text-align: center;
}

section, footer {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	max-width: 1920px;
	background-size: cover;
	margin: auto;
}

.section01 {
	background-image:url('../img/sec01_bg.jpg');
	background-position:center 100%;
	height: 1064px;
	padding-top: 50px;
	z-index: 10;
}

.sec01_title01 {
	position: relative;
	transform: translateY(-40px);
	opacity: 0;
	animation: sec01_title01 ease-in-out 1s forwards;
}
@keyframes sec01_title01 {
	from {
		transform: translateY(-40px);
		opacity: 0;
	}
	to {
		transform: translateY(0px);
		opacity: 1;
	}
}
.sec01_title02 {
	position: relative;
	margin-top: 65px;
	padding-right: 230px;
}
.sec01_title02 > img {
	position: relative;
	transform: translateX(-40px);
	opacity: 0;
	animation: sec01_title02 ease-in-out .8s .8s forwards;
}
@keyframes sec01_title02 {
	from {
		transform: translateX(-40px);
		opacity: 0;
	}
	to {
		transform: translateX(0px);
		opacity: 1;
	}
}
.sec01_con {
	position: absolute;
	right: -40px;
	top: -30px;
	transform: translateX(200px);
	opacity: 0;
	animation: sec01_con ease-in-out 2s .8s forwards;
}
@keyframes sec01_con {
	0% {
		transform: translateX(200px);
		opacity: 0;
	}
	10% {
		opacity: 1;
	}
	100% {
		opacity: 1;
		transform: translateX(0);
	}
}
.sec01_con > img {
	transform: translateY(20px);
	animation: sec01_con_img ease-in-out 2s .8s forwards;
}
@keyframes sec01_con_img {
	0% {
		transform: translateY(20px);
	}
	30% {
		transform: translateY(-40px);
	}
	60% {
		transform: translateY(20px);
	}
	100% {
		transform: translateY(0px);
	}
}


.sec01_youtube {
	position: relative;
	bottom: -205px;
}
.overlay-video {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 727px;
	height: 409px;
	background-color: #000000;
	padding: 1px;
}








.starfield{
	position:absolute;
	inset:0;
	pointer-events:none;
	overflow:hidden;
	z-index:0;
}

.starfield i{
	position:absolute;
	width:2px;
	height:2px;
	border-radius:50%;
	opacity:0;
	transform:scale(.6);
	will-change:opacity, transform, filter;
	animation: starTwinkle 7s ease-in-out infinite;
}

/* 작은 별 */
.starfield i.is-tiny{
	width:1px;
	height:1px;
	opacity:.8;
}

/* ✅ 큰 별 (비율 증가) */
.starfield i.is-glow{
	width:3.5px;
	height:3.5px;
	filter: blur(1.6px);
}

/* 색상 */
.star-white{
	background:#fff;
	box-shadow:
			0 0 6px  rgba(255,255,255,.45),
			0 0 18px rgba(255,255,255,.35),
			0 0 36px rgba(255,255,255,.25),
			0 0 60px rgba(255,255,255,.18);
}

.star-yellow{
	background: #ffee6d;
	box-shadow:
			0 0 6px rgba(255, 230, 122, 0.82),
			0 0 18px rgba(255, 220, 120, 0.58),
			0 0 90px rgba(252, 173, 0, 0.25);
}

.star-blue{
	background: #7bbfff;
	box-shadow:
			0 0 6px rgba(170, 210, 255, 0.84),
			0 0 18px rgba(73, 141, 255, 0.58),
			0 0 60px rgba(0, 69, 241, 0.25);
}

.star-red{
	background: #fa6d6d;
	box-shadow:
			0 0 6px rgba(255, 103, 103, 0.83),
			0 0 18px rgba(253, 76, 76, 0.61),
			0 0 90px rgba(255, 0, 0, 0.25);
}

.is-fast{ animation-name: starTwinkleFast; }

@keyframes starTwinkle{
	0%{opacity:0;transform:scale(.6)}
	30%{opacity:.55;transform:scale(1.05)}
	55%{opacity:.25;transform:scale(.85)}
	80%{opacity:.7;transform:scale(1.15)}
	100%{opacity:0;transform:scale(.6)}
}

@keyframes starTwinkleFast{
	0%{opacity:0;transform:scale(.6)}
	25%{opacity:.9;transform:scale(1.25)}
	50%{opacity:.2;transform:scale(.9)}
	75%{opacity:1;transform:scale(1.35)}
	100%{opacity:0;transform:scale(.6)}
}























.section03 {
	background-image: url("../img/sec03_bg.jpg");
	height: 1179px;
	padding-top: 240px;
}
.sec03_con {
	margin-top: 40px;
	position: relative;
	width: 750px;
	height: 572px;
	background-image: url("../img/sec03_con.png");
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.quiz_title {
	margin-bottom: 40px;
}
.quiz_con {
	margin-top: -30px;
	margin-left: 150px;
}
.quiz_bottom {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
}
.quiz_item {
	position: absolute;
	bottom: 120px;
	right: 120px;
	opacity: 0;
}
.quiz_item.on {
	animation: quiz_item ease-in-out 1.5s infinite;
}
@keyframes quiz_item {
	0% {
		opacity: 0;
		transform: translate(0, 0);
	}
	10% {
		opacity: 1;
		transform: translate(0, 0);
	}
	100% {
		opacity: 1;
		transform: translate(-50px, -100px);
	}
}
.puzzle_box {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	gap: 70px;
	padding-bottom: 80px;
}
.puzzle_box > div {
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
}
.puzzle_box > div.shake {
	animation: shake ease-in-out .8s forwards;
}
@keyframes shake {
	0% {
		transform: rotate(0);
	}
	20% {
		transform: rotate(10deg);
	}
	40% {
		transform: rotate(-10deg);
	}
	60% {
		transform: rotate(10deg);
	}
	80% {
		transform: rotate(-10deg);
	}
	100% {
		transform: rotate(0);
	}
}

.puzzle_box_t {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	width: 100%;
	height: 75px;
	position: absolute;
	bottom: 0;
	left: 0;
	gap: 70px;
}
.puzzle_box_t > div {
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
}
.puzzle_box_t > div:nth-child(1) {
	width: 83px;
	padding-left: 10px;
}
.puzzle_box_t > div:nth-child(2) {
	width: 178px;
}
.puzzle_box_t > div:nth-child(3) {
	width: 131px;
}


.quiz_pop01, .quiz_pop02 {
	width: fit-content;
	display: none;
	left: 50% !important;
	transform: translateX(-50%) !important;
}





.section04 {
	background-image: url("../img/sec04_bg.jpg");
	height: 1603px;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 10;
}
.sec04_title {
	margin-top: -65px;
	margin-bottom: 20px;
}
.sec04_con {
	position: absolute;
	bottom: 2px;
	left: 50%;
	transform: translateX(-50%);
}





.section04 .icon:hover {
	cursor:pointer;
	/*animation:none !important;*/
}

.section04 .icon:active {
	background-position:center 0;
	/*height: 218px;*/
	/*animation:none !important;*/
}

.section04 .icon.reset {
	right: 0 !important;
	bottom: 100px !important;
}

.section04 .icon.answer {
	display:none;
	opacity: 0;
	visibility:0;
}




.section06 {
	background-color: #ffffff;
	padding: 90px 0 110px 0;
}
.sec06_bg {
	position: absolute;
	right: 80px;
	bottom: 70px;
}
.sec06_title {
	margin-bottom: 85px;
}
.sec06_con01 {
	margin-bottom: 50px;
}


.section07 {
	background-color: #00286f;
	padding: 90px 0;
}
.sec07_bg {
	position: absolute;
	left: 80px;
	bottom: 70px;
}
.sec07_title {
	margin-bottom: 100px;
}












.section05 {
	background-color: #d2e2ff;
	padding: 100px 0 90px 0;
}
.sec05_title {
	margin-bottom: 50px;
}
.section05 > div {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
}
.section05 p {
	position: relative;
	font-size: 17px;
	color: #00286f;
	display: inline-block;
	text-align: left;
	letter-spacing: -1px;
	padding-left: 20px;
	line-height: 1.8;
}
.section05 p::before {
	content: '※';
	display: inline-block;
	position: absolute;
	left: -5px;
	font-size: 17px;
	color: #00286f;
}



.section09 {
	background-color: #002046;
	padding: 70px 0;
}







.answer_popup {
	width: 700px;
	display: none;
	background-color: #fff;
	letter-spacing: -1px;
	left: 50% !important;
	transform: translateX(-50%) !important;
}

.answer_popup .content {
	padding: 40px 40px;
}

.pb_30 {
	padding-bottom: 10px;
}

.chk_area {
	display: flex;
	align-items: center;
	gap: 54px;
}
.chk_area span {
	display: flex;
	align-items: center;
}
.chk_area input[type='radio'] {
	position: relative;
	appearance: none;
	width: 24px;
	height: 24px;
	margin-right: 8px;
	border: 2px solid #000000;
	background-color: #fff;
	border-radius: 50%;
}
.chk_area input[type='radio']:checked::after {
	content: '';
	display: block;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background-color: #af1230;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.agree_wrap {
	margin-top: 30px;
	text-align:left;
}

.agree_box {
	width: 100%;
	overflow-y: scroll;
	 border: 1px solid #d9d9d9;
	padding: 20px;
	box-sizing: border-box;
	margin-bottom: 15px;
	height: 200px;
	background: #f1f1f1;
	color: #333;
	font-size: 15px;
}

.agree_box strong {
	display: inline-block;
	font-size: 18px;
	font-weight: bold;
}
.agree_box strong.sm {
	font-size: 15px;
}


.agree_radio {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 20px;
	font-weight: bold;
}

.agree_radio .flex {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

.agree_radio span {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 20px;
	font-weight: bold;
}

.agree_radio span label {
	cursor: pointer;
}

.agree_radio input[type='radio'] {
	position: relative;
	appearance: none;
	width: 24px;
	height: 24px;
	margin-right: 8px;
	border: 2px solid #000000;
	background-color: #fff;
	border-radius: 50%;
}
.agree_radio input[type='radio']:checked::after {
	content: '';
	display: block;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background-color: #af1230;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}



.board_write_form {
	width: 100%;
}

.board_write_form .form_field {
	font-size: 15px;
}

.board_write_form .form_field th {
	width: 170px;
	font-size: 23px;
	color: #fff;
	text-align: center;
	background-color: #2d2d2d;
	padding: 10px 15px;
	vertical-align:middle;
	border: 1px solid #c4c4c4;
}

.board_write_form td.field {
	border-top: 1px solid #c6c6c6;
	border-bottom: 1px solid #c6c6c6;
	font-size: 18px;
	padding: 10px;
	text-align:left;
	vertical-align:middle;
}

.board_write_form td.field.route span,
.board_write_form td.field.age span {
	display:inline-block;
	margin-right: 30px;
}

.button_box {
	margin-top: 40px;
	display: flex;
	justify-content: space-between;
	width: 100%;
	gap: 20px;
}
#registerBtn {
	width: 100%;
	height: 80px;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #002753;
	cursor: pointer;
	border: 1px solid #1e1e1e;
}

#cancelBtn {
	width: 100%;
	height: 80px;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #cacaca;
	cursor:pointer;
	border: 1px solid #1e1e1e;
}

.board_write_form input[type='text'],
.board_write_form input[type='tel'],
.board_write_form select {
	height: 50px;
	outline: none;
}
.board_write_form select {
	cursor: pointer;
	background-color: transparent;
}

#sample6_address {
	margin: 5px 0;
}

.w120 {
	width: 120px;
}
.w200 {
	width: 387px;
}


.strong {
	font-size:15px;
}

.floating {
	position: fixed;
	top: 270px;
	left: 50%;
	margin-left: 630px;
	transition: all .4s ease-in-out;
	z-index: 9999;
	opacity: 0;
	animation: floating ease-in-out .8s 2s forwards;
}
@keyframes floating {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

.floating02 {
	cursor: pointer;
}

@media(max-width:1439px) {
	.floating {
		margin-left: 460px;
	}
}

.board_write_form input[type='text'], .board_write_form input[type='tel'], .board_write_form select {
	border: 1px solid #dedede;
	font-size: 22px;
	padding-left: 10px;
	margin-left: 10px;
}
.board_write_form input[type='text']::placeholder {
	font-size: 16px;
}
.sub_btn_wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 50px auto;
}
.floating.pc {
	display: flex;
}
.floating.mobile {
	display: none;
}

.form_group {
	display: flex;
	align-items: center;
	border: 1px solid #c6c6c6;
	margin-bottom: 12px;
}

.form_group > label {
	margin-left: 10px;
	cursor: pointer;
}

.form_group > label:last-child {
	margin-left: 50px;
}

.form_group > label.label {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 166px;
	height: 60px;
	font-size: 24px;
	background-color: #2d2d2d;
	color: #fff;
	margin-left: 0;
	cursor: default;
}

.form_group > label input[type='radio'] {
	width: 20px;
	height: 20px;
	border: 1px solid #2d2d2d;
	margin-right: 5px;
	cursor: pointer;
}

.form_group > input {
	width: 394px;
	height: 60px;
	padding: 0 12px;
	font-size: 24px;
	border-radius: 0px;
	border: none;
	outline: none;
}

.form_group input::placeholder {
	font-size: 20px;
}


@media screen and (max-width: 750px) {
	.floating.pc {
		display: none;
	}
	.floating.mobile {
		display: flex;
	}


	.floating.mobile > ul {
		position: fixed;
		left: 50%;
		bottom: 0;
		display: flex;
		align-items: center;
		max-width: 750px;
		width: 100%;
		transform: translateX(-50%);
	}

	.floating.mobile li {
		flex: 1;
	}

	.floating.mobile li button, .floating.mobile li a {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 65px;
		cursor: pointer;
		border: 1px solid #011b61;
		padding: 15px;
	}

	.floating.mobile li:nth-child(1) a {
		background-color: #053282;
		border-top-left-radius: 16px;
	}
	.floating.mobile li:nth-child(2) button {
		background-color: #c0977d;
		padding: 30px;
	}
	.floating.mobile li:nth-child(3) button {
		background-color: #f4d642;
		border-top-right-radius: 16px;
	}



	section, footer {
		width: 100vw;
		padding-left: 20px;
		padding-right: 20px;
	}

	.section01 {
		height: 200vw;
	}
	.sec01_title01 {
		width: 80vw;
	}
	.sec01_title02 {
		margin-top: 40px;
		padding-right: 100px;
	}
	.sec01_title02 > img {
		width: 50vw;
	}
	.sec01_con {
		width: 45vw;
		top: 30px;
	}

	.sec01_youtube {
		width: 100vw;
	}
	.overlay-video {
		width: 97vw;
		height: 55vw;
	}

	.section03 {
		height: 160vw;
		padding-top: 70px;
	}
	.sec03_con {
		background-size: contain;
		width: 100vw;
		justify-content: flex-start;
	}
	.quiz_con {
		margin-top: -17px;
		margin-left: 100px;
		width: 60vw;
	}
	.puzzle_box {
		height: unset;
		gap: 40px;
		padding-bottom: 0;
	}
	.quiz_bottom {
		width: 80vw;
		height: 30vw;
	}
	.quiz_item {
		bottom: 40px;
		right: 20px;
		width: 10vw;
	}
	.puzzle_box_t {
		height: unset;
		gap: 70px;
		margin-bottom: 0;
	}
	.puzzle_box_t > div {
		width: 13vw !important;
	}
	.puzzle_box_t > div:nth-child(1) {
		padding-left: 0;
	}

	.answer_popup {
		width: 100vw;
		left: unset !important;
		transform: unset !important;
	}
	.answer_popup .content {
		padding: 30px 10px;
	}

	.w120 {
		width: 20vw;
	}
	.w200 {
		width: 55vw;
	}
	.chk_area {
		gap: 10vw;
	}
	
	.agree_box {
		height: 36vw;
		font-size: 3.2vw;
		padding: 2.4vw;
	}

	.sub_btn_wrap {
		margin: 30px auto;
	}

	.agree_box strong,
	.agree_box strong.sm {
		font-size: 3.2vw;
	}
	.agree_radio {
		display: block;
	}

	
	.agree_radio span {
		font-size: 4vw;
	}
	.agree_radio input[type='radio'] {
		width: 20px;
		height: 20px;
	}
	.agree_radio input[type='radio']:checked::after {
		width: 12px;
		height: 12px;
	}

	.button_box img {
		width: 50%;
	}
	#cancelBtn, #registerBtn {
		height: 60px;
	}

	.section04 {
		height: 210vw;
	}
	.sec04_title {
		margin-top: -35px;
	}
	.sec04_con {
		left: unset;
		transform: unset;
	}


	.section06 {
		padding: 70px 0px;
	}
	.sec06_bg {
		display: none;
	}
	.sec06_con01, .sec06_con02 {
		width: 93vw;
	}

	.sec07_bg {
		display: none;
	}
	.sec07_title {
		width: 80vw;
		margin-bottom: 50px;
	}
	.section05 {
		padding: 60px 20px;
	}
	.section05 p {
		font-size: 15px;
	}


	.section09 {
		padding: 40px 20px;
	}

	.footer {
		padding: 40px 40px 110px 40px;
	}
	.form_group input {
		font-size: 16px;
	}

	.form_group input::placeholder {
		font-size: 16px;
	}

	.form_group {
		margin-bottom: 1.6vw;
	}


	.board_write_form input[type='text'], .board_write_form input[type='tel'], .board_write_form select {
		margin-left: 0;
	}
	
	.form_group > label {
		margin-left: 1.2vw;
		font-size: 3.2vw;
	}
	
	.form_group > label.label {
		width: 25%;
		font-size: 4vw;
		height: 12.2vw;
	}
	
	.form_group > label:last-child {
		margin-left: 10.2vw;
	}
	
	.board_write_form input[type='text'], .board_write_form input[type='tel'], .board_write_form select {
		width: 75%;
		font-size: 16px;
		height: 12.2vw;
		padding: 0 1.2vw;
	}
	
	.board_write_form input[type='text']::placeholder {
		font-size: 2.8vw;
	}
	
	.form_group > label input[type='radio'] {
		width: 5.2vw;
		height: 5.2vw;
		margin-right: 1.2vw;
	}
	
	.button_box {
		margin-top: 12vw;
		gap: 3.6vw;
	}
}






















