@charset "utf-8";

.doc-tit {margin-bottom:var(--space-50); position:relative; padding-left:clamp(20px, calc(35 / var(--inner) * 100vw), 35px); font-size:var(--font-size-28); font-weight:600; line-height:1em; letter-spacing:-.03em; color:#121212;}
.doc-tit:before {content:''; position:absolute; left:0; top:0; width:clamp(16px, calc(24 / var(--inner) * 100vw), 24px); height:clamp(16px, calc(24 / var(--inner) * 100vw), 24px); background:url('/images/sub/doc-tit.png') no-repeat center center / 100% auto;}

.greeting .head {margin-bottom:var(--space-30); display:flex; justify-content:space-between; align-items:center;}
.greeting .head h2 {flex:1; font-size:var(--font-size-40); font-weight:600; line-height:1.4em; letter-spacing:-.03em; color:#121212;}
.greeting .head .img {width:47.58%;}
.greeting .txt {font-size:var(--font-size-18); font-weight:400; line-height:1.667em; letter-spacing:-.03em; color:#505050;}
.greeting .txt strong {font-weight:600; color:#121212;}
.greeting .txt .slogan-1 {display:inline-block; font-size:var(--font-size-24); font-weight:700; line-height:1.3em; letter-spacing:-.03em; color:var(--color-primary);}
.greeting .txt .slogan-2 {display:inline-block; font-weight:600; color:#121212;}
.greeting .sign {font-size:var(--font-size-24); font-weight:600; line-height:1.3em; letter-spacing:-.03em; color:#121212; text-align:right;}

.prod-head {margin-bottom:var(--space-50); text-align:center;}
.prod-head h3 {font-size:var(--font-size-32); font-weight:700; line-height:1em; letter-spacing:-.03em; color:#121212;}
.prod-head h3 strong {color:var(--color-secondary);}
.prod-head p {margin-top:var(--space-20); font-size:var(--font-size-16); font-weight:400; line-height:1.5em; letter-spacing:-.03em; color:#505050;}
.prod-groups {display:flex; flex-direction:column; gap:var(--space-30);}
.prod-group {padding:var(--space-40) var(--space-30); background:#fff; border:1px solid #ddd; border-radius:16px;}
.prod-group .head {display:flex; align-items:center; gap:var(--space-10); margin-bottom:var(--space-30);}
.prod-group .head .ico {display:flex; align-items:center; justify-content:center; flex-shrink:0; width:40px; height:40px;}
.prod-group .head h4 {font-size:var(--font-size-24); font-weight:600; line-height:1em; letter-spacing:-.03em; color:#121212;}
.prod-group .item + .item {padding-top:var(--space-20); margin-top:var(--space-20); border-top:1px dashed #ddd;}
.prod-group .cate {margin-bottom:var(--space-10); display:inline-flex; align-items:center; align-self:flex-start; padding:var(--space-8) var(--space-10); background:#f7f3f8; border-radius:99px; font-size:14px; font-weight:600; line-height:1em; letter-spacing:-.03em; color:var(--color-primary);}
.prod-group .txt {padding:0 var(--space-10); font-size:var(--font-size-16); font-weight:400; line-height:1.75em; letter-spacing:-.03em; color:#505050; }
.prod-group.excluded {background:#fafafa;}
.prod-group.excluded .top {display:flex; align-items:flex-end; justify-content:space-between; gap:var(--space-10); margin-bottom:var(--space-30);}
.prod-group.excluded .top .head {margin-bottom:0;}
.prod-group.excluded .note {display:flex; align-items:center; gap:var(--space-5); font-size:14px; font-weight:400; line-height:1em; letter-spacing:-.03em; color:#505050;}
.prod-group.excluded .mark {display:flex; align-items:center; justify-content:center; flex-shrink:0; width:20px; height:20px; background:var(--color-primary); border-radius:99px; font-size:12px; font-weight:700; line-height:1em; letter-spacing:-.03em; color:#fff;}
.prod-group.excluded .cate {background:#ddd; color:#505050;}

.inquiry-text {padding:var(--space-60) 0 var(--space-50); font-size:var(--font-size-20); font-weight:400; line-height:1em; letter-spacing:-.03em; color:#121212; text-align:center;}
.inquiry-form .group:not(:last-child) {margin-bottom:var(--space-100);}
.inquiry-form .title {display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:var(--space-10); margin-bottom:var(--space-30); padding-bottom:var(--space-15); border-bottom:2px solid #121212;}
.inquiry-form .title h3 {font-size:var(--font-size-28); font-weight:700; line-height:1em; letter-spacing:-.03em; color:#121212;}
.inquiry-form .required-txt {display:flex; align-items:center; gap:var(--space-5); font-size:var(--font-size-16); font-weight:400; line-height:1em; letter-spacing:-.03em; color:#505050;}
.inquiry-form .required {background:var(--color-primary); width:6px; height:6px; border-radius:50%;}
.inquiry-form dl {display:flex; align-items:center;}
.inquiry-form dl + dl {margin-top:var(--space-30);}
.inquiry-form dt {flex-shrink:0; width:clamp(80px, calc(120 / var(--inner) * 100vw), 120px); font-size:var(--font-size-20); font-weight:600; line-height:1em; letter-spacing:-.03em; color:#121212;}
.inquiry-form dt .required {display:inline-block; vertical-align:top; background:var(--color-primary); width:6px; height:6px; border-radius:50%;}
.inquiry-form dd {flex:1; min-width:0;}
.inquiry-form .input {width:100%; height:clamp(48px, calc(60 / var(--inner) * 100vw), 60px); font-size:var(--font-size-16); font-weight:400; line-height:1em; letter-spacing:-.03em; border-radius:8px; background:#fff;}
.inquiry-form .input::placeholder {color:#878787;}
.inquiry-form .btn-pack {width:100%; display:block; margin-top:var(--space-60); line-height:clamp(48px, calc(70 / var(--inner) * 100vw), 70px); font-size:var(--font-size-22); font-weight:700; letter-spacing:-.03em; border-radius:8px; border:0;}

.funeral-steps {margin-bottom:var(--space-80);}
.funeral-steps .group {display:flex; gap:var(--space-50);}
.funeral-steps .group:not(:last-child) {padding-bottom:var(--space-60); margin-bottom:var(--space-60); border-bottom:1px solid #d9d9d9;}
.funeral-steps .thumb {width:42.42%;}
.funeral-steps .info {flex:1; padding-top:var(--space-10);}
.funeral-steps .head {display:flex; align-items:center; gap:var(--space-10); margin-bottom:var(--space-30);}
.funeral-steps .head .step {display:inline-flex; align-items:center; padding:var(--space-8) var(--space-10); background:var(--color-primary); border-radius:99px; font-size:var(--font-size-14); font-weight:600; line-height:1em; letter-spacing:-.03em; color:#fff;}
.funeral-steps .head h3 {font-size:var(--font-size-28); font-weight:700; line-height:1.3em; letter-spacing:-.03em; color:var(--color-primary);}
.funeral-steps .list ul {display:flex; flex-direction:column; gap:var(--space-25);}
.funeral-steps .list li {padding-left:var(--font-size-20); font-size:var(--font-size-20); font-weight:400; line-height:1.4em; letter-spacing:-.03em; color:#505050; background:url('/images/sub/check.svg') no-repeat left center / 14px auto;}

.funeral-types {margin-bottom:var(--space-80); display:grid; grid-template-columns:repeat(2, 1fr); gap:var(--space-20);}
.funeral-types .group {background-size:clamp(100px, calc(150 / var(--inner) * 100vw), 150px) auto; background-position:right 20px bottom 20px; background-repeat:no-repeat; background-image:url('/images/sub/deco.png'); position:relative; padding:var(--space-40) var(--space-30); border-radius:16px; overflow:hidden; color:#fff;}
.funeral-types .group.st1 {background-color:var(--color-primary);}
.funeral-types .group.st2 {background-color:var(--color-secondary);}
.funeral-types .group h3 {margin-bottom:var(--space-30); font-size:var(--font-size-28); font-weight:700; line-height:1.2em; letter-spacing:-.03em; color:#fff;}
.funeral-types .group .list ul {display:flex; flex-direction:column; gap:var(--space-20);}
.funeral-types .group .list ul li {display:flex; gap:0 var(--space-10);}
.funeral-types .group .num {flex-shrink:0; display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; background:rgba(255,255,255,0.2); border-radius:99px; font-size:14px; font-weight:600; line-height:1em; letter-spacing:-.03em; color:#fff;}
.funeral-types .group .txt {padding-top:2px; font-size:var(--font-size-18); font-weight:400; line-height:1.44em; letter-spacing:-.03em; color:#fff;}
.funeral-types .group .txt .note {padding-left:0.6em; text-indent:-0.6em; display:block; margin-top:var(--space-10); font-size:14px; font-weight:400; line-height:1.43em; letter-spacing:-.03em; color:rgba(255,255,255,0.6);}

.funeral-return {display:flex;}
.funeral-return h3 {width:50%; font-size:28px; font-weight:700; line-height:1.2em; letter-spacing:-.03em; color:#121212;}
.funeral-return .list {width:50%;}
.funeral-return .list ul {display:flex; flex-direction:column; gap:var(--space-30);}
.funeral-return .list li {padding-left:var(--font-size-20); font-size:var(--font-size-20); font-weight:400; line-height:1em; letter-spacing:-.03em; color:#505050; background:url('/images/sub/check.svg') no-repeat left center / 14px auto;}

.etiquette .sec:not(:last-child) {margin-bottom:var(--space-120);}
.etiquette .block + .block {margin-top:var(--space-50);}
.etiquette .block h4 {margin-bottom:var(--space-20); font-size:var(--font-size-18); font-weight:700; line-height:1em; letter-spacing:-.03em; color:var(--color-primary);}
.etiquette .txt {font-size:var(--font-size-18); font-weight:400; line-height:1.667em; letter-spacing:-.03em; color:#505050;}
.etiquette .steps ul {display:flex; flex-direction:column; gap:var(--space-25);}
.etiquette .steps li {display:flex; gap:var(--space-10);}
.etiquette .steps .num {flex-shrink:0; display:flex; align-items:center; justify-content:center; width:clamp(26px, calc(32 / var(--inner) * 100vw), 32px); height:clamp(26px, calc(32 / var(--inner) * 100vw), 32px); background:#505050; border-radius:99px; font-size:14px; font-weight:600; line-height:1em; letter-spacing:-.03em; color:#fff;}
.etiquette .steps .txt {flex:1; min-width:0; font-size:var(--font-size-18); font-weight:400; line-height:1.667em; letter-spacing:-.03em; color:#121212;}
.etiquette .boxes {display:flex; flex-direction:column; gap:var(--space-20);}
.etiquette .box {padding:var(--space-30); background:#f4f4f4; border-radius:16px;}
.etiquette .box h4 {margin-bottom:var(--space-20); font-size:var(--font-size-18); font-weight:600; line-height:1em; letter-spacing:-.03em; color:#121212;}
.etiquette .box .txt {font-size:var(--font-size-16); font-weight:400; line-height:1.625em; letter-spacing:-.03em; color:#505050;}
.etiquette .box ul {display:flex; flex-direction:column; gap:var(--space-20);}
.etiquette .box ul li {position:relative; padding-left:15px; font-size:var(--font-size-16); font-weight:400; line-height:1.625em; letter-spacing:-.03em; color:#505050;}
.etiquette .box ul li::before {content:""; position:absolute; left:0; top:0.55em; width:5px; height:5px; border-radius:50%; background:#CCC;}
.etiquette .box .note {margin-top:var(--space-10); font-size:14px; font-weight:400; line-height:1.57em; letter-spacing:-.03em; color:#878787;}

.facilities-search {margin-bottom:var(--space-25); border:1px solid #ddd; border-radius:8px; background:#fff; overflow:hidden;}
.facilities-search h3 {width:100%; padding:var(--space-20) var(--space-10); background:#f4f4f4; font-size:var(--font-size-22); font-weight:600; line-height:1.45em; letter-spacing:-.03em; color:#121212; text-align:center;}
.facilities-search .cnt {padding:var(--space-40) var(--space-20);}
.facilities-search dl:not(:last-child) {margin-bottom:var(--space-40);}
.facilities-search dl dt {margin-bottom:var(--space-10); font-size:var(--font-size-18); font-weight:600; line-height:1em; letter-spacing:-.03em; color:#121212;}
.facilities-search dl dd {display:flex;}
.facilities-search .input {height:50px; border-radius:8px;}
.facilities-search input.input {width:calc(100% - 94px); margin-right:5px;}
.facilities-search select.input {width:calc(50% - 50px); margin-right:5px;}
.facilities-search .btn-pack.medium {width:105px; padding:0; height:50px; background:#121212; border-radius:8px;}

.facilities-tabs {margin-bottom:var(--space-25);}
.facilities-tabs ul {display:flex; flex-wrap:wrap; gap:var(--space-10);}
.facilities-tabs li a {display:inline-flex; align-items:center; justify-content:center; padding:var(--space-12) var(--space-20); border-radius:99px; font-size:var(--font-size-16); font-weight:600; line-height:1em; letter-spacing:-.03em; color:#878787; background:#f4f4f4;}
.facilities-tabs li.active a {color:#fff; background:var(--color-primary);}

.facilities-list {border-top:2px solid #505050;}
.facilities-list li {padding:var(--space-30) var(--space-20); border-bottom:1px solid #ddd;}
.facilities-list .name {margin-bottom:var(--space-10); font-size:var(--font-size-14); font-weight:600; line-height:1em; letter-spacing:-.03em; color:var(--color-primary);}
.facilities-list .comp {margin-bottom:var(--space-20); font-size:var(--font-size-20); font-weight:600; line-height:1em; letter-spacing:-.03em; color:#121212;}
.facilities-list .tel {margin-bottom:var(--space-15); font-size:var(--font-size-16); font-weight:400; line-height:1em; letter-spacing:-.03em; color:#505050;}
.facilities-list .addr {font-size:var(--font-size-16); font-weight:400; line-height:1.44em; letter-spacing:-.03em; color:#505050;}

.find-intro {display:flex; flex-direction:column; align-items:center; gap:var(--space-20); margin-bottom:var(--space-40); padding-bottom:var(--space-40); border-bottom:1px solid #121212; text-align:center;}
.find-intro .ico {display:flex; align-items:center; justify-content:center; flex-shrink:0; width:100px; height:100px;}
.find-intro .ico img {width:100%; height:100%; object-fit:contain;}
.find-intro h3 {font-size:var(--font-size-28); font-weight:400; line-height:1.357em; letter-spacing:-.03em; color:#121212;}
.find-intro p {font-size:var(--font-size-16); font-weight:400; line-height:1em; letter-spacing:-.03em; color:#505050;}

.product-result {padding:var(--space-60) var(--space-40); background:#f4f4f4; border-radius:24px;}
.product-result .recommend .head {display:flex; flex-direction:column; gap:var(--space-20); margin-bottom:var(--space-40); text-align:center;}
.product-result .recommend .head .user {font-size:var(--font-size-20); font-weight:400; line-height:1em; letter-spacing:-.03em; color:#505050;}
.product-result .recommend .head .user .name {font-weight:600; color:#121212;}
.product-result .recommend .head .tit {font-size:var(--font-size-40); font-weight:700; line-height:1em; letter-spacing:-.03em; color:#121212;}
.product-result .recommend .head .tit strong {color:var(--color-secondary);}
.product-result .recommend .head .desc {font-size:var(--font-size-18); font-weight:400; line-height:1em; letter-spacing:-.03em; color:#878787;}
.product-result .recommend .tags {display:flex; flex-wrap:wrap; justify-content:center; gap:var(--space-10); margin-bottom:var(--space-60);}
.product-result .recommend .tags li {padding:var(--space-8) var(--space-10); background:#121212; border-radius:8px; font-size:var(--font-size-16); font-weight:400; line-height:1em; letter-spacing:-.03em; color:#fff;}
.product-result .recommend .btns {display:flex; gap:var(--space-10);}
.product-result .recommend .btn {flex:1; display:flex; align-items:center; justify-content:center; height:clamp(48px, calc(60 / var(--inner) * 100vw), 60px); border-radius:8px; font-size:var(--font-size-18); font-weight:700; line-height:1em; letter-spacing:-.03em; text-decoration:none;}
.product-result .recommend .btn1 {background:var(--color-primary); color:#fff;}
.product-result .recommend .btn2 {background:#fff; border:1px solid #121212; color:#121212;}
.product-result .other {padding-top:var(--space-60); margin-top:var(--space-60); border-top:1px solid #121212;}
.product-result .other h4 {margin-bottom:var(--space-20); font-size:var(--font-size-20); font-weight:700; line-height:1em; letter-spacing:-.03em; color:#121212;}
.product-result .other ul {display:flex; flex-direction:column; gap:var(--space-10);}
.product-result .other li a {position:relative; display:block; padding:var(--space-30) 100px var(--space-30) var(--space-30); background:#fff; border-radius:24px; text-decoration:none;}
.product-result .other .name {margin-bottom:var(--space-10); font-size:var(--font-size-18); font-weight:600; line-height:1em; letter-spacing:-.03em; color:#121212;}
.product-result .other .name strong {font-weight:600; color:var(--color-secondary);}
.product-result .other .desc {font-size:var(--font-size-14); font-weight:400; line-height:1em; letter-spacing:-.03em; color:#505050;}
.product-result .other .arrow {position:absolute; right:var(--space-30); top:50%; transform:translateY(-50%); width:20px; height:15px; background:url('/images/sub/product-result-arrow.svg') no-repeat center center / contain;}

