

/* ==========================================================================
   Layout
   ========================================================================== */

/* Grid
   ----------------------------------------------------------------- */

.layout-b.l-full-column.l-full-column--philosophy {
  padding-top: 0;
}

.layout-b.l-full-column.l-full-column--eyecatch {
  padding-top: 2rem;
}

.layout-b.l-full-column.l-full-column--recruit {
  padding-top: 3rem;
  padding-bottom: 0.5rem;
}

.layout-b.l-full-column.l-full-column--entry {
  padding-top: 0.5rem;
  padding-bottom: 2rem;
  background-color: transparent;
}

.layout-b.l-full-column.l-full-column--entry .l-container {
  padding-top: 6rem;
  padding-bottom: 4rem;
}

.layout-b.l-grid {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

.layout-b.l-grid__column-3,
.layout-b.l-grid__column-4,
.layout-b.l-grid__column-6,
.layout-b.l-grid__column-12 {
  margin-right: 15px;
  margin-left: 15px;
  margin-bottom: 30px;
}

.layout-b.l-grid__column-3  {width: calc(25% - 30px);}
.layout-b.l-grid__column-4  {width: calc(33.33% - 30px);}
.layout-b.l-grid__column-6  {width: calc(50% - 30px);}
.layout-b.l-grid__column-12 {width: calc(100% - 30px);}

@media only screen and (max-width: 767px) {
  .layout-b.l-grid {
    margin-right: auto;
    margin-left: auto;
  }

  .layout-b.l-grid__column-3,
  .layout-b.l-grid__column-4,
  .layout-b.l-grid__column-6,
  .layout-b.l-grid__column-12,
  .layout-b.l-grid__column-sp6,
  .layout-b.l-grid__column-sp12 {
    margin-right: 8px;
    margin-left: 8px;
    margin-bottom: 16px;
  }

  .layout-b.l-grid__column-3  {width: calc(25% - 16px);}
  .layout-b.l-grid__column-4  {width: calc(33.33% - 16px);}
  .layout-b.l-grid__column-6  {width: calc(50% - 16px);}
  .layout-b.l-grid__column-12 {width: calc(100% - 16px);}
  .layout-b.l-grid__column-sp6  {width: calc(50% - 16px);}
  .layout-b.l-grid__column-sp12 {width: calc(100% - 16px);}
}

.layout-b.l-container--misaligned {
  max-width: none;
  width: calc(100% - 15px);
  margin-right: auto;
  margin-left: 0;
  padding-top: 2rem;
  padding-right: 15px;
  padding-bottom: 2rem;
  padding-left: 30px;
}

.layout-b.l-container--misaligned.l-container--misaligned--right {
  margin-right: 0;
  margin-left: auto;
  padding-right: 30px;
  padding-left: 15px;
}

@media print, screen and (min-width: 1084px) {
  .layout-b.l-container--misaligned {
    width: calc(1024px + (100% - 1024px) / 2);
    padding-right: 30px;
    padding-left: calc(30px + (100% - 1024px) / 2);
  }

  .layout-b.l-container--misaligned.l-container--misaligned--right {
    padding-right: calc(30px + (100% - 1024px) / 2);
    padding-left: 30px;
  }
}

.layout-b.l-container--mask {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}

.layout-b.l-container--mask::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.6);
  z-index: 0;
}

/* ==========================================================================
   Object
   ========================================================================== */

/* Component
   ----------------------------------------------------------------- */

/**
 * Image
 */

 .layout-b.c-image-holder.c-image-holder--philosophy {
  max-height: 20rem;
}

/**
 * Button
 */

.layout-b.c-button {
  padding: 1em 3em 0.75em;
  border-radius: 0.25rem;
  background-color: transparent;
}

.layout-b.c-button--large {
  padding: 1.5em 6em;
}

.layout-b.c-button--white {
  background-color: #fff;
}

.layout-b.c-button--white:hover {
  background-color: #000;
}


/* Project
   ----------------------------------------------------------------- */

/**
 * Navbar
 */


 .p-navbar.p-navbar--pc {
  padding-right: 2rem;
  padding-left: 2rem;
}

/**
 * Eyecatch
 */

 .layout-b.p-eyecatch {
  align-items: stretch;
  border-top-left-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
  overflow: hidden;
}

.layout-b.p-eyecatch__meta {
  display: flex;
  align-items: center;
  position: relative;
  bottom: 0;
  left: 0;
  max-width: none;
  margin: 0;
  padding: 2rem 0;
  border-radius: 0;
}

