@charset "utf-8";
/* 서브공통 */
.sub-section {margin-bottom: var(--space-100);}
.sub-section:last-child {margin-bottom: 0;}
.sub-section h3.tit {font-size: var(--font-size-32); font-weight: 700; color: var(--color-sub); margin-bottom: var(--space-40); line-height: 1.438em;}
.sub-section p.txt {font-size: var(--font-size-18); font-weight: 400; line-height: 1.666em; color: #676767; margin-bottom: var(--space-50); letter-spacing: -0.02em;}
.sub-section h3.tit.type2 {margin-bottom: var(--space-50);}

/* 테이블 공통 */
.com-tbl:first-of-type {padding-top: var(--space-90); border-top: 1px solid #ddd;}
.com-tbl .tbl {width: 100%; border-collapse: collapse; border-top: 2px solid #686868;}
.com-tbl .tbl th,
.com-tbl .tbl td {padding: var(--space-15); border: 1px solid #ddd;  text-align: center; font-size: var(--font-size-16);  line-height: 1.875em; }
.com-tbl .tbl th {font-weight: 600; color: var(--color-sub); background: #F9F9F9;}
.com-tbl .tbl td {font-weight: 400;}
.com-tbl .tbl th:first-child {border-left: 0;}
.com-tbl .tbl th:last-child {border-right: 0;}
.com-tbl .tbl td:first-child {border-left: 0;}
.com-tbl .tbl td:last-child {border-right: 0;}

/********************* 체육회소개 *********************/
/* 인사말 */
.greeting-content .inner {display: flex; align-items: stretch; gap: var(--space-100);}
.greeting-content .cell {flex: 1; min-width: 0; margin-top: var(--space-30);}
.sub-section.greeting-content .tit {font-size: var(--font-size-32); font-weight: 700; line-height: 1.437em; color: var(--color-sub); margin-bottom: 48px;}
.sub-section.greeting-content .tit strong {color: var(--color-primary);}
.greeting-content .img-cell {max-width: clamp(400px, calc(600 / var(--inner) * 100vw), 600px);}
.greeting-content .img-cell .img {border-radius: 24px 80px 24px 80px; overflow: hidden;}
.greeting-content .cont p {font-size: var(--font-size-18); font-weight: 400; line-height: 1.777em; margin-bottom: var(--space-30);}
.greeting-content .cont p strong {font-weight: 600;}
.greeting-content .cont p:last-child {margin-bottom: 0;}

/* 설립목적 및 연혁 */
/* 공통 */
.history-purpose .tit {flex-shrink: 0; width: 110px;}

/* 설립목적 */
.history-purpose .cont {gap: 240px; padding: var(--space-65) 0 var(--space-70); border: 1px solid #ddd; border-left: none; border-right: none; margin-bottom: var(--space-70);}
.history-purpose .history-txt {font-size: var(--font-size-18); font-weight: 400; line-height: 1.77em; }

/* 연혁 */
.history-timeline {display: flex; gap: 240px;}
.history .item {display:flex;}
.history .item h3 {margin-bottom:40px; font-size: var(--font-size-40); font-weight: 700; letter-spacing: -.03em; line-height: 1.4em; color: var(--color-primary); text-align:left; width:200px; margin:-8px 0 0;}
.history .list {flex:1 1 auto; min-width:0; width:1%; padding:0 0 100px 100px; position:relative;}
.history .list:before {position:absolute; content:""; background:var(--color-primary); margin-left:-15px; top:5px; left:3px; width:24px; height:24px; border-radius:100%; border:6px solid #DEE4EF;}
.history .list:after {position:absolute; content:""; left:0; top:6px; width:1px; height:100%; background:#eee; z-index:-1;}
.history .list li {margin-bottom:15px; display:flex; font-size: 18px; line-height:1.77em;}
.history .list li:last-child {margin-bottom:0;}
.history .list strong {min-width:68px; font-size:18px; font-weight: 600; color:var(--color-sub);}
.history .item:last-child .list {padding-bottom:0;} 
.history .item:last-child .list:after {display:none;}

/* 찾아오시는 길 */
.root_daum_roughmap {width: 100% !important;}
.root_daum_roughmap .wrap_map {height: 560px !important;}
.root_daum_roughmap .wrap_controllers {display: none !important;}

.map {border-radius: var(--radius-24); overflow: hidden;}
.lct-info-wrap {margin-bottom: var(--space-32);}
.lct-info-wrap .flex {padding-right: var(--space-40);}
.lct-info-wrap dl {display: flex; align-items: center; gap: var(--space-16);}
.lct-info-wrap dt .icon img {vertical-align: middle;}
.lct-info-wrap dd {flex: 1; font-size: var(--font-size-20); font-weight: 500; line-height: 1.7em;}
.lct-info-wrap dd.add {color: var(--color-primary); font-weight: 600;}
.lct-info-wrap > .flex {gap: var(--space-80);}

/********************* 사업안내 *********************/
.business-section {display: flex; flex-direction: column; gap: var(--space-60); padding-bottom: var(--space-100); border-bottom: 1px solid #ddd;}
.business-section:first-of-type {padding-top: var(--space-90); border-top: 1px solid #ddd;}
.business-section:last-of-type {padding-bottom: 0; border-bottom: none;}
.business-section .top {display: flex; flex-direction: column;}
.sub-section.business-section .tit {font-size: var(--font-size-32); font-weight: 700; line-height: 1.562em; color: var(--color-sub); margin-bottom: var(--space-25);}
.business-section .info {display: flex; align-items: center; gap: 0 var(--space-24); flex-wrap: wrap;}
.business-section .info .item {display: flex; align-items: flex-start; gap: var(--space-16); font-size: var(--font-size-18); line-height: 1.777em;}
.business-section .info .label {font-weight: 600; color: var(--color-primary);}
.business-section .info .divider {width: 1px; height: 13px; background: #ddd; flex-shrink: 0;}
.business-section .btm {display: flex; gap: var(--space-36); align-items: stretch;}
.business-section .card {flex: 1; min-width: 0; display: flex; flex-direction: column; gap: var(--space-20); padding: 38px 32px 32px; border: 1px solid #eee; border-radius: var(--radius-24); background: #fff;}
.business-section .card-tit {display: flex; align-items: center; gap: var(--space-12);}
.business-section .card-tit .icon {width: 16px; height: 16px; background: url(../images/sub/tit-icon.svg) no-repeat center center / contain;}
.business-section .card-tit .txt {font-size: var(--font-size-24); font-weight: 600; line-height: 1.583em; color: var(--color-sub); margin: 0;}
.business-section .card .cont {flex: 1; min-height: 0; padding: var(--space-26) var(--space-36); border-radius: var(--radius-16); background: #fafafa;}
.business-section .card .list {list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: var(--space-15);}
.business-section .card .list li {position: relative; padding-left: var(--space-16); font-size: 18px; font-weight: 400; line-height: 1.777em;}
.business-section .card .list li::before {content: ""; position: absolute; left: 0; top: 13px; width: 4px; height: 4px; border-radius: 50%; background: var(--color-sub);}

/********************* 알림마당 *********************/
/* 갤러리 */
.gallery-list ul li a .thumb img {transition:.4s ease-in-out;}
.gallery-list ul li a:hover .thumb img {transform: translateY(-50%) scale(1.05);}
.gallery-list ul li a:hover .tit {color:var(--color-primary);}

/********************* 커뮤니티 *********************/
/* 체육시설 현황 */
.facility {padding: var(--space-90) 0 var(--space-100); border: 1px solid #ddd; border-left: none; border-right: none;}
.facility:last-of-type {padding: 0; border: none;}
.facility .tit {margin-bottom: var(--space-50);}
.facility .con {display: flex; flex-direction: column; gap: 50px;}
.facility .item {display: flex; align-items: center; gap: var(--space-100);}
.facility .img {flex-shrink: 0; width: 100%; max-width: clamp(400px, calc(540 / var(--inner) * 100vw), 540px); border-radius: var(--radius-24); overflow: hidden;}
.facility .cont {flex: 1; min-width: 0; display: flex; flex-direction: column;}
.facility .sub-tit {display: flex; gap: 10px; align-items: center; margin-bottom: var(--space-26); padding-bottom: var(--space-20); border-bottom: 1px solid #D9D9D9;}
.facility .sub-tit .icon {width: 16px; height: 16px; flex-shrink: 0; background: url(../images/sub/tit-icon2.svg) no-repeat center center / contain;}
.facility .sub-tit .fc-txt {font-size: var(--font-size-24); font-weight: 600; line-height: 1.583em; color: var(--color-sub);}
.facility .info {display: flex; flex-direction: column; gap: var(--space-16);}
.facility .info dl {display: flex; align-items: flex-start;}
.facility .info dt {flex: 0 0 100px; margin: 0; margin-top: var(--space-36); font-size: var(--font-size-18); font-weight: 600; color: var(--color-sub); line-height: 1.777;}
.facility .info dt:first-child {margin-top: 0;}
.facility .info dd {flex: 1 1 0; min-width: 0; margin: 0; font-size: var(--font-size-18); font-weight: 400; color: #484848; line-height: 1.777;}

/* 야외 체육시설 */
.facility .outdoor {gap: var(--space-100);}
.facility .outdoor .item {flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-40);}
.fc-map {width: 100%;}
.fc-map .root_daum_roughmap .wrap_map {height: 360px !important;}

/* 1:1 문의 */
.board-form .input {border-radius: var(--radius-8);}
.checkbox label:before {width: 18px; height: 18px; border-radius: 4px;}
#kcaptcha_image {border-radius: var(--radius-8); overflow: hidden;}
.btn-pack.xlarge {min-width: 160px !important; font-size: var(--font-size-16) !important; border-radius: var(--radius-8);}


