.renewal-sub {
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
}

.renewal-sub * {
	box-sizing: border-box;
}

.condition-search {
	margin-bottom: 28px;
	border: 2px solid #18a95a;
	border-radius: 18px;
	overflow: hidden;
	background: #fff;
}

.condition-search__title {
	padding: 16px 28px;
	background: #18a95a;
	color: #fff;
	font-size: 19px;
	font-weight: 700;
}

.condition-search__title small {
	margin-left: 8px;
	font-size: 14px;
	font-weight: 400;
}

.condition-search__row {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	padding: 14px 26px;
	border-bottom: 1px dotted #ccd5cf;
}

.condition-search__row:last-child {
	border-bottom: 0;
}

.condition-search__label {
	display: flex;
	flex: 0 0 76px;
	align-items: center;
	gap: 7px;
	min-height: 34px;
	font-weight: 700;
}

/* 프로그램 조건검색 항목은 HWP 시안의 색상 아이콘을 CSS 도형으로 표시한다. */
.condition-search__icon {
	position: relative;
	display: inline-block;
	flex: 0 0 20px;
	width: 20px;
	height: 20px;
}

.condition-search__icon--period {
	border: 2px solid #f29aa8;
	border-radius: 4px;
	background: linear-gradient(to bottom,#f29aa8 0,#f29aa8 5px,#fff 5px,#fff 100%);
}

.condition-search__icon--period:before,
.condition-search__icon--period:after {
	position: absolute;
	top: -4px;
	width: 3px;
	height: 6px;
	border-radius: 2px;
	background: #f29aa8;
	content: "";
}

.condition-search__icon--period:before {
	left: 3px;
}

.condition-search__icon--period:after {
	right: 3px;
}

.condition-search__icon--region,
.condition-search__icon--method {
	width: 15px;
	height: 15px;
	margin: 0 2px 4px;
	border-radius: 50% 50% 50% 0;
	transform: rotate(-45deg);
}

.condition-search__icon--region {
	background: #9a73cf;
}

.condition-search__icon--method {
	background: #ef6186;
}

.condition-search__icon--region:after,
.condition-search__icon--method:after {
	position: absolute;
	top: 5px;
	left: 5px;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #fff;
	content: "";
}

.condition-search__icon--type {
	height: 15px;
	margin-top: 3px;
	border-radius: 2px;
	background: #ffc542;
}

.condition-search__icon--type:before {
	position: absolute;
	top: -3px;
	left: 2px;
	width: 8px;
	height: 5px;
	border-radius: 2px 2px 0 0;
	background: #ffc542;
	content: "";
}

.condition-search__icon--target:before {
	display: block;
	color: #ffbd2e;
	font-size: 22px;
	line-height: 20px;
	content: "\2605";
}

.condition-search__options {
	display: flex;
	flex: 1;
	flex-wrap: wrap;
	gap: 8px;
}

.condition-chip {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 0 15px;
	border: 1px solid #d7dde1;
	border-radius: 18px;
	background: #fff;
	color: #444;
	text-decoration: none !important;
}

.condition-chip.is-active,
.condition-chip:hover {
	border-color: #18a95a;
	background: #eefaf3;
	color: #087d3c;
}

.condition-chip input[type="radio"] {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
}

.condition-search select {
	min-height: 34px;
	padding: 0 10px;
	border: 1px solid #d7dde1;
	border-radius: 6px;
	background: #fff;
}

.condition-types {
	display: grid;
	grid-template-columns: repeat(8,minmax(0,1fr));
	gap: 8px;
	width: 100%;
}

.condition-type {
	display: flex;
	min-height: 100px;
	padding: 8px 5px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 5px;
	border: 1px solid #d8dde1;
	border-radius: 12px;
	background: #fff;
	color: #333;
	font-size: 13px;
	line-height: 1.35;
	text-align: center;
	text-decoration: none !important;
}

.condition-type.is-active {
	border-color: #18a95a;
	box-shadow: inset 0 0 0 1px #18a95a;
}

.condition-type img {
	width: 48px;
	height: 48px;
	object-fit: contain;
}

.condition-type__library-icon,
.condition-type__library-icon svg {
	display: block;
	width: 48px;
	height: 48px;
}

.condition-type__library-icon svg rect {
	fill: #fff7ea;
	stroke: #ff7180;
	stroke-width: 2;
}

.condition-type__library-icon svg path {
	fill: #fff;
	stroke: #4fc5a4;
	stroke-linejoin: round;
	stroke-width: 2;
}

.condition-keyword {
	display: flex;
	gap: 7px;
	width: 100%;
}

.condition-keyword input,
.condition-keyword select {
	min-height: 40px;
	padding: 0 11px;
	border: 1px solid #cfd6d9;
	border-radius: 5px;
}

.condition-keyword input[type="text"] {
	flex: 1;
}

.condition-submit,
.detail-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 0 22px;
	border: 0;
	border-radius: 5px;
	background: #18a95a;
	color: #fff !important;
	font-weight: 700;
	text-decoration: none !important;
	cursor: pointer;
}

.institution-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	width: 100%;
	min-width: 0;
	gap: 22px;
}

.institution-grid > *,
.institution-card,
.institution-card__body,
.institution-card dl,
.institution-card dd {
	min-width: 0;
}

.institution-card dd {
	margin: 0;
	overflow-wrap: anywhere;
	word-break: keep-all;
}

.institution-card {
	border: 1px solid #dce1e4;
	border-radius: 16px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 10px 28px rgba(30,55,45,.07);
}

.institution-card__image {
	width: 100%;
	aspect-ratio: 4/3;
	object-fit: cover;
	background: #f2f4f3;
}

.institution-card__body {
	padding: 19px;
}

.institution-card h4 {
	margin: 0 0 14px;
	font-size: 20px;
	line-height: 1.35;
}

.institution-card dl {
	margin: 0 0 16px;
}

.institution-card dl div {
	display: flex;
	gap: 10px;
	padding: 6px 0;
	border-top: 1px dotted #dfe3e5;
}

.institution-card dt {
	flex: 0 0 64px;
	font-weight: 700;
}

.institution-card__detail-button {
	display: flex;
	width: 96px;
	margin: 0 auto;
	padding: 0;
}

/*
 * 기관목록 페이징은 기존 게시판의 float 규칙을 해제한다.
 * float 상태에서는 모바일에서 부모 높이에서 제외되어 흰 결과영역 밖으로 돌출된다.
 */
.renewal-sub > .board-pagination {
	display: block;
	float: none;
	clear: both;
	width: 100%;
	margin: 0;
	padding: 28px 0 0;
	background: #fff;
}

.renewal-sub > .board-pagination .board-pagination-pages {
	display: flex;
	float: none;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	margin: 0;
	padding: 0;
}

.renewal-sub > .board-pagination .board-pagination-pages li {
	display: block;
	padding: 0;
}

.renewal-sub > .board-pagination .board-pagination-pages li a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 34px;
	height: 34px;
	padding: 0 10px;
	border-radius: 5px;
	line-height: 1;
}

.institution-detail {
	padding: 32px;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 10px 35px rgba(30,55,45,.09);
}

.institution-detail__top {
	display: grid;
	grid-template-columns: minmax(0,1fr) minmax(320px,.9fr);
	gap: 34px;
}

.institution-detail__top > div:first-child {
	min-width:0;
	overflow:hidden;
}

.institution-detail__main-image {
	display:block;
	width: 100%;
	max-width:100%;
	height:420px;
	object-fit:contain;
	background:#f5f7f6;
	border-radius: 14px;
	box-sizing:border-box;
}

.institution-detail__info h4 {
	margin: 0 0 20px;
	font-size: 27px;
}

.institution-detail__title-row {
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:18px;
	margin-bottom:20px;
}

.institution-detail__title-row h4 {
	flex:1 1 auto;
	min-width:0;
	margin:0;
}

.institution-detail__info dl div {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 12px 0;
	border-bottom: 1px dotted #d7dde1;
}

.institution-detail__info dt {
	display: flex;
	align-items: center;
	flex: 0 0 118px;
	gap: 9px;
	font-weight: 700;
}

.institution-info-icon {
	display: flex;
	flex: 0 0 34px;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #eaf2ff;
	color: #3e82ed;
}

.institution-info-icon svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.institution-detail__info dd {
	min-width: 0;
	margin: 7px 0 0;
	line-height: 1.55;
}

.institution-detail__guide {
	margin-top: 30px;
	padding-top: 25px;
	border-top: 1px solid #dfe4e7;
	line-height: 1.8;
}

.institution-detail-actions {
	margin-top: 20px;
	text-align: center;
}

.renewal-map-frame {
	position: relative;
	width: 100%;
	height: 340px;
	margin-top: 28px;
	border: 1px solid #dce6df;
	background: #f4f7f5;
}

.renewal-map-error {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	margin: 0;
	color: #707b76;
	text-align: center;
}

.resource-result-count {
	margin: 22px 0 12px;
	font-size: 16px;
	color: #555;
}

.program-months {
	display: grid;
	grid-template-columns: repeat(6,1fr);
	gap: 10px;
	margin: 25px 0;
}

.program-month {
	padding: 17px 8px;
	border-radius: 10px;
	background: #d9dcde;
	color: #fff;
	text-align: center;
	text-decoration: none !important;
}

