.ds-ct-header {overflow:hidden;  border-bottom:5px solid var(--color-black); font-weight:bold;}

.ds-ct-header>div {display:flex; justify-content:space-around; align-items:stretch; padding:5% 0;}
.ds-ct-header>div>div {}
.ds-ct-header>div>div~div {text-align:center; line-height:1.3; flex:0 0 20%;}
.ds-ct-header>div>div~div *{display:block;}
.ds-ct-header p {font-size:1.2em;}
.ds-ct-header img {display:block; margin:1em auto; width:14em;}
.ds-ct-header h1 span {font-size:1.4em;}
.ds-ct-header>div>div:nth-of-type(2)~div span:not(.ds-count-num) {font-size:1.4em;}
.ds-ct-header .ds-count-num {display:block; font-size:10em;}

#ds-spc-partner-b {margin:0; padding:0; display:flex;align-items:center; list-style:none; text-align:center; font-weight:800; line-height:1.3; font-size:1.2em;}

#ds-spc-partner-b>li:nth-of-type(2n-1) {background:var(--color-3b); height:8em; width:8em; display:flex; justify-content:center; align-items:center; color:#fff; border-radius:50%;}
#ds-spc-partner-b>li:nth-of-type(2n) {position:relative; height:4em; width:4em;color:var(--color-3b)}
#ds-spc-partner-b>li:nth-of-type(2n):after {content:""; display:block; width:100%; height:2px; background:var(--color-3b); top:50%; margin-top:-1px; position:absolute; }


#ds-spc-partner-c {margin:2em 0 0 0; font-size:1.4em;}
#ds-spc-partner-c>a{color:#fff; background:var(--color-3a); font-weight:800; padding:1em 2em; line-height:1.3; border-radius:0.5em; box-sizing:border-box; display:inline-block;}
#ds-spc-partner-c>a:hover {background:var(--color-3b)}




#ds-partners-map {
    position: relative;   /* 팝업의 offsetParent 확정 */
}
#ds-partners-map img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    height: auto;
}
.ds-map-popup {
    display: none;
    position: absolute;
    left: 0;              /* JS가 덮어씀. 초기 측정용 */
    top: 0;
    z-index: 10;
    padding: 0.5em;
    background-color: var(--color-3a);
    border: 4px solid #fff;
    color: #fff;
    border-radius: 0.5em;
    font-size: 1.3em;
	font-weight:bold;
    white-space: nowrap;  /* 측정 안정화. 줄바꿈 필요하면 max-width 지정 */
    pointer-events: none;
}

