@charset "utf-8";
/* Common */
.doc-tit {font-weight: 600; color: #242424;}
.desc p:not(:last-child) {margin-bottom: 26px;}
.deco-logo {position: relative; height: fit-content; padding-bottom: 340px;}
.deco-logo:before {position: absolute; content: ''; left: 0; bottom: 0; width: 100%; height: 260px; background: url('../images/sub/bg-greetings.png') no-repeat center left; background-size: contain;}
.business .dot-tit.no-deco {margin-left: 0;}
.business .dot-tit.no-deco:before {content: none;}

.greetings .txt {position: relative; display: flex; gap: 60px;}
.greetings .tag {letter-spacing: .6em; font-size: 16px;}
.greetings .sign {font-weight: 700; color: #242424;}
.greetings .left {flex: 1;}
.greetings .desc {width: 590px;}

.history {display: flex; border-top: 2px solid #333; padding-top: 60px;}
.history .left {flex: 1;}
.history .left h2 {font-family: "montserrat", sans-serif; font-weight: 600; color: #242424;}
.history .left p {font-weight: 500; font-size: 18px;}
.history-cnt {position: relative; width: 650px;}
.history-cnt:before {position: absolute; content: ''; top: 7px; left: -1px; width: 1px; height: calc(100% - 80px); background: #ddd;}
.history-cnt .item {position: relative; padding-left: 70px;}
.history-cnt .item:before {position: absolute; content: ''; width: 20px; height: 20px; left: 0; transform: translateX(-50%); top: 5px; background: url('../images/sub/deco-year.png') no-repeat center center; background-size: contain;}
.history-cnt .item:after {position: absolute; content: ''; width: 40px; height: 1px; background: #ddd; left: 20px; top: 14px;}
.history-cnt .item:not(:last-child) {margin-bottom: 50px;}
.history-cnt li {display: flex; line-height: 2.1875em;}
.history-cnt .year {margin-bottom: 25px; font-weight: 600; font-size: 28px; color: #242424;}
.history-cnt .month {font-weight: 600; color: #f7a820; min-width: 45px;}
.dot-list > ul > li {position: relative; padding-left: 18px;}
.dot-list > ul > li:first-child:before {position: absolute; content: ''; left: 0; top: 15px; width: 5px; height: 5px; border-radius: 100%; background: #ddd;}

.cert ul {display: flex; flex-wrap: wrap; margin: 0 -14px;}
.cert ul li {width: 25%; padding: 0 14px 45px; text-align: center; font-size: 18px; color: #242424;}
.cert .img {display: block; position: relative; width: fit-content; margin: 0 auto 20px;}
.cert .img:before {position: absolute; content: ''; z-index: 1; top: 0; right: 0; bottom: 0; left: 0; border: 1px solid #ddd;}

.root_daum_roughmap .wrap_controllers {display: none;}
.root_daum_roughmap {width:100% !important;}
.directions {margin-top:40px;}
.directions .address-info {margin-bottom:30px;}
.directions .address-info .comp {color:#f7a820; font-weight:600; margin-bottom:2px;}
.directions .address-info .addr {color:#242424; font-size:23px; font-weight:600; line-height:1.33em; letter-spacing:-.03em; margin-bottom:5px;}
.directions .address-info .etc {color:#454545;}
.directions .address-info .etc span {display:inline-block; margin-right:16px;}
.directions .address-info .etc span:last-child {margin-right:0;}
.directions .contact-info {border-top:1px solid #ddd; line-height:1.5em;}
.directions .contact-info dl {display:flex; padding:28px 0; border-bottom:1px solid #ddd;}
.directions .contact-info dt {width:180px; padding-left:30px; color:#242424; font-size:1.125em; font-weight:500;}
.directions .contact-info dt svg {vertical-align:middle; margin:-.2em 15px 0 0;}
.directions .contact-info dt path {fill:#f7a820;}
.directions .contact-info dd {flex:1 1 auto; min-width:0; width:1%; color:#454545;}
.flex-map {display: flex; gap: 30px;}
.flex-map .item {flex: 1;}

.business .deco-tit {position: relative; margin-bottom: 20px; color: #242424; font-weight: 700; font-size: 30px;}
.business .deco-tit:before {position: absolute; content: ''; left: -15px; top: 50%; transform: translate(-100%, -50%); width: 40px; height: 26px; background: url('../images/sub/deco-tit.png') no-repeat center left; background-size: contain;}
.business section .deco-tit {padding-left: 50px;}
.business section .deco-tit:before {left: 0; transform: translateY(-50%);}
.business .section {padding-left: 55px;}
.business .section:not(:last-child) {margin-bottom: 80px;}
.business section:not(:last-child) {margin-bottom: clamp(40px, calc(80 / var(--inner) * 100vw), 80px);}

.tabmenu.section {display: flex; justify-content: center; gap: 32px; padding-left: 0 !important;}
.tabmenu a {display: flex; justify-content: center; align-items: center; width: 200px; height: 56px; border-radius: 28px; border: 1px solid #ddd; font-weight: 500; font-size: 18px;}
.tabmenu a.active {background: #f7a820; color: #fff; border-color: #f7a820;}

.hyphen-list li {position: relative; padding-left: 13px; font-weight: 500; line-height: 1.625em;}
.hyphen-list li:not(:last-child) {margin-bottom: 6px;}
.hyphen-list li:before {position: absolute; content: '-'; left: 0; color: #242424;}
.hyphen-list li.star:before {content: '*'}
.box {border: 1px solid #ddd; padding: 15px;}
.box-full {border: 0; padding: 0; position: relative; overflow: hidden;}
.box-full img {position: absolute; width: 100%; height: 100%; object-fit: cover;}
.box.box-nop {padding: 0;}

.business .dot-list > ul > li:before {content: none;}
.business .dot-list > ul > li:not(:last-child) {margin-bottom: 40px;}
.business .dot-tit {position: relative; margin-bottom: 13px; margin-left: 20px; font-weight: 600; font-size: 20px; color: #f7a820;}
.business .dot-tit.pl20 {padding-left: 20px;}
.business .dot-tit:before {position: absolute; content: 'ㆍ'; left: -20px;}
.business .dot-tit.pl20:before {left: 0;}
.business .dot-list .dot-tit {margin-left: 0;}

.table-cnt table {width: 100%; border-collapse: collapse; border-top: 2px solid #242424;}
.table-cnt thead th {padding: 15px 6px;background: #f2f2f2; font-weight: 600; color: #242424;border-right: 1px solid #ddd; border-bottom: 1px solid #ddd;}
.table-cnt tbody td {padding: 15px 6px;border-right: 1px solid #ddd; border-bottom: 1px solid #ddd;}
.table-cnt thead th:last-child,
.table-cnt tbody td:last-child {border-right: none;}
.table-cnt tbody th {padding: 15px 6px; background: #f9f9f9; font-weight: 600; color: #242424;border-right: 1px solid #ddd; border-bottom: 1px solid #ddd;}
.table-cnt .txt {margin-top: 8px;}

.business .hyphen-list li {font-weight: 400;}
.business .hyphen-list.fw500 li {font-weight: 500;}
.hyphen-list.large > li {font-weight: 500; font-size: 18px;}
.hyphen-list.large > li:before {color: #f7a820}
.business .table-cnt .hyphen-list li {width: fit-content; margin: 0 auto;}

.flex-items {display: flex; gap: 15px;}
.flex-items.flex-wrap {flex-wrap: wrap;}
.flex-items .img {margin-bottom: 10px;}
.cert-items {display: flex; margin: 0 -10px;}
.cert-items .item {width: 20%; margin: 0 10px; position: relative;}
.cert-items .item:before {position: absolute; left: 0; top: 0; content: ''; top: 0; right: 0; bottom: 0; left: 0; border: 1px solid #ddd;}
.business .flex-items .dot-tit {margin-bottom: 25px; margin-left: 20px;}
.flex-items.graph-items {gap: 55px;}
.graph-items .item {max-width: calc((100% - 55px) / 2)}

.box-items {display: flex; gap: 30px;}
.box-items .box {flex: 1;}
.box-items.concept .box .img {display: flex; align-items: center; justify-content: center; height: 100%;}
.box-items.column {flex-direction: column;}
.box-item {flex: 1; background: #f2f2f2; padding: 15px; border-radius: 5px;}
.box-items .item {flex: 1;}
.box-items .item .txt {margin-top: 15px;}

.photo-items {display: flex;flex-wrap: wrap; margin: 0 -15px -25px;}
.photo-items .item {width: 50%; padding: 0 15px 25px;}
.photo-items .txt {margin-top: 17px;}

.dot-list.number-list ol {list-style: auto;}
.dot-list.number-list li::marker {font-weight: 600; font-size: 20px; color: #f7a820;}
.business .dot-list.number-list .dot-tit:before {content: none;}
.business .dot-list > ol > li:not(:last-child) {margin-bottom: 40px;}

.circle-num-list .doc-tit {margin-bottom: 6px;}
.circle-num-list li {display: flex; gap: 5px; line-height: 1.625em;}

.flex-waterproof {display: flex; justify-content: space-between; align-items: flex-end; gap: 60px;}
.flex-equip {display: flex; justify-content: space-between; align-items: flex-start; gap: 60px;}

.section.full-img {position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; color: #fff; border-radius: 10px; width: 100%; height: 280px; padding: 0 30px;}
.full-img img {position: absolute; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover; z-index: -1;}

.process-items {display: flex; margin-right: -60px; margin-top:15px; line-height: 1.625em;}
.process-items .item {display: flex; align-items: center; justify-content: center; text-align: center;position: relative; flex: 1; margin-right: 60px; padding: 13px; font-weight: 500; color: #f7a820; border: 1px solid #f7a820; border-radius: 5px;}
.process-items .item:not(:last-child):before {position: absolute; content: ''; width: 16px; height: 100%; background: url('../images/sub/process-next.png') no-repeat center center; background-size: contain; top: 0; right: -40px;}
.process-items .item:last-child {background: #f7a820; color: #fff;}

.process-items.road {display: block; overflow: hidden;}
.process-items.road .item {flex: none; float: left; width: calc((100% - 240px) / 4);}
.process-items.road .item:nth-child(5),
.process-items.road .item:nth-child(6),
.process-items.road .item:nth-child(7){float: right; margin-top: 40px;}
.process-items.road .item:first-child {background: #f7a820; color: #fff;}
.process-items.road .item:last-child {background: #fff; color: #f7a820;}

.process-items.road .item:nth-child(4):before {right: 50%; top: 100%; transform: translateX(50%) rotate(90deg);}
.process-items.road .item:nth-child(5):before,
.process-items.road .item:nth-child(6):before {right: auto; left: -40px; transform: rotate(180deg)}

.ellipse-items {position: relative; display: flex; gap: 40px;}
.ellipse-items:before {position: absolute; content: ''; width: 100%; height: 1px; background: #ddd; z-index: -1; top: 50%; margin-top: -1px; left: 0;}
.ellipse-items .item {flex: 1; display: flex; justify-content: center; align-items: center; height: 60px; border-radius: 30px; color: #fff; font-weight: 600; font-size: 18px;}

.fz23-18 {font-size: clamp(1.125rem, 0.9688rem + 0.3906vw, 1.4375rem);}
.fz20-16 {font-size: clamp(1rem, 0.875rem + 0.3125vw, 1.25rem);}
.fz19-15 {font-size: clamp(0.9375rem, 0.8125rem + 0.3125vw, 1.1875rem);}
.fz18-15 {font-size: clamp(0.9375rem, 0.8438rem + 0.2344vw, 1.125rem);}
.mb40-20 {margin-bottom:clamp(1.25rem, 0.625rem + 1.5625vw, 2.5rem);}
.mb15-7 {margin-bottom:clamp(0.4375rem, 0.1875rem + 0.625vw, 0.9375rem);}

.sra .feature-items .box {padding:clamp(1.25rem, 0.625rem + 1.5625vw, 2.5rem) clamp(0.9375rem, 0.625rem + 0.7813vw, 1.5625rem);}
.sra .feature-items h3 {padding: 15px; border-radius: 28px;}
.sra .feature-items p {padding:clamp(0.4375rem, 0.1875rem + 0.625vw, 0.9375rem) 0;}
.sra .feature-items .box-txt {background: #f8f8f8; border-radius: 15px; padding:clamp(0.9375rem, 0.625rem + 0.7813vw, 1.5625rem);}
.small-dot-list li {position: relative; padding-left: 11px;}
.small-dot-list li:before {position: absolute; content: '·'; left: 0;}

.burlap-process {display: flex; margin-right: -60px; margin-top:15px; line-height: 1.625em;}
.burlap-process .item {text-align: center;position: relative; flex: 1; margin-right: 60px;}
.burlap-process .txt {display: flex; align-items: center; justify-content: center; height: 80px; padding: 13px; font-weight: 500; border: 1px solid #f7a820;  border-radius: 5px; color: #242424;}
.burlap-process .item:not(:last-child):before {position: absolute; content: ''; width: 16px; height: 100%; background: url('../images/sub/process-next.png') no-repeat center center; background-size: contain; top: 0; right: -40px;}
.burlap-process .item:last-child .txt {background: #f7a820; color: #fff;}
.burlap-process .img {margin-top: 10px; border-radius: 10px; overflow: hidden;}
.burlap-process p {text-align: center; margin-top:clamp(0.625rem, 0.3125rem + 0.7813vw, 1.25rem);}

.business .red .dot-tit {color: #a00a14;}
.burlap-process .txt {border: 1px solid #a00a14;}
.burlap-process .item:last-child .txt {background: #a00a14;}
.business .add-txt {color: #808080;}
.burlap-color {padding: clamp(1.25rem, 0.3125rem + 2.3438vw, 3.125rem);}
.burlap-color h3 {position: relative; margin-bottom:clamp(0.625rem, 0rem + 1.5625vw, 1.875rem); font-weight: 600;font-size: clamp(1.25rem, 1.0625rem + 0.4688vw, 1.625rem);}
.burlap-color h3:before {position: absolute; content: ''; top: 50%; margin-top: -8px; left: -27px; width: 16px; height: 16px; border: 3px solid #f7a820; border-radius: 100%;}
.burlap-color .txt {padding-left: 27px;}
.flex-wrap {display: flex; justify-content: space-between; gap: 30px;}

.hbhw .photo-items .item {width: 25%;}
.hbhw .photo-items .item.col2 {width: 50%;}
.hbhw .feature-table tbody td {padding-left: 20px; padding-right: 20px;}
.hbhw .feature-table .bl {border-left: 1px solid #ddd;}
.hbhw .sec-process .item:first-child {background: #f7a820; color: #fff;}
.hbhw .sec-process .item:last-child {text-align: left; background: #fff; color: #454545;}
.hbhw .sec-process .item {flex: 1 0 auto;}
.flex1 {flex:1}
.flex-column {display: flex; flex-direction: column;}
.flex-center {display: flex; justify-content: center;}
.flex-mid {display: flex; align-items: center;}

.inquiry {display: flex; justify-content: space-between; gap:clamp(0.9375rem, -1.4063rem + 5.8594vw, 5.625rem);}
.inquiry .txt {background: #f8f8f8; border-radius: 0 clamp(1.25rem, -1.25rem + 6.25vw, 6.25rem) 0 clamp(1.25rem, -1.25rem + 6.25vw, 6.25rem); width: 50%; padding: clamp(0.9375rem, 0.4688rem + 1.1719vw, 1.875rem) clamp(0.9375rem, -0.4688rem + 3.5156vw, 3.75rem);}
.inquiry h2 {font-size: clamp(1.25rem, 0.4375rem + 2.0313vw, 2.875rem); line-height: .7em;}
.inquiry h2 span {color: #242424; font-weight: 600;font-size: clamp(1.125rem, 0.9375rem + 0.4688vw, 1.5rem);}
.inquiry .img {flex: 1;}

.sra-gas-box .tit {position: absolute; top: 0; left: 0; width: 100%; z-index: 1; text-align: center; color: #fff; background: rgba(0,0,0,.4);}


.cool-feature-items {display: flex; gap: 30px;}
.cool-feature-items .item {flex: 1; background: #f2f2f2; padding: 30px;}
.cool-feature-items .icon-box {display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; margin-bottom: 20px; background: #fff; border-radius: 40px;}
.cool-feature-items .icon-box img {width: 32px; height: auto;}
.cool-feature-items .txt {font-weight: 500; color: #333; line-height: 1.5em;}
.cool-process {position: relative; overflow: hidden;}
.cool-process .bg {display: block; width: 100%; height: auto;}
.cool-process .overlay {position: absolute; inset: 0; background: rgba(0,0,0,.33);}
.cool-process-steps {position: absolute; inset: 0; display:grid; grid-template-columns: repeat(3, 1fr); align-items: center; }
.cool-process-steps li {text-align: center; color: #fff;}
.cool-process-steps .num {display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; margin: 0 auto 14px; font-weight: 600; border: 1px solid rgba(255,255,255,.2); border-radius: 16px; background: rgba(255,255,255,.3);}
.cool-process-steps p {font-weight: 600;}
.cool-menu-items {display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;}
.cool-menu-items .card {flex: 1; border: 1px solid #ddd;}
.cool-menu-items .card .txt {padding: 30px 20px; font-weight: 500; color: #242424; text-align: center;}
.cool-menu-items .card.cta {display: flex; border: 1px solid #ddd;}
.cool-menu-items .card.cta .txt {display: flex; align-items: center; justify-content: center; flex: 1; background: #f7a820; color: #fff; font-weight: 700; font-size: 24px; line-height: 1.167em;}
.cool-store-items {display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px;}
.cool-store-items .item { display: flex; align-items: center; gap: 6px; padding: 30px; background: #fafafa; border: 1px solid #ddd;}
.cool-store-items .item img {width: 24px; height: 24px;}
.cool-store-items .item p {font-weight: 500; color: #242424; white-space: nowrap;}
.cool-notice {padding: 30px; background: #fafafa;}
.cool-notice .head {display: flex; gap: 6px; margin-bottom: 16px;}
.cool-notice .head img {width: 24px; height: 24px;}
.cool-notice .head h3 {font-weight: 500; font-size: 24px; color: #242424; line-height: 1em;}