@charset "utf-8";
/* doc.css는 디자인페이지 스타일을 정의합니다. */ 

.sub-sec {padding:var(--space-120) 0;}
.sub-sec:first-child {padding-top:0;}
.sub-sec:last-child {padding-bottom:0;}
.sub-sec.bg {background:#F5F5F5;}

.sub-divider {width:100%; max-width:1200px; margin:0 auto; height:1px; background:#ddd;}

.sub-tab {text-align:center; margin-bottom:var(--space-100); padding:var(--space-15) var(--space-24); border-top:1px solid #E6E6E6; border-bottom:1px solid #E6E6E6;}
.sub-tab ul {display:flex; flex-wrap:wrap; gap:var(--space-20);}
.sub-tab ul li a {display:block; padding:22px 36px; font-size:var(--font-size-20); font-weight:500; line-height:1.3em; color:#4D4D4D;}
.sub-tab ul li.active a {background:var(--color-primary); color:#fff;}

.doc-tit {position:relative; padding-left:24px; margin-bottom:var(--space-25); font-size:var(--font-size-36); font-weight:600; line-height:1.3em; letter-spacing:-.03em; color:#242424;}
.doc-tit:before {content:''; position:absolute; top:.25em; left:0; width:4px; height:.75em; background:var(--color-primary);}
.doc-tit.center {text-align:center; padding:0;}
.doc-tit.center:before {display:none;}
.doc-text {font-size:var(--font-size-18); line-height:1.67em; color:#454545;}

.point-text {font-size:var(--font-size-20); font-weight:500; line-height:1.67em; letter-spacing:-.03em; color:#242424;}

/* CEO인사말 */
.greetings {margin-bottom:var(--space-120);}
.greetings .image {margin-bottom:var(--space-60);}
.greetings .content {display:flex; flex-direction:column; gap:var(--space-30);}
.greetings .content h2 {font-size:var(--font-size-30); font-weight:700; line-height:1.3em; color:var(--color-primary);}
.greetings .content p {font-size:var(--font-size-18); line-height:1.67em; color:#454545;}

.greetings-2 {padding:var(--space-120) 0; margin-bottom:var(--space-120); background:url('/images/sub/greetings-bg.png') 50% 0 no-repeat;}
.greetings-2 h2 {margin-bottom:var(--space-50); font-size:var(--font-size-30); font-weight:700; line-height:1.2em; color:#242424; text-align:center;}
.greetings-2 .items {display:flex; gap:var(--space-40); justify-content:space-between;}
.greetings-2 .item {text-align:center;}
.greetings-2 .item .icon {margin-bottom:var(--space-30);}
.greetings-2 .item h3 {font-size:var(--font-size-22); font-weight:700; line-height:1.64em; color:#242424;}
.greetings-2 .item p {font-size:var(--font-size-18); font-weight:400; line-height:1.67em; color:#454545; margin-top:var(--space-16);}

.greetings-3 .image {margin-bottom:var(--space-60); text-align:center;}
.greetings-3 .content {display:flex; flex-direction:column; gap:var(--space-30); text-align:center;}
.greetings-3 .content p {font-size:var(--font-size-18); font-weight:400; line-height:1.67em; color:#454545;}

.partners {display:grid; grid-template-columns:repeat(4, 1fr); gap:var(--space-40);}

/* 찾아오시는 길 */
.directions {display:flex; flex-direction:column; gap:var(--space-40);}
.directions .directions-info {display:flex; gap:var(--space-40);}
.directions .info-item {flex:1; position:relative; background:#f8f8f8; border-radius:var(--radius-16); padding:var(--space-40);}
.directions .info-item h3 {margin-bottom:var(--space-20); font-size:var(--font-size-24); font-weight:700; line-height:1.5em; color:#242424;}
.directions .info-text {display:flex; flex-direction:column; gap:var(--space-10);}
.directions .info-text p {font-size:var(--font-size-16); font-weight:400; line-height:1.63em; color:#454545;}
.directions .info-text .flex {display:flex; flex-wrap:wrap; gap:var(--space-40);}
.directions .info-icon {position:absolute; right:var(--space-40); top:var(--space-40);}

.root_daum_roughmap {width:100% !important; border-radius:var(--radius-24); overflow:hidden;}
.root_daum_roughmap .wrap_map {height:clamp(240px, calc(450 / var(--inner) * 100vw), 450px) !important;}
.root_daum_roughmap .cont {display:none;}
.root_daum_roughmap .wrap_controllers {display:none !important;}

/* 운행분야 */
.operation-hero {text-align:center;}
.operation-hero .image {margin-bottom:var(--space-40);}
.operation-hero .icon {margin-bottom:var(--space-40);}
.operation-hero .icon svg {display:block; margin:0 auto;}
.operation-hero h2 {margin-bottom:var(--space-50);}
.operation-hero p strong {font-weight:600;}

.operation-merit {display:flex; flex-wrap:wrap; justify-content:center; margin:10px -20px -30px; text-align:center;}
.operation-merit .item {position:relative; width:33.33333333%; padding:33px 20px;}
.operation-merit .number {position:absolute; top:0; left:calc(50% - 24px); width:48px; height:48px; display:flex; align-items:center; justify-content:center; background:var(--color-primary); border-radius:50%; color:#fff; font-size:var(--font-size-24); font-weight:600; line-height:1.36em; text-align:center;}
.operation-merit .content {height:100%; background:#fff; padding:var(--space-70) var(--space-30); border:1px solid #ddd; border-radius:var(--radius-24);}
.operation-merit .content .icon {margin-bottom:var(--space-24);}
.operation-merit .content .icon svg {display:block; margin:0 auto;}
.operation-merit .content h3 {margin-bottom:var(--space-16); font-size:var(--font-size-22); font-weight:600; line-height:1.36em; color:#242424;}
.operation-merit .content p {font-size:var(--font-size-18); line-height:1.67em; color:#454545;}

.operation-content {margin-bottom:var(--space-120);}
.operation-content:last-child {margin-bottom:0;}

.operation-regions {display:flex; flex-direction:column; gap:var(--space-30); margin-top:var(--space-30);}
.operation-regions h3 {position:relative; padding-left:14px; margin-bottom:var(--space-10); font-size:var(--font-size-20); font-weight:600; line-height:1.3em; color:var(--color-primary);}
.operation-regions h3:before {content:''; position:absolute; top:.52em; left:0; width:6px; height:6px; background:var(--color-primary); border-radius:50%;}
.operation-regions p {margin-left:14px; font-size:var(--font-size-18); line-height:1.67em; color:#454545; margin-left:var(--space-14);}

.school-safety-intro {margin-bottom:40px;}
.school-safety-list {display:flex; flex-direction:column; gap:60px;}
.safety-item {position:relative; background:#fff; border:1px solid #ddd; border-radius:var(--radius-24); padding:60px var(--space-50) var(--space-50);}
.safety-badge {position:absolute; top:0; transform:translateY(-50%); left:var(--space-50); display:inline-flex; align-items:center; justify-content:center; height:48px; padding:0 var(--space-20); background:var(--color-primary); border-radius:var(--radius-16); color:#fff; font-size:var(--font-size-20); font-weight:700; line-height:1.4em; white-space:nowrap;}
.safety-content {display:flex; flex-direction:column; gap:var(--space-20);}
.safety-detail {display:flex; gap:var(--space-20); align-items:flex-start;}
.safety-text {flex:1 1 auto; min-width:0; width:1%; display:flex; gap:var(--space-20);}
.safety-text h3 { font-size:var(--font-size-22); font-weight:600; line-height:1.36em; letter-spacing:-.03em; color:#242424;}
.safety-text p {flex:1 1 auto; min-width:0; width:1%; font-size:var(--font-size-18); line-height:1.67em; color:#454545;}
.safety-divider {width:100%; height:1px; background:#ddd;}

/* 차량 정보 */
.vehicle-section {margin-bottom:var(--space-120);}
.vehicle-images {display:flex; gap:var(--space-40); margin-bottom:var(--space-30);}

.vehicle-interior {display:flex; gap:var(--space-40);}
.vehicle-interior .interior-item {flex:1; display:flex; flex-direction:column; gap:var(--space-10);}

.vehicle-interior .interior-caption {font-size:var(--font-size-16); line-height:1.88em; color:#454545;}

.vehicle-footer {text-align:center; align-items:center; padding-top:var(--space-60);}
.vehicle-footer p {font-size:var(--font-size-24); line-height:1.67em; color:#454545;}

.vehicle-flex {display:flex; justify-content:space-between; align-items:center; gap:var(--space-60);}
.vehicle-flex .content {flex:1 1 auto; min-width:0; width:1%;}
.vehicle-flex .content .doc-tit {margin-bottom:0;}
.vehicle-flex .content .doc-text {margin-top:var(--space-20);}
.vehicle-flex .image {width:60%; max-width:700px;}