/* 육아쉼표의 월별 색상 체계를 교육·행사 12개월 탭에도 적용한다. */
.program-month--1 { background: #18a85b; }
.program-month--2 { background: #ef6683; }
.program-month--3 { background: #428dc4; }
.program-month--4 { background: #45ad7f; }
.program-month--5 { background: #ee9f22; }
.program-month--6 { background: #765db6; }
.program-month--7 { background: #18a85b; }
.program-month--8 { background: #ef6683; }
.program-month--9 { background: #428dc4; }
.program-month--10 { background: #45ad7f; }
.program-month--11 { background: #ee9f22; }
.program-month--12 { background: #765db6; }
.program-month strong {
	font-family: 'Cafe24Surround';
	display: block;
	font-size: 24px;
}

.program-month.is-active {
	background: #168f4d;
}

.public-table-wrap {
	overflow-x: visible;
	margin-top: 28px;
}

.public-table {
	width: 100%;
	min-width: 0;
	table-layout: fixed;
	border-collapse: collapse;
}

.public-table th,
.public-table td {
	padding: 13px 8px;
	border-top: 1px solid #202020;
	border-bottom: 1px solid #d8dcde;
	text-align: center;
	vertical-align: middle;
	word-break: keep-all;
	overflow-wrap: anywhere;
}

.public-table th {
	background: #f5f6f6;
}

/* 공개 프로그램 목록은 내용이 긴 열에 폭을 배정해 불필요한 세로 줄바꿈을 줄인다. */
.public-table th:nth-child(1), .public-table td:nth-child(1) { width: 4%; }
.public-table th:nth-child(2), .public-table td:nth-child(2) { width: 8%; }
.public-table th:nth-child(3), .public-table td:nth-child(3) { width: 10%; }
.public-table th:nth-child(4), .public-table td:nth-child(4) { width: 8%; }
.public-table th:nth-child(5), .public-table td:nth-child(5) { width: 14%; }
.public-table th:nth-child(6), .public-table td:nth-child(6) { width: 6%; }
.public-table th:nth-child(7), .public-table td:nth-child(7) { width: 8%; }
.public-table th:nth-child(8), .public-table td:nth-child(8) { width: 8%; }
.public-table th:nth-child(9), .public-table td:nth-child(9) { width: 11%; }
.public-table th:nth-child(10), .public-table td:nth-child(10) { width: 12%; }
.public-table th:nth-child(11), .public-table td:nth-child(11) { width: 11%; }

@media (max-width: 900px) {
	.condition-types,
	.institution-grid {
		grid-template-columns: repeat(2,minmax(0,1fr));
	}

	.institution-detail__top {
		grid-template-columns: 1fr;
	}

	.program-months {
		grid-template-columns: repeat(4,1fr);
	}
}

@media (max-width: 600px) {
	.public-table,
	.public-table tbody,
	.public-table tr,
	.public-table td {
		display: block;
		width: 100%;
	}

	.public-table thead {
		display: none;
	}

	/* 데스크톱용 nth-child 폭 지정이 모바일 카드 레이아웃을 덮어쓰지 않도록 각 셀을 전체 폭으로 고정합니다. */
	.public-table td:nth-child(n) {
		width:100%;
		box-sizing:border-box;
	}

	.public-table tr {
		margin-bottom: 14px;
		border: 1px solid #d8dcde;
		border-radius: 8px;
		overflow: hidden;
	}

	.public-table td {
		display: grid;
		grid-template-columns: 105px minmax(0,1fr);
		gap: 10px;
		padding: 10px 12px;
		border-top: 0;
		text-align: left;
	}

	.public-table td:before {
		content: attr(data-label);
		font-weight: 700;
		color: #174b3a;
	}

	.public-table td[colspan] {
		display: block;
		text-align: center;
	}

	.condition-search__row,
	.condition-keyword {
		display: block;
	}

	.condition-search__label {
		margin-bottom: 8px;
	}

	.condition-keyword input,
	.condition-keyword select,
	.condition-submit {
		width: 100%;
		margin-bottom: 6px;
	}

	.condition-types,
	.institution-grid {
		grid-template-columns: 1fr;
	}

	/* 기관 유형은 작은 화면에서도 비교하기 쉽도록 한 줄에 두 개씩 배치한다. */
	.condition-types {
		grid-template-columns: repeat(2,minmax(0,1fr));
		gap:8px;
	}

	.condition-type {
		min-height:94px;
		padding:8px 4px;
	}

	.program-months {
		grid-template-columns: repeat(3,1fr);
	}

	.institution-detail {
		padding: 18px;
	}

	.renewal-sub > .board-pagination {
		padding: 16px 0 4px;
		background: #fff;
	}

	.renewal-sub > .board-pagination .board-pagination-pages {
		gap: 6px;
	}

	.renewal-sub > .board-pagination .board-pagination-pages li a {
		min-width: 34px;
		padding: 0 8px;
	}
}

/* 육아지원기관 찾기: HWP 시안의 지도와 검색 영역을 반응형으로 구성한다. */
.institution-search-hero {
	display: grid;
	grid-template-columns: minmax(360px,1.1fr) minmax(300px,.9fr);
	align-items: center;
	gap: 46px;
	margin-bottom: 34px;
	padding: 44px 52px;
	border-radius: 22px;
	background: #f7fbf7;
}

.institution-search-hero__map {
	position: relative;
	width: 100%;
	max-width: 520px;
	margin: 0 auto;
}

.institution-search-hero__map > img {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	height: auto;
	filter: drop-shadow(0 8px 14px rgba(61,103,49,.12));
}

.institution-map-links {
	position: absolute;
	z-index: 2;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.institution-map-link {
	position: absolute;
	inset: 0;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: transparent;
	text-decoration: none !important;
	pointer-events: auto;
	transition: background-color .18s ease;
}

.institution-map-link span {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
	white-space: nowrap;
	border: 0;
}

.institution-map-link:nth-child(1) span {
	left: 77%;
	top: 25%;
}

.institution-map-link:nth-child(2) span {
	left: 56.5%;
	top: 38.5%;
}

.institution-map-link:nth-child(3) span {
	left: 71.5%;
	top: 58.5%;
}

.institution-map-link:nth-child(4) span {
	left: 63%;
	top: 67.5%;
}

.institution-map-link:nth-child(5) span {
	left: 59%;
	top: 55.5%;
}

.institution-map-link:nth-child(6) span {
	left: 53.5%;
	top: 49%;
}

.institution-map-link:nth-child(7) span {
	left: 41.5%;
	top: 41%;
}

.institution-map-link:nth-child(8) span {
	left: 50.5%;
	top: 63.5%;
}

.institution-map-link:nth-child(9) span {
	left: 62%;
	top: 76%;
}

.institution-map-link:nth-child(10) span {
	left: 51%;
	top: 69%;
}

.institution-map-link:nth-child(11) span {
	left: 34.5%;
	top: 67%;
}

.institution-map-link:nth-child(12) span {
	left: 40%;
	top: 77%;
}

.institution-map-link:nth-child(13) span {
	left: 46.5%;
	top: 82.5%;
}

.institution-map-link:nth-child(14) span {
	left: 53%;
	top: 91%;
}

.institution-map-link:nth-child(15) span {
	left: 32%;
	top: 91%;
}

.institution-map-link:nth-child(16) span {
	left: 19.5%;
	top: 58.5%;
}

.institution-map-labels {
	display: none;
	position: absolute;
	z-index: 4;
	inset: 0;
	pointer-events: none;
}

.institution-map-labels span {
	position: absolute;
	padding: 3px 12px;
	border: 0;
	border-radius: 0;
	background: #bdd2a7;
	box-shadow: 0 0 0 5px #bdd2a7;
	color: #31552b;
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -.7px;
	text-shadow: 0 1px 0 rgba(255,255,255,.55);
	white-space: nowrap;
	transform: translate(-50%,-50%);
}

.institution-map-labels span:nth-child(1) { left: 77%; top: 25%; }
.institution-map-labels span:nth-child(2) { left: 57.3%; top: 38.2%; }
.institution-map-labels span:nth-child(3) { left: 75.3%; top: 58.2%; }
.institution-map-labels span:nth-child(4) { left: 65.4%; top: 67.7%; }
.institution-map-labels span:nth-child(5) { left: 58.9%; top: 58%; }
.institution-map-labels span:nth-child(6) { left: 55.3%; top: 49.9%; }
.institution-map-labels span:nth-child(7) { left: 41.6%; top: 41%; }
.institution-map-labels span:nth-child(8) { left: 47.4%; top: 63.8%; }
.institution-map-labels span:nth-child(9) { left: 62%; top: 76%; }
.institution-map-labels span:nth-child(10) { left: 49.7%; top: 68.2%; }
.institution-map-labels span:nth-child(11) { left: 34.5%; top: 67%; }
.institution-map-labels span:nth-child(12) { left: 40%; top: 77%; }
.institution-map-labels span:nth-child(13) { left: 45.8%; top: 82.7%; }
.institution-map-labels span:nth-child(14) { left: 53%; top: 91%; }
.institution-map-labels span:nth-child(15) { left: 32%; top: 91%; }
.institution-map-labels span:nth-child(16) { left: 18.9%; top: 58.5%; }

/* 원본 지도에서 밝은 색으로 구분된 구역은 같은 면색으로 라벨 배경을 덮어 테두리가 보이지 않게 합니다. */
.institution-map-labels span:nth-child(2),
.institution-map-labels span:nth-child(3),
.institution-map-labels span:nth-child(8),
.institution-map-labels span:nth-child(9),
.institution-map-labels span:nth-child(11),
.institution-map-labels span:nth-child(16) {
	background: #ccdfb8;
	box-shadow: 0 0 0 5px #ccdfb8;
}

/* 중심부의 작은 구역은 글자 간격을 줄여 서로 겹치지 않게 합니다. */
.institution-map-labels span:nth-child(4),
.institution-map-labels span:nth-child(5),
.institution-map-labels span:nth-child(6),
.institution-map-labels span:nth-child(9),
.institution-map-labels span:nth-child(10),
.institution-map-labels span:nth-child(12),
.institution-map-labels span:nth-child(13) {
	font-size: 11px;
	letter-spacing: -1px;
}

.institution-map-link:hover,
.institution-map-link:focus,
.institution-map-link.is-active {
	outline: 0;
	background: rgba(239,106,138,.78);
}

.institution-map-link:focus-visible {
	background: rgba(233,79,121,.86);
}

.institution-search-hero .condition-search {
	margin: 0;
	box-shadow: 0 12px 35px rgba(38,92,56,.08);
}

.institution-search-form {
	padding: 30px;
	border: 1px solid #d9e5dc;
	border-radius: 18px;
	background: #fff;
}

.institution-search-form > div {
	display: grid;
	grid-template-columns: 82px minmax(0,1fr);
	align-items: center;
	gap: 12px;
	margin-bottom: 12px;
}

.institution-search-form label {
	color: #3aa552;
	font-size: 17px;
	font-weight: 700;
}

.institution-search-form select,
.institution-search-form input[type="text"] {
	width: 100%;
	height: 48px;
	padding: 0 14px;
	border: 1px solid #d8dfe0;
	border-radius: 9px;
	box-sizing: border-box;
	background: #fff;
}

.institution-search-form .condition-submit {
	width: 100%;
	margin-top: 7px;
}

.institution-search-form__help {
	margin: 20px 0 0;
	padding: 15px;
	border: 1px dashed #d5dcda;
	border-radius: 12px;
	color: #666;
	font-size: 13px;
	line-height: 1.6;
}

/* 육아자원 검색 결과: 지도 아래 결과를 HWP 시안처럼 2열 카드로 표시한다. */
.resource-list-grid {
	display: grid;
	grid-template-columns: repeat(2,minmax(0,1fr));
	gap: 18px;
	margin-top: 26px;
}

.resource-list-card {
	display: grid;
	grid-template-columns: 38% minmax(0,1fr);
	min-height: 226px;
	overflow: hidden;
	border: 1px solid #d9dfe2;
	border-radius: 10px;
	background: #fff;
}

.resource-list-card__image {
	width: 100%;
	height: 100%;
	min-height: 226px;
	object-fit: cover;
}

.resource-list-card__image--fallback,
.institution-card__image--fallback,
.institution-detail__main-image--fallback,
.resource-gallery__image--fallback {
	padding: 28px;
	box-sizing: border-box;
	object-fit: contain !important;
	background: #fff;
	filter: grayscale(1);
	opacity: .24;
}

.resource-list-card__body {
	display:flex;
	flex-direction:column;
	min-width:0;
	padding: 11px 15px 10px;
}

.resource-list-card__company {
	margin: 0 0 3px;
	color: #168bc0;
	font-size: 13px;
	font-weight: 700;
	line-height:1.35;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}

.resource-list-card__heading {
	display:flex;
	align-items:center;
	gap:10px;
	min-width:0;
}

.resource-list-card h4 {
	flex:1;
	min-width:0;
	margin:0;
	font-size:17px;
	line-height: 1.3;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}

.resource-list-card dl {
	margin: 7px 0 0;
	font-size: 13px;
	line-height:1.45;
}

.resource-list-card dl div {
	display:grid;
	grid-template-columns:20px 62px minmax(0,1fr);
	align-items:center;
	gap:6px;
	padding:3px 0;
	border-top: 1px dotted #d9dfe2;
}

.resource-list-card dt {
	font-weight: 700;
	white-space:nowrap;
}

.resource-list-card .resource-info-icon {
	width:18px;
	height:18px;
	border-radius:4px;
}

.resource-list-card .resource-info-icon svg {
	width:12px;
	height:12px;
}

.resource-list-card .detail-button {
	flex:0 0 auto;
	min-height:28px;
	padding:0 10px;
	border-radius:5px;
	background:#ef7189;
	font-size:12px;
}

.resource-list-card dd {
	min-width:0;
	margin: 0;
	word-break: keep-all;
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
}

.resource-list-empty {
	grid-column: 1 / -1;
	padding: 70px 20px;
	border: 1px solid #e1e5e7;
	background: #fff;
	text-align: center;
}

.map-info-window {
	width: 280px;
	padding: 15px 16px 14px;
	box-sizing: border-box;
	font-size: 12px;
	line-height: 1.45;
	color: #333;
}

.map-info-window__title,
.map-info-window__company {
	display: block;
}

.map-info-window__title {
	font-size: 15px;
	color: #156f42;
}

.map-info-window__company {
	margin-top: 2px;
	color: #666;
}

.map-info-window dl {
	margin: 10px 0 12px;
}

.map-info-window dl div {
	display: flex;
	gap: 7px;
	padding: 3px 0;
}

.map-info-window dt {
	flex: 0 0 54px;
	font-weight: 700;
}

.map-info-window dd {
	margin: 0;
	word-break: keep-all;
}

.map-info-window__actions {
	display: flex;
	gap: 6px;
}

.map-info-window__actions a {
	flex: 1;
	padding: 7px 5px;
	border-radius: 5px;
	background: #168f4d;
	color: #fff;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
}

.map-info-window__actions a.is-direction {
	background: #3978ca;
}

/* 지도 안의 글자는 PC 본문 확대 규칙과 분리해 항목명 줄바꿈을 막습니다. */
#renewalMap {
	height: 440px;
}

#renewalMap .map-info-window {
	width: 300px;
	max-width: calc(100vw - 64px);
	max-height: 300px;
	overflow-y: auto;
	padding: 14px;
	font-size: 13px;
	line-height: 1.5;
	white-space: normal;
}

#renewalMap .map-info-window__title {
	padding-right: 18px;
	font-size: 14px;
	word-break: keep-all;
	overflow-wrap: break-word;
}

#renewalMap .map-info-window__company {
	font-size: 12px;
	word-break: keep-all;
	overflow-wrap: break-word;
}

#renewalMap .map-info-window dl div {
	display: grid;
	grid-template-columns: 56px minmax(0,1fr);
	gap: 8px;
}

#renewalMap .map-info-window dt,
#renewalMap .map-info-window dd,
#renewalMap .map-info-window__actions a {
	font-size: 13px;
	line-height: 1.5;
}

#renewalMap .map-info-window dt {
	white-space: nowrap;
}

#renewalMap .map-info-window dd {
	min-width: 0;
	overflow-wrap: break-word;
}

#renewalMap .resource-map-cluster {
	display: block;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 3px solid #fff;
	border-radius: 50%;
	background: #168f4d;
	box-shadow: 0 2px 7px rgba(0,0,0,.25);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 36px;
	text-align: center;
	cursor: pointer;
}

#renewalMap .resource-map-cluster:hover,
#renewalMap .resource-map-cluster:focus-visible {
	background: #c93271;
	outline: 2px solid #c93271;
}

#renewalMap .map-info-window__resource {
	display: block;
	width: 100%;
	padding: 9px 0;
	border: 0;
	border-bottom: 1px solid #e3e9e6;
	background: #fff;
	color: #333;
	font-size: 13px;
	line-height: 1.5;
	text-align: left;
	white-space: normal;
	cursor: pointer;
}

#renewalMap .map-info-window__resource strong,
#renewalMap .map-info-window__resource span {
	display: block;
	word-break: keep-all;
	overflow-wrap: break-word;
}

#renewalMap .map-info-window__resource:hover,
#renewalMap .map-info-window__resource:focus-visible {
	background: #f1f8f4;
}

