@charset "utf-8";
.root_daum_roughmap .wrap_map, .root_daum_roughmap, .direction-map iframe {width: 100% !important; height: 100% !important;}

.page-faq .section, .page-direction .section, .page-about .section .contain {display: flex;}
.section h3 {width: 26.5%; max-width: 366px; padding-right: 35px; font-size: var(--font-size-48); font-weight: 700; color: var(--dark-color); line-height: 1.1667em;}
.sec-cnt {flex: 1; min-width: 0;}

.page-direction .sec-cnt {display: flex; flex-direction: column; gap: 32px;}
.direction-map {overflow: hidden; width: 100%; height: clamp(270px, calc(500 / var(--inner) * 100vw), 500px); border-radius: var(--radius-24);}
.direction-map img {display: block; width: 100%; height: 100%; object-fit: cover;}
.direction-address {display: flex; flex-direction: column; gap: 8px;}
.direction-address .label {font-size: var(--font-size-16); font-weight: 700; line-height: 1.5em; color: var(--primary-color);}
.direction-address .addr {font-size: var(--font-size-28); font-weight: 600; line-height: 1.2857em; color: var(--dark-color); word-break: keep-all;}
.direction-contact {display: flex; flex-wrap: wrap; gap: var(--space-24); list-style: none; margin: 0; padding: 0;}
.direction-contact-card {display: flex; align-items: center; gap: var(--space-24); flex: 1; min-width: 0; padding: var(--space-30); border: 1px solid #ddd; border-radius: var(--radius-16); background: #fff;}
.direction-contact-card.is-tel {flex: 0 0 342px; max-width: 100%;}
.direction-contact-card .icon {display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 100%; background: rgba(22, 89, 158, 0.04);}
.direction-contact-card .text {display: flex; flex-direction: column; gap: 4px; min-width: 0;}
.direction-contact-card .text strong {font-size: var(--font-size-16); font-weight: 600; line-height: 1.5em; color: var(--primary-color);}
.direction-contact-card .text a, .direction-contact-card .text span {font-size: var(--font-size-18); font-weight: 400; line-height: 1.4444em; color: var(--dark-color); word-break: break-all;}
.direction-contact-card .text a:hover {color: var(--primary-color);}

.page-about-nav {position: sticky; z-index: 100; top: var(--header-height); background: rgba(255, 255, 255, 0.01); backdrop-filter: blur(10px);}
.page-about-nav ul {display: flex;}
.page-about-nav li {position: relative; flex: 1;}
.page-about-nav li.active:after {content: ''; position: absolute; left: 0; bottom: 0; right: 0; height: 2px; background: var(--primary-color);}
.page-about-nav a {display: block; padding: var(--space-20) 0; text-align: center; font-size: var(--font-size-20); line-height: 1.6em; color: #bebebe; font-weight: 600;}
.page-about-nav li.active a {color: var(--primary-color);}

.page-about .section {padding: var(--space-100) 0;}
.about-boxes {display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-24);}
.about-box {display: flex; flex-direction: column; border-radius: var(--radius-16); overflow: hidden; box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.12);}
.about-box .txt {flex: 1; z-index: 1; position: relative; padding: var(--space-24); font-weight: 500;}
.about-box h4 {font-size: var(--font-size-24); font-weight: 600; line-height: 1.3333em; margin-top: 8px; color: var(--dark-color);}
.about-box .num {position: absolute; right: 0; bottom: 0; color: rgba(238, 238, 238, 0.24); font-size: clamp(30px, calc(80 / var(--inner) * 100vw), 80px); line-height: 0.8em; font-weight: 800; z-index: -1;}
.sec-service {background: url('/images/sub/bg-service.jpg') no-repeat center center / cover;}
.about-services {display: flex; flex-direction: column; gap: 48px;;}
.about-service {display: flex; align-items: center; gap: 24px;}
.about-service-icon {display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; width: 220px; aspect-ratio: 1 / 1; border-radius: 50%; background: #fff; box-shadow: 0 0 4px rgba(0, 0, 0, 0.12);}
.about-service-icon strong {font-size: var(--font-size-22); font-weight: 600; line-height: 1.3636em;}
.about-service-body {flex: 1; min-width: 0;}
.about-service-body h4 {margin-bottom: 16px; font-size: var(--font-size-28); font-weight: 700; line-height: 1.2857em; color: var(--dark-color); word-break: keep-all;}
.about-service-body h4 em {font-style: normal;}
.about-service-body ul {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; list-style: none; margin: 0; padding: 0;}
.about-service-body li {display: flex; align-items: center; gap: 10px; padding: 8px 12px; border-radius: 50px; background: #fff; font-size: var(--font-size-16); font-weight: 500; line-height: 1.5em; color: var(--dark-color); word-break: keep-all;}
.about-service-body li img {flex: 0 0 16px; width: 16px; height: 16px;}
.about-service.is-golf .about-service-icon strong, .about-service.is-golf .about-service-body h4 em {color: var(--primary-color);}
.about-service.is-travel .about-service-icon strong, .about-service.is-travel .about-service-body h4 em {color: #5da8e4;}
.about-service.is-concierge .about-service-icon strong, .about-service.is-concierge .about-service-body h4 em {color: var(--third-color);}

.about-history {position: relative; display: flex; flex-direction: column; gap: var(--space-100); list-style: none; margin: 0; padding: 0;}
.about-history:before {content: ""; position: absolute; top: 20px; bottom: 20px; left: 233px; width: 1px; background: #ddd;}
.about-history > li {display: grid; grid-template-columns: 234px minmax(0, 1fr); column-gap: 108px; align-items: start;}
.about-history .year {position: relative; font-size: clamp(28px, calc(40 / var(--inner) * 100vw), 40px); font-weight: 700; line-height: 1em; color: var(--primary-color);}
.about-history .year:after {content: ""; position: absolute; top: 50%; right: 0; width: 18px; height: 18px; transform: translate(50%, -50%); border: 4px solid transparent; border-radius: 50%; background: linear-gradient(#fff, #fff) padding-box, linear-gradient(180deg, #68ABE4 0%, #16599E 100%) border-box; box-sizing: border-box;}
.about-history .body {display: flex; flex-direction: column; gap: 24px; min-width: 0;}
.about-history .body ul {display: flex; flex-direction: column; gap: 4px; list-style: none; margin: 0; padding: 0;}
.about-history .body li {position: relative; padding-left: 1em; text-indent: -1em; font-size: var(--font-size-20); font-weight: 500; line-height: 1.5em; color: #505050; word-break: keep-all;}
.about-history .body li:not(:last-child) {margin-bottom: 4px;}
.about-history .body li:before {content: "•"; margin-right: 10px; color: #bebebe;}
.about-history .thumb {position: relative; overflow: hidden; width: 100%; aspect-ratio: 732 / 420; border-radius: var(--radius-16);}

.sec-membership {background: url('/images/sub/bg-about-membership.jpg') no-repeat center center / cover;}
.about-memberships {display: flex; flex-direction: column; gap: 64px;}
.about-membership .tag {display: inline-flex; align-items: center; justify-content: center; min-height: 28px; margin-bottom: 24px; padding: 2px 12px; border-radius: 50px; background: var(--primary-color); font-size: var(--font-size-14); font-weight: 600; line-height: 1.714em; color: #fff;}
.about-membership h4 {margin-bottom: 8px; font-size: var(--font-size-28); font-weight: 700; line-height: 1.2857em; color: var(--dark-color);}
.about-membership > p {margin-bottom: 24px; color: #505050; word-break: keep-all;}
.about-membership-gallery {display: flex; gap: var(--space-24);}
.about-membership-gallery .thumb {overflow: hidden; margin: 0; border-radius: 8px; background: #fff;}
.about-membership-gallery.is-lounge .thumb {display: flex; flex-direction: column; gap: 16px; overflow: visible; background: transparent;}
.about-membership-gallery.is-lounge .thumb img {border-radius: 8px;}
.about-membership-gallery.is-lounge figcaption {font-size: var(--font-size-18); font-weight: 500; line-height: 1.333em; letter-spacing: -.03em; text-align: center; color: var(--dark-color);}
