@charset "utf-8";
/* 서브공통 */
.sub-section {margin-bottom: var(--space-60);}
.sub-section:last-child {margin-bottom: 0;}
.doc-top-desc {margin-bottom: var(--space-70); font-size:var(--font-size-18); color:#454545; line-height:1.33em; text-align:center;}
.com-sub-tit {font-size:var(--font-size-30); font-weight:600; color:#222; letter-spacing:-0.03em; margin-bottom:var(--space-40);}
.com-sub-tit.mb20 {margin-bottom:var(--space-30);}

/********************* 회사소개 *********************/
.greeting {display:flex; gap:var(--space-80); align-items:center;}
.greeting .img {width:clamp(350px, calc(600 / var(--inner) * 100vw), 600px); margin:0; overflow:hidden;}
.greeting .img img {width:100%; height:100%; object-fit:cover;}
.greeting .txt-wrap {flex:1; min-width:0; max-width:720px; display:flex; flex-direction:column; gap:var(--space-40);}
.greeting .lead {font-size:var(--font-size-30); color:#454545; line-height:1.4em; letter-spacing:-0.03em;}
.greeting .lead .primary {font-weight:600; color:var(--color-primary);}
.greeting .cont {font-size:var(--font-size-18); color:#454545; line-height:1.44em; letter-spacing:-0.03em;}
.greeting .cont p {margin-bottom:var(--space-30);}
.greeting .cont p:last-child {margin-bottom:0;}
.greeting .cont .sign {font-weight:600; color:var(--color-primary);}

/* history */
.history {display:flex; flex-direction:column; gap:var(--space-100); margin-bottom: var(--space-120);}
.history-group {display:flex; gap:390px; align-items:flex-start;}
.history-group .year {flex:0 0 114px; font-size:var(--font-size-42); font-weight:700; color:var(--color-primary); letter-spacing:-0.03em;}
.history-group .content {flex:1; min-width:0; display:flex; flex-direction:column; gap:var(--space-30);}
.history .item {display:flex; flex-direction:column; gap:var(--space-18); border-bottom:1px solid #ddd; padding-bottom:var(--space-18);}
.history .item .img {position: relative;}
.history .item .img:after {content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 1px solid #ddd;}
.history .date {width:100px; padding:var(--space-8); background:var(--color-primary); border-radius:8px; border-top-right-radius:0; border-bottom-left-radius:0; font-size:var(--font-size-24); font-weight:600; color:#fff; text-align:center;}
.history .txt {font-size:var(--font-size-18); color:#454545; letter-spacing:-0.03em;}
.history .sub-txt {font-size:var(--font-size-18); color:#888; letter-spacing:-0.03em; padding-left:var(--space-18); margin-left: 10px; position:relative;}
.history .sub-txt:before {content:""; position:absolute; left:0; top:0.6em; width:4px; height:4px; background:var(--color-primary); border-radius:50%;}
.history .img-list {display:grid; gap:18px; grid-template-columns: repeat(4,1fr); list-style:none; margin:0; padding:0;}
.history .img-list.type-thumb {grid-template-columns: repeat(3,1fr); gap: 20px;}
.history-img img {min-height: 150px; max-height: 400px; width: 100%; object-fit: cover;}

/********************* 위치 및 날씨 *********************/
/* 위치 */
.location-body {display:flex; flex-direction:column; gap:var(--space-50);}
.location .map {margin:0; width:100%; overflow:hidden;}
.location .duration-wrap {display:flex; flex-direction:column; gap:var(--space-25);}
.location .duration-wrap .sub-tit {font-size:var(--font-size-30); font-weight:600; color:#222; letter-spacing:-0.03em;}
.location .duration-article {padding: var(--space-30) 0; border-top: 1px solid #4E3102; border-bottom: 1px solid #4E3102;}
.location .duration-list {list-style:none; margin:0; padding:0; display:flex; justify-content: center; flex-direction:column; gap:var(--space-24); width:100%;}
.location .duration-list .row {display:flex; gap:var(--space-100); align-items:center; justify-content: center;}
.location .duration-list .from {width: 147px; font-size:var(--font-size-18); color:#454545; letter-spacing:-0.03em;}
.location .duration-list .line-cell {display: flex; align-items: center; justify-content: center; gap:var(--space-8); }
.location .duration-list .to-wrap {display:flex; align-items:center; justify-content:space-between; gap:var(--space-8);}
.location .duration-list .to {width: 170px; font-size:var(--font-size-18); color:#454545; letter-spacing:-0.03em;}
.location .duration-list .time {flex:0 0 86px; display: flex; align-items: center; justify-content: center; height: 24px; background:var(--color-primary); border-radius:4px; font-size:var(--font-size-16); color:#fff; text-align:center; line-height:2.25em;}

/* 날씨 */
.weather {position: relative;}
.weather .txt-wrap {display:flex; flex-direction:column; justify-content:flex-end; gap:var(--space-60); position: absolute; bottom: 0; right: 0; max-width: 751px; padding:var(--space-50) var(--space-60); background:#fbf7ed;}
.weather .block {display:flex; flex-direction:column; gap:var(--space-20);}
.weather .block .tit {font-size:var(--font-size-30); font-weight:600; color:#222; line-height:1.2em;}
.weather .block .desc {font-size:var(--font-size-18); color:#454545; line-height:1.44em;}
.weather .block .desc p {margin:0;}
.weather .block .desc strong {font-weight:600;}
.weather .block.highlight {font-size:var(--font-size-24); color:var(--color-primary); line-height:1.42em;}
.weather .block.highlight strong {font-weight:600; color:var(--color-primary);}

.weather-chart {display:flex; flex-direction:column; gap:var(--space-40); margin-top:var(--space-80);}
.weather-chart .weather-row {display:flex; gap:var(--space-100); align-items:flex-start; justify-content: space-between;}
.weather-chart .txt {flex:0 0 259px; display:flex; flex-direction:column; gap:var(--space-30);}
.weather-chart .label {display: flex; align-items: center; justify-content: center; width:224px; height: 36px; padding:0 10px; background:var(--color-primary); font-size:var(--font-size-22); font-weight:600; color:#fff; text-align:center; letter-spacing:-0.03em;}
.weather-chart .list {list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:var(--space-12);}
.weather-chart .list li {font-size:var(--font-size-18); color:#454545; letter-spacing:-0.03em; padding-left:12px; position:relative;}
.weather-chart .list li:before {content:""; position:absolute; left:0; top:0.6em; width:4px; height:4px; background:var(--color-primary); border-radius:50%;}
.weather-chart .list li.em {font-weight:600;}
.weather-chart .chart {flex:1; min-width:0; border:1px solid #ddd; padding:var(--space-60) 0; display:flex; flex-direction:column; align-items:center; justify-content:center;}
.weather-chart .chart .img {margin:0; max-width:876px; width:100%;}
.weather-chart .chart .img img {width:100%; height:auto; display:block;}
.weather-chart .chart .caption {width: 100%; margin:var(--space-16) 0 0; padding-left: 76px; font-size:var(--font-size-16); color:#888; letter-spacing:-0.03em; text-align: left;}

/********************* 즐길거리 *********************/
.enjoy-doc {display:flex; flex-direction:column; gap:var(--space-100);}
.enjoy-doc .enjoy-sec.sec-intro {display:flex; flex-direction:column; gap:var(--space-60);}
.enjoy-doc .visual img {min-height: 200px; object-fit: cover;}
.enjoy-doc .intro {position:relative; padding:var(--space-30) var(--space-40); background:#fff; border:1px solid #ddd;}
.enjoy-doc .intro:after {content:""; position:absolute; left:-1px; top:-1px; width: 93px; height:80px; border-top: 2px solid var(--color-primary); border-left: 2px solid var(--color-primary);}
.enjoy-doc .intro .tit {font-size:var(--font-size-30); font-weight:600; color:#222; letter-spacing:-0.03em; line-height:1.33em; margin:0 0 var(--space-20);}
.enjoy-doc .intro .desc {font-size:var(--font-size-18); color:#454545; line-height:1.44em; letter-spacing:-0.03em;}
.enjoy-doc .enjoy-sec.sec-cont {display:flex; flex-direction:column; gap:var(--space-40);}
.enjoy-doc .sec-tit {font-size:var(--font-size-30); font-weight:600; color:#222; letter-spacing:-0.03em; margin:0;}
.enjoy-doc .card-list {list-style:none; margin:0; padding:0; display:flex; gap:var(--space-40); flex-wrap:wrap;}
.enjoy-doc .card-list .card {flex:1; border:1px solid #ddd; overflow:hidden; display:flex; flex-direction:column;}
.enjoy-doc .card-hd {padding:var(--space-25) var(--space-30); background:var(--color-primary); font-size:var(--font-size-22); font-weight:600; color:#fff; letter-spacing:-0.03em;}
.enjoy-doc .card .img {margin:0; width:100%; min-height:200px; overflow:hidden;}
.enjoy-doc .card .img img {width:100%; height:100%; object-fit:cover;}
.enjoy-doc .card .cont {padding: var(--space-32) var(--space-40); background:#fff;}
.enjoy-doc .card .list {list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px;}
.enjoy-doc .card .list li {font-size:var(--font-size-18); color:#454545; line-height:1.44em; letter-spacing:-0.03em; padding-left:var(--space-18); position:relative;}
.enjoy-doc .card .cont p {font-size:var(--font-size-18); color:#454545; line-height:1.44em; }
.enjoy-doc .card .list li:before {content:""; position:absolute; left:0; top:0.6em; width:5px; height:5px; background:var(--color-primary); border-radius:50%;}

/********************* 주요숙소 및 컨시어지 *********************/
/* 주요숙소 */
.acc-doc {display:flex; flex-direction:column; gap:var(--space-60);}
.acc-doc .acc-gallery {list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:var(--space-20);}
.acc-doc .acc-gallery .item {position:relative; flex:1 1 calc(50% - var(--space-10)); max-width:690px; overflow:hidden;}
.acc-doc .acc-gallery .img {margin:0; width:100%; height:100%;}
.acc-doc .acc-gallery .img img {width:100%; height:100%; object-fit:cover;}
.acc-doc .acc-gallery .tit {position:absolute; left:var(--space-20); bottom:var(--space-20); margin:0; font-size:var(--font-size-22); font-weight:600; color:#fff; letter-spacing:-0.03em;}
.acc-doc .article {padding: var(--space-20) 0 var(--space-20) var(--space-40); border-top: 1px solid #4E3102; border-bottom: 1px solid #4E3102;}
.acc-doc .article .list {display:flex; flex-direction:column; gap:var(--space-10);}
.acc-doc .article .list li {font-size:var(--font-size-18); color:#454545; letter-spacing:-0.03em; padding-left:var(--space-18); position:relative;}
.acc-doc .article .list li:before {content:""; position:absolute; left:0; top:0.6em; width:4px; height:4px; background:var(--color-primary); border-radius:50%;}

/* 컨시어지 서비스 */
.concierge-body {display:flex; gap:var(--space-100); align-items:flex-start;}
.concierge-body .img {width: clamp(400px, calc(650 / var(--inner) * 100vw), 650px);}
.concierge-body .txt {flex:1; min-width:0; display:flex; flex-direction:column; gap:var(--space-40);}
.concierge .service-block {display:flex; flex-direction:column; gap:var(--space-25);}
.concierge .block-tit {font-size:var(--font-size-30); font-weight:600; color:var(--color-primary); letter-spacing:-0.03em; margin:0;}
.concierge .service-block .line {width:100%; height:1px; background:#4e3102;}
.concierge .block-cont {display:flex; flex-direction:column; gap:var(--space-30); padding-left:var(--space-20);}
.concierge .group {display:flex; flex-direction:column; gap:var(--space-14);}
.concierge .group-tit {font-size:var(--font-size-22); font-weight:600; color:#454545; letter-spacing:-0.03em; margin:0;}
.concierge .group .list {list-style:none; margin:0; padding:0; display:flex; flex-direction:column;}
.concierge .group .list li {font-size:var(--font-size-18); color:#454545; letter-spacing:-0.03em; padding-left:12px; position:relative;}
.concierge .group .list li:before {content:""; position:absolute; left:0; top:0.6em; width:4px; height:4px; background:var(--color-primary); border-radius:50%;}

/********************* 코스 및 설계 *********************/
/* 코스개요 */
.course-doc .course-map {width:100%; padding: var(--space-45) 0; margin-bottom: var(--space-60); border:1px solid #ddd; overflow:hidden; background:#fff; display:flex; align-items:center; justify-content:center;}
.course-doc .course-map .img {margin:0; max-width:777px; width:100%;}
.course-doc .course-map .img img {width:100%; height:auto; display:block;}
.course-doc .course-info {display:flex; flex-direction:column; gap:var(--space-40); align-items:center;}
.course-doc .course-cards {list-style:none; margin:0; padding:0; display:flex; gap:var(--space-40); flex-wrap:wrap; justify-content:center;}
.course-doc .course-cards .card {position:relative;}
.course-doc .course-cards .spec {display:flex; align-items:center; gap:var(--space-10); padding:var(--space-55) var(--space-20); margin-top: 17px; background:#fbf7ed;}
.course-doc .course-cards .num {font-size:var(--font-size-18); font-weight:600; color:#454545; letter-spacing:-0.03em;}
.course-doc .course-cards .unit {font-size:var(--font-size-18); color:#454545; letter-spacing:-0.03em;}
.course-doc .course-cards .divider {width:1px; height:13px; background:#ddd; flex-shrink:0;}
.course-doc .course-cards .label {flex-shrink:0; display: flex; align-items: center; justify-content: center; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width:224px; height: 36px; background:var(--color-primary); font-size:var(--font-size-22); font-weight:600; color:#fff; text-align:center; letter-spacing:-0.03em;}
.course-doc .course-table {width:100%; max-width:1400px; border-collapse:collapse;}
.course-doc .course-table th {padding:var(--space-14) var(--space-10); background:#fbf7ed; border:1px solid #ddd; font-size:var(--font-size-18); font-weight:600; color:#454545; text-align:center; border-left:none;}
.course-doc .course-table td {padding:var(--space-14) var(--space-10); border:1px solid #ddd; font-size:var(--font-size-18); color:#454545; text-align:center; border-right:none;}

/* 설계사 */
.designer {margin-bottom: var(--space-100);}
.designer:last-child {margin-bottom:0;}
.designer .designer-intro {display:flex; flex-direction:column; gap:var(--space-30); align-items:center; text-align:center;}
.designer .designer-intro .quote {font-size:var(--font-size-30); font-weight:600; color:var(--color-primary); letter-spacing:-0.03em; line-height:1.2;}
.designer .designer-intro .divider {display:block; width:1px; height:50px; background:var(--color-primary);}
.designer .designer-intro .desc {font-size:var(--font-size-18); color:#454545; letter-spacing:-0.03em; line-height:1.56em; margin-bottom: var(--space-60);}
.designer .designer-info {display:flex; gap:var(--space-40); align-items:stretch;}
.designer .designer-info .img {margin:0; width:clamp(400px, calc(650 / var(--inner) * 100vw), 650px);}
.designer .designer-info .img img {width:100%; height:100%; object-fit: cover;}
.designer .designer-table {flex:1; min-width:0; border-collapse:collapse;}
.designer .designer-table th {padding:var(--space-12) var(--space-10); background:#fbf7ed; border:1px solid #ddd; font-size:var(--font-size-18); font-weight:600; color:#454545; text-align:center; border-left:none;}
.designer .designer-table td {padding:var(--space-12) var(--space-10); border:1px solid #ddd; font-size:var(--font-size-18); color:#454545; text-align:center; line-height:1.33em; border-right:none;}

/* 오렌지 자체 골프장 개발 실적1 */
.designer .list {list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2, 1fr); gap:var(--space-40); align-items:stretch;}
.designer .list .card {display:flex; flex-direction:column; min-width:0; width:100%; height:100%;}
.designer .list .card .card-tit {flex-shrink:0; padding:13px 20px; background:var(--color-primary); font-size:var(--font-size-20); font-weight:600; color:#fff; text-align:center; letter-spacing:-0.03em;}
.designer .list .card .img {flex-shrink:0; margin:0; width:100%; min-height:200px; overflow:hidden;}
.designer .list .card .img img {width:100%; height:100%; object-fit:cover; display:block;}
.designer .list .card .cont {flex:1; display:flex; flex-direction:column; gap:var(--space-10); min-height:0; padding:var(--space-36) var(--space-40); background:#fbf7ed; font-size:var(--font-size-18); color:#454545; letter-spacing:-0.03em;}
.designer .list .card .row {display:flex; gap:var(--space-30); align-items:flex-start;}
.designer .list .card .label {flex:0 0 61px; font-weight:600;}
.designer .list .card .txt {flex:1; min-width:0; line-height:1.33em;}

/* 오렌지 자체 골프장 개발 실적2 */
.designer-logos {display:flex; flex-direction:column; gap:var(--space-50);}
.designer-logos .intro {display:flex; flex-direction:column; gap:var(--space-12);}
.designer-logos .intro .tit { margin:0;}
.designer-logos .intro .desc {font-size:var(--font-size-18); color:#454545; letter-spacing:-0.03em; line-height:2em; margin:0;}
.designer-logos .logos {list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(5, 1fr); gap:var(--space-40);}
.designer-logos .logos li {border:1px solid #ddd;}

/********************* 클럽 하우스 *********************/
.clubhouse-intro {position:relative; overflow:hidden; margin-bottom: var(--space-100); background-color:#fbf7ed; background-image:linear-gradient(rgba(201,149,24,0.2), rgba(201,149,24,0.2)); background-size:32% ; background-position:right center; background-repeat:no-repeat;}
.clubhouse-intro .inner {position:relative; display:flex; gap:var(--space-100); align-items:center; justify-content:space-between; padding:var(--space-100) 0;}
.clubhouse-intro .txt {max-width:600px; display:flex; flex-direction:column; gap:var(--space-30);}
.clubhouse-intro .tit {font-size:var(--font-size-30); font-weight:600; color:#222; letter-spacing:-0.03em; line-height:1.4em; margin:0;}
.clubhouse-intro .tit .primary {color:var(--color-primary);}
.clubhouse-intro .desc {font-size:var(--font-size-18); color:#454545; letter-spacing:-0.03em; line-height:1.44em; margin:0;}
.clubhouse-intro .desc p {margin:0 0 var(--space-25);}
.clubhouse-intro .desc p:last-child {margin-bottom:0;}
.clubhouse-intro .img {margin:0; width:clamp(400px, calc(700 / var(--inner) * 100vw), 700px);position:relative; flex-shrink: 0;}
.clubhouse-intro .img figcaption {position:absolute; bottom:0; left:0; right:0; padding:var(--space-20); color:#fff; font-size:var(--font-size-22); font-weight:600; letter-spacing:-0.03em;}
.clubhouse-full {margin:0; width:100%; aspect-ratio: 14/5; min-height: 200px;:relative;}
.clubhouse-full img {position: absolute; width:100%; height:100%; object-fit:cover; display:block;}
.clubhouse-full figcaption {position:absolute; bottom:0; left:0; right:0; padding:var(--space-20); color:#fff; font-size:var(--font-size-22); font-weight:600; letter-spacing:-0.03em;}

/********************* 회원권 안내 *********************/
.membership-body {display:flex; flex-direction:column; gap:var(--space-40);}
.membership-table-wrap {position:relative; width:100%; border-top: 2px solid var(--color-primary);}
.membership-table {width:100%; border-collapse:collapse;}
.membership-table th {padding:var(--space-20) var(--space-10); height: 80px;background:#fbf7ed; border:1px solid #ddd; font-size:var(--font-size-18); font-weight:600; color:#454545; text-align:center;}
.membership-table th:first-child {border-left:none;}
.membership-table th:nth-child(3) {border-right:none;}
.membership-table td {padding:var(--space-20) var(--space-10); border:1px solid #ddd; font-size:var(--font-size-18); color:#454545; vertical-align:middle;}
.membership-table td:first-child {text-align:center; border-left:none;}
.membership-table td:nth-child(2) {text-align:center;}
.membership-table td:nth-child(3) {padding:var(--space-36) var(--space-65); border-right:none;}
.membership-table .list {list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:var(--space-10);}
.membership-table .list li {padding-left: 12px; position:relative; font-size:var(--font-size-18); color:#454545; letter-spacing:-0.03em;}
.membership-table .list li:before {content:""; position: absolute; left:0; top:11px; width:4px; height:4px; background:var(--color-primary); border-radius:50%;}
.membership-doc {font-size:var(--font-size-16); color:#454545; letter-spacing:-0.03em; line-height:1.25em; margin-top:var(--space-16);}
.membership-info .item {display:flex; gap:var(--space-50); align-items:center; padding:var(--space-34) var(--space-100); border-bottom:1px solid #4e3102;}
.membership-info .item:first-child {border-top:1px solid #4e3102;}
.membership-info .item .icon {flex-shrink:0;}
.membership-info .item .txt {display:flex; flex-direction:column; gap:var(--space-20); min-width:0;}
.membership-info .item .tit {font-size:var(--font-size-22); font-weight:600; color:#222; letter-spacing:-0.03em; margin:0;}
.membership-info .item .desc {font-size:var(--font-size-18); color:#454545; letter-spacing:-0.03em; line-height:1.22em; margin:0;}
.membership-info .item .desc.flex {gap: 10px; flex-wrap: wrap;}
.membership-info .item .desc p {margin:0 0 var(--space-12);}
.membership-info .item .desc p:last-child {margin-bottom:0;}
.membership-info .item .desc p strong:after {content:""; display:inline-block; width:1px; height:13px; background:#454545; vertical-align:middle; margin:0 10px 3px;}

/********************* 공지 및 소식 *********************/
/* 블라디보스톡 소식 */
.vladi-news {border-top: 2px solid #686868; border-bottom: 1px solid #ddd; padding: var(--space-40) 0;}

/********************* 문의 *********************/
.board-form .radio-wrap {display:flex; gap:var(--space-40);}
.form-agree .checkbox label:before {border-radius: 4px;}