@media all and (max-width:767px) {
	#renewalMap { height: 360px; }
}

/* 육아자원 상세: 대표 이미지와 기본정보를 나누고 상세안내는 원문 HTML을 유지한다. */
.resource-detail {
	padding: 32px;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 10px 35px rgba(30,55,45,.09);
}

.resource-detail + .renewal-actions {
	display: flex;
	justify-content: center;
	margin-top: 28px;
}

.resource-detail__title {
	margin-bottom: 22px;
	padding: 18px 20px;
	background: #edf4ff;
	font-size: 20px;
	font-weight: 700;
	text-align: center;
	line-height: 1.5;
}

.resource-detail__title-company { color: #3978ca; }
.resource-detail__title-separator { color: #777; padding: 0 4px; }
.resource-detail__title-subject { color: #222; font-weight: 700; }

.resource-detail__top {
	display: grid;
	grid-template-columns: minmax(0,1.15fr) minmax(320px,.85fr);
	gap: 26px;
}

.resource-detail__gallery > img {
	display: block;
	width: 100%;
	aspect-ratio: 600/405;
	object-fit: cover;
	border: 0;
	border-radius: 8px;
	background: #f6f7f8;
}

.resource-detail__thumbs {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 12px;
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid #dfe4e7;
}

.resource-detail__thumbs > div {
	padding: 4px;
	border: 1px solid #cfd6da;
	border-radius: 6px;
	background: #fff;
	box-sizing: border-box;
}

.resource-detail__thumbs > div:hover,
.resource-detail__thumbs > div:focus-within {
	border-color: #ee7189;
	box-shadow: 0 0 0 2px rgba(238,113,137,.12);
}

.resource-detail__thumbs img {
	display: block;
	width: 100%;
	aspect-ratio: 600/405;
	object-fit: cover;
	border-radius: 3px;
}

.resource-detail__info {
	padding: 8px 18px;
	border: 0;
	font-size: 16px;
}

.resource-detail__info dl {
	margin: 0;
}

.resource-detail__info dl div {
	display: grid;
	grid-template-columns: 26px 82px minmax(0,1fr);
	align-items: center;
	gap: 12px;
	padding: 13px 0;
	border-bottom: 1px dotted #d5dade;
}

.resource-info-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 5px;
	background: #111;
	color: #fff;
}

.resource-info-icon svg {
	width: 16px;
	height: 16px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.resource-detail__info dl div:last-child {
	border-bottom: 0;
}

.resource-detail__info dt {
	font-weight: 700;
}

.resource-detail__info dd {
	margin: 0;
	word-break: break-all;
}

.resource-detail__tabs {
	display: flex;
	margin-top: 28px;
	border-bottom: 0;
}

.resource-detail__tabs a {
	min-width: 210px;
	padding: 13px 20px;
	border: 0;
	background: #f5f6f6;
	color: #333;
	text-align: center;
	text-decoration: none;
}

.resource-detail__tabs a.is-active {
	background: #ef7f93;
	color: #fff;
}

.resource-detail__guide {
	min-height: 150px;
	padding: 28px 20px;
	line-height: 1.8;
}

.resource-detail__guide img {
	max-width: 100%;
	height: auto !important;
}

@media (max-width: 900px) {
	.institution-search-hero,
	.resource-detail__top {
		grid-template-columns: 1fr;
	}

	.resource-list-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 600px) {
	.institution-search-hero {
		padding: 24px 16px;
	}

	.institution-search-form {
		padding: 22px 16px;
	}

	.institution-search-form > div {
		grid-template-columns: 1fr;
		gap: 7px;
	}

	.resource-list-card {
		grid-template-columns: 1fr;
		height:auto;
	}

	.resource-list-card__image {
		height: 220px;
	}

	.resource-detail {
		padding: 18px;
	}


	.resource-detail__info {
		padding: 5px 12px;
	}

	.resource-detail__tabs a {
		flex: 1;
		min-width: 0;
	}
}
.institution-detail-heading{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:20px;
}

.institution-detail-heading h3{
	margin-bottom:0;
}

.institution-share-button{
	position:relative;
	flex:0 0 42px;
	width:42px;
	height:42px;
	border:1px solid #dce2e7;
	border-radius:50%;
	background:#fff;
	cursor:pointer;
}

.institution-share-button:before{
	content:"";
	display:block;
	width:22px;
	height:22px;
	margin:0 auto;
	background:url('/img/detail_icon_copy.png') no-repeat center;
	background-size:22px 22px;
}

/*
 * 공개 서브페이지도 메인과 동일한 공통 헤더를 사용한다.
 * 기존 페이지 내부 메뉴는 마크업과 링크 호환성을 위해 남겨 두고 화면에서만 숨긴다.
 */
body.sub_bg,
body.sub01_bg{
	background:#fff !important;
	width:100%;
	max-width:100%;
	overflow-x:hidden !important;
}

body.sub_bg #wrap,
body.sub01_bg #wrap{
	width:100%;
	max-width:100%;
	min-width:0 !important;
	overflow-x:hidden !important;
}

body.sub_bg:before,
body.sub_bg:after,
body.sub01_bg:before,
body.sub01_bg:after{
	display:none !important;
}

.sub #sub_content > .sub_menu,
.sub .subBottom{
	display:none;
}

/* 서브 상단은 별도 카드가 아니라 화면 폭을 채우는 정적인 비주얼 영역으로 구성합니다. */
.sub > .sub_visual{
	position:relative;
	display:block;
	height:230px;
	overflow:hidden;
	background:
		radial-gradient(circle at 12% 28%,rgba(255,255,255,.08) 0 7px,transparent 8px) 0 0/34px 34px,
		linear-gradient(135deg,#149a98 0,#1cb0b0 100%);
	color:#fff;
}

.sub > .sub_visual:before{
	content:"";
	position:absolute;
	right:7%;
	top:-115px;
	width:470px;
	height:470px;
	border:78px solid rgba(255,255,255,.06);
	border-radius:50%;
}

.sub > .sub_visual:after{
	content:"";
	position:absolute;
	left:0;
	right:0;
	bottom:-1px;
	height:58px;
	background:linear-gradient(to bottom,transparent 0,#fff 100%);
	pointer-events:none;
}

.sub-visual-inner{
	position:relative;
	z-index:2;
	width:1400px;
	max-width:calc(100% - 40px);
	margin:0 auto;
	padding-top:48px;
}

.sub-visual-title{
	font-family: 'Cafe24Surround';
	margin:0 0 22px;
	font-size:44px;
	font-weight:800;
	line-height:1.2;
	letter-spacing:-2px;
}

.sub-visual-bread{
	font-size:15px;
	font-weight:600;
	color:rgba(255,255,255,.94);
}

.sub-visual-bread span{
	margin:0 10px;
	color:rgba(255,255,255,.62);
}

.sub #sub_content{
	position:relative;
	width:1400px;
	max-width:calc(100% - 40px);
	height:auto;
	margin:56px auto 92px;
	padding:0;
	background:#fff;
}

.sub,
.sub #wrap,
.sub #sub_content,
.sub .sub_content,
.sub .contWrap {
	min-width:0;
	box-sizing:border-box;
}

.sub img {
	max-width:100%;
}

.resource-gallery {
	min-width:0;
}

.resource-gallery__main {
	overflow:hidden;
	border:0;
	border-radius:8px;
	background:#f6f7f8;
}

.resource-gallery__main .slick-slide > div,
.resource-gallery__main .slick-slide > div > div {
	height:100%;
}

.resource-gallery__main img {
	display:block;
	width:100%;
	height:100%;
	min-height:405px;
	aspect-ratio:600/405;
	object-fit:cover;
}

.resource-gallery__nav {
	margin-top:14px;
	padding-top:14px;
	border-top:1px solid #dfe4e7;
}

.resource-gallery__nav .slick-list {
	margin:0 -6px;
}

.resource-gallery__nav .slick-slide {
	padding:0 6px;
	box-sizing:border-box;
}

.resource-gallery__nav .slick-slide > div {
	padding:4px;
	border:1px solid #cfd6da;
	border-radius:6px;
	background:#fff;
	box-sizing:border-box;
	cursor:pointer;
}

.resource-gallery__nav .slick-current > div {
	border-color:#ee7189;
	box-shadow:0 0 0 2px rgba(238,113,137,.14);
}

.resource-gallery__nav img {
	display:block;
	width:100%;
	aspect-ratio:600/405;
	object-fit:cover;
	border-radius:3px;
}

@media all and (max-width:600px){
	.resource-gallery__main img{
		min-height:240px;
	}
}

.sub .sub_content{
	position:relative;
	width:100%;
	margin:0;
	padding:0;
}

/* 참고사이트처럼 서브 화면의 가독성을 높이되 기존 관리화면에는 영향을 주지 않습니다. */
.sub .renewal-sub {
	font-size: 18px;
	line-height: 1.65;
}

.sub .bread{
	display:none;
}

.sub .contWrap{
	width:100%;
	min-height:520px;
	padding:0 0 40px;
	border:0;
	border-radius:0;
	background:#fff;
	box-shadow:none;
}

/* 상단 서브 비주얼에 페이지명이 있으므로 본문에 반복되는 제목은 전체 서브페이지에서 숨깁니다. */
.sub .contWrap > h3,
.sub .institution-detail-heading > h3{
	display:none !important;
}

.sub .sub_content h3{
	width:auto !important;
	height:auto;
	margin:0 0 48px;
	padding:0;
	border-bottom:0;
	background:none !important;
	text-indent:0;
	font-size:46px;
	font-weight:800;
	line-height:1.25;
	letter-spacing:-1.4px;
	text-align:center;
	color:#ef5365;
}

.sub .sub_content h3:after{
	display:none;
	content:none;
}

.sub .b_wrap{
	width:100%;
}

@media all and (max-width:767px){
	.sub #sub_content{
		max-width:calc(100% - 28px);
		margin:38px auto 52px;
	}

	.sub > .sub_visual{
		height:174px;
	}

	.sub-visual-inner{
		max-width:calc(100% - 28px);
		padding-top:35px;
	}

	.sub-visual-title{
		margin-bottom:13px;
		font-size:31px;
		letter-spacing:-1.2px;
	}

	.sub-visual-bread{
		font-size:12px;
	}

	.sub .bread{
		margin:0 2px 10px;
		font-size:12px;
	}

	.sub .contWrap{
		min-height:360px;
		padding:0 0 30px;
	}

	.sub .sub_content h3{
		margin-bottom:30px;
		padding-bottom:0;
		font-size:31px;
	}

	.sub .sub_content h3:after{
		width:42px;
		margin-top:12px;
	}
}

/* 참고 사이트처럼 넓은 서브 화면에서 본문과 폼 글자가 작아 보이지 않도록 맞춥니다. */
@media all and (min-width:768px){
	.sub .sub_content table,
	.sub .sub_content input,
	.sub .sub_content select,
	.sub .sub_content textarea,
	.sub .sub_content button,
	.sub .sub_content .btn,
	.sub .sub_content .button{
		font-size:16px;
	}

	.sub .sub_content th,
	.sub .sub_content dt,
	.sub .sub_content label{
		font-size:17px;
	}

	.sub .sub_content td,
	.sub .sub_content dd,
	.sub .sub_content p,
	.sub .sub_content li,
	.sub .sub_content a{
		font-size:16px;
	}
}


/* =========================
   PAGING
========================= */
.Paging_Style{
	margin:10px 0;
	display:flex;
	justify-content:center;
}

.resource-list-grid + .Paging_Style {
	margin:32px 0 0;
}

.Paging_Style .pg{
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	align-items:center;
	gap:6px;
	flex-wrap:wrap;
}

.Paging_Style .pg-link{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	height:32px;
	min-width:32px;
	padding:0 10px;
	border:1px solid #e5e7eb;
	border-radius:8px;
	background:#ffffff;
	color:#374151;
	text-decoration:none;
	font-size:14px !important;
	line-height:1;
	box-sizing:border-box;
	transition:background .15s ease,border-color .15s ease;
}

.Paging_Style a.pg-link:hover{
	background:#f3f4f6;
	border-color:#d1d5db;
}

.Paging_Style .is-active .pg-link{
	background:#2563eb;
	border-color:#2563eb;
	color:#ffffff;
	font-weight:bold;
}

.Paging_Style .is-disabled .pg-link{
	background:#f9fafb;
	border-color:#e5e7eb;
	color:#9ca3af;
	cursor:default;
}

.Paging_Style .pg-ellipsis{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	height:32px;
	min-width:18px;
	padding:0 6px;
	color:#9ca3af;
}

@media (max-width:700px) {
	/* 좁은 화면은 블록 이동과 끝 번호를 감추고 현재 주변 번호만 한 줄로 표시한다. */
	.Paging_Style--responsive .pg {
		gap:4px;
		flex-wrap:nowrap;
	}

	.Paging_Style--responsive .pg-item {
		display:none;
	}

	.Paging_Style--responsive .pg-item.pg-control-step,
	.Paging_Style--responsive .pg-item.is-mobile-near {
		display:list-item;
	}

	.Paging_Style--responsive .pg-link {
		height:32px;
		min-width:32px;
		padding:0 8px;
		font-size:13px !important;
	}

	/* PHP 캐시로 이전 마크업이 남아 있어도 같은 모바일 구성을 적용한다. */
	.Paging_Style:not(.Paging_Style--responsive) .pg {
		gap:4px;
		flex-wrap:nowrap;
	}

	.Paging_Style:not(.Paging_Style--responsive) .pg-item:has(> .pg-first),
	.Paging_Style:not(.Paging_Style--responsive) .pg-item:has(> .pg-prev10),
	.Paging_Style:not(.Paging_Style--responsive) .pg-item:has(> .pg-next10),
	.Paging_Style:not(.Paging_Style--responsive) .pg-item:has(> .pg-last),
	.Paging_Style:not(.Paging_Style--responsive) .pg-item.is-ellipsis,
	.Paging_Style:not(.Paging_Style--responsive) .pg-item:has(> .pg-num) {
		display:none;
	}

	.Paging_Style:not(.Paging_Style--responsive) .pg-item.is-active,
	.Paging_Style:not(.Paging_Style--responsive) .pg-item:has(> .pg-num):has(+ .pg-item.is-active),
	.Paging_Style:not(.Paging_Style--responsive) .pg-item:has(> .pg-num):has(+ .pg-item + .pg-item.is-active),
	.Paging_Style:not(.Paging_Style--responsive) .pg-item.is-active + .pg-item:has(> .pg-num),
	.Paging_Style:not(.Paging_Style--responsive) .pg-item.is-active + .pg-item:has(> .pg-num) + .pg-item:has(> .pg-num) {
		display:list-item;
	}

	.Paging_Style:not(.Paging_Style--responsive) .pg-link {
		height:32px;
		min-width:32px;
		padding:0 8px;
		font-size:13px !important;
	}
}

/* 육아쉼표: 기존 이미지맵을 읽기 쉽고 반응형인 실제 링크 화면으로 구성합니다. */
.parenting-rest {
	color:#2f3438;
	font-size:16px;
	line-height:1.7;
}

.parenting-rest__intro {
	display:grid;
	grid-template-columns:minmax(0,1fr) 150px;
	align-items:center;
	gap:36px;
	padding:30px 38px;
	border:1px solid #cfe8da;
	border-radius:16px;
	background:#fbfefd;
}

.parenting-rest__intro ul {
	margin:0;
	padding:0;
	list-style:none;
}

.parenting-rest__intro li {
	position:relative;
	padding-left:28px;
	word-break:keep-all;
}

.parenting-rest__intro li + li {
	margin-top:15px;
}

.parenting-rest__intro li:before {
	content:'✓';
	position:absolute;
	left:0;
	top:2px;
	display:flex;
	align-items:center;
	justify-content:center;
	width:19px;
	height:19px;
	border:2px solid #18a85b;
	border-radius:50%;
	color:#18a85b;
	font-size:12px;
	font-weight:800;
	line-height:1;
}

.parenting-rest-mark {
	position:relative;
	width:120px;
	height:132px;
	margin:0 auto;
}

.parenting-rest-mark__roof {
	position:absolute;
	left:5px;
	top:0;
	z-index:1;
	width:0;
	height:0;
	border-left:55px solid transparent;
	border-right:55px solid transparent;
	border-bottom:48px solid #7258b4;
}

.parenting-rest-mark__house {
	position:absolute;
	left:18px;
	top:40px;
	z-index:2;
	display:flex;
	align-items:center;
	justify-content:center;
	width:84px;
	height:86px;
	background:#7258b4;
	color:#fff;
	font-size:25px;
	font-weight:800;
	line-height:1.25;
	text-align:center;
}

.parenting-rest-mark__dot {
	position:absolute;
	z-index:3;
	display:block;
	width:24px;
	height:24px;
	border:3px solid #fff;
	border-radius:50%;
}

.parenting-rest-mark__dot--pink {
	left:4px;
	top:76px;
	background:#ef7189;
}

.parenting-rest-mark__dot--green {
	right:2px;
	top:56px;
	background:#41b887;
}

.parenting-rest-types {
	display:grid;
	gap:18px;
	margin-top:26px;
}

.parenting-rest-type {
	display:grid;
	grid-template-columns:220px minmax(0,1.3fr) minmax(300px,.9fr);
	align-items:center;
	min-height:100px;
	padding:18px 24px;
	border:1px solid #dce2df;
	border-radius:13px;
	background:#fff;
	box-sizing:border-box;
}

.parenting-rest-type__name {
	display:flex;
	align-items:center;
	gap:13px;
	color:#18a85b;
	font-size:20px;
	white-space:nowrap;
}

.parenting-rest-type__name span {
	display:flex;
	align-items:center;
	justify-content:center;
	width:32px;
	height:32px;
	border:2px solid #18a85b;
	border-radius:50%;
	font-size:29px;
	font-weight:400;
	line-height:1;
}

.parenting-rest-type__centers,
.parenting-rest-type__description {
	margin:0;
	word-break:keep-all;
}

.parenting-rest-type__centers {
	padding:0 25px;
}

.parenting-rest-type__description {
	padding:3px 0 3px 34px;
	border-left:1px solid #dce2df;
	color:#5f6764;
}

.parenting-rest-programs {
	margin-top:34px;
}

.parenting-rest-programs h4 {
	font-family: 'Cafe24Surround';
	position:relative;
	margin:0 0 20px;
	padding-left:17px;
	color:#22282b;
	font-size:24px;
	font-weight:800;
	line-height:1.3;
}

.parenting-rest-programs h4:before {
	content:'';
	position:absolute;
	left:0;
	top:3px;
	width:5px;
	height:27px;
	background:#18a85b;
}

.parenting-rest-months {
	display:grid;
	grid-template-columns:repeat(6,minmax(0,1fr));
	gap:18px;
}

.parenting-rest-month {
	display:flex;
	flex-direction:column;
	min-width:0;
	height:216px;
	overflow:hidden;
	border:2px solid currentColor;
	border-radius:13px;
	background:currentColor;
	color:#18a85b;
	text-align:center;
	text-decoration:none;
	box-sizing:border-box;
	transition:transform .18s ease,box-shadow .18s ease;
}

.parenting-rest-month--5 { color:#18a85b; }
.parenting-rest-month--6 { color:#ef6683; }
.parenting-rest-month--7 { color:#428dc4; }
.parenting-rest-month--8 { color:#45ad7f; }
.parenting-rest-month--9 { color:#ee9f22; }
.parenting-rest-month--10 { color:#765db6; }

.parenting-rest-month:hover,
.parenting-rest-month:focus {
	transform:translateY(-5px);
	box-shadow:0 12px 25px rgba(42,62,51,.14);
	outline:none;
}

.parenting-rest-month:focus {
	box-shadow:0 0 0 4px rgba(24,168,91,.18),0 12px 25px rgba(42,62,51,.14);
}

.parenting-rest-month.is-current {
	box-shadow:0 0 0 4px #fff,0 0 0 7px currentColor;
}

.parenting-rest-month__year {
	padding-top:25px;
	color:#fff;
	font-size:17px;
	font-weight:700;
}

.parenting-rest-month strong {
	font-family: 'Cafe24Surround';
	display:flex;
	flex:1;
	align-items:center;
	justify-content:center;
	color:#fff;
	font-size:42px;
	font-weight:800;
	line-height:1;
}

.parenting-rest-month__action {
	display:flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	height:58px;
	background:#fff;
	color:currentColor;
	font-size:16px;
	font-weight:800;
}

.parenting-rest-month__action b {
	font-size:28px;
	font-weight:400;
	line-height:1;
}

/* 육아쉼표의 목록·신청현황도 같은 화면 밀도로 이어지도록 정돈합니다. */
.parenting-rest-list {
	color:#30363a;
	font-size:15px;
}

.parenting-rest-list .new_select_box {
	height:42px;
	margin:0 7px 8px 0;
	padding:0 36px 0 13px;
	border:1px solid #ccd9d2;
	border-radius:9px;
	background:#fff;
	color:#30363a;
	font-size:15px;
}

.parenting-rest-list .new_table_title {
	margin:0 0 18px;
	padding:18px 22px;
	border:1px solid #cfe8da;
	border-radius:12px;
	background:#fbfefd;
	font-size:16px;
	line-height:1.6;
}

.parenting-rest-list .board-list {
	overflow-x:auto;
	border:1px solid #dce2df;
	border-radius:12px;
	background:#fff;
}

.parenting-rest-list .board-list table {
	width:100%;
	border-collapse:collapse;
	font-size:14px !important;
}

.parenting-rest-list .board-list thead td {
	padding:15px 10px;
	border-bottom:2px solid #18a85b;
	background:#f5faf7;
	color:#26332c;
	font-weight:800;
	text-align:center;
}

.parenting-rest-list .board-list tbody td {
	padding:14px 10px;
	border-bottom:1px solid #e6ebe8;
	line-height:1.55;
}

.parenting-rest-list .board-list tbody tr:last-child td {
	border-bottom:0;
}

/* 육아쉼표의 표형 목록에서 번호와 신청 현황만 중앙에 맞추고 모바일 카드는 유지합니다. */
@media (min-width:701px) {
	.sub05.page01 .parenting-rest-list .program-list-table:not(.is-server-mobile) tbody td:nth-child(1),
	.sub05.page01 .parenting-rest-list .program-list-table:not(.is-server-mobile) tbody td:nth-child(7),
	.sub05.page01 .parenting-rest-list .program-list-table:not(.is-server-mobile) tbody td:nth-child(8),
	.sub05.page01 .parenting-rest-list .program-list-table:not(.is-server-mobile) tbody td:nth-child(9),
	.sub05.page01 .parenting-rest-list .program-list-table:not(.is-server-mobile) tbody td:nth-child(10) {
		text-align:center;
		vertical-align:middle;
	}
}

.parenting-rest-list .mod_btn,
.parenting-rest-list input[type='button'] {
	min-height:32px;
	padding:4px 12px !important;
	border:0 !important;
	border-radius:6px !important;
	background:#18a85b !important;
	color:#fff !important;
	font-size:13px !important;
	font-weight:700;
}

.parenting-rest-list .new_view_btn2 {
	background:#5c6661;
}

.parenting-rest-list .program-count {
	display:inline-flex;
	align-items:center;
	gap:3px;
	white-space:nowrap;
}

.parenting-rest-list .program-mobile-status {
	display:block;
	margin-bottom:6px;
}

.parenting-rest-list .application-history-table {
	width:100%;
	border-collapse:collapse;
}

.parenting-rest-list .application-history-table thead td {
	padding:15px 10px;
	border-bottom:2px solid #18a85b;
	background:#f5faf7;
	font-weight:800;
	text-align:center;
}

.parenting-rest-list .application-history-table tbody td {
	padding:13px 10px;
	border-bottom:1px solid #e5ebe8;
	line-height:1.55;
}

.application-history-label {
	display:none;
}

@media (max-width:1100px) {
	.parenting-rest-type {
		grid-template-columns:210px minmax(0,1fr);
	}

	.parenting-rest-type__description {
		grid-column:1 / -1;
		margin-top:14px;
		padding:13px 0 0;
		border-top:1px solid #e1e6e3;
		border-left:0;
	}

	.parenting-rest-months {
		grid-template-columns:repeat(3,minmax(0,1fr));
	}
}

@media (max-width:700px) {
	.parenting-rest {
		font-size:15px;
	}

	.parenting-rest__intro {
		grid-template-columns:1fr;
		padding:24px 20px;
	}

	.parenting-rest-mark {
		display:none;
	}

	.parenting-rest-type {
		grid-template-columns:1fr;
		padding:20px;
	}

	.parenting-rest-type__name {
		font-size:18px;
	}

	.parenting-rest-type__centers {
		margin-top:14px;
		padding:0;
	}

	.parenting-rest-type__description {
		grid-column:auto;
	}

	.parenting-rest-months {
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:14px;
	}

	.parenting-rest-month {
		height:190px;
	}

	.parenting-rest-month strong {
		font-size:36px;
	}
}

@media (max-width:420px) {
	.parenting-rest-months {
		grid-template-columns:1fr;
	}

	.parenting-rest-month {
		height:174px;
	}
}

/* 애지중지 육아누리 소개: 원본 캐릭터는 유지하고 설명은 실제 텍스트로 제공합니다. */
.platform-intro-diagram { width:100%; max-width:1000px; margin:10px auto 0; }
.platform-intro-diagram > a { display:block; }
.platform-intro-diagram img { display:block; width:100%; height:auto; }
.platform-intro-diagram__hint { margin:12px 0; text-align:center; color:#596675; font-size:13px; }
.platform-intro-diagram__text { padding:14px 18px; border:1px solid #e1e6eb; border-radius:10px; font-size:14px; line-height:1.8; }
.platform-intro-diagram__text summary { cursor:pointer; color:#23425a; font-weight:600; }
.platform-intro-diagram__text p { margin:10px 0 0; word-break:keep-all; }

.platform-intro {
	display:grid;
	gap:34px;
	color:#333;
}

.platform-intro-section h4 {
	display:flex;
	align-items:center;
	gap:10px;
	margin:0 0 14px;
	font-size:23px;
	font-weight:700;
	line-height:1.4;
}

.platform-intro-section h4 span {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:24px;
	height:24px;
	border:2px solid #12a8dc;
	border-radius:50%;
	color:#12a8dc;
	font-size:25px;
	font-weight:400;
	line-height:1;
	padding-bottom:2px;
}

.platform-intro-panel {
	position:relative;
	min-height:220px;
	overflow:hidden;
	border-radius:28px;
	background:#f5f5f5;
	isolation:isolate;
}

.platform-intro-panel__original {
	position:absolute;
	left:auto;
	right:24px;
	top:0;
	width:80%;
	height:auto;
	max-width:none;
	/* JPG의 흰 바탕은 패널 색에 녹이고 캐릭터 선과 색상만 자연스럽게 남긴다. */
	mix-blend-mode:darken;
}

.platform-intro-panel--definition .platform-intro-panel__original {
	transform:translateY(-2.5%);
}

.platform-intro-panel--nuri .platform-intro-panel__original {
	transform:translateY(-25%);
}

.platform-intro-panel__copy {
	position:relative;
	z-index:2;
	display:flex;
	align-items:center;
	width:68%;
	min-height:220px;
	padding:26px 34px 26px 60px;
	background:#f5f5f5;
	box-sizing:border-box;
}

.platform-intro-panel__copy p,
.platform-model-panel__description {
	position:relative;
	margin:0;
	font-size:15px;
	line-height:1.8;
	word-break:keep-all;
}

.platform-intro-panel__copy p:before,
.platform-model-panel__description:before {
	content:'';
	position:absolute;
	left:-22px;
	top:9px;
	width:10px;
	height:10px;
	border-radius:50%;
	background:#41b9d8;
}

.platform-model-panel {
	padding:32px 38px 36px 60px;
	border-radius:28px;
	background:#f5f5f5;
}

.platform-model-panel__description {
	margin-bottom:28px;
}

.platform-sharing-model {
	position:relative;
	padding:48px 24px 38px;
	border:1px solid #dbe4e0;
	border-radius:18px;
	background:#fff;
}

.platform-sharing-model__trust,
.platform-sharing-model__feedback {
	position:absolute;
	left:50%;
	padding:7px 20px;
	border-radius:18px;
	background:#7258b4;
	color:#fff;
	font-size:14px;
	font-weight:700;
	transform:translateX(-50%);
	white-space:nowrap;
}

.platform-sharing-model__trust {
	top:-16px;
}

.platform-sharing-model__feedback {
	bottom:-16px;
	background:#18a85b;
}

.platform-sharing-model__flow {
	display:grid;
	grid-template-columns:160px minmax(150px,1fr) 180px minmax(150px,1fr) 160px;
	align-items:center;
	gap:18px;
}

.platform-sharing-model__node {
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	min-height:132px;
	border:2px solid #18a85b;
	border-radius:50%;
	background:#f7fcf9;
	color:#188d50;
	text-align:center;
}

.platform-sharing-model__node--platform {
	border-color:#7258b4;
	background:#faf8ff;
	color:#674ea7;
}

.platform-sharing-model__node--user {
	border-color:#ef6683;
	background:#fff8fa;
	color:#dc5571;
}

.platform-sharing-model__icon {
	display:block;
	width:46px;
	height:46px;
	margin-bottom:8px;
}

.platform-sharing-model__icon svg {
	width:100%;
	height:100%;
	fill:none;
	stroke:currentColor;
	stroke-width:3;
	stroke-linecap:round;
	stroke-linejoin:round;
}

.platform-sharing-model__exchange {
	display:grid;
	gap:18px;
	color:#56615c;
	font-size:14px;
	text-align:center;
}

.platform-sharing-model__exchange span {
	position:relative;
	display:block;
	padding:7px 0;
	border-top:1px solid #aebbb5;
}

.platform-sharing-model__exchange b {
	color:#18a85b;
	font-size:20px;
}

@media (max-width:900px) {
	.platform-sharing-model__flow {
		grid-template-columns:130px minmax(100px,1fr) 150px minmax(100px,1fr) 130px;
		gap:10px;
	}

	.platform-sharing-model__node {
		min-height:118px;
	}
}

@media (max-width:700px) {
	/* 지도와 구·군 클릭 영역이 같은 비율로 축소되도록 모바일에서도 지도를 유지합니다. */
	.institution-search-hero__map {
		display:block;
		max-width:445px;
	}

	.institution-map-labels span {
		font-size:9px;
		letter-spacing:-.8px;
		text-shadow:0 1px 0 rgba(255,255,255,.55);
	}

	.institution-map-labels span:nth-child(4),
	.institution-map-labels span:nth-child(5),
	.institution-map-labels span:nth-child(6),
	.institution-map-labels span:nth-child(8),
	.institution-map-labels span:nth-child(9),
	.institution-map-labels span:nth-child(10),
	.institution-map-labels span:nth-child(12),
	.institution-map-labels span:nth-child(13) {
		font-size:8px;
		letter-spacing:-1px;
	}

	.institution-search-hero {
		padding:0;
		gap:24px;
		background:transparent;
	}

	.platform-intro {
		gap:28px;
	}

	.platform-intro-section h4 {
		font-size:19px;
	}

	.platform-intro-panel {
		min-height:340px;
		border-radius:20px;
	}

	.platform-intro-panel__original {
		left:auto;
		right:-50px;
		width:800px !important;
		max-width:none !important;
	}

	.platform-intro-panel:before {
		content:'';
		position:absolute;
		left:0;
		top:0;
		z-index:1;
		width:30%;
		height:195px;
		background:#f5f5f5;
	}

	.platform-intro-panel--definition:before {
		background:#f5f5f5;
	}

	/* 합성 원본의 두 번째 캐릭터가 모바일 설명 영역 위로 비치지 않게 자른다. */
	.platform-intro-panel--definition .platform-intro-panel__original {
		clip-path:inset(0 0 calc(100% - 185px) 0);
	}

	.platform-intro-panel--nuri:before {
		background:#f5f5f5;
	}

	.platform-intro-panel__copy {
		align-items:flex-start;
		width:100%;
		min-height:145px;
		margin-top:195px;
		padding:22px 25px 24px 43px;
	}

	.platform-intro-panel__copy p,
	.platform-model-panel__description {
		font-size:14px;
		line-height:1.75;
	}

	.platform-model-panel {
		padding:24px 20px 34px 42px;
		border-radius:20px;
	}

	.platform-sharing-model {
		margin-left:-22px;
		padding:48px 18px 38px;
	}

	.platform-sharing-model__flow {
		grid-template-columns:1fr;
		gap:10px;
	}

	.platform-sharing-model__node {
		width:142px;
		min-height:122px;
		margin:0 auto;
	}

	.platform-sharing-model__exchange {
		gap:2px;
	}

	.platform-sharing-model__exchange span {
		padding:4px 0;
		border-top:0;
	}

	.platform-sharing-model__exchange b {
		display:inline-block;
		transform:rotate(90deg);
	}

	/* 목록 표는 항목별 카드로 바꿔 세로 글자와 가로 스크롤을 제거합니다. */
	.parenting-rest-list .board-list {
		overflow:visible;
		border:0;
		background:transparent;
	}

	.parenting-rest-list .program-list-table,
	.parenting-rest-list .program-list-table tbody,
	.parenting-rest-list .program-list-table tr,
	.parenting-rest-list .program-list-table td {
		display:block;
		width:100%;
		box-sizing:border-box;
	}

	.parenting-rest-list .program-list-table colgroup,
	.parenting-rest-list .program-list-table thead {
		display:none;
	}

	.parenting-rest-list .program-list-table tr {
		margin-bottom:16px;
		padding:10px 16px;
		border:1px solid #dce8e1;
		border-radius:14px;
		background:#fff;
		box-shadow:0 7px 18px rgba(35,72,52,.06);
	}

	.parenting-rest-list .program-list-table td {
		position:relative;
		display:grid;
		grid-template-columns:82px minmax(0,1fr);
		align-items:start;
		min-height:42px;
		padding:10px 0 !important;
		border-bottom:1px solid #edf1ef !important;
		text-align:left !important;
		line-height:1.55;
		word-break:keep-all;
	}

	.parenting-rest-list .program-list-table td:last-child {
		border-bottom:0 !important;
	}

	.parenting-rest-list .program-list-table td:before {
		display:block;
		padding-right:12px;
		color:#16894d;
		font-weight:800;
	}

	.parenting-rest-list .program-list-table .program-count {
		display:inline-flex;
	}

	.parenting-rest-list .program-list-table.is-server-mobile td:nth-child(3) {
		gap:7px;
	}

	.parenting-rest-list .program-list-table:not(.is-server-mobile) td:nth-child(1):before { content:'연번'; }
	.parenting-rest-list .program-list-table:not(.is-server-mobile) td:nth-child(2):before { content:'유형'; }
	.parenting-rest-list .program-list-table:not(.is-server-mobile) td:nth-child(3):before { content:'일시'; }
	.parenting-rest-list .program-list-table:not(.is-server-mobile) td:nth-child(4):before { content:'장소'; }
	.parenting-rest-list .program-list-table:not(.is-server-mobile) td:nth-child(5):before { content:'주제'; }
	.parenting-rest-list .program-list-table:not(.is-server-mobile) td:nth-child(6):before { content:'신청기간'; }
	.parenting-rest-list .program-list-table:not(.is-server-mobile) td:nth-child(7):before { content:'신청/정원'; }
	.parenting-rest-list .program-list-table:not(.is-server-mobile) td:nth-child(8):before { content:'신청/대기'; }
	.parenting-rest-list .program-list-table:not(.is-server-mobile) td:nth-child(9):before { content:'상태'; }
	.parenting-rest-list .program-list-table:not(.is-server-mobile) td:nth-child(10):before { content:'신청현황'; }

	/* 구분자(/)가 익명 그리드 항목으로 떨어지지 않도록 인원 값은 한 줄 플렉스로 고정합니다. */
	.parenting-rest-list .program-list-table:not(.is-server-mobile) td:nth-child(7),
	.parenting-rest-list .program-list-table:not(.is-server-mobile) td:nth-child(8) {
		display:flex;
		align-items:center;
		gap:3px;
	}

	.parenting-rest-list .program-list-table:not(.is-server-mobile) td:nth-child(7):before,
	.parenting-rest-list .program-list-table:not(.is-server-mobile) td:nth-child(8):before {
		flex:0 0 82px;
	}

	.parenting-rest-list .program-list-table.is-server-mobile td:nth-child(1):before { content:'연번'; }
	.parenting-rest-list .program-list-table.is-server-mobile td:nth-child(2):before { content:'프로그램'; }
	.parenting-rest-list .program-list-table.is-server-mobile td:nth-child(3):before { content:'상태/현황'; }

	.parenting-rest-list .program-list-table td[colspan] {
		display:block;
		padding:22px !important;
		text-align:center !important;
	}

	.parenting-rest-list .program-list-table td[colspan]:before {
		display:none;
	}

	/* 신청내역은 신청자별 카드로 분리해 개인정보와 버튼을 읽기 쉽게 합니다. */
	.parenting-rest-list .application-history-table,
	.parenting-rest-list .application-history-table tbody,
	.parenting-rest-list .application-history-table tr,
	.parenting-rest-list .application-history-table td {
		display:block;
		width:100%;
		box-sizing:border-box;
	}

	.parenting-rest-list .application-history-table colgroup,
	.parenting-rest-list .application-history-table thead {
		display:none;
	}

	.parenting-rest-list .application-history-table tbody > tr {
		margin-bottom:16px;
		padding:14px 16px;
		border:1px solid #dce8e1;
		border-radius:14px;
		background:#fff;
		box-shadow:0 7px 18px rgba(35,72,52,.06);
	}

	.parenting-rest-list .application-history-table td {
		min-height:42px;
		padding:10px 0 !important;
		border-bottom:1px solid #edf1ef !important;
		text-align:left !important;
		word-break:keep-all;
	}

	.parenting-rest-list .application-history-table td:last-child {
		border-bottom:0 !important;
	}

	.parenting-rest-list .application-history-table.is-server-mobile td:not(.application-history-person):not(.board-list-uid) {
		display:grid;
		grid-template-columns:92px minmax(0,1fr);
		gap:10px;
	}

	.parenting-rest-list .application-history-person {
		display:grid !important;
		grid-template-columns:46px minmax(0,1fr);
		gap:2px 10px;
		align-items:center;
	}

	.parenting-rest-list .application-history-index {
		grid-row:1 / 3;
		display:flex;
		align-items:center;
		justify-content:center;
		width:38px;
		height:38px;
		border-radius:50%;
		background:#e9f8ef;
		color:#14894c;
		font-weight:800;
	}

	.parenting-rest-list .application-history-label {
		display:block;
		color:#16894d;
		font-weight:800;
	}

	.parenting-rest-list .application-history-table.is-server-mobile .board-list-uid input {
		width:100%;
	}

	.parenting-rest-list .application-history-table:not(.is-server-mobile) td {
		display:grid;
		grid-template-columns:92px minmax(0,1fr);
		gap:10px;
	}

	.parenting-rest-list .application-history-table:not(.is-server-mobile) td:before {
		color:#16894d;
		font-weight:800;
	}

	.parenting-rest-list .application-history-table:not(.is-server-mobile) td:nth-child(1):before { content:'연번'; }
	.parenting-rest-list .application-history-table:not(.is-server-mobile) td:nth-child(2):before { content:'신청자명'; }
	.parenting-rest-list .application-history-table:not(.is-server-mobile) td:nth-child(3):before { content:'휴대폰번호'; }
	.parenting-rest-list .application-history-table:not(.is-server-mobile) td:nth-child(4):before { content:'참석인원'; }
	.parenting-rest-list .application-history-table:not(.is-server-mobile) td:nth-child(5):before { content:'참석자명단'; }
	.parenting-rest-list .application-history-table:not(.is-server-mobile) td:nth-child(6):before { content:'신청일자'; }
	.parenting-rest-list .application-history-table:not(.is-server-mobile) td:nth-child(7):before { content:'상태'; }
	.parenting-rest-list .application-history-table:not(.is-server-mobile) td:nth-child(8):before { content:'수정'; }

	.parenting-rest-list form .new_select_box:nth-of-type(1),
	.parenting-rest-list form .new_select_box:nth-of-type(2) {
		width:calc(50% - 6px);
		margin-right:6px;
	}

	.parenting-rest-list form .new_select_box:nth-of-type(2) {
		margin-right:0;
	}

	.parenting-rest-list form .new_select_box:nth-of-type(3) {
		width:100%;
		margin-right:0;
	}

	/* 상세정보의 두 항목 행도 모바일에서는 한 쌍씩 내려 읽기 쉽게 합니다. */
	.parenting-program-detail,
	.parenting-program-detail > tbody,
	.parenting-program-detail > tbody > tr,
	.parenting-program-detail > tbody > tr > td,
	.parenting-program-detail .new_table_in,
	.parenting-program-detail .new_table_in tbody {
		display:block;
		width:100%;
		box-sizing:border-box;
	}

	.parenting-program-detail {
		overflow:hidden;
		border:1px solid #d8e7df !important;
		border-top:4px solid #18a85b !important;
		border-radius:16px;
		background:#fff;
		box-shadow:0 8px 24px rgba(34,77,53,.08);
	}

	.parenting-program-detail > tbody > tr > td {
		background:#fff !important;
	}

	.parenting-program-detail .new_table_in tr {
		display:grid;
		grid-template-columns:112px minmax(0,1fr);
		width:100%;
		height:auto !important;
	}

	.parenting-program-detail .new_table_in th,
	.parenting-program-detail .new_table_in td {
		display:block;
		width:auto !important;
		padding:14px 12px !important;
		box-sizing:border-box;
		line-height:1.6;
		word-break:keep-all;
	}

	.parenting-program-detail .new_table_in th {
		display:flex;
		align-items:center;
		justify-content:center;
		background:#f1faf5 !important;
		color:#157d48;
		font-weight:800;
		text-align:center;
		white-space:normal !important;
		word-break:keep-all;
	}

	.parenting-program-detail .new_table_in td {
		background:#fff !important;
		color:#303b35;
	}

	.parenting-program-detail .new_table_in td[colspan] {
		grid-column:auto;
	}

	.parenting-program-detail .new_table_in tr:last-child td[colspan] {
		grid-column:1 / -1;
		padding:18px 14px !important;
		background:#fbfdfc !important;
	}

	.parenting-program-detail .new_table_in img {
		display:block;
		max-width:100% !important;
		height:auto !important;
		margin:0 auto;
		border-radius:12px;
	}
}

@charset "utf-8";

/* 기존 데이터·게시판 구조는 유지하고 사용자 서브페이지의 공통 껍데기만 통일합니다. */
#wrap.sub{
	width:100%;
	min-width:320px;
	min-height:100vh;
	background:#fff;
}

#wrap.sub > .sub_visual{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	height:250px;
	margin:0;
	overflow:hidden;
	background:linear-gradient(135deg,#eff8ff 0,#f8edf5 100%);
}

#wrap.sub > .sub_visual:before,
#wrap.sub > .sub_visual:after{
	position:absolute;
	border-radius:50%;
	content:"";
}

#wrap.sub > .sub_visual:before{
	top:-110px;
	left:8%;
	width:250px;
	height:250px;
	background:rgba(29,132,209,.11);
}

#wrap.sub > .sub_visual:after{
	right:7%;
	bottom:-120px;
	width:300px;
	height:300px;
	background:rgba(239,47,103,.1);
}

.sub-visual-inner{
	position:relative;
	z-index:1;
	width:1400px;
	max-width:calc(100% - 48px);
	margin:0 auto;
	text-align:center;
}

.sub-visual-title{
	margin:0;
	font-size:40px;
	font-weight:900;
	letter-spacing:-2px;
	color:#252525;
}

.sub-visual-title:after{
	display:block;
	width:54px;
	height:4px;
	margin:17px auto 0;
	border-radius:2px;
	background:linear-gradient(90deg,var(--renewal-blue),var(--renewal-pink));
	content:"";
}

.sub-visual-bread{
	margin-top:16px;
	font-size:13px;
	color:#777;
}

#wrap.sub #sub_content{
	width:100%;
	margin:0;
	padding:0;
}

#wrap.sub #sub_content > .sub_menu{
	display:none;
}

#wrap.sub #sub_content > .sub_content{
	width:1400px;
	max-width:calc(100% - 48px);
	margin:0 auto;
	padding:70px 0 100px;
}

#wrap.sub .sub_content > .bread{
	display:none;
}

#wrap.sub .contWrap{
	width:100%;
	min-height:400px;
	margin:0;
	padding:0;
}

#wrap.sub .contWrap > h3,
#wrap.sub .institution-detail-heading > h3{
	margin:0 0 44px;
	padding:0 0 20px;
	border-bottom:1px solid var(--renewal-line);
	font-size:34px;
	font-weight:900;
	letter-spacing:-1.6px;
	color:#252525;
}

#wrap.sub .subBottom{
	display:none;
}

