*{
    margin: 0;
    padding: 0;
    box-sizing: border-box; }

ul, li{
    list-style: none;}

a{  color: inherit;
    text-decoration: none;}

.h-wrap{
    width: 1160px;
  /*  margin-left: auto;
    margin-right: auto; */
     margin-top: 60px;
    margin-left: 16%;
    margin-right: 25%;  
    height: 150px;
    display: flex;}

.util{
    font-size: 17px;
    font-weight: bold;
    color: #363636;    
    position: absolute;
    top: 38px;    
    right: 275px;}

.util ul{    display: flex;}

.util li{font-weight: bold;
         text-align: center;
         margin-left: 17px;
         margin-right: 17px;
         align-items: center;}

.util li img {width: 27px;   height: 17px;}

h1{    padding-top: 15px;}

h1 img{    width: 500px;}

  .main-menu{
    display: flex;
    width: 160px;   
    position: absolute;
    top: 90px;
    left: 43%;
    right: 0;}

.main-menu > li {
  position: relative; 
  display: inline-block;
  list-style: none;

} 
.main-menu > li > a {
  display: block;
  padding: 5px 10px; /* 메인 메뉴의 높이와 너비를 패딩으로 결정 */
  color: rgb(54, 49, 49);
  text-decoration: none;
}
   
.menu{     
    width: 160px;
    height: 100%;
    display: block;
    text-align: center;
    align-items: center;
    color: black;
    font-weight: bold;
   /* padding: 0px 10px;  */
    font-size: 22px;
    border-radius: 10px;
    position: relative;
    z-index: 1000;
    left: 0;   
    /* display: inline-block; */  }

.menu > a{
    align-items: center;
    width: 160px;
    padding: 5px 10px;
   line-height: 33px;
    font-weight: bold;
    transition: all 0.2s;
        }

.menu:hover > a {    
    text-align: center;
    align-items: center;    
     padding: 7px 10px;
     margin-top: 0;
    color: #fff;
    background-color: navy;
    border-radius: 7px;    }

/* position: absolute;
            top: 100%; 
            left: 0;         */

.sub-menu{      
    display: none;  
    position: absolute;
            top: 100%; 
            left: 0;  
    width: 160px;         
    margin-top: 0;
    padding: 0;          
    text-align: left;
    font-weight: bold;
    color: rgb(46, 46, 46);
    background-color:#dad6d6;   
    border: 1px solid #dee2e6;
     box-sizing: border-box;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);    
    border-radius: 8px;       
   }

    .sub-menu li {
            position: relative;        }

    .main-menu > li:hover .sub-menu {
  display: block;  }  /* 마우스 올리면 서브메뉴 나타남 */


/* 서브메뉴의 링크 태그 설정 */
.sub-menu li a {
  display: block;    /* 1. 가로 영역을 100% 꽉 채우는 성질로 변경 */
  width: 100%;   
  height: 100%;    /* 2. 가로폭 100% 지정 (생략 가능) */
  font-size: 17px;
  padding: 12px; /* 3. li 안의 위아래, 좌우 여백을 주어 세로 크기 조절 */
  text-decoration: none;
   transition: all 0.2s;  }



