@charset "utf-8";
.doc-cnt30 {margin-bottom:var(--space-30);}
.doc-cnt50 {margin-bottom:var(--space-50);}
.doc-cnt70 {margin-bottom:var(--space-70);}
.doc-cnt100 {margin-bottom:var(--space-100);}
.doc-cnt150 {margin-bottom:var(--space-150);}
.doc-cnt200 {margin-bottom:var(--space-200);}

.doc-tit {color:#2C2C2C; font-size:var(--font-size-46); font-weight:800; line-height:1.3em; letter-spacing:-.03em;}
.doc-tit.center {text-align:center;}
.doc-small {color:#CCC; margin-bottom:15px; font-size:18px; font-weight:600; line-height:1.55em; letter-spacing:-.04em;}

.greetings {display:flex;}
.greetings .img {order:2;}
.greetings .desc {flex:1;}
.greetings .txt {margin-top:var(--space-60);}
.greetings .txt {color:#505050; font-size:var(--font-size-22); font-weight:400; line-height:1.7em; letter-spacing:-.04em;}
.greetings .txt strong {display:block; color:#2C2C2C; font-size:var(--font-size-30); font-weight:600; line-height:1.46em; letter-spacing:-.03em;}
.greetings p {margin-top:var(--space-20);}

.vision-top {padding:var(--space-60) 0; margin-bottom:var(--space-40); background-color:#F8F8F8; text-align:center;}
.vision-top p {margin-top:var(--space-15); color:#505050;font-size:var(--font-size-24); font-weight:500; line-height:1.6em; letter-spacing:-.04em;}
.vision {display:flex; margin:0 -20px;}
.vision .item {padding:0 20px; flex:1;}
.vision .cnt {padding:var(--space-25) var(--space-30) 0;}
.vision .tit {color:#2C2C2C; font-size:var(--font-size-30); font-weight:700; line-height:1.46em; letter-spacing:-.04em;}
.vision p {font-size:var(--font-size-20); margin-top:var(--space-10); line-height:1.7em; letter-spacing:-.04em;}

.history-wrap {margin-top:var(--space-50);}
.history-img {margin-bottom:var(--space-50);}
.history-timeline {display:flex;gap:var(--space-150); align-items:flex-start;}
.history-year-title {font-size:var(--font-size-56); font-weight:600; line-height:1.25em; color:#222; flex-shrink:0;}
.history-timeline-list {position:relative; flex:1; display:flex; flex-direction:column;gap:var(--space-80);padding-top:var(--space-15);}
.history-timeline-line {left:8px; top:30px; width:2px; height:100%; z-index:-1; position:absolute; background-color:#eee;}
.history-timeline-item {display:flex; gap:var(--space-40); align-items:flex-start;}
.history-timeline-dot {width:18px; height:16px; border-radius:100%; background-color:#fff; border:4px solid #ddd; flex-shrink:0; padding-top:var(--space-10);}
.history-timeline-content {display:flex; flex-direction:column; gap:var(--space-15);}
.history-timeline-year {font-size:var(--font-size-26);font-weight:600; line-height:1.54em; color:var(--color-primary);}
.history-timeline-desc {font-size:var(--font-size-34);font-weight:700; line-height:1.4em; color:#2c2c2c;}

.direction-wrap {margin-top:var(--space-50); display:flex; flex-direction:column; gap:var(--space-40);}
.direction-top {display:flex; flex-direction:column; gap:var(--space-25);}
.direction-company {color:var(--color-primary); font-size:var(--font-size-18); font-weight:600; line-height:1.56em;}
.direction-title {color:#2c2c2c; font-size:var(--font-size-46); font-weight:800; line-height:1.3em;}
.direction-info {display:flex; justify-content:space-between; align-items:center; padding-top:var(--space-30); border-top:2px solid #eeeeee;}
.direction-address {display:flex; gap:var(--space-15); align-items:center;}
.direction-contacts {display:flex; gap:var(--space-25); align-items:flex-start;}
.direction-contact {display:flex; gap:var(--space-15); align-items:center;}
.direction-address p {color:#2c2c2c; font-size:var(--font-size-24); font-weight:600; line-height:1.5em; flex:1;}
.direction-contact p {color:#2c2c2c; font-size:var(--font-size-22); font-weight:600; line-height:1.64em;}

.map iframe,
.root_daum_roughmap,
.root_daum_roughmap .wrap_map {overflow:hidden; height:clamp(250px, calc( 600 / var(--inner) * 100vw ), 600px) !important; width:100% !important;}
.root_daum_roughmap .cont {display:none !important;}

.performance-wrap {margin-bottom:var(--space-120); display:flex; flex-direction:column; gap:var(--space-80);}
.performance-top {display:flex; gap:var(--space-100); align-items:center;}
.performance-content {flex:1; display:flex; flex-direction:column; gap:var(--space-70);}
.performance-title {color:#2c2c2c; font-size:var(--font-size-46); font-weight:800; line-height:1.3em;}
.performance-title .text-primary {color:var(--color-primary);}
.performance-desc {display:flex; flex-direction:column; gap:var(--space-25);}
.performance-subtitle {color:#2c2c2c; font-size:var(--font-size-30); font-weight:600; line-height:1.47em;}
.performance-text {color:#505050; font-size:var(--font-size-22); font-weight:400; line-height:1.64em;}
.performance-text p {margin:0;}
.performance-text strong {color:var(--color-primary); font-weight:700;}
.performance-stats {display:flex; align-items:center;}
.performance-stat-item {flex:1; display:flex; flex-direction:column; gap:var(--space-25); align-items:center; justify-content:center; padding:var(--space-70) 0 var(--space-55); border:1px solid #eee; border-right:none;}
.performance-stat-item:last-child {border-right:1px solid #eee;}
.performance-stat-info {display:flex; flex-direction:column; align-items:center;}
.performance-stat-label {color:#676767; font-size:var(--font-size-20); font-weight:600; line-height:1.7em;}
.performance-stat-value {color:#2c2c2c; font-size:var(--font-size-40); font-weight:800; line-height:1.35em;}
.performance-stat-value-group {display:flex; gap:4px; align-items:flex-end; justify-content:center;}
.performance-stat-unit {color:#2c2c2c; font-size:var(--font-size-24); font-weight:700; line-height:1.83em;}

html[lang="en"] .performance-content {gap:var(--space-50);}
html[lang="en"] .performance-title  {font-size: var(--font-size-40);}


.performance-worldmap .img {margin-top:var(--space-100); text-align:center;}
.performance-worldmap .img img {width:100%;}

.business-list {display:flex; flex-direction:column; gap:var(--space-100);}
.business-section {border-bottom:2px solid #eee; padding-bottom:var(--space-100); display:flex; flex-direction:column; gap:var(--space-40);}
.business-title {color:#2c2c2c; font-size:var(--font-size-46); font-weight:800; line-height:1.3em;}
.business-items {display:flex; flex-wrap:wrap; margin:0 -20px -40px;}
.business-item {width:33.3333%; padding:0 20px; margin-bottom:40px; display:flex; flex-direction:column; gap:var(--space-20);}

.business-img {position:relative; padding-bottom:72.73%; overflow:hidden;}
.business-img img {position:absolute; top:50%; left:0; transition:.4s ease-in-out; transform:translateY(-50%); -ms-transform:translateY(-50%); -webkit-transform:translateY(-50%); width:100%; height:auto !important; max-width:100%; min-height:100%; object-fit:cover;}
.business-name {color:#2c2c2c; font-size:var(--font-size-30); font-weight:800; line-height:1.47em;}

.contact-info-wrap {display:flex; gap:var(--space-10); align-items:flex-start;}
.contact-info-item {width:25%; background-color:#f4f4f4; display:flex; gap:var(--space-20); align-items:center; padding:var(--space-35) var(--space-15) var(--space-35) var(--space-25);}
.contact-info-text {display:flex; flex-direction:column; gap:2px; align-items:flex-start; justify-content:center; flex:1;}
.contact-info-label {color:#676767; font-size:var(--font-size-18); font-weight:500; line-height:1.56em;}
.contact-info-value {color:#2c2c2c; font-size:var(--font-size-24); font-weight:700; line-height:1.67em;}

.inquiry-form-desc {margin:var(--space-100) 0 var(--space-60); color:#2C2C2C; font-size:var(--font-size-30); font-weight:600; line-height:1.47em; letter-spacing:-.03em;}

.boardform-wrap {padding:var(--space-50) 0; gap:var(--space-50); display:flex; flex-wrap:wrap; border-top:2px solid #DFDFDF; border-bottom:1px solid #DFDFDF;}
.boardform-wrap dl {align-items:center; width:100%; display:flex;}
.boardform-wrap dl.half-width {width:50%; max-width:calc(50% - var(--space-30));}
.boardform-wrap dt {width:clamp(100px, calc( 180 / var(--inner) * 100vw ), 180px); font-size:var(--font-size-20); font-weight:600; color:#2c2c2c; letter-spacing:-.02em; line-height:1.4em;}
.boardform-wrap dt p {gap:var(--space-15); display:flex; align-items:center;}
.boardform-wrap dt span {width:8px; height:8px; display:inline-block; background-color:#ccc; border-radius:100%;}
.boardform-wrap dt span.on {background-color:var(--color-primary);}
.boardform-wrap dd {font-size:var(--font-size-18); font-weight:500; letter-spacing:-.02em; line-height:1.5em; flex:1;}
.boardform-wrap .input {height:var(--input-height56);}
.boardform-wrap .border {width:100%; height:1px; background-color:#dfdfdf;}

.boardform-wrap .file-upload {display:flex; height:var(--input-height56); gap:6px;}
.boardform-wrap .file-button {display:flex; justify-content:center; align-items:center; height:100%; padding:0 20px; border:0; background:#121212; color:#fff; cursor:pointer;}
.boardform-wrap .file-button:hover {background:#2c2c2c;}
.boardform-wrap .file-name {flex:1 1 auto; min-width:0; width:1%; display:flex; align-items:center; height:100%; padding:0 15px; border:1px solid #ddd; font-size:var(--font-size-16); color:#A8A8A8;} 

.form-agree.ty2 .check {font-size:var(--font-size-18);}
.form-agree.ty2 .check a {font-size:var(--font-size-18); border:0; padding:0; margin:0; color:#A8A8A8; border-bottom:1px solid #A8A8A8}
.form-agree.ty2 .checkbox {margin-top:0;}
.form-agree.ty2 .checkbox label:before {width:24px; height:24px; background-color:#fff; border:1px solid #505050; border-radius:100%;}
.form-agree.ty2 .checkbox input:checked + label:before {background:var(--color-primary) url("/images/bbs/checkbox.png") 50% 50% no-repeat; border-color:var(--color-secondary);}