@charset "UTF-8";
#page-container {
  padding-bottom: 100px; }
  @media (min-width: 768px) {
    #page-container {
      padding-bottom: 140px; } }
  @media (min-width: 1200px) {
    #page-container {
      padding-bottom: 160px; } }

/*
---------------------------------------------------------------------------------------------------------------------
ページ　ヘッダー
---------------------------------------------------------------------------------------------------------------------
*/
#page-header {
  position: relative; }
  @media (min-width: 768px) {
    #page-header {
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover;
      width: 100%;
      height: 320px; }
      #page-header.service {
        background-image: url("../../img/page-header/service-pc.webp"); }
      #page-header.culture {
        background-image: url("../../img/page-header/culture-pc.webp"); }
      #page-header.data {
        background-image: url("../../img/page-header/data-pc.webp"); }
      #page-header.member {
        background-image: url("../../img/page-header/member-pc.webp"); }
      #page-header.about {
        background-image: url("../../img/page-header/about-pc.webp"); }
      #page-header.project {
        background-image: url("../../img/page-header/project-pc.webp"); }
      #page-header.contact {
        background-image: url("../../img/page-header/contact-pc.webp"); } }
  @media (min-width: 1024px) {
    #page-header {
      height: 420px; } }
  @media (min-width: 1200px) {
    #page-header {
      height: 480px; } }
  @media (min-width: 1600px) {
    #page-header {
      height: 540px; } }
  #page-header::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.3);
    height: 100%;
    mix-blend-mode: multiply;
    z-index: 10; }
  #page-header .page-header-in {
    max-width: 1600px;
    margin: auto;
    width: 90%; }
    @media (min-width: 1800px) {
      #page-header .page-header-in {
        padding-left: 35px; } }
    #page-header .page-header-in .overview {
      position: absolute;
      bottom: 5%;
      z-index: 10; }
      @media (min-width: 1200px) {
        #page-header .page-header-in .overview {
          bottom: 8%; } }
      #page-header .page-header-in .overview p {
        font-size: 0.8em;
        line-height: 1.6em;
        color: #fff; }
        @media (min-width: 768px) {
          #page-header .page-header-in .overview p {
            font-size: 0.9em; } }
        @media (min-width: 1200px) {
          #page-header .page-header-in .overview p {
            font-size: 1.0em; } }

#manabo-header {
  position: relative;
  max-width: 1600px;
  margin: auto;
  width: 90%; }
  #manabo-header .page-header-in {
    width: 55%; }
    @media (min-width: 768px) {
      #manabo-header .page-header-in {
        width: 100%; } }
    @media (min-width: 1800px) {
      #manabo-header .page-header-in {
        padding-left: 35px; } }
  #manabo-header .photo {
    width: 45%;
    margin-left: auto;
    padding: 120px 0 40px;
    max-width: 600px; }
    #manabo-header .photo img {
      width: 100%; }
      @media (min-width: 768px) {
        #manabo-header .photo img {
          width: 90%; } }

#page-header-type2 {
  padding: 120px 0 0; }
  @media (min-width: 1024px) {
    #page-header-type2 {
      padding: 150px 0 0; } }
  @media (min-width: 1200px) {
    #page-header-type2 {
      padding: 180px 0 0; } }
  #page-header-type2 .page-title {
    text-align: center; }