.ds-partner-list {list-style:none; padding:0; margin:0;}
.ds-partner-list>li {background:#fff; box-sizing:border-box; padding:7% 7% 10%; border-radius:2em; width:80%; margin-left:auto; margin-right:auto;}
.ds-partner-list>li~li {margin-top:5%;}
.ds-partner-list h3 {font-size:2em; margin:0 0 1em 0;}
.ds-partner-list h3 strong {color:#000;}
.ds-partner-list h3 span {font-size:0.7em; margin-left:1em; color:var(--color-3a);}
.ds-partner-list h3 span:before {content:"☎"; display:inline; margin:0 0.2em 0 0; }

@media all and (max-width:768px) { /* MOBILE */
	.ds-ct-header h1 span {font-size:1em;}
	.ds-ct-header>div {flex-wrap:wrap; justify-content:space-around}
	.ds-ct-header>div>*:nth-child(1) {flex:1 0 100%; text-align:center}
	.ds-ct-header>div>*:nth-child(1)~* {flex:0 0 45%}
	.ds-ct-header .ds-count-num {display:block; font-size:8em;}
	
	.ds-spc-partner-b-dl>dd:last-child{
		grid-column: 1 / -1;
	}
	
	#ds-spc-partner-b {font-size:1em; justify-content:center;}

	#ds-spc-partner-b>li:nth-of-type(2n-1) {height:8em; width:8em;}
	#ds-spc-partner-b>li:nth-of-type(2n) {height:4em; width:4em;}
	#ds-spc-partner-b>li:nth-of-type(2n):after {}
	
	#ds-spc-partner-c {text-align:center;}
	.ds-partner-list>li {width:95%;}
	.ds-partner-list h3 {font-size:1.2em;}
	/* .ds-partner-list h3>* {display:block;} */
	
}


.ds-partner-list>li>dl {
  display: grid;
  /* 1열(연도)은 내용만큼 fit, 2열(내용)은 남은 공간 모두 차지 */
  grid-template-columns: max-content 1fr; 
  /* 열 사이 간격 / 행 사이 간격 */
  gap: 0.5em 2em; 
  margin:2em 0 0 0;
}

.ds-partner-list>li>dl dt {
  grid-column: 1;
  font-weight: bold;
}

.ds-partner-list>li>dl dd {
  grid-column: 2; /* 두 번째 열 배치 */
  margin: 0;      /* 브라우저 기본 dd 여백 제거 */
}

.ds-partner-list>li>dl ul{
  list-style:none; margin:0; padding:0;
}
.ds-partner-list>li>dl ul span {
	color:#fff; background:var(--color-3b); font-weight:bold; line-height:1; padding:0.2em 1em; border-radius:0.7em; margin-left:0.5em;
}
.ds-partner-list>li>dl ul a:hover span{background:var(--color-3a);}

.ds-partner-list-img>ul {list-style:none; margin: 1em 0; padding:0; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:stretch; gap:1em 0;}
.ds-partner-list-img img {display:block; margin:0 auto; width:100%;}
.ds-partner-list-img-1 {flex:0 0 100%;}
.ds-partner-list-img-2 {flex:0 0 49%;}

#ds-partners-modal {display:none;
	background:rgba(0,0,0,0.7); position:fixed; left:0; top:0; width:100vw; height:100vh; z-index:100;
flex-direction:column; justify-content:center; align-items:center;
}
#ds-partners-modal >div {height:90vh; max-width:800px; padding:5vh; box-sizing:border-box; border-radius:3em; background-color:#fff; position:relative;}
#ds-partners-modal >div>ul {overflow-y:scroll; overflow-x:hidden; height:100%; width:100%; }

#ds-parners-modal-close {top:0.3em; right:0.3em;position:absolute; font-size:1.7em; border:none; font-weight:800; color:#555; line-height:1; padding:0.3em 0.4em; cursor:pointer; background:#eee}
#ds-parners-modal-close:hover {color:var(--color-black); background:#ccc}
#ds-top-button-div {display:flex; flex-direction:row-reverse;}
#ds-top-button{
	display:none;
	position:fixed;
	bottom:5%;
	z-index:100;
	width:2.5em;
	height:2.5em;
	padding:0;
	border:0;
	border-radius:50%;
	background:var(--color-3a);              /* 사이트 포인트 컬러로 교체 */
	box-shadow:0 0.2em 0.5em rgba(0,0,0,.2);
	line-height:0;
	color:transparent;
	cursor:pointer;
	opacity:0;
	margin-left:auto;
	transition:opacity .25s ease, transform .25s ease, background-color .2s ease;
}
#ds-top-button.is-show{ display:block; }
#ds-top-button.is-on{ opacity:1; }
#ds-top-button:hover{ transform:translateY(-0.2em); }

/* 화살표 */
#ds-top-button::before{
	content:"";
	position:absolute;
	top:50%; left:50%;
	width:0.5em; height:0.5em;
	margin:-2px 0 0 0;
	border-left:2px solid #fff;
	border-top:2px solid #fff;
	transform:translate(-50%,-50%) rotate(45deg);
}

@media (max-width:768px){
	#ds-top-button{ right:16px; bottom:16px; width:46px; height:46px; }
}