*,
*::before,
*::after{
	box-sizing:border-box;
	margin:0;
	padding:0;
}

html,body{
	width:100%;
	height:100%;
}

body {
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #000;
	overflow: hidden;
}

.container {
	aspect-ratio: 16 / 9;
	
	width: 100%;
	height: auto;

	max-height: 100vh;
	max-width: 177.78vh;

	position: relative;
	margin: 0 auto;
}

img{
	width:100%;
	display:block;
}

button,input,textarea,select{
	font-family:inherit;
	border:0;
	background:none;
	outline:none;
}

a{
	text-decoration:none;
	color:inherit;
}

ul,ol{
	list-style:none;
}

.imagemap{
	position:relative;
	width:100%;
}

.logout {
    position: absolute;
    top: 5.55%;
    left: 92.7%;
    height: 7.5%;
    width: 4.2%;
    cursor: pointer;
}

#unit,
#team,
#name{
	position:absolute;
	left:65%;
	width:25%;
	height:6.4%;

	background-color:#fff;
	color:#000;
	border-radius:100px;

	text-align:center;
	text-align-last:center;

	font-size:1.5vw;
	font-weight:500;

	cursor:pointer;

	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;

	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='28' viewBox='0 0 42 28'%3E%3Cpath d='M21 28L0 0H42L21 28Z' fill='black'/%3E%3C/svg%3E");
	background-repeat:no-repeat;
	background-position:right 7% center;
	background-size:1.9vw auto;

	padding:0 4vw 0 2vw;
}

#unit{
	top:50.92%;
}

#team{
	top:58.92%;
}

#name{
	top:66.92%;
}

#unit::-ms-expand,
#team::-ms-expand,
#name::-ms-expand{
	display:none;
}

#unit:disabled,
#team:disabled,
#name:disabled{
	opacity:1;
	color:#000;
	cursor:default;
}

#main_submit {
	position:absolute;
	top:74.92%;
	left:65%;
	width:25%;
	height:6.4%;
	background:#236cff;
	color:#fff;
	border-radius:100px;
	text-align:center;
	font-size:1.5vw;
}


#section01 .client_company {
	position: absolute;
    top: 54.8%;
    left: 50%;
    width: 26%;
    transform: translateX(-50%);
    height: 6.2%;
	background:#FFF;
    font-size: 1.5vw;
	
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

#section01 .client_doctor {
    position: absolute;
    top: 63.5%;
    left: 50%;
    width: 26%;
    transform: translateX(-50%);
    height: 6.2%;
	background:#FFF;
    font-size: 1.5vw;
	
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

#section01 .section01_submit {
	position: absolute;
    top: 74.4%;
    left: 50%;
    width: 11%;
    transform: translateX(-50%);
    height: 6.6%;
	cursor:pointer;
}

#section01 .new_client_input {
    position: absolute;
    top: 54.6%;
    left: 65.6%;
    width: 10.6%;
    height: 6.6%;
    cursor: pointer;
}

/* 레이어 팝업 배경 */
#section01 .modal_overlay {
	display: none;
	position: fixed;
	top: 0; left: 0; width: 100%; height: 100%;
	background: rgba(0,0,0,0.7);
	z-index: 9999;
}

/* 팝업 본체 (상하좌우 중앙) */
#section01 .modal_content {
	position: absolute;
	top: 50%; left: 50%;
	transform: translate(-50%, -50%);
	width: 90%; max-width: 500px;
	background: #fff;
	border-radius: 15px;
	padding: 30px;
	box-shadow: 0 5px 15px rgba(0,0,0,0.3);
}

#section01 .modal_header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 25px;
}

#section01 .modal_header h2 {
	font-size: 1.3vw; /* 제목은 약간 크게 */
	font-weight: bold;
	margin: 0;
}

#section01 .modal_close {
	font-size: 2.5vw;
	cursor: pointer;
}

#section01 .modal_body input {
	width: 100%;
	height: 60px;
	margin-bottom: 15px;
	border: 1px solid #ddd;
	border-radius: 8px;
	padding: 0 15px;
	font-size: 1vw; /* 요청 사항 반영 */
	box-sizing: border-box;
}

#section01 .modal_body button {
	width: 100%;
	height: 65px;
	background: #000;
	color: #fff;
	border: none;
	border-radius: 8px;
	font-size: 1vw;
	cursor: pointer;
	margin-top: 10px;
}

/* 반응형 모바일 대응 */
@media (max-width: 768px) {
	#section01 .modal_body input, 
	#section01 .modal_body button,
	#section01 .modal_header h2 {
		font-size: 16px; /* 모바일에서 너무 작아지는 것 방지 */
	}
}



#section02 .section02_link01 {
	position: absolute;
    top: 50%;
    left: 50%;
    height: 6%;
    transform: translate(-50%, -50%);
    width: 16%;
    cursor: pointer;
}

#section02 .privacy_box {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 60%; /* 이미지 비율에 맞춰 조정 가능 */
	background: #fff;
	border: 0.2vw solid #004680;
	border-radius: 1vw;
	padding: 2vw;
	box-sizing: border-box;
	z-index: 10;
}

#section02 .privacy_box h3 {
	font-size: 1.5vw;
	color: #0070c0;
	margin-bottom: 1.5vw;
	font-weight: bold;
	text-align: left;
}

#section02 .privacy_box .privacy_content {
	font-size: 1vw;
	line-height: 1.6;
	color: #333;
	border: 1px dotted #999;
	padding: 1.5vw;
	text-align: left;
	word-break: keep-all;
}

#section02 .privacy_box .highlight {
	color: #d00000;
	text-decoration: underline;
}