/* 2. 서브메뉴 (자식 박스) 위치 및 밀착 설정 */


   /*     .sub-menu li a {
    width: 100%;
           padding: 12px ;
            font-size: 17px;
            transition: all 0.2s;}  */
                
        /* 첫 번째와 마지막 번째 메뉴 모서리 라운딩 자동 처리 */
        .sub-menu li:first-child > a {
            border-top-left-radius: 7px;
            border-top-right-radius: 7px;
        }
        .sub-menu li:last-child > a {
            border-bottom-left-radius: 7px;
            border-bottom-right-radius: 7px;
        }
        /* 상단 서브메뉴 호버 효과 */
        .sub-menu li:hover > a {
            background-color: #176eca;
            color: #fff;
        }
       .menu:hover .sub-menu{
            display: block;
        } 

        /* [상단] 2차 하위 서브메뉴 (오른쪽으로 세로 펼침) */
        .sub-sub-menu {
            display: none;
            width: 180px;
            position: absolute;
            top: -1px; /* 부모 테두리선 정렬 맞춤 */
            left: 100%; /* 바로 오른쪽 배치 */            
            background-color: #fff;
            border: 1px solid #dee2e6;
            box-shadow: 0 4px 10px rgba(0,0,0,0.1);
            border-radius: 8px;
        }

        .sub3-menu{
            display: none;
            width: 180px;
            position: absolute;
            top: -1px; /* 부모 테두리선 정렬 맞춤 */
            left: 100%; /* 바로 오른쪽 배치 */            
            background-color: #fff;
            border: 1px solid #dee2e6;
            box-shadow: 0 4px 10px rgba(0,0,0,0.1);
            border-radius: 8px;
        }
        .sub-sub-menu .sub3-menu li:first-child > a {
            border-top-left-radius: 7px;
            border-top-right-radius: 7px;
        }
        .sub-sub-menu .sub3-menu li:last-child > a {
            border-bottom-left-radius: 7px;
            border-bottom-right-radius: 7px;
        }
        .sub-sub-menu li:hover > a {
            background-color: #419efa;
            color: #fff;
        }

        .sub3-menu li:hover > a {
            background-color: #9141fa;
            color: #fff;}


        /* 상단에서 서브메뉴 호버 시 오른쪽으로 노출 */
        .has-children:hover .sub-sub-menu {
            display: block;        }

        .has-grandchild:hover .sub3-menu {
            display: block;        }

    .sub3-menu{  width: 230px;}

.banner{
    position: relative;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 700px;
    margin-top: 20px; /* 메인 메뉴와의 간격 */
    text-align: center;
    display: flex;   
    z-index: 1;  }

  .slider-wrap{
    position: relative;
    width: 1200px;
    height: 700px;
    overflow: hidden;
    border-radius: 10px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  }

  .slides{
    display: flex;
    transition: transform 0.5s ease;
    width: 7200px; /* 1200px x 6 */
  }

  .slide{
    width: 1200px;
    height: 700px;
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .slide img {
    width: 1200px;
    height: 700px;
    object-fit: cover;
    border-radius: 10px;
  }

  /* 슬라이드 버튼 (사진 내부에 위치) */
  .nav-button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(252, 250, 250, 0.4);
    color: white;
    border: none;
    padding: 12px 18px;
    font-size: 28px;
    cursor: pointer;
    z-index: 10;
    border-radius: 50%;
    transition: background-color 0.5s;
  }

  .nav-button:hover {
    background-color: rgba(167, 159, 159, 0.7);    }

  .prev {      left: 20px;    }

  .next {      right: 20px;    }

  .slide-text{
  position: absolute;
  top: 42%;
  left: 1.2%; /* prev 버튼 옆 간격 */
  line-height: 77px;
  transform: translateY(-50%);
  font-size: 45px;
  color: white;
  font-weight: bold;
  text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.7);
  z-index: 6;
  pointer-events: none; /* 클릭 방해 방지 */
}
.slide-text p{
  font-size: 30px;
  margin-top: 30px;
  }

h3{font-size: 30px;
    color: #424753;
    margin-top: 30px;
    margin-left: 340px;    }

p.all{font-size: 25px;
      color: #424753;
      margin-left: 340px;}

.container {
        display: flex;
        width: 1300px;
        margin: 35px auto;
        gap: 20px;
        justify-content: center;      }

.container div{text-indent: 7px; }

