/* 페이드인 애니메이션 정의 */
@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translateY(40px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInDown {
    0% {
        opacity: 0;
        transform: translateY(-30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInScale {
    0% {
        opacity: 0;
        transform: scale(1.05);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes slideInLeft {
    0% {
        opacity: 0;
        transform: translateX(-40px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slideInRight {
    0% {
        opacity: 0;
        transform: translateX(40px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes contentFadeIn {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* slogun 전용 애니메이션 (중앙 정렬 유지) */
@keyframes slogunFadeInUp {
    0% {
        opacity: 0;
        transform: translate(-50%, calc(-50% + 40px));
    }
    100% {
        opacity: 1;
        transform: translate(-50%, -50%);
    }
}

/* scroll 전용 애니메이션 (하단 중앙 정렬 유지) */
@keyframes scrollFadeInUp {
    0% {
        opacity: 0;
        transform: translate(-50%, 40px);
    }
    100% {
        opacity: 1;
        transform: translate(-50%, 0);
    }
}

/* 메인비주얼 */
.visual { position: relative; width: 100%; height: auto; overflow: hidden; animation: fadeInScale 1.2s cubic-bezier(0.4, 0, 0.2, 1) forwards; }
.visual .item img { max-width: 100%; width: 100%; height: 100vh; object-fit: cover; }
.visual .slogun { display: flex; max-width: 40rem; width: 100%; padding: 1rem; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; color: #fff; flex-direction: column; align-items: center; opacity: 0; animation: slogunFadeInUp 1s cubic-bezier(0.4, 0, 0.2, 1) 0.3s forwards; }
.visual .slogun h3 { font-family: 'SUITE'; font-weight: 900; font-size: 3.25rem; letter-spacing: 0; line-height: 1.4; margin-bottom: 1.3rem; word-break: auto-phrase; opacity: 0; animation: fadeInUp 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) 0.5s forwards; }
.visual .slogun h3 span { font-weight: 700; }
.visual .slogun p { font-weight: 400; font-size: 0.9rem; line-height: 1.6; letter-spacing: normal; opacity: 0; animation: fadeInUp 0.8s cubic-bezier(0.4, 0, 0.2, 1) 0.7s forwards; }
.visual .slogun p strong { font-weight: 600; }
.visual .slogun .btnWrap { position: relative; display: flex; margin-top: 1.6rem; text-align: center; justify-content: center; opacity: 0; animation: fadeInUp 0.8s cubic-bezier(0.4, 0, 0.2, 1) 0.9s forwards; }
.visual .slogun .btnWrap a { display: flex; width: auto; height: 2.6rem; padding: 0 1rem; gap: 0.5rem; border: 1px solid rgb(255 255 255 / 50%); background: rgb(255 255 255 / 10%); backdrop-filter: blur(2px); border-radius: 0.4rem; align-items: center; justify-content: center; color: #fff; transition: 0.5s all; }
.visual .slogun .btnWrap a span { font-weight: 500; font-size: 0.8rem; }
.visual .slogun .btnWrap a i { font-size: 1rem; }
.visual .slogun .btnWrap a:hover { color: #020E2A; background: rgb(255 255 255 / 80%); }
.visual .dotsWrap { display: flex; justify-content: center; margin-top: 4rem; }
.visual .slick-dots { position: relative; display: flex; gap: 0.75rem; }
.visual .slick-dots li { line-height: 0; }
.visual .slick-dots button { position: relative; width: 0.4rem; height: 0.4rem; border: 1px solid #fff; padding: 0; border-radius: 0.4rem; background: transparent; text-indent: -999999%; overflow: hidden; cursor: pointer; transition: all .3s ease; }
.visual .slick-dots .slick-active button { width: 1.5rem; background: #fff; border-radius: 0.25rem; }
.visual .scroll { display: flex; width: auto; position: absolute; bottom: 3rem; left: 50%; transform: translate(-50%, 0); text-align: center; color: #fff; opacity: 0; animation: scrollFadeInUp 0.8s cubic-bezier(0.4, 0, 0.2, 1) 1.2s forwards; }
.visual .scroll:before { content: ""; position: absolute; bottom: -3rem; left: 50%; transform: translate(-50%, 0); width: 1px; height: 2.5rem; background: #fff; border-radius: 50%; }
.visual .scroll p { position: relative; font-family: 'SUITE'; font-weight: 500; letter-spacing: normal; line-height: 1.5; font-size: 0.75rem; animation: scrollLoop 1.5s infinite ease-in-out; left: 50%; }
@keyframes scrollLoop { 0% { transform: translate(-50%, 0); } 50% { transform: translate(-50%, 10px); } 100% { transform: translate(-50%, 0); } }

/* 섹션별 타이틀 애니메이션 */
.section2 .inner .titWrap,
.section3 .inner .titWrap,
.section4 .inner .titWrap { opacity: 0; animation: fadeInUp 0.8s cubic-bezier(0.4, 0, 0.2, 1) 0.2s forwards; }

/* 메인 콘텐츠 (ContWrap) */
.contWrap { position: relative; width: 100%; display: flex; margin-top: 5rem; gap: 1.5rem; align-items: stretch; opacity: 0; animation: contentFadeIn 0.8s cubic-bezier(0.4, 0, 0.2, 1) 0.4s forwards; }
.contWrap dl { position: relative; display: flex; flex: 1; min-height: 21.65rem; padding: 3rem 1.8rem 1.5rem; border-radius: 1rem; border: 1px solid #d9d9d9; transition: 0.3s all; flex-direction: column; background: #fff; opacity: 0; animation: fadeInUp 0.6s cubic-bezier(0.4, 0, 0.2, 1) forwards; }
.contWrap dl:nth-child(1) { animation-delay: 0.5s; }
.contWrap dl:nth-child(2) { animation-delay: 0.65s; }
.contWrap dl:nth-child(3) { animation-delay: 0.8s; }
.contWrap dl.active, .contWrap dl:hover, .contWrap dl:focus { background: #376CFB; }
.contWrap dl.active dt, .contWrap dl:hover dt, .contWrap dl:focus dt { color: #fff; }
.contWrap dl.active dd *, .contWrap dl:hover *, .contWrap dl:focus * { color: #fff; }
.contWrap dl:hover .list_st1 > li:before { background: #fff; }
.contWrap dl dt { font-size: 1rem; font-weight: 600; color: #111; }
.contWrap dl dd { margin-top: 1rem; }
.contWrap dl dd p { font-size: 0.85rem; line-height: 1.6; letter-spacing: 0.4px; color: #111; word-break: keep-all; }
.nowrap { white-space: nowrap; }
.contWrap dl dd.icon { display: flex; width: 4.75rem; height: 4.75rem; margin-top: auto; margin-left: auto; align-items: center; justify-content: center; background: rgb(255 255 255 / 10%); border-radius: 50%; }
.contWrap dl dd.icon img { max-width: 100%; }
p + .list_st1 { margin-top: 1rem; }
.list_st1 > li { position: relative; padding-left: 0.5rem; color: #111; }
.list_st1 > li:before { position: absolute; content: ""; width: 5px; height: 5px; border-radius: 1px; background: #376cfb; left: 0; top: 0.4rem; transition: 0.3s all; }

/* 스와이퍼 (Panorama) */
.panorama-slider-container { position: relative; width: 100%; max-width: 80rem; margin: 3.5rem auto 0; overflow: visible; opacity: 0; animation: fadeInUp 0.8s cubic-bezier(0.4, 0, 0.2, 1) 0.4s forwards; }
.panorama-slider-container:before { content: ""; position: absolute; width: 250px; height: 37px; top: -30px; left: 50%; transform: translateX(-50%); background: url(../images/main/star.png) no-repeat; }
.swiper { width: 100%; height: 100%; perspective: 1200px; overflow: unset !important; }
.swiper-wrapper { transform-style: preserve-3d; align-items: center; }
.swiper-slide { transition: transform 0.5s ease, opacity 0.5s ease; }
.slide-inner { width: 100%; height: 100%; position: relative; overflow: visible; }
.slide-img { position: relative; display: flex; justify-content: center; align-items: center; width: 100%; height: 21rem; border-radius: 0.75rem; overflow: hidden; cursor: pointer; transition: transform 0.3s ease; background: #959595; transform: translateZ(0); -webkit-transform: translateZ(0); will-change: transform; -webkit-backface-visibility: hidden; backface-visibility: hidden; }
.slide-img img { max-width: 100%; width: 100%; height: 100%; object-fit: cover; transition: all 0.3s ease; }
.slide-img.noItem img { object-fit: none; }
.slide-content { position: absolute; width: 100%; text-align: center; margin-top: 1.2rem; opacity: 0; -webkit-transform: translateZ(0); transform: translateZ(0); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; transform: translateZ(0) scale(1.15); transform-origin: center top; }
.swiper-slide-active .slide-content { opacity: 1; }
.slide-title { font-size: 1.5rem; font-weight: 600; line-height: 1.4; margin-bottom: 0.2rem; letter-spacing: -0.5px; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.slide-info { font-size: 1.2rem; color: #fff; letter-spacing: -0.5px; line-height: 1.4; font-weight: 400; }

/* 호버 (Hover) */
.hover-wrap { position: absolute; display: flex; flex-direction: column; justify-content: center; align-items: center; width: 100%; height: 100%; top: 50%; left: 0; transform: translateY(-50%); width: 100%; height: 100%; opacity: 0; transition: all 0.3s ease; backface-visibility: hidden; }
.hover-wrap .hover-cont { display: flex; width: 100%; padding: 0.5rem 10%; flex-direction: column; align-items: center; }
.swiper-slide-active .hover-wrap .hover-cont { transform: scale(1.15); -webkit-font-smoothing: antialiased; }
.hover-wrap .date { display: flex; width: 4rem; height: 1.5rem; background: transparent; box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.3); border: none; padding: 0.2rem; border-radius: 2.5rem; color: #fff; font-weight: 400; font-size: 0.7rem; line-height: 1.4; letter-spacing: 0px; align-items: center; justify-content: center; }
.hover-wrap .txt { margin-top: 0.4rem; margin-bottom: 1.5rem; font-size: 0.9rem; font-weight: 400; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; letter-spacing: 0px; line-height: 1.4; text-align: center; color: #fff; }
.hover-wrap .btn-hover { width: 2.75rem; height: 2.75rem; background-color: rgba(255, 255, 255, 0.1); color: #fff; backdrop-filter: blur(2px); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 50%; display: flex; justify-content: center; align-items: center; font-weight: normal; }
.hover-wrap .btn-hover i { font-size: 1rem; }
.swiper-slide-active .slide-img:hover { transform: scale(1.1) translateZ(0); z-index: 10; box-shadow: 10px 10px 8px 0px rgb(9 12 48 / 30%); transition: transform 0.3s ease, box-shadow 0.3s ease; }
.swiper-slide-active .slide-img:hover .hover-wrap { opacity: 1; background: rgb(0 0 0 / 80%); border: 1px solid #000; }

/* 드래그 (Drag) */
.drag { position: absolute; width: 4rem; height: 4rem; background-color: rgba(255, 255, 255,0.6); color: #141537; border-radius: 50%; border: 1px solid rgba(255, 255, 255,0.3); display: flex; justify-content: center; align-items: center; gap: 0.2rem; font-weight: 600; text-transform: uppercase; font-size: 0.7rem; transform: translate(-50%, -50%) scale(0) translateZ(0); will-change: transform, opacity; pointer-events: none !important; transition: transform 0.2s ease, opacity 0.2s ease; z-index: 9999; opacity: 0; }
.drag.active { opacity: 1; transform: translate(-50%, -50%) scale(1) translateZ(0); }

/* 바로가기 (ShowView) */
.showView { display: flex; right: 13%; top: -0.5rem; position: absolute; width: 5.6rem; height: 5.6rem; border-radius: 50%; z-index: 1; text-align: center; flex-wrap: wrap; flex-direction: column; justify-content: center; align-items: center; transition: 0.3s all; }
.showView::before { content: ''; display: block; width: 5.6rem; height: 5.6rem; background: url(../images/main/show_more.png) no-repeat center / contain; transition: all 0.15s; animation: rotate 30s linear infinite; position: absolute; left: 50%; top: 50%; z-index: -1; transform: translate(-50%, -50%); }
@keyframes rotate { 100% { transform: translate(-50%, -50%) rotate(360deg); } }
.showView .img { display: block; width: 100%; }
.showView .img img { position: relative; transition: transform 0.15s ease; max-width: 100%; }
.showView:hover, .showView:focus { box-shadow: 0 0px 24px rgba(255, 255, 255, 0.48); }

/* 탭 및 콘텐츠 박스 */
.tabWrap { width: 100%; margin: 2rem auto 0; opacity: 0; animation: contentFadeIn 0.4s ease-out 0.1s forwards; }
.tab_list { max-width: 31.5rem; width: 100%; height: 3.45rem; display: flex; align-items: center; background-color: #f4f4f4; border-radius: 2.5rem; margin: 0 auto; }
.tab_list li { display: flex; width: 100%; height: 100%; flex: 1; text-align: center; align-items: center; justify-content: center; }
.tab_list li a { display: flex; width: calc(100% - 0.9rem); height: calc(100% - 0.9rem); transition: all 0.3s; align-items: center; justify-content: center; padding: 0.25rem 1rem; border-radius: 2.5rem; }
.tab_list li a span { position: relative; font-size: 0.9rem; letter-spacing: -0.5px; color: #444; font-weight: 500; transition: 0.3s all;text-overflow: ellipsis;overflow: hidden;white-space: nowrap;}
.tab_list li.on a { background-color: #111; }
.tab_list li.on a span {color: #fff;font-weight: 600;padding-left: 1.2rem;}
.tab_list li.on a span:before {content: "\eb79";position: absolute;font-family: 'remixicon';top: 50%;left: -0.03rem;transform: translateY(-50%);font-weight: normal;}
.contBox.on { display: block; }
.contBox { display: none; margin-top: 4.5rem; }

/* 아이콘 박스 (IcoBox) */
.icoBox {position: relative; display: flex; align-items: stretch; border-top: 1px solid #000; border-bottom: 1px solid #000; opacity: 0; animation: contentFadeIn 0.35s ease-out 0.15s forwards; }
.icoBox > li { position: relative; display: flex; width: 50%; align-items: center; gap: 3rem; padding: 2.5rem 2.5rem 2.5rem 5rem; opacity: 0; animation: slideInLeft 0.3s ease-out forwards; }
.icoBox > li:nth-child(1) { animation-delay: 0.2s; }
.icoBox > li:nth-child(2) { animation-delay: 0.3s; }
.icoBox > li:before { position: absolute; content: ""; top: 50%; right: 0; transform: translateY(-50%); width: 1px; height: calc(100% - 5rem); background: #d9d9d9; }
.icoBox > li:last-child:before { display: none; }
.icoBox .ico { display: flex; flex-direction: column; gap: 0.6rem; text-align: center; align-items: center; }
.icoBox .ico img { display: block; }
.icoBox .ico p { font-size: 0.9rem; font-weight: 600; color: #000; letter-spacing: -0.5px; line-height: 1.5; }
.icoBox .cont { flex: 1; }
.icoBox .cont p { font-size: 0.85rem; font-weight: 400; line-height: 1.6; letter-spacing: normal; color: #000; }
.icoBox .cont p strong { color: #376CFB; font-weight: 600; font-size: 1.05rem; }
.icoBox .cont .adress { display: flex; gap: 0.25rem; align-items: center; }
.icoBox .cont .adress i { font-size: 1rem; }

/* 리스트 박스 선정 절차 (ListBox) */
.listBox { position: relative;width: 100%; display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; opacity: 0; animation: contentFadeIn 0.35s ease-out 0.15s forwards; }
.listBox li { flex: 1; display: flex; flex-wrap: wrap; gap: 1.5rem 1rem; flex-direction: column; align-items: center; max-width: 100%; opacity: 0; animation: fadeInUp 0.25s ease-out forwards; }
.listBox li:nth-child(1) { animation-delay: 0.2s; }
.listBox li:nth-child(3) { animation-delay: 0.25s; }
.listBox li:nth-child(5) { animation-delay: 0.3s; }
.listBox li:nth-child(7) { animation-delay: 0.35s; }
.listBox li:nth-child(9) { animation-delay: 0.4s; }
.listBox li.arrow { flex: 0; animation-delay: 0.22s; }
.listBox li .ico { position: relative; display: flex; align-items: center; justify-content: center; width: 7.75rem; height: 7.75rem; border: 1px solid rgb(106 142 240 / 50%); border-radius: 50%; }
.listBox li .ico img { max-width: 100%; }
.listBox li .step { position: absolute; bottom: -0.75rem; left: 50%; transform: translateX(-50%); display: flex; font-weight: 500; font-size: 0.65rem; letter-spacing: normal; color: #fff; align-items: center; justify-content: center; background: #376cfb; border-radius: 0.5rem; width: 2.6rem; height: 1.5rem; }
.listBox li .tit { color: #000; font-weight: 500; font-size: 0.85rem; letter-spacing: -0.5px; line-height: 1.5; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }
.listBox-desc { margin-top: 2.5rem; font-size: 0.85rem; line-height: 1.7; color: #555; word-break: keep-all; text-align: center; }
.listBox-desc strong { color: #376cfb; font-weight: 600; }

/* 테이블 및 버튼 */
.tableWrap { position: relative; width: 100%; padding: 0 1.7rem; opacity: 0; animation: contentFadeIn 0.35s ease-out 0.15s forwards; }
.btn { position: relative; display: inline-flex; width: auto; gap: 0.5rem; padding: 0.5rem 0.75rem 0.5rem 1rem; vertical-align: middle; text-align: center; font-weight: 500; font-size: 0.75rem; border-radius: 0.5rem; transition: all 0.3s ease; background: #376cfb; color: #fff; justify-content: center; align-items: center; }
.btn i { font-weight: normal; }
.btn:hover, .btn:focus { background: #1251f9; }

/* 파일 유형별 다운로드 버튼 */
.bttn { display: flex; gap: 0.5rem; flex-wrap: wrap; justify-content: center; }
.bttn .btn { background: transparent; border: 1px solid; text-transform: uppercase; }
.bttn .btn.pdf { color: #da1f31; border-color: #da1f31; }
.bttn .btn.pdf:hover { background: #da1f31; color: #fff; }
.bttn .btn.dwg { color: #2891fc; border-color: #2891fc; }
.bttn .btn.dwg:hover { background: #2891fc; color: #fff; }
.bttn .btn.hwp { color: #2a3f9c; border-color: #2a3f9c; }
.bttn .btn.hwp:hover { background: #2a3f9c; color: #fff; }
.bttn .btn.zip { color: #000000; border-color: #000000; }
.bttn .btn.zip:hover { background: #000000; color: #fff; }
div[class*='tbl_st'] { position: relative; width: 100%; background: #fff; overflow: hidden; }
div[class*='tbl_st'] > table { position: relative; width: 100%; margin-left: -1px; text-align: center; border-top: 1px solid #000; border-bottom: 1px solid #000; -webkit-overflow-scrolling: touch; word-break: keep-all; }
div[class*='tbl_st'] > table th { padding: 0.5rem 0.3rem; color: #000; font-weight: 500; vertical-align: middle; line-height: 1.3; background: rgb(20 83 255 / 5%); font-size: 0.85rem; }
div[class*='tbl_st'] > table td { font-size: 0.85rem; padding: 1.35rem 0.3rem; line-height: 1.4; color: #000 !important; border-top: 1px solid #d9d9d9; vertical-align: middle; }
div[class*='tbl_st'] > table td ul li { color: #000; font-size: 0.85rem; line-height: 1.4; }
div[class*='tbl_st'] > table thead th { background: transparent; padding: 1rem 0.5rem; }
div[class*='tbl_st'] > table tbody th { background: transparent; color: #222; }
div[class*='tbl_st'] > table tfoot th { background: transparent; color: #222; }
div[class*='tbl_st'] .list_st2 > li { font-size: 0.8rem; }

/* Media Queries */
@media (max-width: 1280px) {
    .listBox {width: fit-content; margin: 0 auto;}
    .listBox li .ico { width: 5rem; height: 5rem; }
    .listBox li .ico img { width: 50%; }
}

@media screen and (max-width: 1024px) {
    div[class*='tbl_st'] > table { word-break: break-all; }
    div[class*='tbl_st'].scroll_gr, div[class*='tbl_st'].scroll_wide { width: 100%; overflow-x: auto; background-repeat: no-repeat; background-position: right 5px; background-size: 30px 100%; z-index: 1; background-image: linear-gradient(to left,rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0) 100%); }
    div[class*='tbl_st'].scroll_gr table, div[class*='tbl_st'].scroll_wide table { width: 1024px; }
    .showView { right: 1rem; }
    .icoBox > li { gap: 3rem; padding: 1.5rem; }

    /* 이달의 발명가 */
    .contWrap { margin-top: 2rem; flex-wrap: wrap; }
    .contWrap dl { flex: auto; width: 100%; min-height: auto; padding: 1.5rem; }
    .contWrap dl dd.icon { width: 3rem; height: 3rem; margin-top: 1rem; }
    .contWrap dl dd.icon img { max-width: 100%; width: 50%; }
    .contWrap dl dd p { font-size: 0.8rem; }
    .contWrap dl dd p br{display: none;}

    /* 추천 및 심사 */
    .icoBox {flex-wrap: wrap;}
    .icoBox li {width:100%;}
    .icoBox > li:before { width: 100%; height: 1px; top: auto; bottom: 0; left: 0; }
    .listBox li {flex:0;}
}

@media (max-width: 768px) {
    .visual .item img { height: auto; min-height: 30rem; }
    .visual .slogun h3 { font-size: 1.5rem; margin-bottom: 1rem; }
    .visual .slogun p { font-size: 0.8rem; }
    .visual .slogun p br { display: none; }
    .visual .slogun .btnWrap { margin-top: 1rem; }
    .visual .slogun .btnWrap a { height: 2.6rem; padding: 0 1rem; gap: 0.5rem; }
    .visual .slogun .btnWrap a span { font-size: 0.8rem; }
    .visual .slogun .btnWrap a i { font-size: 1rem; }
    .visual .dotsWrap { margin-top: 2rem; }
    .visual .slick-dots { gap: 0.75rem; }

    .showView { display: none; }
    .contBox { margin-top: 2rem; }
    .tableWrap { padding: 0; }
    .slide-title { font-size: 1.2rem; }
    .slide-info { font-size: 1rem; }
    .drag { display: none; }


}

@media (max-width: 640px) {
    .tabWrap { margin-top: 2rem; }
    .tab_list { flex-wrap: wrap; height: auto; padding: 0.45rem; border-radius: 0.5rem; }
    .tab_list li { width: 100%; flex: auto; }
    .tab_list li a { width: 100%; height: 100%; }
    .tab_list li a span { font-size: 0.8rem;}

    /* 추천 및 심사 */
    .icoBox li {flex-wrap: wrap; gap: 0.5rem; padding: 1rem; }
    .icoBox > li + li { margin-top: 1rem; }
    .icoBox li .ico { width: 100%; margin-top: 2rem; }
    .icoBox li .cont {display: flex; flex-direction: column; align-items: center; padding: 0.5rem 0 1rem; }
    .icoBox li .cont .adress { gap: 0.5rem; }
    .icoBox .cont p {display: inline-block; width: fit-content; font-size: 0.8rem; }
    .icoBox .cont p strong { font-size: 0.9rem; }
}

@media (max-width: 480px) {
    .listBox {margin: 2rem auto 0; padding: 0; display: flex; width: fit-content; flex-direction: column; align-items: flex-start; gap: 0.6rem; }
    .listBox li { display: flex; flex-direction: row; justify-content: flex-start; align-items: center; gap: 0.9rem; max-width: 100%; flex: auto; width: 100%; flex-wrap: nowrap; }
    .listBox li .ico { width: auto; height: auto; border: none; }
    .listBox li .ico img { display: none; }
    .listBox li .tit { line-height: 1; text-align: left; }
    .listBox li .step { position: relative; width: 3.5rem; height: 1.75rem; font-size: 0.8rem; bottom: auto; left: auto; transform: translateX(0); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
    .listBox li.arrow {transform: rotate(90deg)!important;width: auto;flex: 0 0 auto;align-self: flex-start;margin-left: 3rem;}
}