#section02 .privacy_agree_area {
	text-align: right;
	margin-top: 1vw;
}

#section02 .privacy_agree_area label {
	display: inline-flex;
	align-items: center;
	cursor: pointer;
	font-size: 1.2vw;
	font-weight: bold;
}

#section02 .privacy_agree_area input[type="checkbox"] {
	width: 1.5vw;
	height: 1.5vw;
	margin-right: 0.5vw;
	cursor: pointer;
}

#section02 .section02_link01 {
    position: absolute;
    top: 78.7%;
    left: 50%;
    height: 6%;
    transform: translate(-50%, -50%);
    width: 16%;
    cursor: pointer;
}

#section03 .survey_frame {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 84%;
	height: 76%;
	background: rgba(255, 255, 255, 0.95);
	border-radius: 15px;
	padding: 40px;
	box-sizing: border-box;
	overflow-y: auto;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

/* 스크롤바 디자인 */
#section03 .survey_frame::-webkit-scrollbar { width: 8px; }
#section03 .survey_frame::-webkit-scrollbar-track { background: #f1f1f1; border-radius: 10px; }
#section03 .survey_frame::-webkit-scrollbar-thumb { background: #236cff; border-radius: 10px; }

#section03 .survey_title {
	font-size: 24px;
	color: #004680;
	margin-bottom: 30px;
	padding-bottom: 10px;
	border-bottom: 2px solid #236cff;
	font-weight: bold;
}

#section03 .question_item {
	margin-bottom: 35px;
	text-align: left;
}

#section03 .q_text {
	font-size: 18px;
	font-weight: 600;
	color: #333;
	margin-bottom: 15px;
	line-height: 1.4;
}

#section03 .a_list label {
	display: block;
	font-size: 16px;
	padding: 10px 15px;
	margin-bottom: 8px;
	background: #f8f9fa;
	border-radius: 8px;
	cursor: pointer;
	transition: background 0.2s;
}

#section03 .a_list label:hover { background: #e9ecef; }

#section03 .checkbox_grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
}

#section03 .etc_row {
	display: flex !important;
	align-items: center;
}

#section03 .etc_input {
	margin-left: 10px;
	border-bottom: 1px solid #999 !important;
	flex: 1;
	font-size: 16px;
	padding: 2px 5px;
}

#section03 .submit_area {
	margin-top: 50px;
	text-align: center;
}

#section03 #btn_survey_submit {
	width: 300px;
	height: 60px;
	background: #236cff;
	color: #fff;
	font-size: 20px;
	font-weight: bold;
	border-radius: 50px;
	cursor: pointer;
	transition: all 0.2s;
}

#section03 #btn_survey_submit:hover {
	background: #1a52cc;
	transform: translateY(-3px);
}

/* 완료 팝업 배경 */
#section03 .modal_overlay {
	display: none;
	position: fixed;
	top: 0; left: 0; 
	width: 100%; height: 100%;
	background: rgba(0, 0, 0, 0.7);
	z-index: 10000;
}

/* 완료 팝업 본체 */
#section03 .modal_content_complete {
	position: absolute;
	top: 50%; left: 50%;
	transform: translate(-50%, -50%);
	width: 50%;
	max-width: 600px;
	background: #fff;
	border-radius: 2vw;
	padding: 3vw;
	box-shadow: 0 10px 40px rgba(0,0,0,0.5);
	text-align: center;
}

/* 팝업 메시지 (중앙 정렬 및 1.5vw) */
#section03 .modal_body_complete p {
	font-size: 1.5vw;
	color: #0070c0;
	line-height: 1.6;
	font-weight: bold;
	margin-bottom: 2vw;
	word-break: keep-all;
	text-align: center; /* 텍스트 중앙 정렬 */
}

/* 팝업 푸터 (확인 버튼 우측 하단) */
#section03 .modal_footer_complete {
/*	display: flex;
	justify-content: flex-end; */
}

/* 확인 버튼 */
#section03 #btn_end_confirm {
	background: #0070c0;
	color: #fff;
	border: none;
	padding: 0.8vw 2.5vw;
	font-size: 1.2vw;
	border-radius: 0.5vw;
	cursor: pointer;
	transition: background 0.2s;
}

#section03 #btn_end_confirm:hover {
	background: #005a9e;
}





#end_section .team {
    position: absolute;
    top: 59.9%;
    left: 15.8%;
    width: 16.5%;
    height: 6.2%;
    background: none;
    color: #000;
    font-size: 1.5vw;

    display: flex;
    align-items: center;
    justify-content: center; 
    text-align: center;
}

#end_section .name {
	position: absolute;
    top: 68.6%;
    left: 15.8%;
    width: 16.5%;
    height: 6.2%;
    background: none;
    color: #000;
    font-size: 1.5vw;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

#end_section .percent_bar {
    position: absolute;
    top: 20%;
    left: 50%;
    transform: translateX(-50%);
    width: 30%;
    height: 63%;
    z-index: -2;

    background: linear-gradient(
        to top,
        #dd8abc 0%,
        #dd8abc 20%,
        #6ba9d8 40%,   /* 중간 섞임 시작 */
        #6ba9d8 60%,
        #00ff00 80%,   /* 중간 섞임 시작 */
        #00ff00 100%
    );
}

#end_section .percent_bar_closer {
    position: absolute;
    top: 20%;
    left: 50%;
    transform: translateX(-50%);
    width: 30%;
    height: 63%;
    z-index: -1;
	background:#000;	
}

#end_section .percent_text {
    position: absolute;
    top: 67%;
    left: 73.5%;
    color: #00ff00;
    font-size: 4.5vw;
    font-weight: 500;
}

#end_section .percent_text span {
	font-size:3vw;
}
	