@media print, screen and (min-width: 768px) {
  .layout-b.p-eyecatch .c-heading {
    font-size: 2rem;
    padding-left: 1rem;
  }

  .layout-b.p-eyecatch__meta {
    flex-basis: 55%;
  }

  .layout-b.p-eyecatch__meta__image {
    flex-basis: 45%;
  }
}


/**
 * Article Block
 */

 .layout-b.p-article-block {
  border-top-left-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
  overflow: hidden;
}

.layout-b.p-article-block.p-company-block {
  padding-top:0;
  padding-bottom:0;
  border-top-left-radius: 0.5rem;
  border-bottom-left-radius: 0rem;
  overflow: hidden;
}

.layout-b.p-article-block.p-company-space-block{
  background-color:#fff;
  height:0;
  padding:0;
  margin:1rem 0rem;
}


.layout-b.p-article-block.p-article-block--lead {
  margin-top: 2rem;
  padding-top: 0;
  padding-bottom: 0;
}

.layout-b.p-article-block__heading {
  margin-bottom: 2em;
}

.layout-b.p-article-block.p-company-block h2{
  padding-top: 3rem;
}


.layout-b.p-article-block h4 {
  margin-bottom: 2em;
  background-color: transparent;
  font-size: 1.25rem;
  line-height: 1.5;
  padding: 2rem 1rem 0rem 4rem;
}

@media print, screen and (min-width: 1070px) {
  .layout-b.p-article-block {
    margin-right: calc(-6px - (100vw - 1054px) / 2);
    padding-right: calc((100vw - 1054px) / 2);
  }
}

/**
 * Card
 */

.layout-b.p-card {
  border-radius: 5px;
}

.layout-b.p-card__body {
  padding: 1rem;
  min-height: 7rem;
}

.layout-b.p-card.p-card--vertical {
  display: flex;
  align-items: stretch;
}

.layout-b.p-card__thumbnail-wrap {
  overflow: hidden;
}

.layout-b.p-card.p-card--vertical .p-card__thumbnail-wrap{
  flex-basis: 50%;
  margin-right: 0;
}

.layout-b.p-card.p-card--vertical .p-card__body {
  flex-basis: 50%;
  display: table;
  height: 100%;
  padding: 0.5rem 1rem;
}

.layout-b.p-card.p-card--vertical .p-card__body__inner {
  display: table-cell;
  vertical-align: middle;
}

.layout-b.p-card__job{
  min-height: 4rem;
}


@media print, screen and (min-width:768px) {
  .layout-b.p-card.p-card--shifted.p-card--shifted--hero .p-card__thumbnail-wrap {
    margin-right: 0;
    margin-left: 33%;
  }

  .layout-b.p-card.p-card--shifted.p-card--shifted--hero .p-card__body {
    right: auto;
    left: 0;
  }

  .layout-b.p-card.p-card--vertical .p-card__body {
    padding: 1rem 2rem;
  }

  .layout-b.p-card.p-card--vertical-md {
    display: flex;
    align-items: stretch;
  }

  .layout-b.p-card.p-card--vertical-md .p-card__thumbnail-wrap{
    overflow: hidden;
    flex-basis: 50%;
    margin-right: 0;
  }

  .layout-b.p-card.p-card--vertical-md .p-card__body {
    flex-basis: 50%;
    display: table;
    height: 100%;
    padding: 1rem 2rem;
  }

  .layout-b.p-card.p-card--vertical-md .p-card__body__inner {
    display: table-cell;
    vertical-align: middle;
  }
}

/**
 * Heading EJ
 */

.layout-b.p-heading-ej  {
  position: relative;
}

/**
 * Hero
 */

 .layout-b.p-hero__controller .slick-dots {
  display: inline-block;
}

@media print, screen and (min-width: 768px) {
  .layout-b.p-hero__controller {
    position: relative;
    right: 0;
    bottom: 4rem;
    left: 2rem;
  }
}

.layout-b.p-card.p-card--shifted.p-card--shifted--hero {
  padding-right: 0;
}

/**
 * Share Buttons
 */

 .layout-b.p-share-buttons {
  border-radius: 0.5rem;
}

/**
 * Breadcrumbs
 */

.layout-b.p-list-breadcrumbs__item,
.layout-b.p-list-breadcrumbs__item a {
  color: #999;
}


