.visual {width: 100%; height: 604px;}
.mySwiper {width: 100%; height: 100%;}
.swiper-slide {position: relative;}
.swiper-slide .txt-box {position: absolute; top: 288px; left: 50%; transform: translateX(-50%); text-align: center;}
.swiper-slide .txt-box .sub {margin-bottom: 15px; font-size: 20px; font-weight: 600; letter-spacing: -0.4px; color: #fff;}
.swiper-slide .txt-box .tit {font-size: 43px; font-weight: 800; line-height: 1.14; letter-spacing: -0.86px; color: #fff; text-transform: uppercase; white-space: nowrap;}
.swiper-slide img {width: 100%; height: 100%;}
.swiper-button-next:after, .swiper-button-prev:after {display: none;}
.swiper-button img {width: 27px; height: auto;}
.swiper-button-next {right: 50px; margin-top: 40px;}
.swiper-button-prev {left: 50px; margin-top: 40px;}

.visual .swiper-pagination {bottom: 146px; left: 50%; transform: translateX(-50%);}
.swiper-pagination-bullet {background: #fff; opacity: 0.5;}
.swiper-pagination-bullet-active {opacity: 1;}

.main-sec {width: 100%; height: auto;}
.main-sec .main-tit {display: flex; align-items: center; justify-content: center; flex-flow: column; margin-bottom: 90px; text-align: center;}
.main-sec .main-tit .img-box {width: 234px; height: auto; margin-bottom: 39.3px;}
.main-sec .main-tit .img-box img {width: 100%; height: auto;}
.main-sec .main-tit .txt {margin-bottom: 56px; font-size: 15px; font-weight: 400; line-height: 1.67; letter-spacing: -0.3px; color: #000;}
.main-sec .main-tit .link-btn {display: flex; align-items: center; justify-content: center; width: 172px; height: 43px; font-size: 18px; font-weight: 400; letter-spacing: -1.17px; color: #000; border: 1px solid #707070; text-transform: uppercase;}

.img-list {width: 100%; height: auto;}
.img-list ul {display: flex; align-items: center; justify-content: center; gap: 16px;}
.img-list ul li {width: calc(100% / 3); box-sizing: border-box;}
.img-list ul li .img-box {width: 100%; height: auto; overflow: hidden;}
.img-list ul li:hover img {transform: scale(1.2); transition: all .5s;}
.img-list ul li .img-box img {width: 100%; height: auto; transition: all .5s;}

footer {width: 100%; height: auto; padding: 48px 0; background: #f1f5f5;}
footer ul {display: flex; align-items: center; gap: 10px; margin-bottom: 8px;}
footer ul li {font-size: 12px; font-weight: 400; line-height: 1.83; letter-spacing: -0.24px; color: #bababa;}
.copyright {font-size: 12px; font-weight: 400; line-height: 1.83; letter-spacing: -0.24px; color: #bababa;}

/* sub-kv */
.sub-kv {position: relative; width: 100%; height: 322px;}
.sub-kv .img-box {width: 100%; height: 100%;}
.sub-kv .img-box img {width: 100%; height: 100%; object-fit: cover;}
.sub-kv .txt-box {position: absolute; text-transform: uppercase; bottom: 54px; left: 50%; transform: translateX(-50%); width: 100%; font-size: 33px; font-weight: 800; line-height: 1.15; letter-spacing: -0.66px; color: #fff; text-align: center; opacity: 0.6;}

/* current_location */
.current_location {width: 100%; height: auto; padding: 28px 0; background: #f1f5f5;}
.current_location .container {max-width: 1088px;}
.current_location ul {display: flex; align-items: center; gap: 35px;}
.current_location ul .txt {font-size: 15px; font-weight: 600; color: #000;}
.current_location ul .arrow {width: 5.2px; height: auto;}
.current_location ul .arrow img {width: 100%; height: auto; vertical-align: middle;}

/* sec1 */
.sec1 .container {max-width: 1088px;}
.sec-tit {margin-bottom: 83px;}
.sec-tit .tit {font-size: 25px; font-weight: 600; color: #000; padding-bottom: 30px; margin-bottom: 40px; border-bottom: 1px solid #707070;}
.sec-tit .sub {font-size: 15px; font-weight: 400; line-height: 1.73; letter-spacing: -0.3px;}
.content {width: 100%; height: auto;}
.content a{display: inline-block;}
.content .img-box {width: 100%; height: auto; text-align: center;}
.content .img-box img {width: 100%; height: auto;}
.content .img-box2 img {width: 303px; height: auto; margin: 0 auto;}

/* map-area */
.map-area {width: 812px; height: auto; margin: 0 auto;}
.map-area iframe {width: 100%; height: 422px; margin-bottom: 20px;}
.map-area .map-txt {font-size: 15px; font-weight: 400; letter-spacing: -0.3px; color: #000;}

/* ceo-area */
.ceo-area {width: 100%; height: auto; margin-top: -43px;}
.ceo-area .greeting {margin-bottom: 28px; font-size: 15px; font-weight: 400; line-height: 1.6; letter-spacing: -0.3px; color: #000;}
.ceo-area .d-flex {justify-content: space-between;}
.ceo-area .thank_you {font-size: 15px; font-weight: 400; line-height: 1.6; letter-spacing: -0.3px; color: #000;}
.ceo-area .ceo-img {width: 187px; height: auto;}
.ceo-area .ceo-img img {width: 100%; height: auto;}

/* history-area */
.history-area {margin-top: -33px;}
.history-area ul {width: 100%; height: auto;}
.history-area ul li {padding: 50px 44.5px 47.5px; box-sizing: border-box; border-bottom: 1px solid #707070;}
.history-area ul li:first-of-type {padding-top: 0;}
.history-area ul li .child-box {display: flex;}
.history-area ul li .year {margin-right: 37px; font-size: 25px; font-weight: bold; letter-spacing: -1.25px; color: #000;}
.history-area ul li .roof-area {}
.history-area ul li .roof-area .day-txt {display: flex; align-items: center; margin-bottom: 12px;}
.history-area ul li .roof-area .day-txt:last-of-type {margin-bottom: 0;}
.history-area ul li .roof-area .day-txt .day {min-width: 25px; width: auto; margin-right: 39px; font-size: 20px; font-weight: bold; letter-spacing: -1px; color: #000;}
.history-area ul li .roof-area .day-txt .txt {font-size: 20px; font-weight: 400; letter-spacing: -0.4px; color: #000; line-height: 1.2;}

/* sec-tit2 */
.sec-tit2 {margin-bottom: 0;}
.sec-tit2 .tit {padding-bottom: 0; margin-bottom: 0; border: none;}
.product-table {margin-top: 30.5px; border-top: 1px solid #707070; border-bottom: 0.4px solid #707070;}
.product-table table {width: 100%;}
.product-table table tbody tr {border-top: 0.4px solid #707070;}
.product-table table th:first-child {padding-left: 37px;}
.product-table table td {min-width: 185px; width: 185px;}
.product-table.product-table2 table td {min-width: 185px; width: 185px; height: 68px;}
.product-table table td:first-child {padding-left: 37px;}
.product-table table td:last-child {min-width: 341px; width: 341px;}
.product-table.product-table2 table td:nth-child(3) {min-width: 341px; width: 341px;}
.product-table.product-table2 table td:last-child {min-width: 185px; width: 185px;}
.product-table table th {padding: 12.5px 0; text-align: left; vertical-align: middle; box-sizing: border-box; border-bottom: 0.4px solid #707070; font-size: 18px; font-weight: 800; color: #000;}
.product-table table td {text-align: left; vertical-align: top; height: 142px; padding-top: 16.8px; box-sizing: border-box; font-size: 15px; font-weight: 300; line-height: 1.53; letter-spacing: -0.45px; color: #000;}

/* pager-area */
.pager-area {width: 100%; height: auto; margin-top: 40px;}
.pager-area ul {display: flex; align-items: center; justify-content: center;}
.pager-area ul .arrow {width: 10px; height: auto;}
.pager-area ul .prev {margin-left: 10px; margin-right: 20px;}
.pager-area ul .next {margin-right: 10px; margin-left: 20px;}
.pager-area ul .arrow img {width: 100%; height: auto;}
.pager-area ul .all_arrow {width: 15px; height: auto;}
.pager-area ul .all_arrow img {width: 100%; height: auto;}
.pager-area ul .number {display: flex; align-items: center; justify-content: center; min-width: 33px; width: auto; height: 33px; padding: 0 13px; margin-right: 5px; box-sizing: border-box; border: solid 1px #d1d1d1;}
.pager-area ul .number:last-of-type {margin-right: 0;}
.pager-area ul .number a {font-size: 16px; font-weight: 400; color: #aaa;}
.pager-area ul .number.active {background: #000;}
.pager-area ul .number.active a {color: #fff;}
/* //pager-area */

/* dim */
.dim {position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background: rgba(0, 0, 0, 0.5); z-index: 8;}

/* notice */
.sec-tit-notice {margin-bottom: 30px;}
.sec-tit-notice {margin-bottom: 30px;}
.sec-tit.sec-tit-notice .tit {margin-bottom: 0; padding-bottom: 0; border: none;}

.table-area {width: 100%; height: auto; border-top: 1px solid #707070;}
.table-area table {width: 100%; height: auto;}
.table-area table th {height: 45px; vertical-align: middle; border-bottom: 1px solid #707070; font-size: 18px; font-weight: 800; line-height: 1.11; color: #000;}
.table-area table td:first-child {min-width: 72px; width: 72px;}
.table-area table td:last-child {min-width: 114px; width: 114px;}
.table-area table td {text-align: center; height: 50px; vertical-align: middle; border-bottom: 0.4px solid rgba(112, 112, 112, .5); font-size: 15px; font-weight: 300; line-height: 1.53; letter-spacing: -0.3px; color: #000;}
.table-area table td.tit {max-width: 100px; /* 셀의 최대 너비를 설정합니다. */ white-space: nowrap; /* 텍스트를 한 줄에 표시하도록 설정합니다. */ overflow: hidden; /* 텍스트를 셀 내에서 숨기도록 설정합니다. */ text-overflow: ellipsis; /* 텍스트가 셀을 넘치면 점 세 개(ellipsis)로 표시합니다. */}

/* notice-detail */
.notice-detail {width: 100%; height: 45px; border-top: 1px solid #707070; border-bottom: 1px solid #707070; box-sizing: border-box;}
.notice-detail .top-bar {display: flex; align-items: center; justify-content: space-between; width: 100%; height: 100%; padding: 0 20px; box-sizing: border-box;}
.notice-detail .top-bar .tit {display: flex; align-items: center; gap: 20px;}
.notice-detail .top-bar .tit b {font-size: 18px; font-weight: 800; line-height: 1.11; color: #000;}
.notice-detail .top-bar .tit span {font-size: 15px; font-weight: 300; line-height: 1.53; letter-spacing: -0.3px; color: #000;}
.notice-detail .top-bar .d-flex {gap: 40px;}

/* detail_content */
.detail_content {display: flex; flex-flow: column; gap: 20px; margin-top: 30px;}
.detail_content p {font-size: 15px; font-weight: 300; line-height: 1.53; letter-spacing: -0.3px; color: #000;}
.detail_content img {width: 100%; height: auto;}
.detail_content iframe {width: 100%; min-height: 350px;}