@charset "utf-8";
.greeting-box {position: relative; padding:var(--space-100); background:#fff; border-radius:var(--radius-24); box-shadow:0 10px 24px rgba(0,0,0,0.14);}
.greeting-box:before {content: ''; position: absolute; top:0; right: 0; bottom:0; left: 0; background: url('/images/sub/greeting-logo.png') no-repeat right var(--space-100) bottom var(--space-100); background-size: 19.75%;}

.facility-slider-wrap .item {position: relative; width: 100%; padding-bottom: 50%; border-radius:var(--radius-16); overflow:hidden;}
.facility-slider-wrap .item img {position: absolute; top:0; left:0; width:100%; height:100%; object-fit:cover;}
.facility-slider-thumb {margin:var(--space-20) calc(var(--space-10) * -1) 0;}
.facility-slider-thumb .slick-slide {padding:0 var(--space-10); cursor:pointer;}
.facility-slider-wrap .facility-slider-thumb .item {border-radius: 8px;}
.facility-slider-thumb .item img {opacity:0.6; transition:opacity 0.3s;}
.facility-slider-thumb .slick-current .item img {opacity:1;}
.facility-slider-main .slick-arrow {display: flex; align-items: center; justify-content: center; position:absolute; left: var(--space-40); top:50%; transform:translateY(-50%); width:clamp(44px, calc(72 / var(--inner) * 100vw), 72px); height:clamp(44px, calc(72 / var(--inner) * 100vw), 72px); border:0; border-radius:50%; background:#fff; box-shadow:0 4px 12px rgba(0,0,0,0.15); z-index:1; text-indent:-9999em; overflow:hidden;}
.facility-slider-main .slick-arrow:after {content: ''; display: block; width:100%; height:100%; background: url('/images/sub/slick-arrow.png') no-repeat 50% 50%;}
.facility-slider-main .slick-arrow.slick-next {left: auto; right: var(--space-40); transform:translateY(-50%) rotate(180deg);}

.direction-map {height: clamp(270px, calc(520 / var(--inner) * 100vw), 520px);}
.direction-cnt {position: relative; z-index: 1; max-width: 1014px; width: calc(100% - var(--container-space) * 2); margin: calc(clamp(30px, calc(70 / var(--inner) * 100vw), 70px) * -1) auto 0; border-radius:var(--radius-24); background: #fff; overflow:hidden; box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.14);}
.direction-logo {width: 25.64105%; padding: 15px; background: linear-gradient(122deg, #FFC371 2.26%, #EB8C0A 100%);}
.direction-info {padding:var(--space-45) var(--space-60); line-height:1.5em;}
.direction-info ul {display: flex; gap: var(--space-20) var(--space-55);}
.direction-info ul:not(:last-child) {margin-bottom: var(--space-20);}
.direction-info li, .direction-info .txt {gap: 12px;}

.benefit-item {display:flex; align-items:center; gap: 20px 40px;}
.benefit-item:not(:last-child) {margin-bottom: var(--space-80);}
.benefit-item .img {flex-shrink:0; width:28.7143%; border:1px solid #ddd; border-radius:var(--radius-16); overflow:hidden;}
.benefit-item .img img {width:100%; aspect-ratio:400/300; object-fit:cover;}

.section-tit {text-indent: -.8em; padding-left: .8em;}
.section-tit.border-tit {padding-bottom: var(--space-30); border-bottom:1px solid #ddd;}
.section-tit:before {content:'•'; color:var(--primary-color); margin-right: 5px;}
.procedure-steps {display:flex; justify-content:center;}
.procedure-steps li {position:relative; display:flex; flex-direction:column; align-items:center; gap:var(--space-20); width: 25%; max-width:266px; padding: 0 var(--space-40); text-align:center; line-height:1.44em;}
.procedure-steps li:not(:last-child):after {content:''; position:absolute; top: 73px; right:0; width:clamp(17px, calc(34 / var(--inner) * 100vw), 34px); height:clamp(17px, calc(34 / var(--inner) * 100vw), 34px); margin-right: calc(clamp(17px, calc(34 / var(--inner) * 100vw), 34px) / -2); background:url('/images/sub/step-arrow.svg') no-repeat 50% 50% / contain;}
.procedure-steps .icon {position: relative; display:flex; align-items:center; justify-content:center; width:100%; border:3px solid var(--primary-color); border-radius:50%;}
.procedure-steps .icon:after {content: ''; display: block; width: 100%; padding-bottom: 100%;}
.procedure-steps .icon img {position: absolute; top:50%; left:50%; transform:translate(-50%, -50%); max-height:clamp(40px, calc(88 / var(--inner) * 100vw), 88px); object-fit:contain;}
.procedure-steps p {width: max-content;}

.stay-cards {display:flex; gap:var(--space-25);}
.stay-card {position:relative; flex:1; padding:var(--space-50); border:1px solid #ddd; border-radius:var(--radius-24); overflow:hidden;}
.stay-card .txt {max-width: 60%;}
.stay-card .img {position:absolute; right:var(--space-50); top:50%; transform:translateY(-50%); width:32.825%;}
.stay-card .img img {object-fit:contain;}
.num-list {display:flex; flex-direction:column; gap:var(--space-20); color:#454545;}
.num-list li {display:flex; align-items:center; gap:var(--space-15);}
.num-list span {display:flex; align-items:center; justify-content:center; flex-shrink:0; width:30px; height:30px; border-radius:50%; background:var(--primary-color); font-size:var(--font-size-20); font-weight:700; color:#fff;}
.stay-info-list {display:flex; flex-direction:column; gap:var(--space-80); margin-top:var(--space-80); color:#454545; line-height:1.44em;}
.hyphen-list li {text-indent: -.5em; padding-left: .5em;}
.sec-cnt {padding-left: 15px;}

.contact-tel-box {position:relative; padding:var(--space-60) var(--space-40); border-radius:var(--radius-24); background:#fff; box-shadow:0 0 20px rgba(0,0,0,0.14); text-align:center; color:#454545;}
.contact-tel-box:before {content: ''; position: absolute; top:0; right:0; bottom:0; left: 0; background: url('/images/sub/greeting-logo.png') no-repeat right var(--space-40) bottom var(--space-40); background-size: 14.75%;}
.contact-tel-box .tel {gap: 12px;}
.contact-tel-box .tel img {width:32px; height:32px;}
.contact-steps {display:flex; justify-content:center;}
.contact-steps li {position: relative; flex: 1; max-width: 380px; padding: 0 var(--space-50);}
.contact-step {position:relative; display:flex; flex-direction:column; align-items:center; gap:var(--space-20);}
.contact-step:before {content: ''; display: block; width: 100%; padding-bottom: 100%; border-radius: 100%; background: rgba(251, 146, 0, 0.50);;}
li:nth-child(2) .contact-step:before {background: rgba(251, 146, 0, 0.70);}
li:nth-child(3) .contact-step:before {background: var(--primary-color);}
.contact-steps li:not(:last-child):after {content:''; position:absolute; top:50%; right:calc(clamp(18px, calc(40 / var(--inner) * 100vw), 40px) / -2); width:clamp(18px, calc(40 / var(--inner) * 100vw), 40px); height:clamp(17px, calc(40 / var(--inner) * 100vw), 40px); margin-top: calc(clamp(18px, calc(40 / var(--inner) * 100vw), 40px) / -2); background:url('/images/sub/step-arrow.svg') no-repeat 50% 50% / contain;}
.contact-step .txt {display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--space-20); position: absolute; top: 0; left: 0; width: 100%; height: 100%; padding: 15px;}
.contact-steps .num {display:flex; align-items:center; justify-content:center; position:relative; z-index:1; width:clamp(30px, calc(40 / var(--inner) * 100vw), 40px); height:clamp(30px, calc(40 / var(--inner) * 100vw), 40px); border-radius:50%; background:#fff; font-size:var(--font-size-22); color:var(--primary-color);}
.contact-ext .badge {width: fit-content; padding:5px 15px; border-radius:15px; background:var(--primary-color); color:#fff;}
.ext-list li:not(:last-child) {padding-right:var(--space-30); margin-right: var(--space-30); border-right:1px solid #ddd;}

.cert-desc {color:#454545; line-height:1.44em;}
.table-wrap {overflow-x:auto;}
.table-wrap table {width:100%; border-collapse:collapse; color:#454545; text-align:center; line-height:1.5em;}
.table-wrap th, .table-wrap td {padding:var(--space-20) var(--space-15); border-bottom:1px solid #ddd; border-left: 1px solid #ddd;}
.table-wrap th:first-child {border-left: 0;}
.table-wrap thead th {background:rgba(243,153,31,0.2); color:#242424; font-weight:600; border-top: 1px solid var(--primary-color); font-size: var(--font-size-20);}
.table-wrap tbody th {background:rgba(243,153,31,0.2); color:#242424; font-weight:600; vertical-align:middle; font-size: var(--font-size-20);}
.table-wrap tbody th .group-th {display:flex; flex-direction:column; gap:var(--space-20);}
.table-wrap tbody th .group-th span {font-weight:500; color:#6c6c6c; line-height:1.3em;}
.table-wrap .txt-left {text-align:left;}
.table-wrap tr.border-none td {padding:0; border:none; height:0;}
.cert-boxes {display:flex; gap:var(--space-40);}
.cert-boxes .table-wrap td {border: 0; padding: var(--space-60) var(--space-15);}
.cert-box {border-bottom: 1px solid #ddd;}

.parking-highlight {display:flex; align-items:center; justify-content:center; gap:var(--space-15); max-width:951px; width: 100%; padding:var(--space-25) var(--space-40); border-radius:100px; background:#fff; box-shadow:0 0 20px rgba(0,0,0,0.14);}
.parking-highlight img {max-height: clamp(20px, calc(48 / var(--inner) * 100vw), 48px);}
.parking-content {display:flex; gap:var(--space-40);}
.parking-table {flex-shrink:0; width:50%; max-width:700px; border:1px solid #ddd; border-radius:var(--radius-16); overflow:hidden;}
.parking-table table {width:100%; border-collapse:collapse; text-align:center; line-height:70px;}
.parking-table th {width:34.14%; background:var(--primary-color); color:#fff; font-weight:700;}
.parking-table tr:not(:last-child) th, .parking-table tr:not(:last-child) td {border-bottom:1px solid #ddd;}
.parking-info {flex:1; background: url('/images/sub/greeting-logo.png') no-repeat right bottom ;}
.parking-info ol {padding-left:24px; line-height:1.6em;}
.parking-info ol li {list-style:decimal;}

.team-profile {display:flex; justify-content:space-between; gap:20px 35px;}
.team-profile:not(:last-child) {margin-bottom: var(--space-80);}
.team-img {position: relative; flex: 1; flex-shrink:0; max-width: 500px; width: 35.715%; height: fit-content;}
.team-img:before {content: ''; display: block; width: 100%; padding-bottom: 100%;}
.team-img img {position: absolute; top:0; left:0; width:100%; height:100%; object-fit:contain;}
.team-info {display: flex; flex-direction:column; justify-content:center; width: 50%;}
.team-detail dl:not(:last-child) {margin-bottom: 20px;}
.team-detail dt {display:inline-block; padding:2px 16px; margin-bottom: var(--space-10); border-radius:50px; background:var(--primary-color); font-weight:500; color:#fff;}

.medical-intro {display:flex; gap:var(--space-40);}
.medical-intro .img {flex-shrink:0; width:48%; height: fit-content; border-radius:var(--radius-16); overflow:hidden;}
.medical-intro .img img {width:100%; aspect-ratio:672/422; object-fit:cover;}
.medical-intro .txt {display: flex; flex-direction:column; justify-content:center;}

.preparing {padding:var(--space-80) 0;}
.preparing img {width:140px;}

.rehab-goal-cards {display:flex; gap:var(--space-40); color:#454545; text-align:center; line-height:1.4em;}
.rehab-goal-cards li {flex:1; display:flex; flex-direction:column; align-items:center; padding:var(--space-35) var(--space-20); border:2px solid var(--primary-color); border-radius:var(--radius-16);}
.rehab-goal-cards .icon img {max-height: var(--icon-80);}
.rehab-goal-cards .icon:after {content:''; display:block; width:60px; height:2px; margin:var(--space-20) auto; background:var(--primary-color);}
.rehab-goal-cards.type2 .icon {background:rgba(243, 153, 31, 0.10); padding:var(--space-20); border-radius: 100%;}
.rehab-goal-cards.type2 .icon:after {content: none;}
.rehab-goal-cards.type2 strong {margin-bottom: 10px;}
.rehab-goal-cards.type2 strong:before {content:''; display:block; width:60px; height:2px; margin:var(--space-20) auto; background:var(--primary-color);}
.rehab-need-list {display:flex; gap:var(--space-40);}
.rehab-need-list ul {flex:1; display:flex; flex-direction:column; gap:var(--space-20);}
.rehab-need-list li {display:flex; align-items:center; gap:var(--space-15); padding-right:var(--space-20); border-radius:32px; background:#fff; box-shadow:0 0 4px 1px rgba(0,0,0,0.1); color:#454545;}
.rehab-need-list span {display:flex; align-items:center; justify-content:center; flex-shrink:0; width:48px; height:48px; border-radius:50%; background:var(--primary-color); font-weight:600; color:#fff;}
.rehab-check-list {display:flex; flex-direction:column; gap:var(--space-20);}
.rehab-check-list li {display:flex; align-items:center; gap:10px; padding-right:var(--space-20); border-radius:32px; background:#fff; box-shadow:0 0 4px 1px rgba(0,0,0,0.1); color:#454545;}
.rehab-check-list img {width:48px; height:48px;}
.rehab-type-list {display:flex; flex-direction:column; gap:var(--space-20);}
.rehab-type-list li {padding:var(--space-40); border:1px solid var(--primary-color); border-radius:var(--radius-16); color:#454545; line-height:1.5em;}
.rehab-type-list strong {display:block; margin-bottom:var(--space-20); color: var(--primary-color);}
.adl-order-list {display:flex; flex-direction:column; align-items:center; gap:calc(var(--space-10) * 2 + 12px); counter-reset:order;}
.adl-order-list li {position:relative; display:flex; justify-content:center; width:100%; padding:12px var(--space-30); border-radius:8px; background:rgba(243,153,31,0.2); color:#454545;}
.adl-order-list li:before {counter-increment:order; content:counter(order)". "; margin-right:5px;}
.adl-order-list li:not(:last-child):after {position: absolute; content:'▼'; left: 0; top: calc(100% + var(--space-10)); display:block; width:100%; text-align:center; color:var(--primary-color); font-size:12px; line-height: 1em;}
.adl-treatment-list {display:flex; flex-direction:column; gap:var(--space-20); color:#454545; line-height:1.5em;}
.adl-treatment-list strong {display:block; margin-bottom:var(--space-10);}

.dot-list li {text-indent: -.5em; padding-left: .5em;}
.indent {text-indent: -1em; padding-left: 1em;}

.team-detail li:not(:last-child) {margin-bottom: var(--space-20);}
.team-detail strong {display: block; width: fit-content; padding:2px 16px; margin-bottom: 5px; border-radius:50px; background:var(--primary-color); font-weight:500; color:#fff;}
.medical-section .hyphen-list li:not(:last-child) {margin-bottom: var(--space-20);}






