@charset "utf-8";

/* =========================
   NAGASE HEADER
   ========================= */
:root{
  --ng-border:#ccc;
  --ng-text:#111;
  --ng-sub:#6f6f6f;
  --ng-brand:#7b0f2b;
  --ng-inner:1200px;
}

*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
body{ font-family:"Noto Sans KR", system-ui, -apple-system, Segoe UI, Roboto, sans-serif; color:var(--ng-text); }

.ng-header{
  position: sticky;
  top: 0;
  z-index: 9999;
  background:#fff;
}

/* top bg bar */
.ng-topbar{
  height: 15px;              /* PC */
  background: url("../images/top_bg.png") repeat-x left top;
}

/* main bar */
.ng-bar{
  height: 86px;              /* PC */
  border-bottom: 1px solid var(--ng-border);
  background:#fff;
}
.ng-inner{
  max-width: var(--ng-inner);
  height: 100%;
  margin: 0 auto;
  padding: 0 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

/* logo */
.ng-logo img{
  width: 152px;
  height: auto;
  display:block;
}

/* =========================
   PC NAV
========================= */
.ng-nav{ display:block; }
.ng-nav-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;     
  gap: 70px;
}
.ng-item{
  position: relative;
  padding-bottom: 12px; 
}

.ng-item.has-sub{
  padding-bottom: 12px;
}
/* hover 브릿지는 has-sub만 */
.ng-item.has-sub::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:100%;
  height:12px;
}

/* link */
.ng-link{
  font-size: 13pt;
  font-weight: 500;
  color:#111;
  text-decoration:none;
   padding: 16px 2px 10px; 
	line-height: 1;
  display:inline-block;
}

/* dropdown */
.ng-sub{
  position:absolute;
  top: 100%;                 
  left: 50%;
  transform: translateX(-50%);
  min-width: 180px;
  background:#fff;
  border: 1px solid #e6e6e6;
  box-shadow: 0 10px 30px rgba(0,0,0,.08);
  padding: 0;                
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition: .18s ease;
}
.ng-sub-link{
  display:block;
  padding: 10px 16px;
  font-size: 14px;
  font-weight: 500;
  color: var(--ng-sub);
  text-decoration:none;
  white-space:nowrap;
}
.ng-sub-link:hover{
  background:#a40033;
  color:#fff;
}

/* hover open (PC) */
@media (min-width: 1025px){
  .ng-item.has-sub:hover .ng-sub{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
}

/* =========================
   Mobile button
========================= */
.ng-mbtn{
  display:none;
  width: 46px;
  height: 44px;
  border:0;
  background:transparent;
  padding:0;
}

/* custom burger: top line shorter */
.ng-burger{
  width: 26px;
  height: 18px;
  position:relative;
  display:block;
}
.ng-burger i{
  position:absolute;
  left:0;
  height:2px;
  background:#6b6b6b;
  border-radius:2px;
  display:block;
}
.ng-burger .l1{ top:2px; width: 18px; }   
.ng-burger .l2{ top:8px; width: 26px; }
.ng-burger .l3{ top:14px; width: 26px; }


.ng-mmenu{
  position: fixed;
  inset: 0;
  z-index: 99999;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease;
}

.ng-mmenu.is-open{
  opacity: 1;
  pointer-events: auto;
}


.ng-mmenu, .ng-mmenu *{
  font-family:"Noto Sans KR", system-ui, -apple-system, "Segoe UI", Roboto, "Apple SD Gothic Neo", sans-serif;
}

/* 배경 */
.ng-mbackdrop{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.18);
}


.ng-mpanel{
  position:absolute;
  top:0;
  right:0;
  width:100vw;
  height:100%;
  background:#fff;
  transform: translateX(100%);
  transition: transform .32s cubic-bezier(.4,0,.2,1);
  display:flex;
  flex-direction:column;
}

.ng-mmenu.is-open .ng-mpanel{
  transform: translateX(0); 
}
.ng-mhead{
  height: 64px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  padding: 0 2px;
  border-bottom: 1px solid #eee;
}

.ng-x{
  width: 38px;
  height: 38px;
  border:0;
  background:transparent;
  font-size: 22px;
  line-height: 1;
  color:#111;
}

.ng-mnav{
  padding: 0 16px 26px;
}

/* accordion */
.ng-acc{
  border-bottom: 1px solid #eee;
}
.ng-acc-btn{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 18px 0;           
  border:0;
  background:transparent;
  font-size: 18px;
  font-weight: 800;
  color:#111;
}


.ng-caret{
  width: 10px;
  height: 10px;
  border-right: 2px solid #111;
  border-bottom: 2px solid #111;
  transform: rotate(45deg); 
  display:inline-block;
  transition: transform .18s ease;
}
.ng-acc-btn[aria-expanded="true"] .ng-caret{
  transform: rotate(-135deg); 
}