.notice-box {
    width: 600px;
    margin: 35px 0px 0px 0px;
    padding: 15px 10px 10px 13px;
    border: 1px solid #ddd;
    border-radius: 10px;
    background-color: #f9f9f9;
    font-family: 'Arial', sans-serif;
  }

  .notice-box h4 {
    margin-bottom: 15px;
    font-size: 24px;
    border-bottom: 2px solid #444;
    padding-bottom: 5px;
  }

  .notice-list {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .notice-item {
    border-bottom: 1px solid #eee;
    padding: 12px 0;
    position: relative;
  }

  .notice-title {
    width: 570px;
    font-size: 16px;
    font-weight: bold;
    color: #333;
    text-decoration: none;
  }

  .notice-title:hover {
    text-decoration: underline;
  }

  .notice-date {
    font-size: 13px;
    color: #777;
    position: absolute;
    right: 0px;
    margin-top: 5px;
    
  }

  
  .box {
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 10px;
    padding: 20px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    flex: 1;
  }
  .notice-box{    width: 600px;  }
  .photo-box{    width: 300px;  }
  .video-box{    width: 300px;  }

  /* 공지사항 스타일 */
  .notice-box h4 {
    font-size: 24px;
    border-bottom: 2px solid #444;
    margin-bottom: 15px;
    padding-bottom: 5px;  }

  .notice-list {
    list-style: none;
    padding: 0;
    margin: 0;  }

  .notice-item {
    border-bottom: 1px solid #eee;
    padding: 12px 0;
    display: flex;  }

  .notice-title {
    font-size: 14px;
    font-weight: bold;
    color: #333;
    text-decoration: none;  }

  .notice-title:hover {
    text-decoration: underline;  }

  .notice-meta {
    font-size: 13px;
    color: #777;
    margin-top: 5px;  }

    .gallery-box{
      width: 590px;
      margin: 35px 0px 0px 0px;   
      padding: 15px 10px;
        border: 1px solid #ddd;
        border-radius: 10px;
        background-color: #f9f9f9;
        font-family: 'Arial', sans-serif; }


     
  /* 갤러리 스타일 */
  .gallery-box h4 {
    font-size: 24px;
    color: #363c48;
    border-bottom: 2px solid #444;
    margin-bottom: 15px;
    padding-bottom: 5px;  }

    .gallery-list{display: flex;}

    .photo-box {
      position: relative;
      width: 300px;
     /* padding-bottom: 56.25%;  16:9 비율 */
      height: 300px;
      overflow: hidden;        }

     .photo-box img{
      width: 300px;
      height: 190px;
     }

   /* 썸네일 영역 */
   #video-thumbnail {
    width: 275px;
    height: 190px;
    cursor: pointer;
    position: relative;
    padding-right: 5px;}

  .play-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 50px;
    color: white;
    background-color: rgba(0, 0, 0, 0.5);
    padding: 10px 20px;
    border-radius: 50%;
    z-index: 1;
  }

  /* 전체화면 오버레이 */
  #video-overlay {
    display: none;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 9999;
    justify-content: center;
    align-items: center;
  }

  #video-frame-container
  {  width: 1000px;
    height: 700px;
    position: relative;
  }

  #video-frame-container iframe {
    width: 100%;
    height: 100%;
    border: none;
  }

  /* X 닫기 버튼 */
  .close-button {
    position: fixed;
    top: 15px;
    right: 20px;
    font-size: 24px;
    background: rgb(8, 8, 8);
    color: white;
    border: none;
    padding: 5px 12px;
    border-radius: 5px;
    cursor: pointer;
    z-index: 10000;
    box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  }

footer .f-wrap{   
    width: 1200px;
    height: 220px;
    margin:70px auto;}

footer .f-wrap .link-icon{
  width: 100%;
  height: 140px;
  margin-top: 100px;
  padding: 10px;
  display: flex;
  justify-content: center;
  align-items: center;}

    footer .f-wrap .link-icon .busan img{ width: 220px; height: 110px; margin-right: 10px;}
    footer .f-wrap .link-icon .mafa img{ width: 220px; height: 120px; margin-right: 50px;}
    footer .f-wrap .link-icon .consul img{width: 170px;  height: 100px; 
                                          margin-left: 10px; margin-right: 30px;}
    footer .f-wrap .link-icon .acrc img{width: 220px;  height: 100px; margin-right: 10px;}
    footer .f-wrap .link-icon .tax img{width: 160px;  height: 120px;}

footer .f-wrap .copy-wrap{
  width: 1100px;  
  margin-left: 45px;
  display: flex;
  justify-content: center;
  align-items: center;}

footer .f-wrap .f-logo{    width: 570px;}
footer .f-wrap .f-logo img{width: 500px;}
footer .f-wrap .f-copyright{
    flex: 1;
    font-size: 16px;
    margin: 0px 10px 8px 15px;
    }
p.f-right{display: flex;}

p.f-right .map{text-indent: 5px;}

   /* .f-copyright p{  line-height: 10px;} */

.f-copyright address{ font-style: normal;}

/* padding: 위 오른 아래 왼
    시계방향으로 입력
    margin도 동일하다
    padding 줄여쓰는 방법
    paddin:40px; -> 상/하/좌/우 모두 40px
    padding:10px 20px; -> 상하 10px씩, 좌우 20px씩 적용
    padding:10px 20px 30px; -> 상 10px, 좌우 20px씩, 하 30px
    padding:10px 20px 30px 40px;-> 상->우->하->좌로 시계방향으로 순서대로
                                   10px 20px 30px 40px 적용됨
    */