/* 상세정보는 SVG 대신 유지보수 가능한 공통 PNG 아이콘 세트를 사용합니다. */
.institution-info-icon,
.resource-info-icon,
.platform-sharing-model__icon{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:34px;
	height:34px;
	border-radius:50%;
	background:#eef6ff;
	color:var(--renewal-blue);
	font-size:12px;
	font-weight:900;
}

.institution-detail__info .institution-info-icon:before,
.resource-detail__info .resource-info-icon:before,
.resource-list-card .resource-info-icon:before{
	content:"";
	display:block;
	width:22px;
	height:22px;
	background-repeat:no-repeat;
	background-position:center;
	background-size:22px 22px;
}

.institution-info-icon--type:before{
	background-image:url('/img/detail_icon_institution_type.png');
}

.resource-info-icon--type:before{
	background-image:url('/img/detail_icon_resource_type.png');
}

.institution-info-icon--location:before,
.resource-info-icon--location:before{
	background-image:url('/img/detail_icon_location.png');
}

.resource-info-icon--target:before{
	background-image:url('/img/detail_icon_target.png');
}

.institution-info-icon--website:before{
	background-image:url('/img/detail_icon_website.png');
}

.resource-info-icon--website:before{
	background-image:url('/img/detail_icon_homepage.png');
}