.page-navi {
  position: absolute;
  top: 55px;
  z-index: 10; }
  @media (min-width: 1024px) {
    .page-navi {
      top: 104px; } }
  .page-navi ul {
    color: #fff; }
    .page-navi ul.noir {
      color: #000; }
      .page-navi ul.noir li:not(:last-child)::after {
        border-top: solid 1px #000;
        border-right: solid 1px #000; }
    .page-navi ul li {
      position: relative;
      display: inline-block;
      font-size: 0.7em;
      font-feature-settings: "palt";
      letter-spacing: 0.04em;
      margin-right: 15px; }
      @media (min-width: 768px) {
        .page-navi ul li {
          font-size: 0.9em; } }
      .page-navi ul li:last-child {
        margin-right: 0; }
      .page-navi ul li:not(:last-child)::after {
        position: absolute;
        top: 50%;
        right: -10px;
        content: '';
        margin-top: -2px;
        width: 6px;
        height: 6px;
        border: 0px;
        border-top: solid 1px #fff;
        border-right: solid 1px #fff;
        -ms-transform: rotate(45deg);
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        transition: .5s; }

.page-common-title {
  position: absolute;
  top: 20px;
  bottom: 0;
  display: flex;
  align-items: center;
  z-index: 10; }
  @media (min-width: 1024px) {
    .page-common-title {
      top: 50px; } }
  .page-common-title .page-common-title-in {
    color: #fff; }
    .page-common-title .page-common-title-in.noir {
      color: #000; }
    .page-common-title .page-common-title-in p {
      font-family: "Outfit", sans-serif;
      font-size: 0.9em; }
      @media (min-width: 768px) {
        .page-common-title .page-common-title-in p {
          font-size: 1.0em; } }
      @media (min-width: 1200px) {
        .page-common-title .page-common-title-in p {
          font-size: 1.25em; } }
    .page-common-title .page-common-title-in h1 {
      font-size: 1.5em; }
      @media (min-width: 768px) {
        .page-common-title .page-common-title-in h1 {
          font-size: 2.0em; } }
      @media (min-width: 1200px) {
        .page-common-title .page-common-title-in h1 {
          font-size: 3.0em; } }
    .page-common-title .page-common-title-in h6 {
      font-size: 0.9em;
      font-weight: normal;
      line-height: 1.4em;
      margin-top: 10px;
      width: 55%; }
      @media (min-width: 768px) {
        .page-common-title .page-common-title-in h6 {
          font-size: 1.0em;
          width: 100%; } }
      @media (min-width: 1200px) {
        .page-common-title .page-common-title-in h6 {
          font-size: 1.125em;
          margin-top: 20px; } }

.page-title-type2wa {
  text-align: center;
  margin: auto;
  width: 90%; }
  .page-title-type2wa h1 {
    font-size: 1.8em;
    font-weight: 700; }
    @media (min-width: 768px) {
      .page-title-type2wa h1 {
        font-size: 2.5em; } }
    @media (min-width: 1200px) {
      .page-title-type2wa h1 {
        font-size: 3.0em; } }
  .page-title-type2wa p {
    font-size: 0.8em;
    text-align: justify;
    line-height: 1.6em;
    margin-top: 10px; }
    @media (min-width: 768px) {
      .page-title-type2wa p {
        font-size: 0.9em;
        text-align: center; } }
    @media (min-width: 1200px) {
      .page-title-type2wa p {
        font-size: 1.0em;
        margin-top: 20px; } }

.common-prologue {
  padding: 0 5%; }
  .common-prologue.data-page {
    max-width: 600px;
    margin: auto;
    padding: 60px 5% 0;
    margin-bottom: 40px; }
    @media (min-width: 768px) {
      .common-prologue.data-page {
        padding: 80px 0 0;
        margin-bottom: 60px; } }
    @media (min-width: 1200px) {
      .common-prologue.data-page {
        padding: 120px 0 0;
        margin-bottom: 100px; } }
    .common-prologue.data-page p {
      text-align: justify; }
  .common-prologue h2 {
    font-size: 1.35em;
    line-height: 1.4em;
    font-feature-settings: "palt";
    letter-spacing: 0.04em;
    text-align: center; }
    @media (min-width: 768px) {
      .common-prologue h2 {
        font-size: 1.5em; } }
    @media (min-width: 1024px) {
      .common-prologue h2 {
        font-size: 1.75em; } }
  .common-prologue p {
    font-size: 0.9em;
    line-height: 1.6em;
    text-align: justify;
    margin: 20px auto 0; }
    @media (min-width: 768px) {
      .common-prologue p {
        font-size: 1.0em;
        text-align: center; } }
    @media (min-width: 1024px) {
      .common-prologue p {
        font-size: 1.125em; } }

#company-banner {
  padding: 100px 0 0;
  max-width: 1200px;
  margin: auto;
  width: 90%; }
  @media (min-width: 768px) {
    #company-banner {
      padding: 120px 0 0; } }
  @media (min-width: 1200px) {
    #company-banner {
      padding: 160px 0 0; } }
  @media (min-width: 1024px) {
    #company-banner .o-3column .col-lg-3 {
      padding: 0 15px; }
    #company-banner .o-3column {
      margin: 0 -15px; } }
  #company-banner .col-xs-6 {
    margin-bottom: 10px; }
  #company-banner a .about-box {
    background-color: #fff;
    position: relative;
    border-radius: 10px;
    height: 100%;
    padding: 20px 25px 40px; }
    @media (min-width: 1024px) {
      #company-banner a .about-box {
        border-radius: 15px;
        padding: 20px 40px 60px; } }
    #company-banner a .about-box .photo {
      display: flex;
      align-items: center;
      justify-content: center;
      height: 100%; }
      #company-banner a .about-box .photo.type1 img {
        width: 100%; }
    #company-banner a .about-box .common-btn {
      position: absolute;
      left: 10px;
      bottom: 10px; }
      @media (min-width: 1024px) {
        #company-banner a .about-box .common-btn {
          left: 20px;
          bottom: 20px; } }
