/* Small local behavior/accessibility layer; original presentation is retained. */
.skip-link { position:fixed; top:-100px; left:12px; z-index:30000; padding:10px 18px; background:#fff; color:#111; }
.skip-link:focus { top:10px; }
:focus-visible { outline:3px solid #ff5401; outline-offset:4px; }
.language-switcher { position:absolute; right:108px; top:38px; z-index:100; display:flex; align-items:center; gap:7px; font-family:'Poppins',sans-serif; font-size:13px; line-height:24px; }
.language-switcher a { color:#777; font:inherit; text-decoration:none; }
.language-switcher a:hover, .language-switcher a:focus-visible { color:#ff5401; }
.language-switcher a[aria-current="page"] { color:#111; font-weight:600; }
.menu > li.active > a { color: #ff5401; }
.foot_portal { margin-top:8px; }
.foot_portal a { color:inherit; opacity:.72; font-size:13px; text-decoration:none; border-bottom:1px solid currentColor; padding-bottom:1px; }
.foot_portal a:hover, .foot_portal a:focus-visible { opacity:1; color:#ff5401; }
[lang="en"] body, [lang="en"] body * { word-break:normal; }
[lang="en"] p, [lang="en"] li, [lang="en"] td, [lang="en"] th, [lang="en"] dd { overflow-wrap:break-word; }
.motion.ac, .animb.show-on { opacity:1; }
.home-page .nw_mvsl { height:100%; }
.home-page .mvsl_sld { position:relative; height:100%; }
.home-page .mvsl_sld > li { position:absolute; inset:0; width:100%; opacity:0; visibility:hidden; transition:opacity .8s ease; }
.home-page .mvsl_sld > li.on { opacity:1; visibility:visible; }
.home-page .sectionWrap { transition:transform .7s cubic-bezier(.65,0,.35,1); }
.mainStep a:focus-visible { outline-color:#fff; }
dialog { max-width:calc(100vw - 70px); padding:30px; border:1px solid #ddd; border-radius:6px; font-family:'NotoSans',sans-serif; }
dialog h2 { font-size:23px; margin-bottom:16px; }
dialog p { line-height:1.8; }
dialog button { border:0; background:#ff5401; color:#fff; padding:10px 24px; margin-top:24px; cursor:pointer; }
dialog::backdrop { background:rgba(0,0,0,.55); }
.table-scroll { overflow-x:auto; }
@media (min-width:1025px) {
  .home-page { overflow:hidden; }
  .menu > li::after {
    content:'';
    position:absolute;
    bottom:-6px;
    left:0;
    right:0;
    height:6px;
  }
  .menu > li > ul.mdp02 {
    display:block;
    visibility:hidden;
    opacity:0;
    transform:translateY(-8px);
    clip-path:inset(0 0 100% 0);
    pointer-events:none;
    transition:opacity .2s ease, transform .2s ease, clip-path .2s ease, visibility 0s linear .2s;
  }
  .menu > li:hover > ul.mdp02, .menu > li:focus-within > ul.mdp02 {
    visibility:visible;
    opacity:1;
    transform:translateY(0);
    clip-path:inset(0);
    pointer-events:auto;
    transition-delay:0s;
  }
}
@media (min-width:1025px) and (max-width:1150px) {
  .menu > li > a { padding-left:12px; padding-right:12px; }
}
@media (max-width:1024px) {
  .gnbWrapBg { box-sizing:border-box; }
  .home-page .sectionWrap { transform:none!important; }
  .home-page .section00 { height:calc(100vh - 80px)!important; min-height:450px; }
  .home-page .mvsl_sld > li { height:100%; }
  .menu_area {
    height:100dvh;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    padding-bottom:max(20px, env(safe-area-inset-bottom));
    visibility:hidden;
    transition:left .4s ease, visibility 0s linear .4s;
  }
  .menu_area .language-switcher { right:68px; top:28px; }
  body.menu-open .menu_area { left:0; visibility:visible; transition-delay:0s; }
  .menu_bg {
    display:block;
    visibility:hidden;
    opacity:0;
    pointer-events:none;
    transition:opacity .4s ease, visibility 0s linear .4s;
  }
  body.menu-open .menu_bg {
    visibility:visible;
    opacity:1;
    pointer-events:auto;
    transition-delay:0s;
  }
  body.menu-open { overflow:hidden; }
  .menu > li > ul.mdp02 {
    display:block;
    width:100%!important;
    margin-left:0!important;
    max-height:0;
    overflow:hidden;
    opacity:0;
    padding-top:0;
    padding-bottom:0;
    border-bottom-width:0;
    pointer-events:none;
    transition:max-height .2s ease, opacity .2s ease, padding .2s ease, border-width .2s ease;
  }
  .menu > li.expanded > ul.mdp02 {
    max-height:40rem;
    opacity:1;
    padding-top:10px;
    padding-bottom:10px;
    border-bottom-width:1px;
    pointer-events:auto;
  }
}
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
}
