/* 회원복지서비스 */
.welfare-service-box {width: 100%; padding: 3rem 0;}
.welfare-service-box .welfare-section {margin-top: 7rem;}
.welfare-service-box .welfare-section:first-child {margin-top: 0;}
.welfare-service-box .welfare-tit {margin-bottom: 2.5rem;}
.welfare-service-box .welfare-tit h2 {position: relative; margin: 0; padding-left: 1.5rem; font-size: 2.2rem; font-weight: 700; color: #0a276a; line-height: 1.4;}
.welfare-service-box .welfare-tit h2::before {content: ''; position: absolute; top: 50%; left: 0; width: 0.4rem; height: 2.4rem; background: #0a276a; transform: translateY(-50%);}
.welfare-service-box .welfare-cont {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 3rem;}
.welfare-service-box .welfare-card {display: flex; flex-direction: column; overflow: hidden; border: 1px solid #e4e7eb; border-radius: 1rem; background: #fff;}
.welfare-service-box .welfare-card-img {display: flex; align-items: center; justify-content: center; height: 25rem; overflow: hidden; background: #f6f9ff;}
.welfare-service-box .welfare-card-img img {display: block; width: 100%; height: 100%; object-fit: cover;}
.welfare-service-box .welfare-card-info {display: flex; flex: 1; flex-direction: column; padding: 2.5rem;}
.welfare-service-box .welfare-card-info .welfare-card-tit {margin: 0 0 2rem;}
.welfare-service-box .welfare-card-info h3 { font-size: 2rem; font-weight: 700; color: #000; line-height: 1.3; word-break: keep-all;}
.welfare-service-box .welfare-address {margin: 0.5rem 0 0; font-size: 1.6rem; color: #666; font-weight: 500; line-height: 1.5; word-break: keep-all;}
.welfare-service-box .welfare-address:empty {display: none;}
.welfare-service-box .welfare-info-list {margin: 0 0 2rem;}
.welfare-service-box .welfare-info-list > div {display: grid; grid-template-columns: 6rem minmax(0, 1fr); align-items: start; margin-top: 1rem;}
.welfare-service-box .welfare-info-list > div:first-child {margin-top: 0;}
.welfare-service-box .welfare-info-list dt {font-size: 1.5rem; font-weight: 700; color: #000; line-height: 1.5;}
.welfare-service-box .welfare-info-list dd {min-width: 0; margin: 0; font-size: 1.5rem; color: #000; font-weight: 400; line-height: 1.5; word-break: keep-all;}
.welfare-service-box .welfare-info-list ul {margin: 0; padding-left: 1.8rem; list-style: disc; font-weight: 300;}
.welfare-service-box .welfare-info-list li {margin-top: 0.3rem; word-break: keep-all;}
.welfare-service-box .welfare-info-list li:first-child {margin-top: 0;}
.welfare-service-box .welfare-info-list .welfare-sub-list {margin: 0.2rem 0 0; padding-left: 0; list-style: none;}
.welfare-service-box .welfare-info-list .welfare-sub-list li {position: relative; margin-top: 0.4rem; padding-left: 1rem;}
.welfare-service-box .welfare-info-list .welfare-sub-list li:first-child {margin-top: 0;}
.welfare-service-box .welfare-info-list .welfare-sub-list li::before {content: '-'; position: absolute; top: 0; left: 0;}
.welfare-service-box .welfare-info-list .welfare-desc {margin: 0.2rem 0 0; font-size: 1.5rem; color: #d92000; line-height: 1.5;}

.welfare-service-box .welfare-file {display: flex; flex-direction: column; align-items: flex-start; flex-wrap: nowrap; gap: 1.5rem; margin-top: auto; padding-top: 2.5rem; border-top: 1px solid #edf0f2;}
.welfare-service-box .welfare-file strong {flex-shrink: 0; font-size: 1.5rem; color: #000; font-weight: 700; line-height: 1.2;}
.welfare-service-box .welfare-file a {display: flex; align-items: flex-start; gap: 0.8rem; color: #0a276a; text-decoration: none; margin-bottom: 0.9rem;}
.welfare-service-box .welfare-file a img {display: block; flex-shrink: 0; width: 1.4rem; height: 1.4rem; object-fit: contain;}
.welfare-service-box .welfare-file a p {margin: 0; font-size: 1.4rem; color: #0a276a; font-weight: 500; line-height: 1.2;}
.welfare-service-box .welfare-file a:hover p {text-decoration: underline;}

@media (max-width: 1100px) {
	.welfare-service-box {padding: 2.5rem 0 4rem;}
	.welfare-service-box .welfare-section {margin-top: 5rem;}
	.welfare-service-box .welfare-tit {margin-bottom: 2rem;}
	.welfare-service-box .welfare-tit h2 {font-size: 2rem;}
	.welfare-service-box .welfare-cont {gap: 2rem;}
	.welfare-service-box .welfare-card-img {height: 17rem;}
	.welfare-service-box .welfare-card-info {padding: 2rem;}
	.welfare-service-box .welfare-card-info h3 {font-size: 1.8rem;}
	.welfare-service-box .welfare-address {margin-bottom: 1.5rem; font-size: 1.5rem;}
	.welfare-service-box .welfare-info-list > div {grid-template-columns: 5rem minmax(0, 1fr);}
	.welfare-service-box .welfare-info-list dt {font-size: 1.4rem;}
	.welfare-service-box .welfare-info-list dd {font-size: 1.4rem;}
	.welfare-service-box .welfare-info-list .welfare-sub-list li {padding-left: 0.9rem;}
	.welfare-service-box .welfare-info-list .welfare-desc {font-size: 1.4rem;}
	.welfare-service-box .welfare-file {padding-top: 2rem;}
}
@media (max-width: 768px) {
	.welfare-service-box {padding: 2rem 0 3rem;}
	.welfare-service-box .welfare-section {margin-top: 4rem;}
	.welfare-service-box .welfare-tit {margin-bottom: 1.5rem;}
	.welfare-service-box .welfare-tit h2 {padding-left: 1.2rem; font-size: 1.9rem;}
	.welfare-service-box .welfare-tit h2::before {width: 0.3rem; height: 2rem;}
	.welfare-service-box .welfare-cont {grid-template-columns: 1fr; gap: 1.5rem;}
	.welfare-service-box .welfare-card-img {height: 18rem;}
	.welfare-service-box .welfare-card-info {padding: 2rem;}
	.welfare-service-box .welfare-card-info h3 {font-size: 1.8rem;}
	.welfare-service-box .welfare-address {font-size: 1.4rem;}
	.welfare-service-box .welfare-info-list {margin-bottom: 1.5rem;}
	.welfare-service-box .welfare-info-list > div {grid-template-columns: 5rem minmax(0, 1fr); margin-top: 0.8rem;}
	.welfare-service-box .welfare-info-list dt {font-size: 1.4rem;}
	.welfare-service-box .welfare-info-list dd {font-size: 1.4rem;}
	.welfare-service-box .welfare-file strong {font-size: 1.4rem;}
	.welfare-service-box .welfare-file a p {font-size: 1.3rem;}
	.welfare-service-box .welfare-info-list .welfare-sub-list li {padding-left: 0.8rem;}
	.welfare-service-box .welfare-info-list .welfare-desc {font-size: 1.4rem;}
}
@media (max-width: 480px) {
	.welfare-service-box .welfare-card-img {height: 15rem;}
	.welfare-service-box .welfare-card-info {padding: 1.7rem;}
	.welfare-service-box .welfare-info-list > div {grid-template-columns: 4.5rem minmax(0, 1fr);}
	.welfare-service-box .welfare-file {align-items: flex-start; padding-top: 1.7rem;}
	.welfare-service-box .welfare-file strong {width: 100%;}
}