/* front-page: NetBase header/footer + LP section integration */

body {
  line-height: 1.5;
  color: #333;
  font-family: "Noto Sans JP", "Roboto", sans-serif;
}

#p-top.l-container {
  max-width: 100% !important;
  width: 100% !important;
  overflow: visible;
}

#p-top .l-main {
  width: 100%;
}

#p-top .p-mainVisual {
  position: relative;
  z-index: 1;
}

#p-top .p-nav {
  position: relative;
  z-index: 10;
  overflow: visible;
  margin-bottom: 50px;
}

#p-top .p-nav__inner,
#p-top .p-nav__navList,
#p-top .p-nav__navList > ul,
#p-top .p-nav__navList > ul > li,
#p-top .p-nav__navList > ul > li > a {
  overflow: visible;
}

#p-top .p-nav__navList > ul {
  padding-top: 24px;
  padding-bottom: 20px;
}

#p-top .p-nav__navList__navBox {
  overflow: visible;
  position: relative;
  z-index: 1;
  filter: none;
  box-shadow: 0 0 11px rgba(0, 0, 0, 0.07);
}

#p-top .p-nav__navList__navBox::before,
#p-top .p-nav__navList__navBox::after {
  z-index: 2;
  pointer-events: none;
}

/* LP was designed for a left sidebar header; use full width on the top page */
#p-top .p-header,
#p-top .p-mainVisual,
#p-top .p-nav,
#p-top .p-logo,
#p-top .p-onayami,
#p-top .p-feature,
#p-top .p-function,
#p-top .p-case__wrapper,
#p-top .p-case,
#p-top .p-cta,
#p-top .p-faq,
#p-top .p-footer,
#p-top .p-copyright,
#p-top .p-compare,
#p-top .p-formSection {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

#p-top .p-mainVisual {
  margin-top: 0 !important;
  border-radius: 0 !important;
}

/* LP専用のメインビジュアル装飾はトップでは非表示 */
#p-top .p-mainVisual::before {
  background-image: none !important;
  content: none;
}

#p-top .p-mainVisual__left .p-cta__button {
  display: flex;
  justify-content: center;
  margin-top: 8px;
  width: 100%;
}

#p-top .l-case__logos {
  margin: 0 0 0 -15px;
}

@media screen and (max-width: 1439px) {
  #p-top .p-nav__navList > ul {
    padding-top: calc(24 / 1440 * 100vw);
    padding-bottom: calc(20 / 1440 * 100vw);
  }

  #p-top .p-nav__navList__navBox {
    box-shadow: 0 0 calc(11 / 1440 * 100vw) rgba(0, 0, 0, 0.07);
  }
}

@media screen and (max-width: 767px) {
  #p-top .p-nav__navList > ul {
    padding-top: calc(22 / 375 * 100vw);
    padding-bottom: calc(24 / 375 * 100vw);
  }

  #p-top .p-nav__navList__navBox {
    box-shadow: 0 0 calc(11 / 375 * 100vw) rgba(0, 0, 0, 0.07);
  }
}

/* Keep site header/footer typography after master.css reset */
.l-header,
.l-header a,
.l-footer,
.l-footer a {
  font-family: "Noto Sans JP", "Roboto", sans-serif;
}

/* Preserve top-page block styles inside the merged template */
#p-top .columns,
#p-top .columns__article,
#p-top .columns__content-title,
#p-top .c-section-1.news,
#p-top .news__article {
  font-family: "Noto Sans JP", "Roboto", sans-serif;
  color: #333;
}

#p-top .columns__article-title,
#p-top .c-title-1,
#p-top .news__article-title {
  font-weight: 700;
}

#p-top .columns__articles img,
#p-top .news__article {
  line-height: 1.5;
}