/* panel */
.ng-acc-panel{
  max-height:0;
  overflow:hidden;
  transition: max-height .22s ease;
}
.ng-acc-panel a{
  display:block;
  padding: 12px 0;
  font-size: 15px;
  font-weight: 500;
  color: var(--ng-sub);
  text-decoration:none;
  border-top: 1px solid #f1f1f1;
}
.ng-acc-panel a:hover{ color:#222; }

/* Contact Us (plain) */
.ng-mplain{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 18px 0;
  font-size: 18px;
  font-weight: 800;
  color:#111;
  text-decoration:none;
  border-bottom: 1px solid #eee;
}


.ng-right{
  width: 10px;
  height: 10px;
  border-right: 2px solid #111;
  border-bottom: 2px solid #111;
  transform: rotate(-45deg);
  display:inline-block;
}

/* =========================
   RESPONSIVE
   ========================= */
@media (max-width: 1024px){
  .ng-topbar{ height: 12px; }   
  .ng-bar{ height: 80px; }     
  .ng-nav{ display:none; }
  .ng-mbtn{ display:inline-flex; align-items:center; justify-content:center; }
}


/* =========================
   HERO PC
   ========================= */
.ng-hero{
  background:#fff;
  font-family: "Noto Sans KR", system-ui, -apple-system, "Segoe UI", Roboto, "Apple SD Gothic Neo", sans-serif;
}


.ng-hero__pc{
  position: relative;
  width: 100%;
  height: 750px;         
  overflow: hidden;      
}

.ng-hero__pcImg{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 100%; 
  display:block;
}


.ng-hero__overlay{
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;      
  pointer-events: none;
}


.ng-hero__box{
  width: 700px;
  padding: 38px 44px;
  background: transparent;
  pointer-events: auto;

 
  margin-left: max(16px, calc((100vw - 1200px)/2 + -26px));
}

/* Typography */
.ng-hero__k{
  font-size: 15pt;
  font-weight: 700;
  margin-bottom: 6px;
}
.ng-hero__e{
  font-size: 14pt;
  font-weight: 700;
  margin-bottom: 22px;
}
.ng-hero__title{
  font-size: 72px;
  font-weight: 800;
  letter-spacing: -0.5px;
  margin: 0 0 22px;
  line-height: 1.05;
  white-space: nowrap; 
}
.ng-hero__desc{
  font-size: 13pt;
  font-weight: 500;
  line-height: 1.75;
  margin: 0;
  color:#222;
}


/* -------------------------
   Mobile
   ------------------------- */
.ng-hero__mo{ display:none; }

@media (max-width: 1024px){
  .ng-hero__pc{ display:none; }
  .ng-hero__mo{ display:block; background:#fff; }

  .ng-hero__moImg{
    width: 100%;
    height: auto;
    display:block;
  }

  .ng-hero__moText{
    background:#fff;
    padding: 22px 18px 46px;
  }

  .ng-hero__k{ font-size: clamp(13px, 3.2vw, 17px); }
  .ng-hero__e{ font-size: clamp(12px, 3vw, 15px); margin-bottom: 12px; }
  .ng-hero__title{ font-size: clamp(30px, 7.5vw, 48px); margin-bottom: 12px; }
  .ng-hero__desc{ font-size: clamp(11px, 3.0vw, 14px); line-height: 1.45; }
}


@media (min-width: 1600px){
  .ng-hero__box{ top: 165px; }
}


@media (max-width: 1024px){
  /* ✅ 상단 회사명(KOR/ENG) = 아래 타이틀(.ng-ob__h)과 동일 */
  .ng-hero__k,
  .ng-hero__e{
    font-size: 20px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
  }

  /* ENG 줄 간격(원래 margin-bottom 12px 유지) */
}

/* =========================
   HERO 모바일 텍스트 최종 보정
   ========================= */
@media (max-width:1024px){

  /* 1️⃣ KOR 회사명 → OUR BUSINESS 제목(.ng-ob__h)과 동일 */
  .ng-hero__k{
    font-size:20px !important;
    font-weight:600 !important;
    line-height:1.25 !important;
  }

  /* 2️⃣ ENG 회사명 → OUR BUSINESS sub(.ng-ob__sub)와 동일 */
  .ng-hero__e{
    font-size:14px !important;
    font-weight:300 !important;
    line-height:1.35 !important;
    margin-bottom:12px !important;
  }

  /* 3️⃣ 설명문 → OUR BUSINESS 본문(.ng-ob__p)과 동일 */
  .ng-hero__desc{
    font-size:14px !important;
    font-weight:400 !important;
    line-height:1.35 !important;
  }

  /* 4️⃣ Delivering next. 왼쪽 딱 붙이기 */
  .ng-hero__title{
    margin-left:0 !important;
    padding-left:0 !important;
    text-indent:0 !important;
  }
}






/* =========================
   OUR BUSINESS (RESPONSIVE)
   ========================= */
.ng-ob{
  font-family:"Noto Sans KR", system-ui, -apple-system, "Segoe UI", Roboto, "Apple SD Gothic Neo", sans-serif;
  color:#111;
  padding: 70px 0 40px;
  background:#fff;
}

.ng-ob__inner{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 18px;
}

.ng-ob__title{
  text-align:center;
  font-size:30px;
  font-weight:600;
  line-height:34px;
  margin: 20px 0 80px; /* keep final spacing */
}

/* row */
.ng-ob__row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 70px;
  margin: 0 0 70px;
}

/* alternate row (image on right) */
.ng-ob__row--reverse{
  flex-direction: row-reverse;
}

/* image */
.ng-ob__media{
  flex: 0 0 auto;
}

.ng-ob__media img{
  width: 594px;
  max-width: 100%;
  height: auto;
  display:block;
}

/* text box */
.ng-ob__text{
  flex: 1 1 auto;
  min-width: 0;
}

.ng-ob__h{
  font-size:30px;
  font-weight:600;
  line-height: 1.25;
  margin: 0 0 12px;
}

.ng-ob__sub{
  font-size:20px;
  font-weight:300;
  margin: 0 0 18px;
}

.ng-ob__p{
  font-size:18px;
  font-weight:400;
  line-height: 1.55;
  margin: 0 0 22px;
}

/* button */
.ng-ob__btn{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  gap: 1px;
  height: 34px;
  padding: 0 16px;
  background:#a50034;
  border-radius:5px;
  color:#fff;
  font-size:15px;
  font-weight:500;
  text-decoration:none;
  white-space: nowrap;
  line-height: 1;
}

.ng-ob__btn:hover{
  filter: brightness(1.05);
}

/* button icon */
.ng-ob__btn img{
  width: 26px;
  height: 30px;
  display:block;
  flex: 0 0 auto;
  object-fit: contain;
}

/* button text micro-align */
.ng-ob__btn-txt{
  position: relative;
  top: -2px;
}

/* =========================
   MOBILE (<=1024)
   ========================= */
@media (max-width:1024px){
  .ng-ob{
    padding: 45px 0 30px;
  }

  .ng-ob__title{
    font-size:20px;
    line-height:24px;
    margin: 0 0 28px;
  }

  .ng-ob__row{
    flex-direction: column;
    gap: 22px;
    margin: 0 0 46px;
  }

  .ng-ob__media,
  .ng-ob__text{
    width: 98%;
    margin: 0 auto;
  }

  .ng-ob__media img{
    width: 100%;
    max-width: none;
    height: auto;
  }

  .ng-ob__text{
    text-align:left;
  }

  .ng-ob__h{
    font-size:20px;
    line-height:1.25;
    margin: 0 0 12px;
  }

  .ng-ob__sub{
    font-size:14px;
    font-weight:300;
    margin: 0 0 14px;
  }

  .ng-ob__p{
    font-size:14px;
    line-height:1.35;
    margin: 0 0 18px;
  }

  .ng-ob__btn{
    font-size:14px;
    max-width: 100%;
  }
}


/* =========================================================================================================================================================================================================================*/









/* =========================
   PRODUCTS (RESPONSIVE)
   ========================= */
.ng-prd{
  font-family:"Noto Sans KR", system-ui, -apple-system, "Segoe UI", Roboto, "Apple SD Gothic Neo", sans-serif;
  color:#111;
  padding: 40px 0 60px;
  background:#fff;
}

.ng-prd__inner{
  max-width:1200px;
  margin:0 auto;
  padding:0 18px;
}

.ng-prd__title{
  text-align:center;
  font-size:30px;
  font-weight:600;
  line-height:34px;
  margin:0 0 70px;
}

.ng-prd__grid{
  display:grid;
  grid-template-columns: repeat(2, 1fr); 
  gap: 22px;
  align-items: stretch;
}

.ng-prd__card{
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  box-shadow: 0 10px 22px rgba(0,0,0,.12);
  overflow:hidden;
}

.ng-prd__bar{
  height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#a50034;
  color:#fff;
  font-size:19px;
  font-weight:500;
}

.ng-prd__img{
  height:218px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 14px 10px;
}

.ng-prd__img img{
  max-width: 75%;
  max-height: 100%;
  width:auto;
  height:auto;
  display:block;
}

.ng-prd__meta{
  text-align:center;
  padding: 6px 14px 18px;
}

.ng-prd__desc{
  font-size:18px;
  color:#8c8b8c;
  font-weight:500;
  line-height:1.25;
  min-height: 33px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.ng-prd__name{
  font-size:18px;
  color:#000;
  font-weight:700;
  margin-top: 6px;
  min-height: 35px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.ng-prd__btn{
  margin: 16px auto 0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 8px;
  height:36px;
  padding: 0 18px;
  background:#a50034;
  color:#fff;
  text-decoration:none;
  border-radius:60px;
  font-size:15px;
  font-weight:400;
  white-space:nowrap;
}

.ng-prd__btn span{
  line-height: 1;
  margin-top: -6px;
}

.ng-prd__btn img{
  width: 14px;
  height: auto;
  display:block;
}

.ng-prd__btn:hover{ filter:brightness(1.06); }

/* =========================
   MOBILE (<=1024)
   ========================= */
@media (max-width:1024px){
  .ng-prd{
    padding: 45px 0 40px;
  }

  .ng-prd__title{
    font-size:20px;
    line-height:24px;
    margin:0 0 30px;
  }

  .ng-prd__grid{
    grid-template-columns: 1fr; 
    gap: 14px;
  }

  .ng-prd__bar{
    height:30px;
    font-size:12px;
  }

  .ng-prd__img{
    height:218px;
    padding: 10px 8px;
  }

  .ng-prd__img img{
    max-width: 80%;
  }

  .ng-prd__desc{
    font-size:13px;
    min-height: 25px;
  }

  .ng-prd__name{
    font-size:14px;
    min-height: 28px;
  }

  .ng-prd__btn{
    height:30px;
    padding: 0 16px;
    font-size:15px;
  }
}





/* =========================================================================================================================================================================================================================*/






/* =========================
   CONTACT US (Marketo Form)
   ========================= */
.ng-contact{
  font-family:"Noto Sans KR", system-ui, -apple-system, "Segoe UI", Roboto, "Apple SD Gothic Neo", sans-serif;
  color:#111;
  padding: 80px 0 80px;
  background:#fff;
}

.ng-contact__inner{
  max-width:1200px;
  margin:0 auto;
  padding:0 18px;
}

.ng-contact__title{
  font-size:30px;
  font-weight:600;
  line-height:34px;
  margin:0 0 22px;
  text-align:left; 
}


.ng-contact__form{
  width:100%;
}


.ng-contact .mktoForm{
  width:100% !important;
  max-width:1200px;
}

.ng-contact .mktoForm .mktoLabel{
  font-weight:600 !important;
  font-size:14px !important;
  color:#111 !important;
}

.ng-contact .mktoForm input[type="text"],
.ng-contact .mktoForm input[type="email"],
.ng-contact .mktoForm input[type="tel"],
.ng-contact .mktoForm textarea,
.ng-contact .mktoForm select{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  border:1px solid #777 !important;
  border-radius:2px !important;
  padding:10px 12px !important;
  font-size:14px !important;
}


@media (min-width:1025px){
  .ng-contact .mktoForm .mktoFormRow{
    display:flex;
    gap:32px;
  }
  .ng-contact .mktoForm .mktoFieldWrap{
    flex:1;
    min-width:0;
  }
}


@media (max-width:1024px){
  .ng-contact{
    padding: 45px 0 60px;
  }
  .ng-contact__title{
    font-size:20px;
    line-height:24px;
    margin-bottom: 18px;
  }
  .ng-contact .mktoForm .mktoFormRow{
    display:block;
  }
}



/* =========================================================================================================================================================================================================================*/





/* =========================
   FOOTER (CLEAN FINAL)
   ========================= */
:root{
  --ng-red:#a50034;
  --ng-white:#ffffff;
  --ng-line:rgba(255,255,255,.35);
  --ng-copy:#d9d8d8;
}

.ng-footer{
  font-family:"Noto Sans KR", system-ui, -apple-system, "Segoe UI", Roboto, "Apple SD Gothic Neo", sans-serif;
  color:#fff;
}

/* =========================
   MAIN AREA (PC BASE)
   ========================= */
.ng-footer__main{
  position: relative;
  background: var(--ng-red);
  overflow: hidden;
}

.ng-footer__inner{
  max-width:1200px;
  margin:0 auto;
  position:relative;
  z-index:1;
}

/* PC fixed height (absorbs old overrides) */
@media (min-width:1025px){
  .ng-footer__main{
    height:540px;
    min-height:540px;
  }

  .ng-footer__inner{
    height:540px;
    padding:60px 0 0;
    overflow:hidden;
  }

  .ng-footer__pc{
    min-height:540px;
    height:540px;
  }

  .ng-footer__main::after{
    content:"";
    position:absolute;
    right:0;
    top:0;
    width:197px;
    height:540px;
    background: url("../images/bt_right.png") no-repeat right top / contain;
    pointer-events:none;
  }
}

/* =========================
   PC CONTENT
   ========================= */
.ng-f-top{
  display:flex;
  gap:90px;
  align-items:flex-start;
}

@media (min-width:1025px){
  .ng-f-top{ padding-right:220px; }
}

.ng-f-col{ min-width:150px; }

.ng-f-ttl{
  font-size:14px;
  letter-spacing:.02em;
  opacity:.9;
  margin-bottom:18px;
  font-weight:500;
}

.ng-f-link{
  display:block;
  font-size:16px;
  font-weight:500;
  color:#fff;
  text-decoration:none;
  margin:22px 0; /* final spacing */
  opacity:.95;
}
.ng-f-link:hover{ opacity:1; text-decoration:underline; }

.ng-f-vline{
  width:1px;
  height:140px;
  background:var(--ng-line);
  margin:0 10px;
  flex:0 0 1px;
}

/* contact */
.ng-f-contact{
  flex:1;
  min-width:520px;
}

.ng-f-head{
  font-size:24px;
  font-weight:600;
  line-height:1.3;
  margin:8px 0 22px;
  max-width:560px;
}

/* cta */
.ng-f-cta{
  display:inline-flex;
  align-items:center;
  gap:16px;
  padding:12px 18px;
  border-radius:999px;
  background:#fff;
  color:var(--ng-red);
  text-decoration:none;
  font-weight:600;
  font-size:14px;
}

.ng-f-cta__bar{
  width:1px;
  height:18px;
  background: rgba(165,0,52,.35);
}

.ng-f-cta__arrow{
  font-size:18px;
  line-height:1;
}

.ng-f-cta:hover{
  transform:translateY(-1px);
  transition:.15s ease;
}

/* divider */
.ng-f-hline{
  margin:64px 0 36px; /* final spacing */
  height:1px;
  background:var(--ng-line);
}

/* mid row */
.ng-f-mid{
  display:flex;
  align-items:flex-start;
  gap:24px;
  margin-top:42px; /* final spacing */
}

.ng-f-brand{
  flex:0 0 auto;
}

.ng-f-brand img{
  height:40px;
  width:auto;
  max-width:none;
  display:block;
}

.ng-f-info{
  margin-left:auto;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:18px; /* final spacing */
  min-width:0;
  text-align:right;
}

.ng-f-sitelinks{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  white-space:nowrap;
  text-align:right;
}

.ng-f-sitelinks a{
  color:#fff;
  text-decoration:none;
  font-weight:600;
  font-size:16px;
}
.ng-f-sitelinks a:hover{ text-decoration:underline; }

.ng-f-dot{
  margin:0 14px;
  opacity:.7;
}

.ng-f-addr{
  font-size:12px;
  line-height:1.75; /* final spacing */
  opacity:.95;
  text-align:right;
  max-width:960px;
}

.ng-f-addr__label{ font-weight:700; }
.ng-f-addr__sep{ margin:0 10px; opacity:.7; }

.ng-f-nobr{ white-space: nowrap; }

/* =========================
   BOTTOM BAR
   ========================= */
.ng-footer__bottom{
  height:48px;
  background: var(--ng-red) url("../images/bt_bt_bg.png") repeat-x center / auto 48px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.ng-footer__copy{
  color:var(--ng-copy);
  font-size:12px;
  letter-spacing:.01em;
}

/* =========================
   MOBILE
   ========================= */
.ng-footer__mo{ display:none; }

@media (max-width:1024px){
  .ng-footer__inner{
    padding:44px 18px 30px;
  }

  .ng-footer__pc{ display:none; }
  .ng-footer__mo{ display:block; }

  .ng-footer__main::before{
    content:"";
    position:absolute;
    right:0;
    top:0;
    width:220px;
    height:260px;
    background: url("../images/mo_bt_bg.png") no-repeat right top / contain;
    pointer-events:none;
  }

  .ng-m-contact__ttl{
    font-size:16px;
    opacity:.9;
    margin-bottom:10px;
  }

  .ng-m-contact__head{
    font-size:22px;
    font-weight:600;
    line-height:1.25;
    margin-bottom:18px;
  }

  .ng-f-cta--mo{
    padding:12px 18px;
    margin-bottom:34px; /* final spacing */
  }

  .ng-m-hline{
    margin:26px 0 10px;
    height:1px;
    background:var(--ng-line);
  }

  /* accordion */
  .ng-facc__item:first-child{ border-top:0; }
  .ng-facc__item{ border-top:1px solid var(--ng-line); }
  .ng-facc__item:last-child{ border-bottom:1px solid var(--ng-line); }

  .ng-facc__btn{
    width:100%;
    background:transparent;
    border:0;
    color:#fff;
    padding:28px 0; /* final spacing */
    display:flex;
    align-items:center;
    justify-content:space-between;
    font-weight:600;
    font-size:14px;
    letter-spacing:.02em;
    cursor:pointer;
  }

  .ng-facc__icon{
    width:18px;
    height:18px;
    position:relative;
    flex:0 0 18px;
  }

  .ng-facc__icon::before,
  .ng-facc__icon::after{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:18px;
    height:2px;
    background:#fff;
    transform:translate(-50%,-50%);
    opacity:.9;
  }

  .ng-facc__icon::after{
    transform:translate(-50%,-50%) rotate(90deg);
  }

  .ng-facc__panel{
    display:none;
    padding:0 0 16px;
  }

  .ng-facc__panel a{
    display:block;
    color:#fff;
    text-decoration:none;
    padding:14px 0; /* final spacing */
    font-size:15px;
    font-weight:500;
    opacity:.95;
  }

  .ng-facc__item.is-open .ng-facc__panel{ display:block; }
  .ng-facc__item.is-open .ng-facc__icon::after{ display:none; }

  .ng-m-brand{
    padding:42px 0 10px; /* final spacing */
    text-align:center;
  }

  .ng-m-brand img{
    height:40px !important;
    width:auto !important;
    max-width:151px;   
    display:block;
    margin:0 auto;
  }

  .ng-m-addr{
    text-align:center;
    font-size:14px;
    line-height:1.7;
    opacity:.95;
    padding-bottom:22px; /* final spacing */
  }

  .ng-footer__bottom{
    background: var(--ng-red) url("../images/mo_line_bt.png") repeat-x center / auto 56px;
  }
}

/* =========================
   FOOTER MOBILE FONT FIX
   ========================= */
@media (max-width:1024px){

  .ng-footer,
  .ng-footer *{
    font-family:"Noto Sans KR", system-ui, -apple-system, "Segoe UI",
      Roboto, "Apple SD Gothic Neo", sans-serif !important;
  }

}

/* =========================================================================================================================================================================================================================*/


/* =========================
   NAGASE Greeting (Responsive)
   Font: Noto Sans KR
   ========================= */

:root{
  --nagase-red:#a50034;
  --line:#c4c4c4;
  --soft:#f9f9f9;
  --hero-left:#f3f3f3;
}

.nes-wrap,
.nes-wrap *{
  font-family:"Noto Sans KR",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  box-sizing:border-box;
}

.nes-wrap{ width:100%; color:#000; }
.nes-inner{ width:92%; max-width:1200px; margin:0 auto; }

/* =========================
   HERO
   ========================= */
.nes-hero{
  position:relative;
  width:100%;
  overflow:hidden;
  background:var(--hero-left);
}

.nes-hero picture,
.nes-hero img{
  display:block;
  width:100%;
  height:auto;
  object-fit:initial;
  transform:none;
}

.nes-hero::after{ display:none; }

.nes-hero__content{
  position:absolute;
  inset:0;
  left:50%;
  transform:translateX(-50%);
  width:92%;
  max-width:1200px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  pointer-events:none;
}

.nes-hero__text{
  pointer-events:auto;
  width:min(46%, 760px);
  background:transparent;
  margin:0;
  padding:0;
}

.nes-hero__kicker{
  font-size:14px;
  font-weight:500;
  line-height:1.5;
  letter-spacing:-.01em;
}

.nes-hero__title{
  margin-top:12px;
  font-family:"DIN 2014","Noto Sans KR",sans-serif;
  font-size:58px;
  font-weight:600;
  line-height:1.08;
  letter-spacing:-.02em;
}

.nes-hero__sub{
  margin-top:12px;
  font-size:15px;
  font-weight:400;
  line-height:1.6;
}

/* =========================
   SECTION
   ========================= */
.nes-section{ padding:90px 0; }

.nes-h2{
  text-align:center;
  font-family:"DIN 2014","Noto Sans KR",sans-serif;
  font-size:30px;
  font-weight:600;
  line-height:1.2;
  margin:0;
}

.nes-divider{
  border-bottom:1px solid var(--line);
  margin:50px 0 0;
}

/* =========================
   GREETING INTRO
   ========================= */
.nes-greet__title{
  font-size:30px;
  font-weight:600;
  line-height:1.2;
  margin:0 0 12px;
}

.nes-greet__en{
  font-size:20px;
  font-weight:300;
  margin:0 0 18px;
}

.nes-greet__desc{
  font-size:18px;
  font-weight:400;
  line-height:1.6;
  margin:0;
}

/* =========================
   LABEL
   ========================= */
.nes-label{
  display:flex;
  align-items:center;
  gap:14px;
  margin:0 0 18px;
}

.nes-label img{ width:30px; height:30px; display:block; }

.nes-label span{
  font-size:28px;
  font-weight:600;
}

/* =========================
   TWO COLUMN
   ========================= */
.nes-two{
  display:flex;
  gap:44px;
  align-items:center;
}

.nes-two__left{ flex:1; }
.nes-two__right{ width:560px; max-width:48%; margin-left:auto; }
.nes-two__right img{ width:100%; height:auto; display:block; }

.nes-lead{
  font-size:30px;
  font-weight:600;
  line-height:1.25;
  margin:0 0 16px;
}

.nes-lead .red{ color:var(--nagase-red); }

.nes-body{
  font-size:18px;
  font-weight:400;
  line-height:1.6;
  margin:0 0 18px;
}

.nes-bullets{
  font-size:18px;
  font-weight:500;
  line-height:1.6;
  color:var(--nagase-red);
  margin:0;
}

/* =========================
   CARDS
   ========================= */
.nes-cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:26px;
  margin-top:40px;
}

.nes-card{
  border:1px solid #e6e6e6;
  border-radius:8px;
  overflow:hidden;
  background:#fff;
}

.nes-card__head{
  background:var(--nagase-red);
  color:#fff;
  font-size:19px;
  font-weight:500;
  text-align:center;
  padding:10px 12px;
}

.nes-card__body{
  padding:22px 18px 26px;
  text-align:center;
}

.nes-card__icon img{ width:80px; height:auto; display:inline-block; }

.nes-card__txt{
  margin-top:14px;
  font-size:15px;
  font-weight:500;
  line-height:1.45;
}

.nes-card__txt .red{
  color:var(--nagase-red);
  font-size:16px;
  font-weight:500;
}

/* =========================
   ROWS
   ========================= */
.nes-rows{
  margin-top:26px;
  display:flex;
  flex-direction:column;
  gap:14px;
}

.nes-row{
  display:grid;
  grid-template-columns:308px 1fr;
  border-radius:6px;
  overflow:hidden;
}

.nes-row__left{
  background:var(--nagase-red);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px 18px;
}

.nes-row__pill{
  width:100%;
  max-width:260px;
  height:45px;
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  font-weight:700;
  color:#fff;
}

.nes-row__right{
  background:var(--soft);
  padding:20px 32px;
  font-size:15px;
  font-weight:500;
  line-height:1.7;
}

.nes-row__right .red{ color:var(--nagase-red); }

/* Keep 3rd row vertically centered (same as before, no !important) */
.nes-rows .nes-row:nth-of-type(3) .nes-row__right{
  display:flex;
  align-items:center;
  padding-top:20px;
  padding-bottom:20px;
}

/* =========================
   MOBILE
   ========================= */
@media (max-width:1024px){

  .nes-hero__content{ display:none; }

  .nes-section{ padding:60px 0; }
  .nes-h2{ font-size:20px; }

  .nes-greet__title{ font-size:20px; }
  .nes-greet__en{ font-size:14px; }
  .nes-greet__desc{ font-size:14px; line-height:1.55; }

  .nes-label span{ font-size:24px; }

  .nes-two{
    flex-direction:column;
    gap:18px;
    align-items:flex-start;
  }

  .nes-two__right{
    width:100%;
    max-width:100%;
  }

  .nes-lead{ font-size:20px; }
  .nes-body,
  .nes-bullets{ font-size:14px; }

  .nes-cards{ grid-template-columns:1fr; gap:14px; }
  .nes-card__head{ font-size:19px; }
  .nes-card__txt{ font-size:15px; }

  .nes-row{ grid-template-columns:1fr; }

  .nes-row__left{
    justify-content:flex-start;
    padding:10px 14px;
  }

  .nes-row__pill{
    max-width:180px;
    height:36px;
    border-radius:60px;
    font-size:16px;
    font-family:"DIN 2014","Noto Sans KR",sans-serif;
    font-weight:600;
    justify-content:flex-start;
    padding-left:14px;
    text-align:left;
  }

  .nes-row__right{
    background:#fff;
    padding:10px 2px 0;
    font-size:14px;
    text-align:left;
  }
}





/* =========================================================================================================================================================================================================================*/









/* =========================
   HISTORY (scoped / cleaned / Noto only)
   ========================= */

/* Base */
.ng-history{ width:100%; }
.ng-history,
.ng-history *{
  font-family:'Noto Sans KR', -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
  box-sizing:border-box;
}

.ng-history__wrap{
  max-width:1200px;
  margin:0 auto;
  padding:80px 24px 90px;
}

/* Title */
.ng-history__pageTitle{
  text-align:center;
  font-size:30px;
  font-weight:600;
  line-height:1.2;
  margin:0 0 50px;
}

/* Lead */
.ng-history__lead{
  max-width:1200px;
  margin:0;
}
.ng-history__leadSmall{
  font-size:14px;
  font-weight:500;
  line-height:1.5;
  margin:0 0 12px;
}
.ng-history__leadBig{
  font-size:30px;
  font-weight:600;
  line-height:1.2;
  letter-spacing:-.01em;
  margin:0 0 12px;
}
.ng-history__leadEng{
  font-size:20px;
  font-weight:300;
  margin:0;
  color:#000;
  opacity:1;
}

/* Rule */
.ng-history__rule{
  width:100%;
  height:0;
  border-bottom:1px solid #c4c4c4;
  margin:50px 0 60px;
}

/* Switch */
.ng-history__desktop{ display:none; }
.ng-history__mobile{ display:block; }

/* =========================
   MOBILE timeline card
   ========================= */
.ng-m-group{ margin:0 0 48px; }
.ng-m-company{
  font-size:14px;
  opacity:.7;
  margin:0 0 6px;
}
.ng-m-range{
  font-size:26px;
  font-weight:800;
  margin:0 0 14px;
}
.ng-m-card{
  border:1px solid #d9d9d9;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
}
.ng-m-item{
  display:grid;
  grid-template-columns:92px 1fr;
  gap:16px;
  padding:16px 18px;
  border-top:1px solid #ececec;
}
.ng-m-item:first-child{ border-top:0; }
.ng-m-date{
  font-size:18px;
  font-weight:800;
}
.ng-m-desc{
  font-size:16px;
  line-height:1.5;
}

/* =========================
   DESKTOP timeline
   ========================= */
@media (min-width:1025px){
  :root{
    --tl-left:340px;
    --tl-gap:40px;
    --tl-line:40px;
  }

  .ng-history__desktop{
    display:block;
    position:relative;
  }
  .ng-history__mobile{ display:none; }

  .ng-tl-group{
    display:grid;
    grid-template-columns:var(--tl-left) 1fr;
    column-gap:var(--tl-gap);
    align-items:start;
    margin:0 0 70px;
  }

  .ng-tl-left{ padding-top:6px; }
  .ng-tl-company{
    font-size:13px;
    opacity:.7;
    margin:0 0 10px;
  }
  .ng-tl-range{
    font-size:34px;
    font-weight:800;
    letter-spacing:-0.2px;
  }

  /* Global vertical line */
  .ng-history__desktop::before{
    content:"";
    position:absolute;
    left: calc(var(--tl-left) + var(--tl-gap) + var(--tl-line));
    top:0;
    bottom:0;
    width:1px;
    background:#cfcfcf;
    pointer-events:none;
  }

  .ng-tl-track{ position:relative; }
  .ng-tl-track::before{ display:none; }

  .ng-tl-row{
    display:grid;
    grid-template-columns:80px 1fr;
    align-items:center;
    min-height:58px;
  }

  .ng-tl-mid{
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
  }

  .ng-tl-dot{
    width:10px;
    height:10px;
    border-radius:50%;
    background:#111;
  }

  .ng-tl-cap{
    position:absolute;
    left: var(--tl-line);
    width:12px;
    height:12px;
    border-radius:50%;
    background:#fff;
    border:2px solid #111;
    transform:translateX(-50%);
    z-index:2;
  }
  .ng-tl-cap--top{ top:-6px; }
  .ng-tl-cap--bottom{ bottom:-6px; }

  .ng-tl-right{
    display:grid;
    grid-template-columns:120px 1fr;
    column-gap:24px;
    align-items:center;
    padding:6px 0;
  }
  .ng-tl-date{
    font-size:26px;
    font-weight:900;
  }
  .ng-tl-desc{
    font-size:18px;
    line-height:1.6;
  }
}

/* =========================
   MOBILE typography tune
   ========================= */
@media (max-width:1024px){
  .ng-history__pageTitle{
    font-size:20px;
    margin:0 0 36px;
  }

  .ng-history__leadSmall{
    font-size:14px;
    margin:0 0 10px;
  }

  .ng-history__leadBig{
    font-size:20px;
    line-height:1.25;
    margin:0 0 10px;
  }

  .ng-history__leadEng{
    font-size:14px;
  }

  .ng-history__rule{
    margin:36px 0 44px;
  }
}





/* =========================================================================================================================================================================================================================*/






/* =========================
   CONTACT (scoped) - FINAL CLEAN
========================= */

.ng-contact,
.ng-contact *{
  box-sizing:border-box;
  font-family:'Noto Sans KR',
    -apple-system,
    BlinkMacSystemFont,
    'Segoe UI',
    Roboto,
    Arial,
    sans-serif;
}

.ng-contact{
  width:100%;
}

.ng-contact__inner{
  max-width:1200px;
  margin:0 auto;
  padding:0 0 90px;
}

/* MAP */
.ng-contact__map{
  width:100%;
  border:1px solid #e6e6e6;
  border-radius:12px;
  overflow:hidden;
  background:#fff;
}
.ng-contact__map iframe{
  display:block;
  width:100%;
  height:360px;
  border:0;
}

/* CARD */
.ng-contact__card{
  margin-top:26px;
  border:1px solid #e6e6e6;
  border-radius:12px;
  overflow:hidden;
  background:#fff;
}

/* ROW */
.ng-contact__row{
  display:grid;
  grid-template-columns:240px 1fr;
  min-height:56px;
}

/* TH */
.ng-contact__th{
  background:#f5f5f5;
  padding:16px 18px;
  font-size:15px;
  font-weight:500;
  color:#404040;
  display:flex;
  align-items:center;
  border-top:2px solid #a50034;
}

/* TD */
.ng-contact__td{
  padding:16px 18px;
  font-size:15px;
  font-weight:400;
  color:#404040;
  line-height:1.6;
  display:flex;
  align-items:center;
  border-top:2px solid #000;
}

/* LAST ROW BORDER */
.ng-contact__row:last-child .ng-contact__th{
  border-bottom:2px solid #a50034;
}
.ng-contact__row:last-child .ng-contact__td{
  border-bottom:2px solid #000;
}

/* TEL */
.ng-contact__tel{
  font-weight:600;
  color:#111;
  text-decoration:none;
}
.ng-contact__tel:hover{
  text-decoration:underline;
}

/* =========================
   MOBILE
========================= */
@media (max-width:1024px){

  .ng-contact__inner{
    width:95%;
    max-width:520px;
    padding:0 0 70px;
  }

  .ng-contact__map iframe{
    height:300px;
  }

  .ng-contact__row{
    grid-template-columns:110px 1fr;
  }

  .ng-contact__th,
  .ng-contact__td{
    padding:14px;
    font-size:14px;
    align-items:flex-start;
  }
}







/* =========================================================================================================================================================================================================================*/









/* =========================
   HISTORY (scoped) - CLEAN
   - Font: Noto Sans KR only
========================= */

.ng-history,
.ng-history *{
  box-sizing:border-box;
  font-family:'Noto Sans KR', -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
}

.ng-history{ width:100%; }

.ng-history__wrap{
  max-width:1200px;
  margin:0 auto;
  padding:80px 24px 90px;
}

/* title / lead */
.ng-history__pageTitle{
  text-align:center;
  font-size:30px;
  font-weight:600;
  line-height:1.2;
  margin:0 0 50px;
}

.ng-history__lead{
  max-width:1200px;
  margin:0;
}

.ng-history__leadSmall{
  font-size:14px;
  font-weight:500;
  line-height:1.5;
  margin:0 0 12px;
}

.ng-history__leadBig{
  font-size:30px;
  font-weight:600;
  line-height:1.2;
  margin:0 0 12px;
  letter-spacing:-.01em;
}

.ng-history__leadEng{
  font-size:20px;
  font-weight:300;
  margin:0;
  color:#000;
  opacity:1;
}

.ng-history__rule{
  width:100%;
  border-bottom:1px solid #c4c4c4;
  margin:50px 0 60px;
}

/* view switch */
.ng-history__desktop{ display:none; }
.ng-history__mobile{ display:block; }

/* =========================
   MOBILE
========================= */
.ng-m-group{ margin:0 0 48px; }

.ng-m-company{
  font-size:14px;
  opacity:.7;
  margin:0 0 6px;
}

.ng-m-range{
  font-size:26px;
  font-weight:800;
  margin:0 0 14px;
}

.ng-m-card{
  border:1px solid #d9d9d9;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
}

.ng-m-item{
  display:grid;
  grid-template-columns:92px 1fr;
  gap:16px;
  padding:16px 18px;
  border-top:1px solid #ececec;
}
.ng-m-item:first-child{ border-top:0; }

.ng-m-date{
  font-size:18px;
  font-weight:800;
}

.ng-m-desc{
  font-size:16px;
  line-height:1.5;
}

/* mobile typography tune */
@media (max-width:1024px){
  .ng-history__pageTitle{
    font-size:20px;
    margin:0 0 36px;
  }

  .ng-history__leadSmall{ font-size:14px; margin:0 0 10px; }
  .ng-history__leadBig{
    font-size:20px;
    line-height:1.25;
    margin:0 0 10px;
  }
  .ng-history__leadEng{ font-size:14px; }
  .ng-history__rule{ margin:36px 0 44px; }
}

/* =========================
   DESKTOP ONLY
   (dot / line position 유지용 변수)
========================= */
@media (min-width:1025px){
  .ng-history__desktop{ display:block; }
  .ng-history__mobile{ display:none; }

  :root{
    --tl-left: 340px;
    --tl-gap: 40px;
    --tl-line: 40px;
  }

  .ng-tl-group{
    display:grid;
    grid-template-columns:var(--tl-left) 1fr;
    column-gap:var(--tl-gap);
    align-items:start;
    margin:0 0 70px;
  }

  .ng-tl-left{ padding-top:6px; }
  .ng-tl-company{
    font-size:13px;
    opacity:.7;
    margin:0 0 10px;
  }
  .ng-tl-range{
    font-size:34px;
    font-weight:800;
    letter-spacing:-0.2px;
  }

  /* single vertical line (exact position 유지) */
  .ng-history__desktop{ position:relative; }
  .ng-history__desktop::before{
    content:"";
    position:absolute;
    left: calc(var(--tl-left) + var(--tl-gap) + var(--tl-line));
    top:0; bottom:0;
    width:1px;
    background:#cfcfcf;
    pointer-events:none;
  }

  .ng-tl-track{ position:relative; }
  .ng-tl-track::before{ display:none; }

  .ng-tl-row{
    display:grid;
    grid-template-columns:80px 1fr;
    align-items:center;
    min-height:58px;
  }

  .ng-tl-mid{
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
  }

  .ng-tl-dot{
    width:10px;
    height:10px;
    border-radius:50%;
    background:#111;
    display:block;
  }

  /* cap (top/bottom open circle) */
  .ng-tl-cap{
    position:absolute;
    left: var(--tl-line);
    width:12px;
    height:12px;
    border-radius:50%;
    background:#fff;
    border:2px solid #111;
    transform:translateX(-50%);
    z-index:2;
  }
  .ng-tl-cap--top{ top:-6px; }
  .ng-tl-cap--bottom{ bottom:-6px; }

  .ng-tl-right{
    display:grid;
    grid-template-columns:120px 1fr;
    column-gap:24px;
    align-items:center;
    padding:6px 0;
  }

  .ng-tl-date{
    font-size:26px;
    font-weight:900;
  }

  .ng-tl-desc{
    font-size:18px;
    line-height:1.6;
  }
}



/* =========================================================================================================================================================================================================================*/




/* =========================
  NAGASE Products (Scoped)
  - Keep side padding consistent (SCANTEC = all sections)
========================= */

.nes-products,
.nes-products *{
  font-family:'Noto Sans KR', -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
  box-sizing:border-box;
}

.nes-products{
  width:100%;
  color:#000;

  /* Key: make ALL content share the same side padding */
  padding: 0 20px 90px;
}

.nes-products .nes-container{
  max-width:1200px;
  margin:0 auto;
  padding:0; /* padding handled by .nes-products */
}

/* Common blocks */
.nes-products .nes-item{ margin:0 0 70px; }

.nes-products img{
  max-width:100%;
  height:auto;
  display:block;
}

/* Title (same style 기준) */
.nes-products .nes-title{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin:0 0 22px;
}

.nes-products .nes-title img{
  width:30px;
  height:30px;
  flex:0 0 auto;
  margin-top:4px;
}

.nes-products .nes-title .txt{
  font-size:28px;
  font-weight:600;
  line-height:1.35;
}

/* Body text */
.nes-products .nes-desc{
  font-size:17px;
  font-weight:400;
  line-height:1.7;
  margin:0 0 26px;
  word-break:keep-all;
}

/* Media blocks */
.nes-products .nes-hero,
.nes-products .nes-media{
  max-width:760px;
  margin:0 0 36px;
}

/* Title variants */
.nes-products .nes-title--square img{
  width:30px;
  height:30px;
}

.nes-products .nes-title--dot{
  align-items:center;
}

.nes-products .nes-title--dot img{
  width:10px;
  height:10px;
  margin-top:0;
}

/* =========================
  Mobile
========================= */
@media (max-width:768px){
  .nes-products{
    padding: 0 16px 70px; /* Key: mobile side padding matches SCANTEC */
  }

  .nes-products .nes-title img{
    width:24px;
    height:24px;
    margin-top:3px;
  }

  .nes-products .nes-title .txt{
    font-size:22px;
  }

  .nes-products .nes-desc{
    font-size:15px;
    line-height:1.75;
  }

  .nes-products .nes-hero,
  .nes-products .nes-media{
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
  }
}






/* =========================================================================================================================================================================================================================*/





/* =========================
  NAGASE Products – CMS List
========================= */

.nes-products,
.nes-products *{
  font-family:'Noto Sans KR', -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif !important;
  box-sizing:border-box;
}

.nes-products{ width:100%; color:#000; }

.nes-products .nes-container{
  max-width:1200px;
  margin:0 auto;
  padding:0 20px 90px;
}


.nes-products .nes-title{
  display:flex;
  gap:12px;
  margin:0 0 22px;
}

.nes-products .nes-title--square{ align-items:flex-start; }
.nes-products .nes-title--square img{
  width:30px; height:30px; flex:0 0 auto; margin-top:4px;
}
.nes-products .nes-title--square .txt{
  font-size:28px; font-weight:600; line-height:1.35;
}

.nes-products .nes-title--dot{ align-items:center; margin:0 0 14px; }
.nes-products .nes-title--dot img{
  width:10px; height:10px; flex:0 0 auto; margin-top:0;
}
.nes-products .nes-title--dot .txt{
  font-size:20px;          
  font-weight:700;
  line-height:1.4;
}


.nes-products .nes-list{ margin-top:18px; }
.nes-products .nes-list a{ color:inherit; text-decoration:none; }
.nes-products .nes-list a:hover{ text-decoration:underline; }

/* Mobile */
@media (max-width:768px){
  .nes-products .nes-container{ padding:0 16px 70px; }

  .nes-products .nes-title--square img{
    width:24px; height:24px; margin-top:3px;
  }
  .nes-products .nes-title--square .txt{
    font-size:22px;
  }

  .nes-products .nes-title--dot .txt{
    font-size:16px;
    line-height:1.5;
  }
}





/* =========================================================================================================================================================================================================================*/





/* =========================
  [NAGASE] Privacy Policy (KOR) - FINAL CLEAN
  - Max width: 1200
  - Font: Noto Sans KR only
  - PC: no side padding (1200 fit)
  - <=1240: side padding 16px
  - Tables keep horizontal layout (scroll on small screens)
  - Red dot list
========================= */

.nes-wrap,
.nes-wrap *{
  font-family:'Noto Sans KR', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
  box-sizing:border-box;
}

.nes-wrap{
  width:100%;
  color:#000;
}

.nes-inner{
  max-width:1200px;
  margin:0 auto;
  padding:0; /* PC: 1200 fit, no side padding */
}

/* Titles / Text */
.nes-page-title{
  font-size:34px;
  font-weight:700;
  letter-spacing:-0.02em;
  margin:0 0 18px;
  line-height:1.25;
}

.nes-p{
  font-size:16px;
  line-height:1.8;
  margin:0 0 14px;
  letter-spacing:-0.01em;
  word-break:keep-all;
}

.nes-divider{
  width:100%;
  height:1px;
  background:#e6e6e6;
  margin:28px 0 22px;
}

.nes-sec-title{
  font-size:22px;
  font-weight:700;
  margin:0 0 14px;
  letter-spacing:-0.02em;
}

.nes-sub-title{
  font-size:17px;
  font-weight:700;
  margin:18px 0 10px;
  letter-spacing:-0.01em;
}

/* Red dot list */
.nes-list{
  list-style:none;
  padding:0;
  margin:0 0 14px;
}

.nes-list > li{
  position:relative;
  padding-left:16px;
  margin:8px 0;
  font-size:16px;
  line-height:1.8;
  letter-spacing:-0.01em;
  word-break:keep-all;
}

.nes-list > li::before{
  content:"";
  position:absolute;
  left:0;
  top:0.78em;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#e4002b;
  transform:translateY(-50%);
}

/* Table (keep horizontal, scroll when needed) */
.nes-table-wrap{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  margin:10px 0 18px;
  border:1px solid #e6e6e6;
  border-radius:10px;
  background:#fff;
}

.nes-table{
  width:100%;
  min-width:820px; /* keep horizontal layout */
  border-collapse:separate;
  border-spacing:0;
}

.nes-table th,
.nes-table td{
  padding:14px 14px;
  border-bottom:1px solid #ededed;
  border-right:1px solid #ededed;
  vertical-align:top;
  font-size:15px;
  line-height:1.7;
  word-break:keep-all;
}

.nes-table th{
  background:#fafafa;
  font-weight:700;
}

.nes-table tr:last-child th,
.nes-table tr:last-child td{
  border-bottom:0;
}

.nes-table th:last-child,
.nes-table td:last-child{
  border-right:0;
}

/* Notes / Contact */
.nes-note{
  font-size:14px;
  line-height:1.7;
  color:#333;
  margin:10px 0 16px;
}

.nes-contact{
  margin-top:6px;
}

.nes-contact p{
  margin:0 0 10px;
}

/* Responsive */
@media (max-width:1240px){
  .nes-inner{ padding:0 16px; }

  .nes-page-title{ font-size:28px; }
  .nes-sec-title{ font-size:20px; }
  .nes-p,
  .nes-list > li{ font-size:15px; }

  .nes-table th,
  .nes-table td{
    font-size:14px;
    padding:12px 12px;
  }
}



@media (max-width:1024px){
  .ng-inner,
  .ng-ob__inner,
  .ng-prd__inner,
  .ng-contact__inner,
  .ng-footer__inner,
  .nes-inner,
  .nes-hero__content{
    width:100% !important;
    max-width:100% !important;
    padding-left:18px !important;
    padding-right:18px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .nes-hero__content{
    align-items:center;
  }

  .nes-hero__text{
    width:100% !important;
    max-width:100% !important;
    padding:0 !important;
  }

  .nes-hero__kicker{
    font-size:14px !important;
    line-height:1.45 !important;
    font-weight:500 !important;
  }

  .nes-hero__title{
    font-size:30px !important;
    line-height:1.12 !important;
    margin-top:10px !important;
    word-break:keep-all;
  }

  .nes-hero__sub{
    font-size:14px !important;
    line-height:1.45 !important;
    margin-top:10px !important;
  }

  .nes-section{
    padding:46px 0 56px !important;
  }

  .nes-h2{
    font-size:20px !important;
    line-height:1.25 !important;
  }

  .nes-divider{
    margin:28px 0 0 !important;
  }

  .nes-section div[style*="height:60px"]{
    height:28px !important;
  }

  .nes-section div[style*="height:50px"]{
    height:24px !important;
  }

  .nes-section div[style*="height:90px"]{
    height:40px !important;
  }

  .nes-greet__title,
  .nes-lead{
    font-size:20px !important;
    line-height:1.28 !important;
    font-weight:600 !important;
    letter-spacing:-0.02em;
    word-break:keep-all;
  }

  .nes-greet__en{
    font-size:14px !important;
    line-height:1.4 !important;
    margin-bottom:14px !important;
    font-weight:300 !important;
  }

  .nes-greet__desc,
  .nes-body,
  .nes-bullets,
  .nes-row__right,
  .nes-card__txt{
    font-size:14px !important;
    line-height:1.65 !important;
    word-break:keep-all;
  }

  .nes-label{
    gap:10px !important;
    margin-bottom:14px !important;
  }

  .nes-label img{
    width:20px !important;
    height:20px !important;
  }

  .nes-label span{
    font-size:20px !important;
    line-height:1.25 !important;
    font-weight:600 !important;
  }

  .nes-two{
    display:flex !important;
    flex-direction:column !important;
    gap:20px !important;
    align-items:flex-start !important;
  }

  .nes-two__left,
  .nes-two__right{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
  }

  .nes-two__right img{
    width:100% !important;
    display:block !important;
  }

  .nes-cards{
    grid-template-columns:1fr !important;
    gap:14px !important;
    margin-top:26px !important;
  }

  .nes-card{
    border-radius:8px !important;
  }

  .nes-card__head{
    font-size:16px !important;
    padding:10px 12px !important;
  }

  .nes-card__body{
    padding:18px 16px 20px !important;
  }

  .nes-card__icon img{
    width:64px !important;
  }

  .nes-rows{
    gap:12px !important;
    margin-top:18px !important;
  }

  .nes-row{
    display:block !important;
    border:1px solid #e6e6e6;
    border-radius:8px;
    overflow:hidden;
  }

  .nes-row__left{
    width:100% !important;
  }

  .nes-row__pill{
    width:100%;
    min-height:auto;
    padding:12px 14px !important;
    font-size:15px !important;
    line-height:1.35 !important;
    justify-content:flex-start !important;
  }

  .nes-row__right{
    padding:14px 14px 16px !important;
    background:#fff;
  }

  .ng-hero__moText{
    padding:22px 18px 38px !important;
  }

  .ng-ob__media,
  .ng-ob__text{
    width:100% !important;
  }

  .ng-ob__h{
    font-size:20px !important;
    line-height:1.28 !important;
  }

  .ng-ob__sub{
    font-size:14px !important;
    line-height:1.4 !important;
  }

  .ng-ob__p{
    font-size:14px !important;
    line-height:1.65 !important;
  }

  .ng-prd__title,
  .ng-contact__title{
    font-size:20px !important;
    line-height:1.25 !important;
  }

  .ng-ob__btn,
  .ng-prd__btn{
    white-space:normal !important;
    text-align:center;
    justify-content:center !important;
  }
}

.ng-m-sitelinks{
  display:none;
}

@media (max-width:1024px){
  .ng-m-sitelinks{
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:14px;
    margin:18px 0 22px;
    text-align:center;
  }

  .ng-m-sitelinks a{
    color:#fff;
    text-decoration:none;
    font-size:13px;
    font-weight:500;
    line-height:1.4;
  }

  .ng-m-sitelinks span{
    color:rgba(255,255,255,.5);
    font-size:13px;
    line-height:1;
  }
}


