@import url(https://fonts.googleapis.com/earlyaccess/nanummyeongjo.css);
@import url(https://fonts.googleapis.com/earlyaccess/nanumgothic.css);
@import url(https://fonts.googleapis.com/earlyaccess/nanumgothiccoding.css);
@import url(https://cdn.jsdelivr.net/gh/moonspam/NanumSquare@2.0/nanumsquare.css);

/* ===== 공통 기본 스타일 ===== */
* { padding: 0; margin: 0; font-family: "NanumSquare"; box-sizing: border-box; }
img { display: block; margin: 0 auto; }
.wrapper { width: 100%; }
.landing_vi { max-width: 100%; min-width: 561px; }
.cnt { width: 561px; margin: 0 auto; }
.cnt img { width: 100%; }

.counsel { width: 561px; margin: 0 auto; padding: 0; }
.counsel .topBox { background: linear-gradient(to right, #1199a1, #14506d); height: 36px; }
.counsel .topCon { background: #e4eef1; padding: 40px 30px 30px; }
.counsel .topCon h2 { display: block; text-align: center; color: #1b5365; font-size: 30px; margin-bottom: 35px !important; }
.counsel .topCon2 { background: #fff; padding: 40px 40px 40px; }

.box01 { padding: 0 0 0 85px; margin-bottom: 20px; }
.box01 label { position: relative; margin-left: -85px; font-size: 18px; vertical-align: top; line-height: 39px; font-weight: 600; }
.box01 input { display: inline-block; width: 75%; font-size: 14px; line-height: 39px; padding: 0 20px; background: #fcfcfc; border: #e0e0e0 1px solid; float: right; }
.box01 select { display: inline-block; width: 75%; font-size: 14px; line-height: 39px; padding: 0 20px; background: #fcfcfc; border: #e0e0e0 1px solid; float: right; height: 41px; }
.box01 dd { display: inline-block; width: 100%; font-size: 13px; }
.box01 dd b { color: #1b5365; font-size: 16px; }
.box01 textarea { height: 75px; width: 100%; font-size: 14px; padding: 10px 20px; background: #fcfcfc; border: #e0e0e0 1px solid; resize: none; color: #333333; }

.box02 { padding: 0 0 0 85px; }
.box02 input { width: 20px; height: 20px; vertical-align: middle; }
.box02 label { font-size: 13px; }

.btn01 { text-align: center; margin-top: 30px; }
.btn01 input { width: 162px; background: #1b5365; color: #fff; font-size: 20px; font-weight: 600; line-height: 40px; border: none; cursor: pointer; }

.landing__name { width: 100%; }


/* ===== 모바일 (560px 이하) ===== */
@media all and (max-width: 560px) {
	.landing_vi { min-width: 100%; }

	/* 폼 전체 컨테이너 */
	.counsel { width: 100%; }
	.counsel .topCon { padding: 24px 16px 24px; }
	.counsel .topCon h2 { font-size: 22px; margin-bottom: 24px !important; word-break: keep-all; line-height: 1.4; }
	.counsel .topCon2 { padding: 24px 16px; }

	/* 핵심 수정: 레이블과 인풋을 세로로 쌓기 */
	.box01 {
		padding: 0;           /* 좌측 indent 제거 */
		margin-bottom: 16px;
		overflow: hidden;     /* float 해제 */
	}
	.box01 > div {
		display: flex;
		flex-direction: column;
	}
	.box01 label {
		position: static;      /* absolute 해제 → 겹침 방지 */
		margin-left: 0;
		font-size: 14px;
		line-height: 1.4;
		margin-bottom: 6px;
		font-weight: 700;
	}
	.box01 input {
		display: block;
		width: 100%;
		float: none;           /* float 해제 */
		font-size: 14px;
		line-height: 1;
		height: 44px;
		padding: 0 14px;
		background: #fcfcfc;
		border: #e0e0e0 1px solid;
	}
	.box01 select {
		display: block;
		width: 100%;
		float: none;
		font-size: 14px;
		height: 44px;
		padding: 0 14px;
		background: #fcfcfc;
		border: #e0e0e0 1px solid;
	}
	.box01 textarea {
		width: 100%;
		font-size: 13px;
		padding: 10px 14px;
	}
	.box01 dd {
		width: 100%;
		font-size: 12px;
		line-height: 1.5;
	}
	.box01 dd b { font-size: 14px; }

	/* 체크박스 영역 */
	.box02 {
		padding: 0;
		margin-top: 8px;
	}
	.box02 input { width: 18px; height: 18px; }
	.box02 label { font-size: 13px; }

	/* 신청 버튼 */
	.btn01 { margin-top: 24px; }
	.btn01 input {
		width: 100%;
		max-width: 280px;
		height: 48px;
		font-size: 18px;
		line-height: 28px;
	}
}