@charset "utf-8";
/* NXエンジニアリング Common Style CSS */

:root {
  --txtfs-df: 1.6rem;
  --txtfs-l: 1.8rem;
  --txtfs-m: 1.4rem;
  --txtfs-s: 1.2rem;
  --txtfs-ss: 1.2rem;
  --txtls-df: 0.04em;
  --txtls-l: 0.08em;
  --txtls-m: 0.04em;
  --font-family-txt: "Arial", "Helvetica Neue", "Helvetica", "Yu Gothic Medium", "Meiryo", sans-serif;
  --font-family-bold: "Arial", "Helvetica Neue", "Helvetica", "Yu Gothic", "Meiryo", sans-serif;
}

body {
  font-size: 1.6rem;
  letter-spacing: var(--txtls-df);
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}
/* header ------------------------------ */
header h1 a {
  height: 38px;
  aspect-ratio: 309 / 31;
}
header .nav-oth__btn .nav-btn__dl a {
  width: 175px;
}
header .nav-oth__btn .nav-btn__dl a span {
  width: 175px;
}
header .nav-oth__btn a span br {
  display: none;
}
@media screen and (min-width:1160px) {
  header .nav-glb {
    column-gap: clamp(13px , 1vw , 25px);
  }
  header .nav-oth li {
    font-size: 1.3rem;
    letter-spacing: var(--txtls-df);
  }
  header .nav-glb {
    font-size: var(--txtfs-m);
    letter-spacing: var(--txtls-df);
  }
  header .nav-glb > li > a {
    display: block;
    text-align: center;
  }
  header li:has(div.nav-glb__sub):hover div.nav-glb__sub {
    width: 720px;
  }
  header .nav-glb .nav-glb__sub-inner > ul {
    grid-template-columns: 192px 1fr 255px;
  }
  header .nav-glb .nav-glb__sub-inner a[href="/en/corporate/"] + ul {
    grid-template-columns: 1fr 235px 1fr;
  }
}
@media screen and (max-width:1240px) and (min-width:1160px) {
  header h1 a {
    height: 38px;
  }
  header .nav-glb {
    column-gap: 15px;
  }
  header .nav-oth li {
    font-size: 1.1rem;
    letter-spacing: var(--txtls-df);
  }
  header .nav-glb {
    font-size: var(--txtfs-s);
    letter-spacing: var(--txtls-df);
  }
}
@media screen and (max-width:1159px) {
  header h1 a {
    height: 18px;
    align-items: center;
  }
  header.panelactive h1 a {
    height: 20px;
  }
  header:not(.panelactive) .nav-en a {
    width: 78px;
  }
}
@media screen and (max-width:425px) {
  header .nav-oth__btn a span {
    text-align: center;
  }
  header .nav-oth__btn a span br {
    display: block;
  }
}
@media screen and (max-width:374px) {
  header h1 a {
    height: 4.8vw;
  }
  header:not(.panelactive) .nav-en a {
    width: 20.8vw;
  }
  header.panelactive h1 a {
    height: 5.33vw;
  }
}
/* compact menu ------------------------ */
@media screen and (min-width:1241px) {
  header #header.header-compact .nav-oth__btn li a span {
    font-size: 1.1rem;
  }
}
@media screen and (min-width:1160px) {
  header #header.header-compact {
    flex-wrap: nowrap;
    align-items: center;
  }
  header #header.header-compact h1 {
    margin-right: 15px;
  }
  header #header.header-compact h1 a {
    height: 27.5px;
    margin-top: 2px;
  }
  header #header.header-compact .nav__inner nav {
    column-gap: 15px;
  }
  header #header.header-compact .nav-glb {
    column-gap: 20px;
    font-size: 1.1rem;
    align-items: center;
  }
  header #header.header-compact .nav-oth__btn li {
    flex: 0 0 auto;
    width: 130px;
  }
  header #header.header-compact .nav-oth__btn li a span {
    width: 130px;
  }
  header #header.header-compact .nav-oth__btn .nav-btn__inq {
    width: 100px;
  }
  header #header.header-compact .nav-oth__btn .nav-btn__inq a span {
    width: 100px;
  }
}
@media screen and (max-width:1240px) and (min-width:1160px) {
  header #header.header-compact h1 a {
    height: 21px;
  }
}
/* main　見出し -------------------- */
.container__inner h2,
.container__inner h3,
.container__inner h4,
.container__inner h5,
.container__inner .dl-ttlist dt {
  letter-spacing: var(--txtls-l);
}
/* main　テキスト -------------------- */
main .att-txt::before {
  content: "*";
}
/* main　メインボタン ---------------- */
main .main-btn {
  letter-spacing: var(--txtls-df);
}
main .more-lnk {
  letter-spacing: var(--txtls-df);
}

/* footer ------------------------------ */
.footer__inner .footer__btm .footer__area {
  flex-basis: calc((100% - 75px) / 4);
}