.institution-info-icon--phone:before,
.resource-info-icon--phone:before{
	background-image:url('/img/detail_icon_phone.png');
}

.institution-info-icon--hours:before,
.resource-info-icon--hours:before{
	background-image:url('/img/detail_icon_hours.png');
}

.institution-info-icon--holiday:before,
.resource-info-icon--holiday:before{
	background-image:url('/img/detail_icon_holiday.png');
}

.platform-sharing-model__node--provider .platform-sharing-model__icon:before{content:"기관";}
.platform-sharing-model__node--platform .platform-sharing-model__icon:before{content:"공유";}
.platform-sharing-model__node--user .platform-sharing-model__icon:before{content:"이용";}

@media all and (max-width:900px){
	#wrap.sub > .sub_visual{
		height:210px;
	}

	#wrap.sub #sub_content > .sub_content{
		padding-top:52px;
	}
}

@media all and (max-width:600px){
	#wrap.sub > .sub_visual{
		height:180px;
	}

	.sub-visual-inner,
	#wrap.sub #sub_content > .sub_content{
		max-width:calc(100% - 28px);
	}

	.sub-visual-title{
		font-size:30px;
	}

	#wrap.sub #sub_content > .sub_content{
		padding:42px 0 70px;
	}

	#wrap.sub .contWrap > h3,
	#wrap.sub .institution-detail-heading > h3{
		margin-bottom:30px;
		font-size:27px;
	}
}
