@charset "utf-8";
.deco-tit {position: relative; padding-left: 26px; margin-bottom: var(--space-60); font-size: var(--font-size-32); line-height: 1.4375em; font-weight: 600; color: var(--dark-color);}
.deco-tit:before {content: ''; position: absolute; left: 0; width: 16px; height: 1.4375em; background: url('/images/sub/deco-tit.svg') no-repeat center center / contain;}
.dot-list li {text-indent: -1.2em; padding-left: 1em;}
.dot-list li:before {content: '•'; margin-right: 10px; color: #CCC;}
.sec-tit h3 {font-size: var(--font-size-40); line-height: 1.5em; color: var(--dark-color);}
.sec-tit.white-color h3 {color: #fff;}
.sec-tit p {margin-top: var(--space-24); font-size: var(--font-size-20); line-height: 1.7em;}
.chk-list li {display: flex; color: #ccc; font-size: var(--font-size-20); line-height: 1.7em;}
.chk-list li:not(:last-child) {margin-bottom: 8px;}
.chk-list li:before {content: ''; display: block; width: 20px; height: 1.7em; margin-right: 10px; background: url('/images/sub/icon-check.svg') no-repeat center center / contain;}

.tabmenu {margin-bottom: var(--space-80); border-bottom: 1px solid #EEE;}
.tabmenu ul {width: max-content; min-width: 100%;}
.tabmenu li {flex: 1 1 auto; width: auto;}
.tabmenu a {display: block; padding: var(--space-24); font-size: var(--font-size-20); color: #878787; font-weight: 500; line-height: 1.7em; text-align: center;}
.tabmenu span {position: relative; display: block; width: fit-content; margin: 0 auto; padding: 0 16px;}
.tabmenu .active a {position: relative; color: var(--primary-color);}
.tabmenu .active a:after {content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--primary-color);}
.tabmenu .active span:after {content: ''; position: absolute; right: 0; top: 0; width: 6px; height: 6px; background: var(--primary-color); border-radius: 100%;}

.table-wrap table {width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 1px solid var(--dark-color);}
.table-wrap th, .table-wrap td {padding: 16px 20px; border-bottom: 1px solid #DFDFDF;}
.table-wrap th {background: #FAFAFA; border-right: 1px solid #DFDFDF; font-weight: 500; color: var(--dark-color);}
.table-wrap tbody th {background: #fff; font-weight: 400; color: #505050;}
.table-wrap td {background: #fff; color: var(--gray-color);}
.product-content td:not(:first-child) {border-left: 1px solid #DFDFDF;}
.product-content small {display: block; font-size: var(--font-size-16); color: var(--gray-color2); line-height: 1.5em;}
.product-content th:nth-child(1) {width: 18.6%;}
.product-content th:nth-child(2) {width: 22.86%;}

.funeral-detail-head {display: flex; flex-direction: column; gap: var(--space-16); margin-bottom: var(--space-60);}
.funeral-detail-tit {display: flex; align-items: center; gap: 16px; font-size: var(--font-size-32); font-weight: 600; color: #2c2c2c; line-height: 1.4375em; letter-spacing: -.02em;}
.funeral-detail-desc {font-size: var(--font-size-20); font-weight: 500; color: #676767; line-height: 1.7em; letter-spacing: -.02em;}
.funeral-detail > .contain {padding-top: 100px; padding-bottom: 120px;}
.funeral-detail-summary {display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-bottom: 0;}
.funeral-detail-summary-item {display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 20px; padding: 40px 16px; border-radius: var(--radius-16); background: #f4f6fa; text-align: center;}
.funeral-detail-summary-icon {display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; padding: 0; border-radius: 0; background: transparent; overflow: hidden;}
.funeral-detail-summary-icon img {max-width: 46px; max-height: 46px; width: 100%; height: 100%; object-fit: contain;}
.funeral-detail-summary-txt {font-size: var(--font-size-20); font-weight: 500; color: #2c2c2c; line-height: 1.5em; letter-spacing: -.02em; word-break: keep-all;}
.funeral-detail-summary-txt span,
.funeral-detail-summary-txt .funeral-detail-summary-sub {display: block; margin-top: 0; font-size: var(--font-size-16); font-weight: 500; color: #aaa; line-height: 1.625em; letter-spacing: -.02em;}
.funeral-detail-summary-txt .primary-color {color: #aaa;}
.funeral-detail-summary-txt strong.primary-color {display: inline; color: var(--primary-color); font-size: inherit; line-height: inherit; font-weight: 500;}
.funeral-detail-summary-txt .funeral-detail-spec-note {display: block; margin: 0; color: #aaa; font-size: var(--font-size-16); font-weight: 500; line-height: 1.625em;}
.funeral-detail-body {padding: 120px 0 140px; background: #fafafa;}
.funeral-detail-group + .funeral-detail-group {margin-top: 100px;}
.funeral-detail-group-tit {display: flex; align-items: center; gap: 16px; margin-bottom: var(--space-60); font-size: var(--font-size-32); font-weight: 600; color: #2c2c2c; line-height: 1.4375em; letter-spacing: -.02em;}
.funeral-detail-card-tit:before {content: ''; display: block; width: 16px; height: 1.4375em; background: url('/images/sub/deco-tit.svg') no-repeat center center / contain;}
.funeral-detail-cards {display: flex; flex-direction: column; gap: 16px;}
.funeral-detail-card {flex: 1; display: flex; flex-direction: column; gap: 24px; padding: 32px; border: 1px solid #eee; border-radius: var(--radius-16); background: #fff;}
.funeral-detail-card-head {display: flex; align-items: center; gap: 16px; margin-bottom: 0;}
.funeral-detail-card-head--between {justify-content: space-between; flex-wrap: wrap; gap: 12px 16px;}
.funeral-detail-card-head-inner {display: flex; align-items: center; gap: 16px;}
.funeral-detail-card-tit {display: flex; align-items: center; gap: 10px; font-size: var(--font-size-24); font-weight: 600; color: #2c2c2c; line-height: 1.6667em; letter-spacing: -.02em;}
.funeral-detail-card-dots {display: flex; flex-direction: column; justify-content: center; width: 16px; gap: 0; flex-shrink: 0;}
.funeral-detail-card-dots span:nth-child(1) {width: 8px; height: 8px; border-radius: 50%; background: var(--primary-color); align-self: flex-start;}
.funeral-detail-card-dots span:nth-child(2) {width: 8px; height: 8px; border-radius: 50%; background: var(--secondary-color, #F4DA28); align-self: flex-end;}
.funeral-detail-notice {display: flex; align-items: center; gap: 6px; margin: 0; padding: 8px 12px; border-radius: 80px; background: #f1f1f1; font-size: var(--font-size-16); font-weight: 500; color: #676767; line-height: 1.5em; letter-spacing: -.02em; white-space: nowrap;}
.funeral-detail-notice-icon {display: flex; flex-shrink: 0; width: 24px; height: 24px; background: url('/images/sub/icon-compare-info.png') no-repeat center center / contain; filter: grayscale(1);}

.funeral-detail-notice-icon svg,
.funeral-detail-notice-icon img {display: block; width: 100%; height: 100%;}
.funeral-detail-notice-icon svg {display: none;}
.funeral-detail-specs {display: flex; flex-direction: column; gap: 16px; margin: 0;}
.funeral-detail-card > .funeral-detail-specs,
.funeral-detail-card > .funeral-detail-specs-cols {border-top: 1px dashed #eee; padding-top: 24px; margin-top: 0;}
.funeral-detail-specs--stack {gap: 16px;}
.funeral-detail-spec {display: flex; align-items: flex-start;}
.funeral-detail-specs.column .funeral-detail-spec {flex-direction: column; gap: 4px;}
.funeral-detail-spec dt {width: 160px; flex-shrink: 0; font-size: var(--font-size-18); font-weight: 500; color: #aaa; line-height: 1.6667em; letter-spacing: -.02em;}
.funeral-detail-spec dd {flex: 1; min-width: 0; margin: 0; font-size: var(--font-size-18); font-weight: 400; color: #505050; line-height: 1.6667em; letter-spacing: -.02em; word-break: keep-all;}
.funeral-detail-spec-note {display: inline-block; margin-left: 10px; font-size: var(--font-size-16); font-weight: 500; color: #aaa; line-height: 1.625em; letter-spacing: -.02em;}
.funeral-detail-specs-cols {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 40px;}
.funeral-detail-grid {display: grid; gap: 16px;}
.funeral-detail-grid--service {grid-template-columns: 1fr;}
.funeral-detail-grid--admin {grid-template-columns: repeat(3, minmax(0, 1fr));}
.funeral-detail-grid-col {display: flex; flex-direction: column; gap: 16px;}
.funeral-detail-grid--service .funeral-detail-grid-col {display: contents;}

.root_daum_roughmap .wrap_map, .root_daum_roughmap, .direction-map iframe {width: 100% !important; height: 100% !important;}

.page-greetings {display: flex; gap: 25px 35px; flex-wrap: wrap;}
.greeting-txt .desc {gap: var(--space-30); font-size: var(--font-size-20); line-height: 1.6667em;}
.greeting-txt .group p:not(:last-child) {margin-bottom: .77778em;}
.greeting-img {display: none; border-radius: var(--radius-16); overflow: hidden;}
.sec-org-table {padding: var(--space-120) 0; margin-top: var(--space-120); background: #F8F8F8;}
.sec-org-table .table-wrap .dot-list {display: flex; gap: 8px 20px; flex-wrap: wrap;}
.sec-org-table .dot-list li {min-width: 94px;}

.funeral-process-banner {position: relative; border-radius: var(--radius-16); overflow: hidden; margin-bottom: var(--space-60);}
.funeral-process-banner .txt {position: absolute; left: 0; right: 0; bottom: 0; padding: var(--space-40);}
.funeral-process-list {display: flex; gap: 40px var(--space-16); align-items: flex-start;}
.funeral-process-item {display: flex; flex: 1; flex-direction: column; gap: var(--space-24); min-width: 0;}
.funeral-process-item .tit {padding: var(--space-16); border-radius: 8px; background: var(--primary-color); color: #fff; font-size: var(--font-size-20); font-weight: 600; line-height: 1.7em; text-align: center;}
.funeral-process-item .cnt {display: flex; flex-direction: column; gap: var(--space-16); width: 100%;}
.funeral-process-item .dot-list {display: flex; flex-direction: column; gap: 8px;}
.funeral-process-item .dot-list li {display: flex; flex-wrap: wrap;padding: var(--space-16) var(--space-24); border: 1px solid #eee; border-radius: 8px; font-size: var(--font-size-20); line-height: 1.7em; text-indent: 0;}
.funeral-process-item .dot-list li>div {flex: 1; min-width: 0;}
.funeral-process-item .dot-list .note {width: 100%; margin-top: var(--space-16); font-size: var(--font-size-14); line-height: 1.43em;}
.funeral-process-split {display: flex; gap: 8px;}
.funeral-process-sub {display: flex; flex: 1; flex-direction: column; gap: var(--space-24); min-width: 0;}
.funeral-process-sub .sub-tit {padding: var(--space-16); border-radius: 8px; background: #F4DA28; color: var(--dark-color); font-size: var(--font-size-20); font-weight: 600; line-height: 1.7em; text-align: center;}

.boxes {display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-16);}
.boxes .box {position: relative; padding: var(--space-50) var(--space-40); border-radius: var(--radius-16); border: 1px solid #DFDFDF; overflow: hidden;}
.boxes .num {width: fit-content; padding: 8px 12px; background: var(--dark-color); border-radius: 100px; color: #fff; font-size: var(--font-size-16); line-height: 1.5em;}
.boxes .num + h4 {margin-bottom: 8px;}
.boxes .bg-tit {padding: 12px; background: var(--primary-color); border-radius: 8px; color: #fff; font-size: var(--font-size-16); font-weight: 500; line-height: 1.5em;}
.boxes .bg {position: absolute; top: 0; right: 0; bottom: 0; left: 0;}
.boxes .bg  img {width: 100%; height: 100%; object-fit: cover;}

.funeral-benefit-banner {padding: var(--space-120) 0; margin-top: var(--space-120); background: url('/images/sub/bg-funeral-benefit.jpg') no-repeat center center / cover;}
.funeral-benefit-banner .chk-list {width: max-content; margin: 0 auto; max-width: 100%;}

.page-etiquette {display: flex; flex-direction: column; gap: var(--space-80);}
.page-etiquette .deco-tit, .page-etiquette .group:not(:last-child) {margin-bottom: var(--space-30);}
.page-etiquette .group.txt {font-size: var(--font-size-20); line-height: 1.9em; color: #505050;}
.page-etiquette .group.txt p:not(:last-child) {margin-bottom: 4px;}
.gray-boxes {display: flex; flex-direction: column; gap: 8px; color: #676767;}
.gray-boxes .box {padding: var(--space-30); border-radius: var(--radius-16); background: #FAFAFA;}
.gray-boxes h4 {margin-bottom: var(--space-16); font-size: var(--font-size-18); font-weight: 600; color: #6B8ABF;}
.gray-boxes .box > p {font-size: var(--font-size-18); line-height: 1.6667em;}
.gray-boxes .box > p:not(:last-child) {margin-bottom: 0;}
.gray-boxes .flex-cnt {display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-16);}
.gray-boxes .flex-cnt > div {display: flex; flex-direction: column;}
.gray-boxes .flex-cnt .box {flex: 1;}
.page-etiquette .gray-boxes .dot-list {display: flex; flex-direction: column; gap: 8px;}
.page-etiquette .gray-boxes .dot-list li { color: #676767;}
.page-etiquette .gray-boxes .dot-list li:before {color: #676767;}
.page-etiquette .gray-boxes .box-divide .box-intro {padding-bottom: var(--space-30); margin-bottom: var(--space-30); border-bottom: 1px solid #eee;}
.page-etiquette .gray-boxes .box-divide .note {margin-top: 10px; font-size: var(--font-size-14); line-height: 1.43em;}
.etiquette-steps {display: flex; flex-direction: column; gap: var(--space-12); margin-bottom: var(--space-24);}
.etiquette-steps li {display: flex; gap: var(--space-12); align-items: center; font-size: var(--font-size-20); line-height: 1.9em; color: #505050;}
.etiquette-steps li.is-multi {align-items: flex-start;}
.etiquette-steps li.is-multi .num {margin-top: 4px;}
.etiquette-steps .num {flex-shrink: 0; display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 100px; background: rgba(24, 73, 157, 0.1); color: var(--primary-color); font-size: 12px; font-weight: 600; line-height: 1.67em;}
.etiquette-steps .txt {flex: 1; min-width: 0;}
.etiquette-steps .txt p:not(:last-child) {margin-bottom: 0;}
.etiquette-acco {display: flex; flex-direction: column; gap: var(--space-12);}
.etiquette-acco .acco-box {padding: var(--space-30); border-radius: var(--radius-16); background: #fff; border: 1px solid #dfdfdf; transition: .2s;}
.etiquette-acco .acco-box.open { background: #fafafa; border-color: #fafafa;}
.etiquette-acco .acco-box.open > .acco-tit {display: flex; align-items: center; justify-content: space-between; gap: var(--space-16); list-style: none; cursor: pointer; font-size: var(--font-size-18); font-weight: 600; color: #6b8abf; line-height: 1.6667em;}
.etiquette-acco .acco-box > .acco-tit {display: flex; justify-content: space-between; font-size: var(--font-size-20); font-weight: 400; color: #505050; line-height: 1.9em;}
.etiquette-acco .acco-tit:after {content: ''; display: block; flex-shrink: 0; width: 8px; height: 8px; margin: 9px; border-right: 2px solid #505050; border-bottom: 2px solid #505050; transform: rotate(45deg); transition: transform .2s;}
.etiquette-acco .acco-box.open > .acco-tit:after {transform: rotate(-45deg) scaleY(-1); margin-top: 14px;}
.etiquette-acco .acco-cnt {display: none; padding-top: var(--space-16);}
.etiquette-acco .acco-cnt .dot-list {display: flex; flex-direction: column; gap: 8px;}
.etiquette-acco .acco-cnt .dot-list li {color: #676767;}
.etiquette-acco .acco-cnt .dot-list li:before {color: #676767;}
.etiquette-acco .acco-cnt .note {margin-top: var(--space-16); font-size: var(--font-size-14); line-height: 1.43em;}
.etiquette-acco .acco-cnt .note span {display: block;}

.page-etiquette .funeral-process-banner {margin-bottom: 0;}
.institution-gallery {display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px;}
.institution-logo {border-radius: 8px; overflow: hidden;}

@keyframes mainFadeInUp {0% {opacity:0; transform:translate3d(0, 80px, 0);} 100% {opacity:1; transform:translate3d(0, 0, 0);}}
@keyframes mainFadeInLeft {0% {opacity:0; transform:translate3d(-80px, 0, 0);} 100% {opacity:1; transform:translate3d(0, 0, 0);}}
@keyframes mainFadeInRight {0% {opacity:0; transform:translate3d(80px, 0, 0);} 100% {opacity:1; transform:translate3d(0, 0, 0);}}
#container .wow.main-fade-up.animated {animation-name:mainFadeInUp;}
#container .wow.main-fade-left.animated {animation-name:mainFadeInLeft;}
#container .wow.main-fade-right.animated {animation-name:mainFadeInRight;}

.product-compare {padding-bottom: calc(var(--space-100) + var(--space-20));}
.product-compare-head {display: flex; flex-direction: column; gap: var(--space-16); margin-bottom: var(--space-60);}
.product-compare-tit {font-size: var(--font-size-38, 38px); font-weight: 600; color: #2c2c2c; line-height: 1.37em; letter-spacing: -.02em;}
.product-compare-desc {font-size: var(--font-size-20); font-weight: 500; color: #676767; line-height: 1.7em; letter-spacing: -.02em;}
.product-compare-table-wrap {overflow-x: auto; -webkit-overflow-scrolling: touch;}
.product-compare-table {width: 100%; min-width: 1000px; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #2c2c2c; font-size: var(--font-size-18); line-height: 1.67em; letter-spacing: -.02em; table-layout: fixed;}
.product-compare-table .col-group {width: 14.28%;}
.product-compare-table .col-item {width: 14.28%;}
.product-compare-table .col-plan {width: 14.28%;}
.product-compare-table thead th {padding: 24px; border-bottom: 1px solid #2c2c2c; font-weight: 600; text-align: center; vertical-align: middle; word-break: keep-all;}
.product-compare-table thead .cell-head-group, .product-compare-table thead .cell-head-item {background: #fbfdff; color: var(--primary-color, #18499D); border-right: 1px solid #dfdfdf;}
.product-compare-table thead th:not(.cell-head-group):not(.cell-head-item) {background: #fff; color: #2c2c2c; font-weight: 500; border-right: 1px solid #dfdfdf;}
.product-compare-table thead th:last-child {border-right: 0;}
.product-compare-table tbody th, .product-compare-table tbody td {padding: 20px; border-bottom: 1px solid #dfdfdf; border-right: 1px solid #dfdfdf; text-align: center; vertical-align: middle; color: #505050; font-weight: 400; word-break: keep-all;}
.product-compare-table tbody .cell-group {background: #fbfdff; color: #2c2c2c; font-weight: 500; border-bottom: 1px solid #2c2c2c;}
.product-compare-table tbody .cell-item {background: #fbfdff; color: #2c2c2c; font-weight: 500;}
.product-compare-table tbody td:last-child, .product-compare-table tbody th.cell-item {border-right: 1px solid #dfdfdf;}
.product-compare-table tbody tr td:last-child {border-right: 0;}
.product-compare-table .cell-group-inner {display: inline-flex; align-items: center; justify-content: center; gap: 4px;}
.product-compare-table .cell-group-icon {display: inline-flex; flex-shrink: 0; width: 24px; height: 24px;}
.product-compare-table .cell-group-icon img, .product-compare-table .cell-group-icon svg {display: block; width: 100%; height: 100%;}
.product-compare-table .cell-sub {display: block; margin-top: 4px; font-size: var(--font-size-14); font-weight: 400; color: #676767; line-height: 1.14em; letter-spacing: -.02em;}
.product-compare-table .cell-note {display: block; margin-top: 4px; font-size: var(--font-size-16); font-weight: 400; color: #878787; line-height: 1.5em; letter-spacing: -.02em;}
.product-compare-table .row-section-end th, .product-compare-table .row-section-end td {border-bottom: 1px solid #2c2c2c;}
.product-compare-table .row-footnote td {padding: 16px 20px; font-size: var(--font-size-16); color: #878787; line-height: 1.5em; border-bottom: 1px solid #dfdfdf; border-right: 1px solid #dfdfdf;}
.product-compare-table .row-footnote td:last-child {border-right: 0;}
.product-compare-table .cell-footnote {text-align: center;}
