 @charset "utf-8";
/* doc.css는 디자인페이지 스타일을 정의합니다. */
.root_daum_roughmap {width:100% !important; height:clamp(250px, calc( 550 / var(--inner) * 100vw ), 550px) !important;}
.root_daum_roughmap .wrap_map {height:clamp(250px, calc( 550 / var(--inner) * 100vw ), 550px) !important;}
.roughmap_lebel_text {line-height:0 !important; font-size:0 !important;}
.roughmap_lebel_text:after {content:"서울 강서구 공항대로 212"; font-size:12px; line-height:15px;}

.bullet-item .bullet-list {position:relative; padding-left:15px;  line-height:1.87;}
.bullet-item .bullet-list::before {position:absolute; content:''; left:0; top:13px; width:3px; height: 3px; background:var(--color-primary); border-radius: 50%;}
.bullet-item .bullet-list.none {padding-left: 0;}
.bullet-item .bullet-list.none::before {display: none;}
.bulletitem2 { padding-left: 0.6em; text-indent: -0.6em;}

/*  css 파일 추가 처리(선택사항)  */
.fr-box .swiper-wrapper {display:block;}

.blocker {z-index: 100;}
.modal {max-width:980px; width: 100%;}

.bg-gray {background:#fafafa;}
.bg-blue {background: rgba(30, 100, 220, 0.03);}
.overhidden {overflow: hidden;}
.subsec-pd {padding: clamp(50px, calc( 100 / var(--inner) * 100vw ), 100px) 0;}

.radiobx {display: flex; flex-wrap: wrap;}
.radiobx .item {display: flex;align-items: center; min-height: clamp(38px, calc( 44 / var(--inner) * 100vw ), 44px);}
.radiobx .item:not(:last-child) {margin-right: clamp(15px, calc( 40 / var(--inner) * 100vw ), 40px);}

.insub-title {margin-bottom: var(--padding-80); text-align: center;}
.insub-title .tit {font-size: var(--font-size-40); font-weight: 600; line-height: 1.2;}

.greet1 .flxWrap {gap: var(--padding-100);}
.greet1 .imgbx {width: clamp(300px, calc( 600 / var(--inner) * 100vw ), 600px);}
.greet1 .textbx {flex: 1; display: flex;flex-direction: column;gap: var(--padding-40);}
.greet1 .title {font-size: var(--font-size-32); line-height:1.37; font-weight: 600;}
.greet1 .decbx {display: flex;flex-direction: column;gap: var(--padding-32);}
.greet1 .dec {font-size:var(--font-size-18); color: var(--color-body); line-height: 1.77;}
.greet1 .namebx {display: flex;gap: var(--padding-20); font-size: var(--font-size-18); }
.greet2 {background: url(../images/main/symbol.png) no-repeat left top; background-size:clamp(150px, calc( 600 / var(--inner) * 100vw ), 600px) auto;}
.greet2-list {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:var(--padding-30);}
.greet2-item {position:relative; background:#fff; border:1px solid #ddd; border-radius:var(--border-radius-24); overflow:hidden;}
.greet2-no {display:block; padding:var(--padding-30); font-size:var(--font-size-40); font-weight:700; color:var(--color-primary); line-height:1.3;}
.greet2-txt {display:flex; flex-direction:column; gap:var(--padding-30); padding:0 var(--padding-30) var(--padding-30);}
.greet2-tit {font-size:var(--font-size-24); font-weight:600; color:var(--color-dark); line-height:1.33;}
.greet2-icn {position:absolute; right:clamp(10px, calc(30 / var(--inner) * 100vw), 30px); bottom:clamp(10px, calc(30 / var(--inner) * 100vw), 30px); width:clamp(5px, calc(88 / var(--inner) * 100vw), 88px); height: auto; aspect-ratio: 1/1;}
.greet2-icn img {width:100%;}

.hisflx .flxWrap {gap: 30px; background:url(../images/main/symbol.png) no-repeat left bottom; background-size:clamp(150px, calc( 500 / var(--inner) * 100vw ), 500px) auto;}
.hisflx .titlebx {display: flex;flex-direction: column;gap: var(--padding-30); width: clamp(250px, calc( 585 / var(--inner) * 100vw ), 585px); letter-spacing: -0.5px;}
.hisflx .titlebx .cate {font-size:var(--font-size-18); font-weight:600; color:#BEBEBE; line-height:1;}
.hisflx .titlebx .title {font-size:var(--font-size-28); font-weight:600; color:#242424; line-height:1.42;}
.hisflx .textbx {flex: 1 0 auto ; width: 1%;}
.hisflx .histlist {border-top: 1px solid #242424;}
.hisflx .histitem {display: flex;flex-wrap: wrap; gap:20px; align-items: center; padding:var(--padding-30) var(--padding-30); border-bottom: 1px solid #ddd; letter-spacing: -0.5px;}
.hisflx .histitem .year {width: clamp(90px, calc(100 / var(--inner) * 100vw), 100px); font-size: var(--font-size-28); font-weight: 600;} 
.hisflx .histitem .contbx {display: flex;flex-direction: column;gap: var(--padding-10); flex: 1 0 auto ; width: 1%;}
.hisflx .histitem .contitem {display: flex; line-height: 1.5;}
.hisflx .histitem .monthday {width: clamp(75px, calc(120 / var(--inner) * 100vw), 120px); font-weight: 500;}
.hisflx .histitem .dec {flex: 1 0 auto; width: 1%; color: var(--color-body);}

.mapwrap {margin: var(--padding-60) 0;}
.loc-head {display:flex; flex-wrap:wrap; align-items:center; gap:clamp(10px, calc(16 / var(--inner) * 100vw), 16px);}
.loc-head-icn {display:flex; align-items:center; justify-content:center; flex-shrink:0; width:clamp(30px, calc(48 / var(--inner) * 100vw), 48px); height:clamp(30px, calc(48 / var(--inner) * 100vw), 48px); background:var(--color-primary); border-radius:60px;}
.loc-head-icn img {width:clamp(14px, calc(24 / var(--inner) * 100vw), 24px);}
.loc-head-tit {font-size:var(--font-size-24); font-weight:600; color:var(--color-dark); line-height:1.33;}
.loc-head-bar {display:block; flex-shrink:0; width:1px; height:clamp(12px, calc(16 / var(--inner) * 100vw), 16px); background:#ddd;}
.loc-head-addr {font-size:var(--font-size-20); color:var(--color-body); line-height:1.8;}
.mapwrap .map {overflow:hidden;}
.loc-info-list {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); }
.loc-info-item {position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:clamp(20px, calc(30 / var(--inner) * 100vw), 30px); padding:clamp(24px, calc(40 / var(--inner) * 100vw), 40px); }
.loc-info-item:not(:last-child)::after {position:absolute; content:''; right:0; top:0; bottom:0; border-right:1px dashed #ddd;}
.loc-info-icn {display:flex; align-items:center; justify-content:center; flex-shrink:0; width:clamp(30px, calc(48 / var(--inner) * 100vw), 48px); height:clamp(30px, calc(48 / var(--inner) * 100vw), 48px); background:var(--color-primary); border-radius:50px;}
.loc-info-icn img {width:clamp(14px, calc(24 / var(--inner) * 100vw), 24px);}
.loc-info-txt {display:flex; flex-direction:column; align-items:center; gap:clamp(6px, calc(8 / var(--inner) * 100vw), 8px); text-align:center;}
.loc-info-tit {font-size:var(--font-size-18); font-weight:700; color:var(--color-dark); line-height:1.55; letter-spacing:-0.02em;}
.loc-info-dec {font-size:var(--font-size-16); color:var(--color-body); line-height:1.5; letter-spacing:-0.02em;}
.loc-route {padding:var(--padding-30); border:1px solid #ddd; border-radius:var(--border-radius-24); background:#fff; margin-top: var(--padding-100);}
.loc-route-head {display:flex; align-items:center; gap:clamp(14px, calc(20 / var(--inner) * 100vw), 20px); margin-bottom:clamp(20px, calc(30 / var(--inner) * 100vw), 30px);}
.loc-route-icn {display:flex; align-items:center; justify-content:center; flex-shrink:0; width:clamp(30px, calc(48 / var(--inner) * 100vw), 48px); height:clamp(30px, calc(48 / var(--inner) * 100vw), 48px); background:var(--color-primary); border-radius:800px;}
.loc-route-icn img {width:clamp(14px, calc(28 / var(--inner) * 100vw), 28px);}
.loc-route-tit {font-size:var(--font-size-22); font-weight:600; color:var(--color-dark); line-height:1.2; letter-spacing:-0.02em;}
.loc-route-txt {padding:clamp(16px, calc(20 / var(--inner) * 100vw), 20px) clamp(20px, calc(25 / var(--inner) * 100vw), 25px); border-radius:8px; background:rgba(30, 100, 220, 0.03);}
.loc-route-dec {font-size:var(--font-size-18); color:var(--color-body); line-height:2; letter-spacing:-0.02em;}

.tabwrap {margin-bottom: var(--padding-80); overflow-x: auto; text-align: center;}
.tablist {display: inline-flex;justify-content: center; border: 1px solid #ddd; padding: clamp(4px, calc(8 / var(--inner) * 100vw), 8px); border-radius: 500px;}
.tabitem .link {display: inline-flex;align-items: center;justify-content: center; padding: 0 24px; min-width: clamp(120px, calc(190 / var(--inner) * 100vw), 190px); height: clamp(36px, calc(48 / var(--inner) * 100vw), 48px); border-radius:80px; color: #BEBEBE; font-weight: 600; font-size: var(--font-size-18); white-space: nowrap;}
.tabitem.active .link {background: var(--color-primary); color: #fff;}
.busitoptext { text-align: center; font-size: var(--font-size-20); color: var(--color-body); line-height:1.7; }

.busi-slide {position:relative; padding:var(--padding-40) 0; margin: var(--padding-60) 0; border-top:1px solid #242424; border-bottom:1px solid #242424;}
.busi-slide-swiper {position: relative; overflow:hidden; padding:0 clamp(40px, calc(150 / var(--inner) * 100vw), 150px);}
.busi-slide-item {display:flex; flex-direction:column; align-items:center; justify-content:center; gap:var(--padding-20); width:100%; padding:0; border:0; background:transparent; cursor:pointer;}
.busi-slide-thumb {display: block; position:relative; padding-bottom:140.59%; overflow:hidden; width: 100%;}
.busi-slide-thumb img {position:absolute; top:50%; left:0; transform:translateY(-50%); width:100%; height:auto; max-width:100%; min-height:100%;object-fit : cover;}
.busi-slide-thumb:after {content:""; position:absolute; top:0; left:0; right:0; bottom:0; border:2px solid #ddd;}
.busi-slide-tit {font-size:var(--font-size-18); font-weight:500; line-height:1.44; text-align:center; display:-webkit-box; -webkit-box-orient: vertical; overflow: hidden; -webkit-line-clamp: 1;}
.busi-slide .swiper-slide.is-selected .busi-slide-thumb:after {border-color:var(--color-primary);}
.busi-slide .swiper-slide.is-selected .busi-slide-tit {color:var(--color-primary);}
.busi-slide-btn {position:absolute; top:calc(50% - 20px); display:flex; align-items:center; justify-content:center; width:clamp(28px, calc(48 / var(--inner) * 100vw), 48px); height:clamp(28px, calc(48 / var(--inner) * 100vw), 48px); margin:0; border:1px solid #ddd; border-radius:27px; background:#fff; z-index:10; cursor:pointer;}
.busi-slide-btn svg {width:clamp(6px, calc(8 / var(--inner) * 100vw), 8px); height:auto; aspect-ratio: 8/14;}
.busi-slide-btn::after {display:none;}
.busi-slide-btn:hover {background: var(--color-secondary); border-color: var(--color-secondary); }
.busi-slide .swiper-button-prev {left:clamp(2px, calc(30 / var(--inner) * 100vw), 30px);}
.busi-slide .swiper-button-next {right:clamp(2px, calc(30 / var(--inner) * 100vw), 30px);}
.busi-slide-btn.swiper-button-disabled {opacity:0.35; cursor:default;}
.main-slidewrap .slidetit {margin-bottom: var(--padding-40); font-size: var(--font-size-32); font-weight: 600; line-height: 1.25; text-align: center;}
.busi-mainslide {display:flex; flex-direction:column; gap:var(--padding-60);}
.busi-main-group {display:none;}
.busi-main-group.active {display:block;}
.busi-main-area {display:flex; flex-direction:column; width:100%;}
.busi-main-swiper {position:relative; width:100%; overflow:hidden;}
.busi-main-swiper .swiper-slide {height:auto;}
.busi-main {max-width:1400px; width:100%; margin:0 auto;}
.busi-main-img {position:relative; width:100%; height:0; padding-bottom:140.59%; overflow:hidden; }
.busi-main-img img {position:absolute; top:50%; left:0; transform:translateY(-50%); width:100%; height:auto; max-width:100%; min-height:100%; object-fit:cover;}
.busi-main-paging {position:absolute; left:0; right:0; bottom:clamp(12px, calc(30 / var(--inner) * 100vw), 30px) !important; display:flex; align-items:center; justify-content:center; gap:var(--padding-10); z-index:2;}
.busi-main-paging .swiper-pagination-bullet {width:clamp(8px, calc(12 / var(--inner) * 100vw), 12px); height:clamp(8px, calc(12 / var(--inner) * 100vw), 12px); margin:0; border-radius:50%; background:rgba(255,255,255,0.7); opacity:1; transition:width .3s, background .3s;}
.busi-main-paging .swiper-pagination-bullet-active {width:clamp(16px, calc(24 / var(--inner) * 100vw), 24px); background:var(--color-primary); border-radius: 60px;}
.busi-thumb-bar {display:flex; align-items:center; gap:clamp(10px, calc(30 / var(--inner) * 100vw), 30px); padding:var(--padding-40) var(--padding-30); background:#f8f8f8;}
.busi-thumb-swiper {flex:1 1 auto; min-width:0; overflow:hidden;}
.busi-thumb-img {position:relative; width:100%; height:0; padding-bottom:140.59%; overflow:hidden; }
.busi-thumb-img img {position:absolute; top:50%; left:0; transform:translateY(-50%); width:100%; height:auto; max-width:100%; min-height:100%; object-fit:cover;}
.busi-thumb-img:after {content:""; position:absolute; top:0; left:0; right:0; bottom:0; border:2px solid #ddd;}
.busi-thumb-swiper .swiper-slide-thumb-active .busi-thumb-img:after {border-color:var(--color-primary);}
.busi-thumb-btn {position:initial !important; display:flex; align-items:center; justify-content:center; width: 14px; height: auto; aspect-ratio:14/24; flex-shrink:0;margin:0; border:0; background:transparent; cursor:pointer;}
.busi-thumb-btn svg {width:clamp(10px, calc(14 / var(--inner) * 100vw), 14px); height:auto; aspect-ratio:14/24;}
.busi-thumb-btn::after {display:none;}
.busi-thumb-btn.swiper-button-disabled {opacity:0.35; cursor:default;}
.slidemapinfowrap {margin-top: var(--padding-60);}
.slidemapinfowrap .flxWrap {gap: var(--padding-80);}
.slidemapinfowrap .mapbx {width: clamp(300px, calc(700 / var(--inner) * 100vw), 700px); overflow:hidden;}
.slidemapinfowrap #map {width:100%; height:clamp(250px, calc(380 / var(--inner) * 100vw), 380px);}
.slidemapinfowrap .infobx {flex: 1 0 auto; width: 1%;}
.busi-info-table {width:100%; background:#fff;}
.busi-info-tbl thead th {padding:var(--padding-16) 10px; background:var(--color-primary); font-size:var(--font-size-18); font-weight:600; color:#fff; line-height:1.44; text-align:center;}
.busi-info-tbl {width:100%; border-collapse:collapse; border-spacing:0; border:1px solid #ddd; border-top:0;}
.busi-info-tbl tbody th,
.busi-info-tbl tbody td {padding:var(--padding-25) 10px; border-bottom:1px solid #ddd; text-align:center; }
.busi-info-tbl tbody th {background:rgba(30, 100, 220, 0.03); border-right: 1px solid #ddd; font-size:var(--font-size-18); font-weight:600; color:var(--color-dark); line-height:1.44;}
.busi-info-tbl tbody td {font-size:var(--font-size-16); color:var(--color-body); line-height:1.5;}
.busi-info-tbl tbody .busi-info-row-note{height:160px;}

.sub4head .flxWrap {flex-direction: row-reverse; align-items: center; gap: var(--padding-60);}
.sub4head .imgbx {width: clamp(300px, calc(700 / var(--inner) * 100vw), 700px); border-radius: var(--padding-40); overflow: hidden;}
.sub4head .imgbx img {width: 100%;}
.sub4head .textbx {flex: 1 0 auto; width: 1%; display: flex; flex-direction: column;gap: var(--padding-40);}
.sub4head .tit {font-size: var(--font-size-40); font-weight: 600; line-height: 1.4;}
.sub4head .decbx {display: flex;flex-direction: column;gap: var(--padding-24);}
.sub4head .txt1 {font-size: var(--font-size-22); font-weight: 500; line-height: 1.45;}
.sub4head .txt2 {font-size: var(--font-size-18); line-height: 1.66; color: var(--color-body);}
.sub4head .btn-more {display: inline-flex;align-items: center;justify-content: center;gap:var(--padding-10); padding: var(--padding-15) var(--padding-25); border: 1px solid #242424; font-weight: 500;}
.sub4head .btn-more:hover {background: var(--color-primary); border-color: var(--color-primary); color: #fff;}
.sub4head .btn-more:hover path {fill: #fff;}

.insecflx {display: flex;flex-direction: column;gap: var(--padding-60);}
.insectitbx {text-align: center;}
.insectitbx .cate {display: block; margin-bottom: var(--padding-16); color: #bebebe; font-weight: bold; line-height: 1.5;}
.insectitbx .intit {font-size: var(--font-size-40); font-weight: 600; line-height: 1.4;}
.insectitbx .desc {margin-top: var(--padding-30); font-size: var(--font-size-18); line-height: 1.66; color: var(--color-body);}

.phs1-list {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:var(--padding-30);}
.phs1-item {display:flex; flex-direction:column; align-items:center; padding:var(--padding-30); background:#fff; border:1px solid #ddd; border-radius:var(--border-radius-24); overflow:hidden; text-align:center;}
.phs1-no {display:block; width:100%; font-size:var(--font-size-14); font-weight:600; color:#b3b3b3; line-height:1.71;}
.phs1-icn {display:flex; align-items:center; justify-content:center; width:clamp(40px, calc(56 / var(--inner) * 100vw), 56px); height:auto; aspect-ratio: 1/1; margin:var(--padding-30) 0;background:rgba(30, 100, 220, 0.03); border-radius:8px;}
.phs1-icn img {width:clamp(16px, calc(28 / var(--inner) * 100vw), 28px); height: auto; aspect-ratio: 1/1;}
.phs1-txt {display:flex; flex-direction:column; align-items:center; gap:var(--padding-16); width:100%; }
.phs1-tit {font-size:var(--font-size-20); font-weight:600; color:var(--color-dark); line-height:1.4;}
.phs1-dec {font-size:var(--font-size-16); color:var(--color-body); line-height:1.75;}
.phs1-list.ty2 {grid-template-columns:repeat(2, minmax(0, 1fr));}

.phs2-tbl {width:100%; border-collapse:collapse; border-spacing:0; background:#fff; border: 1px solid #ddd;}
.phs2-tbl thead th {background:var(--color-primary); font-size:var(--font-size-18); font-weight:600; color:var(--color-white); line-height:1.44; text-align:center; }
.phs2-tbl thead th:not(:last-child) {border-right: 1px solid #ddd;}
.phs2-tbl tbody th,
.phs2-tbl tbody td {border-bottom: 1px solid #ddd; border-right: 1px solid #ddd; font-size:var(--font-size-16); color:var(--color-body); line-height:1.62; text-align:center; }
.phs2-tbl tbody th {font-weight:400;} 
.phs2-tbl tbody td:last-child {border-right: 0;}
.phs2-tbl th,
.phs2-tbl td {padding:var(--padding-18) 10px;}

.secinner {display: flex;align-items: center;justify-content: center; padding: var(--padding-40) 10px; background:#fff; border-radius:24px; border: 1px solid #ddd; overflow: hidden; text-align: center;}
.secinner img {width:auto !important; }
.btmtext {margin-top: var(--padding-30); font-size: var(--font-size-18); color: var(--color-body); line-height: 1.66; text-align: center;}
.secinnergrid {display: grid; grid-template-columns: repeat(2,1fr); gap:var(--padding-30);}
.secinner +  .secinnergrid {margin-top: var(--padding-30);}

.phs4-compare {display:flex; align-items:center; justify-content:space-between; gap:var(--padding-30);}
.phs4-card {flex:1; display:flex; flex-direction:column; align-items:center; gap:var(--padding-30); padding:var(--padding-40); background:#fff; border-radius:var(--border-radius-24); box-shadow:0 0 4px rgba(0,0,0,0.16); text-align:center;}
.phs4-card--glass {border-top:3px solid #686868;}
.phs4-card--phs {border-top:3px solid var(--color-primary);}
.phs4-arrow {flex-shrink:0; }
.phs4-arrow img {width:clamp(30px, calc(88 / var(--inner) * 100vw), 88px); height:auto;}
.phs4-head {display:flex; flex-direction:column; align-items:center; gap:8px;}
.phs4-cate {font-size:var(--font-size-14); font-weight:500; color:#bebebe; line-height:1.71;}
.phs4-tit {font-size:var(--font-size-28); font-weight:600; color:var(--color-dark); line-height:1.14;}
.phs4-card--phs .phs4-tit {color:var(--color-primary);}
.phs4-desc {font-size:var(--font-size-16); color:var(--color-body); line-height:1.75;}

.hsc1-list + .hsc1-list {margin-top:var(--padding-30);}
.hsc1-list {display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:var(--padding-30);}
.hsc1-item {position:relative; display:flex; flex-direction:column; padding: var(--padding-30); background:#fff; border:1px solid #ddd; border-radius:var(--border-radius-24); overflow:hidden;}
.hsc1-num {position:absolute; top:29px; right:var(--padding-30); font-size:var(--font-size-60); font-weight:900; color:rgba(0,0,0,0.04); line-height:1;}
.hsc1-icn {display:flex; align-items:center; justify-content: center; width:clamp(40px, calc(56 / var(--inner) * 100vw), 56px); height:auto; aspect-ratio:1/1;background:rgba(30,100,220,0.03); border-radius:8px;}
.hsc1-icn img {width:clamp(16px, calc(28 / var(--inner) * 100vw), 28px); height:auto; aspect-ratio:1/1;}
.hsc1-txt {display:flex; flex-direction:column; gap:var(--padding-10); margin-top: var(--padding-30);}
.hsc1-cate {font-size:var(--font-size-14); font-weight:600; color:var(--color-body); line-height:1.71;}
.hsc1-tit {font-size:var(--font-size-20); font-weight:600; color:var(--color-dark); line-height:1.4;}
.hsc1-list.ty2 {grid-template-columns:repeat(6, minmax(0, 1fr));}
.hsc1-list.ty2 .hsc1-item:nth-child(-n+3) {grid-column:span 2;}
.hsc1-list.ty2 .hsc1-item:nth-child(n+4) {grid-column:span 3;}

.hsc2-list {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:var(--padding-30);}
.hsc2-item {position:relative; background:#fff; border:1px solid #ddd; border-radius:var(--border-radius-24); overflow:hidden;}
.hsc2-letter {position:absolute; top:23px; right:var(--padding-30); font-size:var(--font-size-80); font-weight:900; color:rgba(30,100,220,0.08); line-height:1;}
.hsc2-txt {display:flex; flex-direction:column; gap:var(--padding-16); padding:var(--padding-30);}
.hsc2-cate {font-size:var(--font-size-14); font-weight:600; color:var(--color-primary); line-height:1.71;}
.hsc2-head {display:flex; flex-direction:column; gap:8px;}
.hsc2-tit {font-size:var(--font-size-24); font-weight:600; color:var(--color-dark); line-height:1.33;}
.hsc2-sub {font-size:var(--font-size-14); font-weight:600; color:#b3b3b3; line-height:1.71;}
.hsc2-desc li {position:relative; padding-left:14px; font-size:var(--font-size-16); color:var(--color-body); line-height:1.75;}
.hsc2-desc li::before {position:absolute; left:0; top:0; content:'•';}
.hsc2-list.ty2 {display:flex; justify-content:space-between; gap:0;}
.hsc2-list.ty2 .hsc2-item {flex:1; min-width:0; position:relative; overflow:visible;}
.hsc2-list.ty2 .hsc2-item:not(:last-child) {margin-right:clamp(34px, calc(86 / var(--inner) * 100vw), 86px);}
.hsc2-list.ty2 .hsc2-item:not(:last-child)::after {content:''; display:block; position:absolute; right:clamp(-70px, calc(-70 / var(--inner) * 100vw), -38px); top:50%; transform:translateY(-50%); width:clamp(25px, calc(56 / var(--inner) * 100vw), 56px); height:auto; aspect-ratio: 56/16; background:url(../images/sub/arrow.svg) no-repeat center; background-size:contain; z-index:1;}
.hsc2-list.ty2 .hsc2-head {gap:8px;}
.hsc2-list.ty2 .hsc2-tit {line-height:1.33;}

.mhc2-list {display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:var(--padding-30);}
.mhc2-item {display:flex; flex-direction:column; padding: var(--padding-30); background:#fff; border:1px solid #ddd; border-radius:var(--border-radius-24); overflow:hidden;}
.mhc2-letter {font-size:var(--font-size-80); font-weight:900; color:rgba(30,100,220,0.08); line-height:1;}
.mhc2-cate {display: block; padding: var(--padding-30) 0 var(--padding-10); font-size:var(--font-size-14); font-weight:600; color:#b3b3b3; line-height:1.71;}
.mhc2-txt {display:flex; flex-direction:column; gap:var(--padding-16); }
.mhc2-tit {font-size:var(--font-size-20); font-weight:600; color:var(--color-dark); line-height:1.4;}
.mhc2-dec {font-size:var(--font-size-16); color:var(--color-body); line-height:1.75;}

.mhc3-list {display:grid; grid-template-columns:repeat(6, minmax(0, 1fr)); gap:var(--padding-30);}
.mhc3-item {display:flex; flex-direction:column; align-items:center; background:#fff; border:1px solid #ddd; border-radius:16px; overflow:hidden; text-align:center;}
.mhc3-icn {display:flex; align-items:center; justify-content:center; width:clamp(40px, calc(56 / var(--inner) * 100vw), 56px); height:auto; aspect-ratio:1/1; margin:var(--padding-30); padding:14px; background:rgba(30,100,220,0.03); border-radius:8px;}
.mhc3-icn img {width:clamp(16px, calc(28 / var(--inner) * 100vw), 28px); height:auto; aspect-ratio:1/1;}
.mhc3-tit {padding:0 var(--padding-30) var(--padding-30); font-size:var(--font-size-20); font-weight:600; color:var(--color-dark); line-height:1.4;}

.cgs2-list {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:var(--padding-30);}
.cgs2-item {display:flex; flex-direction:column; align-items:center; padding: var(--padding-30); background:#fff; border:1px solid #ddd; border-radius:var(--border-radius-24); overflow:hidden; text-align:center;}
.cgs2-num {display:flex; align-items:center; justify-content:center; width:clamp(30px, calc(40 / var(--inner) * 100vw), 40px); height:auto; aspect-ratio: 1/1; margin:0 auto ; background:var(--color-primary); border-radius:80px; font-size:var(--font-size-16); font-weight:600; color:var(--color-white); line-height:1.5;}
.cgs2-txt {display:flex; flex-direction:column; align-items:center; gap:var(--padding-16); padding-top: var(--padding-30); width: 100%;}
.cgs2-tit {font-size:var(--font-size-20); font-weight:600; color:var(--color-dark); line-height:1.4;}
.cgs2-dec {font-size:var(--font-size-16); color:var(--color-body); line-height:1.75;}

.cgs4-list {display:flex; align-items:flex-start; justify-content:space-between; position:relative; gap:var(--padding-30);}
.cgs4-list::before {content:''; position:absolute; left:50%; top:clamp(40px, calc(60 / var(--inner) * 100vw), 60px); transform: translateX(-50%); width:85%; border-top:2px dashed rgba(30,100,220,0.2); z-index:0;}
.cgs4-item {flex:1; display:flex; flex-direction:column; align-items:center; gap:var(--padding-24); min-width:0; position:relative; z-index:1;}
.cgs4-icn-wrap {position:relative; display:flex; align-items:center; justify-content:center;}
.cgs4-step {position:absolute; top:clamp(-14px, calc(-14 / var(--inner) * 100vw), -7px); left:50%; transform:translateX(-50%); padding:2px 14px; background:var(--color-primary); border-radius:80px; font-size:var(--font-size-16); font-weight:700; color:var(--color-white); line-height:1.375;}
.cgs4-icn {display:flex; align-items:center; justify-content:center; width:clamp(80px, calc(120 / var(--inner) * 100vw), 120px); height:auto; aspect-ratio:1/1; background:#fff; border:4px solid #ddd; border-radius:800px;}
.cgs4-icn img {width:clamp(32px, calc(48 / var(--inner) * 100vw), 48px); height:auto; aspect-ratio:1/1;}
.cgs4-txt {display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center;}
.cgs4-tit {font-size:var(--font-size-20); font-weight:600; color:var(--color-dark); line-height:1.5;}
.cgs4-dec {font-size:var(--font-size-16); color:var(--color-body); line-height:1.625;}

.perform-list {width:100%; overflow-x: auto;}
.perform-list table {width:100%; border-collapse:collapse; border-spacing:0;}
.perform-list thead th {padding:var(--padding-18) 10px; border-top:1px solid #242424; border-bottom:1px solid #ddd; font-size:var(--font-size-18); font-weight:600; color:var(--color-dark); line-height:1.5; text-align:center;}
.perform-list tbody td {padding:var(--padding-18) 10px; border-bottom:1px solid #ddd; font-size:var(--font-size-18); color:var(--color-body); line-height:1.5; text-align:center; vertical-align:middle;}
.perform-list tbody .subject {text-align:left; font-weight:500;}

.equip-wrap {display:flex; flex-direction:column; gap:var(--padding-80); max-width: 980px; margin: 0 auto; width: 100%;}
.equip-sec {width:100%;}
.equip-head {display:none; margin-bottom:var(--padding-30);}
.equip-tit {font-size:var(--font-size-32); font-weight:700; color:var(--color-dark); line-height:1.25; letter-spacing:-0.02em;}
.equip-visual {display:none; margin-bottom:var(--padding-50); border-radius:var(--border-radius-24); overflow:hidden;}
.equip-visual img {display:block; width:100%; object-fit:cover;}
.equip-grid {display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:var(--padding-25); list-style:none; margin:0; padding:0;}
.equip-grid li {background:#fff; border:1px solid #ddd; border-radius:var(--border-radius-24); overflow:hidden; box-shadow:0 10px 30px rgba(0,0,0,0.06); transition:transform .3s, box-shadow .3s;}
.equip-grid li:hover {transform:translateY(-6px); box-shadow:0 18px 45px rgba(0,0,0,0.12);}
.equip-img {aspect-ratio:4/3; overflow:hidden; background:#f3f4f6;}
.equip-img img {width:100%; height:100%; object-fit:cover; transition:transform .35s;}
.equip-grid li:hover .equip-img img {transform:scale(1.06);}
.equip-grid p {margin:0; padding:var(--padding-16); font-size:var(--font-size-16); font-weight:500; color:var(--color-dark); line-height:1.4; text-align:center;}

@media (max-width:1024px) {
.equip-grid {grid-template-columns:repeat(2, minmax(0, 1fr));}
}
@media (max-width:640px) {
.equip-wrap {gap:var(--padding-60);}
.equip-tit {font-size:var(--font-size-24);}
.equip-visual {margin-bottom:var(--padding-30); border-radius:16px;}
.equip-grid {grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px;}
.equip-grid p {padding:10px 8px; font-size:var(--font-size-14); line-height:1.3;}
}

