		*{
			box-sizing:border-box;
			margin:0;
			padding:0;
		}

		body{
			font-family:'Pretendard','Noto Sans KR','Malgun Gothic',sans-serif;
			background:#f3f5f8;
			color:#111;
			line-height:1.5;
		}

		.wrap{
			width:100%;
			max-width:900px;
			margin:0 auto;
			padding:24px 16px 60px;
		}

		.keyvisual{
			width:100%;
			aspect-ratio:1080 / 608;
			margin-bottom:22px;
			border-radius:22px;
			background:#111 url('../images/reg_top.png') center / cover no-repeat;
			box-shadow:0 12px 30px rgba(0,0,0,.12);
			overflow:hidden;
		}

		.card{
			background:#fff;
			border-radius:22px;
			padding:28px;
			box-shadow:0 12px 36px rgba(0,0,0,.08);
			margin-bottom:20px;
		}

		.title{
			text-align:center;
			font-size:28px;
			font-weight:800;
			letter-spacing:-.04em;
			margin-bottom:22px;
		}

		.consent-box{
			border:1px solid #d9dee8;
			border-radius:16px;
			overflow:hidden;
			margin-top:14px;
			background:#fff;
		}

		.consent-section{
			padding:18px;
			border-bottom:1px solid #e6eaf0;
		}

		.consent-section:last-child{
			border-bottom:0;
		}

		.consent-section h3{
			font-size:17px;
			margin-bottom:10px;
			color:#111;
		}

		.consent-section p{
			font-size:14px;
			color:#333;
			margin-bottom:10px;
		}

		.consent-table{
			width:100%;
			border-collapse:collapse;
			font-size:14px;
			margin-top:10px;
		}

		.consent-table th,
		.consent-table td{
			border:1px solid #cfd5df;
			padding:10px;
			text-align:center;
			vertical-align:middle;
		}

		.consent-table th{
			background:#f5f7fb;
			font-weight:700;
		}

		.agree-area{
			display:grid;
			gap:12px;
			margin-top:20px;
		}

		.agree-item{
			display:flex;
			align-items:center;
			justify-content:space-between;
			gap:18px;
			padding:18px 20px;
			border:1px solid #dfe4ec;
			border-radius:16px;
			background:#fafbfe;
		}

		.agree-item strong{
			display:block;
			font-size:15px;
			line-height:1.45;
			word-break:keep-all;
		}

		.agree-radio{
			display:flex;
			align-items:center;
			justify-content:flex-end;
			gap:18px;
			flex:0 0 auto;
			white-space:nowrap;
		}

		.agree-radio label{
			display:inline-flex;
			align-items:center;
			justify-content:center;
			gap:6px;
			font-size:14px;
			font-weight:500;
			line-height:1;
			cursor:pointer;
			white-space:nowrap;
		}

		.form-title{
			font-size:22px;
			font-weight:800;
			margin-bottom:18px;
		}

		.form-grid{
			display:grid;
			grid-template-columns:repeat(2, 1fr);
			gap:16px;
		}

		.form-group{
			display:flex;
			flex-direction:column;
			gap:7px;
		}

		.form-group.full{
			grid-column:1 / -1;
		}

		.form-group label{
			font-size:14px;
			font-weight:700;
			color:#222;
		}

		.required{
			color:#e60012;
			margin-left:3px;
		}

		input[type="text"],
		input[type="tel"],
		select{
			width:100%;
			height:48px;
			border:1px solid #d7dde7;
			border-radius:12px;
			padding:0 14px;
			font-size:15px;
			outline:none;
			background:#fff;
			transition:.2s;
		}

		input[type="text"]:focus,
		input[type="tel"]:focus,
		select:focus{
			border-color:#222;
			box-shadow:0 0 0 3px rgba(0,0,0,.06);
		}

		input[type="radio"]{
			width:18px;
			height:18px;
			min-width:18px;
			margin:0;
			padding:0;
			border:0;
			border-radius:50%;
			box-shadow:none;
			accent-color:#111;
			cursor:pointer;
			vertical-align:middle;
		}

		input[type="radio"]:focus{
			outline:none;
			box-shadow:0 0 0 3px rgba(0,0,0,.08);
		}

		.readonly-input{
			background:#f7f8fb !important;
			cursor:default;
		}

		.address-search-row{
			display:grid;
			grid-template-columns:1fr 140px;
			gap:10px;
		}

		.address-detail-grid{
			display:grid;
			grid-template-columns:1fr 1fr;
			gap:10px;
		}

		.address-search-btn{
			width:100%;
			height:48px;
			border:0;
			border-radius:12px;
			background:#24324a;
			color:#fff;
			font-size:15px;
			font-weight:800;
			cursor:pointer;
			transition:.2s;
		}

		.address-search-btn:hover{
			background:#111827;
		}

		.address-guide{
			min-height:18px;
			font-size:13px;
			color:#666;
			line-height:1.4;
		}

		.car-field{
			display:none;
		}

		.car-field.is-active{
			display:flex;
		}
		
		.shuttle-bus-field{
			display:none;
		}

		.shuttle-bus-field.is-active{
			display:flex;
		}

		.help{
			font-size:13px;
			color:#777;
			margin-top:4px;
		}

		.btn-wrap{
			margin-top:26px;
		}

		.submit-btn{
			width:100%;
			height:56px;
			border:0;
			border-radius:16px;
			background:#111;
			color:#fff;
			font-size:17px;
			font-weight:800;
			cursor:pointer;
			transition:.2s;
		}

		.submit-btn:hover{
			background:#333;
		}

		@media(max-width:720px){
			.wrap{
				padding:16px 12px 40px;
			}

			.card{
				padding:20px;
				border-radius:18px;
			}

			.title{
				font-size:22px;
			}

			.form-grid{
				grid-template-columns:1fr;
			}

			.agree-item{
				align-items:center;
				flex-direction:row;
			}

			.agree-radio{
				justify-content:flex-end;
			}

			.consent-table{
				font-size:12px;
			}

			.consent-table th,
			.consent-table td{
				padding:8px 6px;
			}

			.address-search-row,
			.address-detail-grid{
				grid-template-columns:1fr;
			}
		}

		@media(max-width:520px){
			.agree-item{
				align-items:flex-start;
				flex-direction:column;
				gap:12px;
			}

			.agree-radio{
				width:100%;
				justify-content:flex-start;
				gap:20px;
			}
		}