@charset "utf-8";

/* EBIWEB — 2026-07-27 제작 */
.dir_top {opacity:1 !important;}
.explain .opacity.sc-event+* {padding-top:0;}
.right-scection {position:relative;}
.goTopBtn {position:absolute; bottom:0; right:0;}

.more-btn {cursor:pointer;}

.lead-summary {position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important;}

/* 연혁·인증서 페이지 신규 메뉴 삽입에 따른 subLink 강조 위치 보정(인사말 다음, 오시는길 앞) */
.location .subLink a:nth-child(3) {color:#ccc; font-weight:400;}
.location .subLink a:nth-child(5) {color:#fff; font-weight:800;}
.history .subLink a:nth-child(3) {color:#fff; font-weight:800;}
.certificates .subLink a:nth-child(4) {color:#fff; font-weight:800;}

/* 인증서 갤러리(4열 그리드) */
.cert-grid {list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4, 1fr); gap:28px;}
.cert-grid li {display:flex; flex-direction:column; align-items:center; text-align:center; float:none; border:1px solid #e7e7e7; border-radius:10px; padding:18px; background:#fafafa; transition:box-shadow .2s, transform .2s;}
.cert-grid li:hover {box-shadow:0 6px 18px rgba(0,0,0,.08); transform:translateY(-3px);}
.cert-grid img {width:100%; height:auto; max-height:340px; object-fit:contain; background:#fff; border:1px solid #ddd;}
.cert-cap {display:block; margin-top:12px; font-size:.75rem; font-weight:700; color:#093f92;}
@media (max-width:1024px){
	.cert-grid {grid-template-columns:repeat(2, 1fr);}
}
@media (max-width:520px){
	.cert-grid {grid-template-columns:1fr;}
}

/* 연혁(회사 연혁) 타임라인 */
.history-timeline {list-style:none; margin:0; padding:0; display: flex; flex-direction: column;}
.history-year {display:flex; align-items:flex-start; gap:28px; padding:22px 0; border-bottom:1px solid #e7e7e7;}
.history-year:first-child {padding-top:0;}
.history-year:last-child {border-bottom:none;}
.history-year-tag {flex:none; width:100px; font-size:1.6rem; font-weight:800; color:#093f92; line-height:1.2;}
.history-year ul {list-style:none; margin:0; padding:0; flex:1; display: flex; flex-direction: column;     align-items: flex-start;}
.history-year li {font-size:.75rem; color:#333; line-height:1.7; padding:4px 0; text-align:left;}
.history-month {display:inline-block; min-width:34px; margin-right:10px; font-weight:700; color:#093f92;}
@media (max-width:768px){
	.history-year {gap:14px; flex-direction:column;}
	.history-year-tag {width:auto;}
}

.faq-acc, .footer-seo, .footer-seo-panel section {
	height: auto !important;
	text-align: left !important;
}

@keyframes aspeIconSparkle {
	0%, 100% { opacity: 1; }
	50% { opacity: .35; }
}


.faq-acc-wrap {max-width:100% !important; padding:0 7.9%; background:#093f92;}
.footer-seo {width:100%; background:#f8f6f2; border-top:1px solid rgba(0,0,0,.07);}
.footer-seo .tt {font-size:18px; color:#093f92; display:inline-flex; align-items:center; gap:8px;}
.footer-seo .tt::before {font-family:'Material Icons'; content:"verified"; font-size:20px; line-height:1; color:#0f3481; flex:none; animation: aspeIconSparkle 1.4s ease-in-out infinite;}
.footer-seo-wrap {padding:0 7.9%;}
.open .footer-seo-wrap {background: url(/ko/images/main/aspe-logo-wh.svg) no-repeat right center / 30%;}
.footer-seo-toggle {display:flex; align-items:center; justify-content:space-between; gap:14px; width:100%; padding:18px 0; background:none; border:0; color:#333; font-weight:700; font-size:15px; text-align:left; cursor:pointer; font-family:inherit; line-height:1.4;}
.footer-seo-toggle:focus {outline:none;}
.footer-seo-toggle:focus-visible {outline:2px solid #093f92; outline-offset:2px;}
.footer-seo-toggle .ar {font-family:'Material Icons'; font-size:20px; color:#999; flex:none; transition:transform .25s;}
.footer-seo.open .footer-seo-toggle .ar {transform:rotate(180deg);}
.footer-seo-panel {display:flex; flex-direction:column; gap:30px; max-height:0 !important; overflow:hidden !important; transition:max-height .4s ease;}
.footer-seo.open .footer-seo-panel {max-height:1990px !important; padding-bottom:24px;}
.footer-seo-panel section {}
.footer-seo-panel h2 {color:#000; font-size:14px; font-weight:700;}
.footer-seo-panel ul, .footer-seo-panel ol {margin:0; padding-left:18px; color:#666;}
.footer-seo-panel li {font-size:14px; line-height:1.7;}
.footer-seo-panel .fs-perf ul {padding-left:0;}
.footer-seo-panel .fs-perf li {display:inline !important;}
.footer-seo-panel .fs-perf li:not(:last-child)::after {content:", " !important; color:#999;}
.footer-seo-panel .fs-proc ol {padding-left:0;}
.footer-seo-panel .fs-proc li {display:inline !important;}
.footer-seo-panel .fs-proc li:not(:last-child)::after {content:"  →  " !important; color:#999; white-space:pre;}
.footer-seo-panel .fs-proc .stp {font-weight: 700; margin-right: 4px; display: inline-block; padding: 5px 10px; background: #000; border-radius: 100px; color: #fff; line-height: 1; font-size: 10px;}
.footer-seo-panel .fs-cert ul {padding-left:0;}
.footer-seo-panel .fs-cert li {display:inline !important;}
.footer-seo-panel .fs-cert li:not(:last-child)::after {content:", " !important; color:#999;}
.footer-seo-panel strong {color:#000;}
.footer-seo-panel p {color:#666; font-size:14px; line-height:1.7; margin:0;}
.footer-seo-panel table {width:100%; max-width:720px; border-collapse:collapse; font-size:12.5px; color:#666;}
.footer-seo-panel th, .footer-seo-panel td {border:1px solid #dfe3ea; padding:7px 10px; text-align:left; vertical-align:top;}
.footer-seo-panel thead th {color:#000; background:#e8ecf5;}
.footer-seo-panel .footer-seo-date {color:#999; font-size:12px;}

@media (max-width:767px) {
	.footer-seo-toggle {font-size:14px; padding:14px 0;}
	.footer-seo-panel table {font-size:11.5px;}
}

.faq-acc {width:100%; background:#F9F9F9; border-bottom:1px solid rgba(0,0,0,.07);}
.faq-acc * {border-radius:0;}
.faq-acc .faq-acc-toggle {display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0; padding:20px 0; cursor:pointer; color:#fff;}
.faq-acc-toggle .tt {display:inline-flex; align-items:center; gap:8px; font-size:clamp(16px, 2vw, 18px); font-weight:500; line-height:normal; color:#fff;}
.faq-acc.open .faq-acc-toggle .tt {color:#00e9ff;}
.faq-acc-toggle .tt::before {font-family:'Material Icons'; content:"help"; font-size:22px; line-height:1; color:#fff; flex:none; animation: aspeIconSparkle 1.4s ease-in-out infinite;}
.faq-acc-toggle .ar {font-family:'Material Icons'; flex:none; font-size:22px; color:#fff; transition:transform .3s;}
.faq-acc.open {}
.faq-acc .faq-acc-wrap {transition: all .3s;}
.faq-acc.open .faq-acc-wrap {padding:20px 7.9%;}
.faq-acc.open .faq-acc-toggle .ar {transform:rotate(180deg);}
.faq-acc-body {max-height:0 !important; overflow:hidden !important; transition:max-height .45s ease;}
.faq-acc.open .faq-acc-body {max-height:4000px !important;}
.faq-acc-desc {margin:0 0 20px; color:#666; font-size:16px; line-height:1.6;}

.faq-acc .faq-list {margin:0; border-top:2px solid rgba(255,255,255,1); border-radius:0;}
.faq-acc .faq-item {border-bottom:1px dashed rgba(255,255,255,.15);}
.faq-acc .faq-item:last-child {border:0;}
.faq-acc dt {margin:0;}
.faq-acc .faq-q {display:flex; align-items:center; justify-content:space-between; gap:20px; width:100%; padding:16px 0; background:none; border:0; cursor:pointer; text-align:left; font-family:inherit; color:#fff; font-size:19px; font-weight:600; line-height:1.5;}
.faq-acc .faq-item.open .faq-q {}
.faq-acc .faq-item.open .faq-q-tt {color:#00e9ff;}
.faq-acc .faq-q .faq-q-tt {margin:0; padding:0; font-size:16px; color:inherit; line-height:1.2;}
.faq-acc .faq-q .ico {flex:none; width:26px; height:26px; position:relative;}
.faq-acc .faq-q .ico:before, .faq-acc .faq-q .ico:after {content:""; position:absolute; top:50%; left:50%; width:16px; height:2px; background:#fff; transform:translate(-50%,-50%);}
.faq-acc .faq-q .ico:after {transform:translate(-50%,-50%) rotate(90deg); transition:opacity .3s;}
.faq-acc .faq-item.open .faq-q .ico:after {opacity:0;}
.faq-acc dd {margin:0;}
.faq-acc .faq-a {max-height:0 !important; overflow:hidden !important; transition:max-height .2s ease;}
.faq-acc .faq-item.open .faq-a {max-height:900px !important; transition:all .2s;}
.faq-acc .faq-a p {padding:0 0 16px; margin:0; color:#cdd6ea; font-size:16px; line-height:1.75; transition:all .2s; opacity:0;}
.faq-acc .faq-item.open .faq-a p {padding-left:22px; opacity:1;}

@media (max-width:767px) {
	.faq-acc {}
	.faq-acc-wrap {padding:0;}
	.faq-acc-desc {font-size:15px; padding:0 20px;}
	.faq-acc .faq-q {padding:15px 26px; font-size:15px;}
	.faq-acc .faq-q .faq-q-tt {font-size:15px;}

	.faq-acc .faq-a {}
	.faq-acc .faq-a p {padding:0 26px 15px; font-size:15px;}

	.faq-acc-toggle {padding:15px 26px;}

	.footer-seo {border-color:rgba(0,0,0,.07); padding:0 26px;}
	.footer-seo-wrap {padding:0;}
}

.epc-wrap {margin-top:100px;}
.epc-heading {font-size:clamp(24px,3vw,40px); font-weight:700; letter-spacing:-.1vw; margin-bottom:14px !important;}
.epc-intro {color:#666; font-size:.9rem; line-height:1.6; margin:0 0 24px; padding-top:0 !important;}
.epc-table-wrap {width:100%; overflow-x:auto; border-radius:14px; box-shadow:0 6px 24px rgba(9,63,146,.1); margin-top:20px; border:1px solid #e7ebf3; -webkit-overflow-scrolling:touch;}
.epc-table {width:100%; min-width:760px; border-collapse:collapse; font-size:clamp(0.5rem,2vw,0.7rem) !important;}
.epc-table thead th {background:#093f92; color:#fff; font-weight:400; text-align:left; padding:14px 18px; white-space:nowrap; text-align:center;}
.epc-table thead th:first-child {border-top-left-radius:14px;}
.epc-table thead th:last-child {border-top-right-radius:14px;}
.epc-table tbody tr {border-bottom:1px solid #edf0f6; transition:background .15s ease;}
.epc-table tbody tr:nth-child(even) {background:#f8f9fc;}
.epc-table tbody tr:hover {background:#eef2fb;}
.epc-table tbody tr:last-child {border-bottom:0;}
.epc-table tbody tr:last-child td:first-child {border-bottom-left-radius:14px;}
.epc-table tbody tr:last-child td:last-child {border-bottom-right-radius:14px;}
.epc-table td {padding:12px 18px; color:#444; vertical-align:middle;}
.epc-table td.epc-field {padding:12px 10px 12px;}
.epc-tag {display:inline-block; padding:5px 12px; border-radius:100px; background:#eaf0fb; font-size:clamp(0.5rem,2vw,0.7rem) !important; color:#093f92; font-weight:500; white-space:nowrap;}
.epc-table td.epc-country {white-space:nowrap;}
.epc-table td.epc-year {color:#999;}
.epc-table td.epc-capacity {color:#111; white-space:nowrap;}

@media (max-width:767px) {
	.epc-table {}
	.epc-table thead th, .epc-table td {padding:10px 12px;}
	.epc-table td.epc-field {padding:8px 6px 8px 12px;}
	.epc-tag {font-size:.72rem; padding:4px 10px;}
}


.project.last-section {padding-bottom:20px !important;}
.client-wrap {max-width:1250px; margin:70px auto 100px; padding:0 7.9%; height:auto;}
.client-heading {font-size:clamp(24px,3vw,40px); font-weight:700; letter-spacing:-.1vw; margin-bottom:8px;}
.client-sub {color:#666; font-size:.8rem; line-height:1.6; margin:0 0 34px;}
.client-marquee {overflow:hidden; margin-bottom:26px; width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent); mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);}
.client-track {display:flex; align-items:center; width:max-content; will-change:transform; backface-visibility:hidden; justify-content:center; gap:4vw;}
.client-marquee-r2l .client-track {animation:clientScrollL 35s linear infinite;}
.client-marquee-l2r .client-track {animation:clientScrollR 35s linear infinite;}
.client-track img {height:42px; width:auto; max-width:130px; flex:none; object-fit:contain; background:#fff;}
.client-item {position:relative; display:inline-flex; align-items:center; flex:none;}
.client-name {position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important;}
.client-item:hover .client-name {position:absolute !important; bottom:100% !important; left:50% !important; transform:translateX(-50%) !important; margin:0 0 8px !important; width:auto !important; height:auto !important; padding:4px 10px !important; clip:auto !important; overflow:visible !important; white-space:nowrap !important; background:#222; color:#fff; font-size:12px; line-height:1.4; border-radius:4px; z-index:10; pointer-events:none;}
@keyframes clientScrollL {from{transform:translate3d(0,0,0);} to{transform:translate3d(-50%,0,0);}}
@keyframes clientScrollR {from{transform:translate3d(calc(100vw - 200%/3),0,0);} to{transform:translate3d(calc(100vw - 100%/3),0,0);}}
@media (prefers-reduced-motion:reduce) {.client-track {animation:none;}}
@media (max-width:767px) {
	.client-wrap {padding:0 26px; margin-top:16px;}
	.client-track img {height:28px; width:90px; margin-right:32px;}
	.client-marquee {margin-bottom:16px;}
}
