body,div,dl,dt,dd,ul,ol,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,textarea,p,blockquote,th,td,input,select,textarea,button,section {color:#000; margin:0;padding:0; font-family: "Roboto", Sans-serif;}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {    margin: 0px;}
header {
	
	background: #fff;
}
.header {
    width: 1140px;
    margin: auto;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
    padding: 10px;
	background: #fff;
}
.header .logo a img {height: 50px;}
main {
    padding-bottom: 0px;
}
nav {background: #fff;}
nav .main_nav_menu li {    flex: initial;     position: relative;}
nav, nav .main_nav_menu {height: auto;}
nav .main_nav_menu ul { gap: 60px; }
nav .main_nav_menu li a {    color: #000; font-size: 15px; font-weight: 500; font-family: "Roboto", Sans-serif;}
nav .main_nav_menu ul.ul2 {
    box-shadow: 0 10px 30px 0 rgba(45, 45, 45, .2);
    position: absolute;
    top: 100%;
    left: 0;
    transform: translateY(-10px);
    max-height: none;
    z-index: 999;
    min-width: 150px;
}

.mb0 {margin-bottom:0;}
/* 드롭다운 메뉴 스타일 */
        .ul2 {
            position: absolute;
            top: 100%;
            left: -40px;
            background: white;
            min-width: 160px;
            box-shadow: 0 8px 16px rgba(0,0,0,0.1);
            border-radius: 8px;
            overflow: hidden;
            z-index: 1000;
            
            /* 상위 flex 설정 무시하고 수직 나열 */
            display: flex !important;
            flex-direction: column !important;
            gap: 0 !important;
            justify-content: flex-start !important;
            
            /* 초기 상태: 숨김 */
            opacity: 0;
            visibility: hidden;
            transform: translateY(-10px);
            transition: all 0.3s ease;
        }
        
        /* 호버 영역 확장을 위한 가상 요소 */
        .menu::before {
            content: '';
            position: absolute;
            top: 100%;
            left: 0;
            right: 0;
            height: 10px;
            background: transparent;
            z-index: 999;
        }
        
        /* 호버 시 드롭다운 표시 - 부모나 자식에 호버 시 모두 유지 */
        .menu:hover .ul2,
        .ul2:hover {
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
        }
        
        /* 호버 딜레이 추가로 안정성 확보 */
        .menu {
            transition: all 0.1s ease;
        }
        
        .ul2 {
            transition-delay: 0.1s;
        }
        
        /* 마우스가 떠날 때만 딜레이 적용 */
        .menu:not(:hover) .ul2 {
            transition-delay: 0.2s;
        }
        
        .ul2 .menu2 a {
            padding: 12px 20px;
            border-bottom: 1px solid #f0f0f0;
            font-size: 14px;
            color: #666;
        }
        
        .ul2 .menu2:last-child a {
            border-bottom: none;
        }
        
        .ul2 .menu2 a:hover {
            background: #f8f9fa;
            color: #007bff;
            padding-left: 25px;
        }

        
/* 추가 애니메이션 효과 */
.ul2 .menu2 {
    transform: translateX(-20px);
    opacity: 0;
    transition: all 0.3s ease;
}

.menu:hover .ul2 .menu2,
.ul2:hover .menu2 {
    transform: translateX(0);
    opacity: 1;
}
.menu:hover .ul2 .menu2:nth-child(1),
.ul2:hover .menu2:nth-child(1) { transition-delay: 0.1s; }
.menu:hover .ul2 .menu2:nth-child(2),
.ul2:hover .menu2:nth-child(2) { transition-delay: 0.15s; }
.menu:hover .ul2 .menu2:nth-child(3),
.ul2:hover .menu2:nth-child(3) { transition-delay: 0.2s; }
.menu:hover .ul2 .menu2:nth-child(4),
.ul2:hover .menu2:nth-child(4) { transition-delay: 0.25s; }
.menu:hover .ul2 .menu2:nth-child(5),
.ul2:hover .menu2:nth-child(5) { transition-delay: 0.3s; }


/* footer*/
footer{
        background-color: #252525;
        color: white;
}
footer .copy {
	color: #fff;
    text-align: center;
}
.footer_menu {
    display: flex;
    margin-top: 30px;
    align-items: center;
    justify-content: center;
}

.footer_menu > div {
    position: relative;
}

.footer_menu > div:not(:last-child)::after {
    content: ' ';
    color: #fff;
    margin: 0 20px;
    font-size: 14px;
}

.footer_menu a {
    color: #fff;
    text-decoration: none;
    font-size: 1.6rem;
    font-weight: 600;
    transition: color 0.3s ease;
    padding: 8px 0;
    display: inline-block;
}

.footer_menu a:hover {
    color: #fff;
}



/*main*/
section {text-align: center; margin:0; padding:0}
	.div_all {width:1140px; margin:auto;}
	.div_col { 
		padding:100px 0;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 20px;
	}
	.div_1 {
		padding:100px 0;
	}
	.div_1 h1 {
		font-size: 45px;
		font-weight: 600;
		color: #333333;
	}
	.div_1 p {
		margin: auto;
		width:80%;
		font-size: 16px;
		font-weight: 400;
		color: #494949;
	}
	.div_1 p a {color: #AC1C24;}
	.div_1 .btn{
		width: auto;
    	display: inline-block;
		color:#000;
		font-family: "Roboto", Sans-serif;
		font-size: 17px;
		font-weight: 500;
		border-radius: 50px 50px 50px 50px;
		padding: 15px 40px 15px 40px;
	}
	.link_bg{
		border-radius: 500px; 
		background-color: #fff;
		color: #f3153a;
		border: 4px solid #000d88;
		outline: 3px solid red;
		outline-offset: -9px; 
	}
	.link_bg .btn{
		margin: 2px; 
		border-radius: 500px; 
	}
	.link_bg .btn:hover{background-color: red; color: #fff !important; transition: all 0.3s ease;}

	.div_2 h2, .div_10 .h2{
		color:#fff;
		font-size: 38px;
		font-weight: 600;
		line-height: 44px;
	}
	.div_2 p,.div_10 p {
		font-size: 16px;
		font-weight: 400;
		color: #fff;
	}
	.div_row {
		display: flex;
		flex-direction: row; /* 가로 정렬 */
		justify-content: space-between; /* 양쪽 정렬 (필요 시) */
		/* align-items: center; 수직 정렬 */
		gap: 20px; /* 요소 간 간격 */
	}
	.div-container {
		display: flex;
		flex-direction: column;
		gap: 20px;
	}
	.div-container .btn1{
		width: auto;
    	display: inline-block;
		color:#fff;
		background-color: #ff0000;
		font-family: "Roboto", Sans-serif;
		font-size: 25px;
		font-weight: 600;
		border-radius: 50px 50px 50px 50px;
		padding: 15px 40px 15px 40px;
		width: 15%;
	}
	.div-container .btn1.btn2 {
    	padding: 15px 21px 15px 21px;
	}
	.div-container h2{
		font-size: 38px;
		font-weight: 600;
		line-height: 44px;
		letter-spacing: 0px;
		color: #333333;
	}
	 p {
		font-size: 16px;
		font-weight: 400;
		color: #494949;
		margin-bottom:14.4px;
	}
	.div_3 .div-container img {
		width:100%;
	}
	.w25 {
		width: 25%;
	}
	.w40 {
		width: 40%;
	}
	.w60 {
		width: 60%;
	}
	.w75 {
		width: 75%;
	}
	
	.w100 { width:100%; }
	.m100 {
		height: auto;
	}
	.tc {text-align: center;}
	.tl{text-align:left;}
	.pb60 {padding-bottom:60px;}

	.div_row {padding-top:60px;}

	.div_row img {
		width:90%;
    	border-radius: 25px 25px 25px 25px;
	}
	.div_row .title {
		background-color: #FFE3E3;
		padding:15px;
		border-radius: 10px;

		display: flex;
		flex-direction: row; /* 가로 정렬 */
		justify-content: space-between; /* 양쪽 정렬 (필요 시) */
		align-items: center; /* 수직 정렬 */
		gap: 20px; /* 요소 간 간격 */
		background-color: #fff;
		color: #f3153a;
		border: 3px solid #000d88;
		outline: 2px solid red;
		outline-offset: -7px;
	}

	.div_row .title h2 {
		font-size: 24px;
		font-weight: 600;
		color: #AC1C24;
	}
	.div_row .title i {
		color: #AC1C24;
		font-size:30px;
		font-weight: 900;
	}
	.div_row a { color: #AC1C24; }
	h3 {
		font-size: 20px;
		font-weight: 600;
		color: #353535;
	}
	.div_5 h2 {
		font-size: 38px;
    font-weight: 600;
	}
	.div_5 h2,.div_5 h3,.div_5 p {
		color: #fff;
	}
	.div_8 .div-container h3 {
		font-size: 16px;
		font-weight: 600;
		color: #383838;
	}
	.div_9 h2 {
		font-size: 40px;
		font-weight: 600;
		color: #AC1C24;
	}
	.blog-grid {
		display: grid;
		grid-column-gap: var(30px);
    	grid-row-gap: var(30px);
		grid-template-columns: repeat(3, 1fr);
	}
	.div_col.blog-post{
		padding:0;
	}
	.div_col.blog-post .div_col{
		text-align:left;
		padding:15px 15px 40px 15px;
	}
	.blog-post a {
		font-size: 18px;
		font-weight: 600;
		color: #272727;
	}
	
	.blog-post p {
		font-weight: 400;
		color: #7A7A7A;
	}
	.blog-post {
		background-color: #FFFFFF;
	}
	.blog-post img {
		width:100%;
	}
	.btn-white, a:hover.btn-white {
		background-color: #FFFFFF;
		font-family: "Roboto", Sans-serif;
		font-size: 20px;
		font-weight: 500;
		color: #54595F;
		border-radius: 50px 50px 50px 50px;
		line-height: 1;
		padding: 12px 24px;
		fill: #fff;
		text-align: center;
	}

/*주소모음*/
.document_content {width:941px; margin:auto; word-break: keep-all;}
.document_content .btn {
		width: auto;
	display: inline-block;
	color: #000;
	font-family: "Roboto", Sans-serif;
	font-size: 17px;
	font-weight: 500;
	border-radius: 50px 50px 50px 50px;
	padding: 15px 80px 15px 80px;
}
.document_content h1 {
	font-size: 38px;
	font-weight: 600;
	color: #333333;
}
.document_content h2 {
	font-size: 30px;
	font-weight: 600;
	color: #333333;
}
.document_content h3 {
	font-size: 28px;
	color:#494949;
}
.document_content p a {
	color: #AC1C24;
}
.emoji {
    width: 16px;
}
 .document_content table tbody>tr:nth-child(odd)>td, table tbody>tr:nth-child(odd)>th {
        background-color: hsla(0, 0%, 50.2%, .0705882353);
    }
    .document_content tbody {
        display: table-row-group;
        vertical-align: middle;
        unicode-bidi: isolate;
        border-color: inherit;
    }
    .document_content tr {
        display: table-row;
        vertical-align: inherit;
        unicode-bidi: isolate;
        border-color: inherit;
    }
    .document_content table td, .document_content table th {
        word-break: initial;
        padding: 15px;
        line-height: 1.5;
        vertical-align: top;
        border: 1px solid hsla(0, 0%, 50.2%, .5019607843);
        text-align: left;
        font-family: "Roboto", Sans-serif;
        font-size: 16px;
        font-weight: 400;
        color: #494949;
    }
    .document_content ul li p {
        margin-bottom: 5px;
    }
.document_content li {color:#494949;    list-style: initial;}
.document_content ul {    padding: 0 0 0 20px;}



.document_content .div_row img {
    height: auto;
    width: 375px;
    border-radius: initial;
}
.document_content .div_row .div_col {
    padding:10px 0;
}
.document_content .div_row .div_col h2,.document_content .div_row .div_col h2 a {
    font-size: 24px;
    font-weight: 500;
    color: #54595F;
}
.document_content .div_row .div_col p {
    font-size: 14px;
    font-weight: 400;
    color:#7A7A7A;
}

.document_content .div_row { padding:0 10px;}
.icon { width:45px; height: 45px; border-radius: 100px;}
.document_content.list {width:1140px;}
.title {    width: 941px;}
.page {padding:20px; background:#fff; }