@charset "UTF-8";
/*背景色*/
body {
  background-color: #575F67 !important; }

/*単位*/
.c-section-widget {
  container-type: inline-size; }

/*ファーストビュー*/
.main-visual {
  position: absolute;
  top: 0;
  left: 0; }
  @media (min-width: 768px) {
    .main-visual {
      height: 90vh; } }
  @media (max-width: 767px) {
    .main-visual {
      height: 85vh; } }
  .main-visual div {
    height: 100%; }
  .main-visual .header-image-slider__item.is-responsive {
    height: 100%;
    object-fit: cover; }
  .main-visual .header-image-slider::after {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-image: url("/wp-content/package/page/top/img/firstview_overlay.png");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center; }
  .main-visual .slick-prev {
    left: 8px; }
  .main-visual .slick-next {
    right: 8px; }

#shortcod_section-3 {
  position: relative;
  width: 100vw;
  pointer-events: none; }
  #shortcod_section-3 .c-section-widget__inner,
  #shortcod_section-3 .l-content-widget,
  #shortcod_section-3 .alignfull,
  #shortcod_section-3 .u-row,
  #shortcod_section-3 .shortcod-content {
    width: 100%;
    height: 100%; }
  #shortcod_section-3 .firstview_text {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    color: #fff; }
    #shortcod_section-3 .firstview_text span {
      font-weight: 700;
      line-height: 1; }
  @media (min-width: 768px) {
    #shortcod_section-3 {
      height: 78vh; }
      #shortcod_section-3 .c-section-widget__inner {
        padding-top: 86px;
        width: 100%;
        height: 100%;
        padding: 0; }
      #shortcod_section-3 .firstview_text {
        width: 100%;
        height: 100%;
        padding: 5cqw; }
        #shortcod_section-3 .firstview_text span,
        #shortcod_section-3 .firstview_text h1 {
          text-shadow: 0.125cqw 0.125cqw 0.625cqw rgba(0, 0, 0, 0.42); }
        #shortcod_section-3 .firstview_text span {
          font-weight: 700;
          line-height: 1; }
        #shortcod_section-3 .firstview_text .fs-middle {
          font-size: 6cqw; }
        #shortcod_section-3 .firstview_text .fs-big {
          font-size: 7.5cqw; }
        #shortcod_section-3 .firstview_text .fs-mini {
          font-size: 3.4cqw; }
        #shortcod_section-3 .firstview_text h1 {
          margin-top: 3em;
          font-size: 1.35cqw; } }
  @media (max-width: 767px) {
    #shortcod_section-3 {
      height: calc(85vh - 60px); }
      #shortcod_section-3 .firstview_text {
        position: absolute;
        bottom: 0;
        left: 0;
        padding: 5cqw; }
        #shortcod_section-3 .firstview_text span,
        #shortcod_section-3 .firstview_text h1 {
          text-shadow: 0.1875cqw 0.1875cqw 0.935cqw rgba(0, 0, 0, 0.42); }
        #shortcod_section-3 .firstview_text span {
          font-weight: 700;
          line-height: 1; }
        #shortcod_section-3 .firstview_text .fs-middle {
          font-size: 11cqw; }
        #shortcod_section-3 .firstview_text .fs-big {
          font-size: 13.7cqw; }
        #shortcod_section-3 .firstview_text .fs-mini {
          margin-top: 2cqw;
          font-size: 6cqw; }
        #shortcod_section-3 .firstview_text h1 {
          margin-top: 2cqw;
          font-size: 4cqw; } }

/*自己紹介*/
#content_box_section-3 {
  background-image: url("/wp-content/package/page/top/img/intro_bg.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center; }
  @media (max-width: 767px) {
    #content_box_section-3 .content-box__thumbnail {
      order: 1; }
    #content_box_section-3 .c-section-widget__inner {
      padding-bottom: 0 !important; }
    #content_box_section-3 .c-section-widget__title {
      font-size: 200%;
      line-height: 1.8; } }

/*事業内容～商品カタログ　グレー背景*/
#shortcod_section-21::before,
#shortcod_section-5::before,
#shortcod_section-8::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  display: block;
  background-color: rgba(231, 232, 234, 0.5);
  height: 100%; }
  @media (min-width: 768px) {
    #shortcod_section-21::before,
    #shortcod_section-5::before,
    #shortcod_section-8::before {
      width: 95%; } }
  @media (max-width: 767px) {
    #shortcod_section-21::before,
    #shortcod_section-5::before,
    #shortcod_section-8::before {
      width: 100%; } }

#shortcod_section-21::before {
  top: auto;
  bottom: 0; }
  @media (min-width: 768px) {
    #shortcod_section-21::before {
      height: 65%; } }
  @media (max-width: 767px) {
    #shortcod_section-21::before {
      height: 25%; } }

/*事業内容*/
#shortcod_section-21 .l-content-widget {
  z-index: 1; }

/*商品カタログ*/
#shortcod_section-8 .wrapper-column {
  position: relative; }
  #shortcod_section-8 .wrapper-column::after {
    content: "";
    display: block;
    aspect-ratio: 261/339;
    background-image: url("/wp-content/package/page/top/img/catalog_img.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center left; }
@media (max-width: 767px) {
  #shortcod_section-8 .wrapper-column {
    background: linear-gradient(to bottom, #fff 0%, #fff 75%, transparent 76%, transparent 100%); }
    #shortcod_section-8 .wrapper-column::after {
      width: 60%;
      margin: auto; }
  #shortcod_section-8 .shortcod-content {
    padding: 5cqw; } }
@media (min-width: 768px) {
  #shortcod_section-8 .wrapper-column {
    background: linear-gradient(to right, transparent 0%, transparent 10%, #fff 11%, #fff 100%); }
    #shortcod_section-8 .wrapper-column::after {
      position: absolute;
      z-index: 1;
      top: 50%;
      left: 0;
      transform: translateY(-49%);
      width: 25cqw; }
  #shortcod_section-8 .shortcod-content {
    position: relative;
    z-index: 0;
    margin-left: auto;
    width: 85cqw;
    padding: 2cqw 4cqw 2cqw 15.5cqw; } }
@media (min-width: 1200px) {
  #shortcod_section-8 .wrapper-column {
    padding: 48px 24px 48px 100px; }
    #shortcod_section-8 .wrapper-column::after {
      width: 300px; }
  #shortcod_section-8 .shortcod-content {
    width: 910px;
    padding: 24px 24px 24px 48px; } }
@media (min-width: 768px) {
  #shortcod_section-8 .c-section-widget__header {
    flex-direction: row !important;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0; }
  #shortcod_section-8 .c-section-widget__title {
    order: 0 !important;
    transform: none !important; } }
#shortcod_section-8 .c-section-widget__title {
  color: #222 !important; }
#shortcod_section-8 .c-section-widget__sub-title {
  color: #a9cee3 !important; }

/*企業情報*/
#shortcod_section-11 .c-section-widget__title {
  color: #a9cee3; }
#shortcod_section-11 .c-section-widget__sub-title {
  color: #fff; }
#shortcod_section-11 .wrapper-column {
  background-color: #021B2F; }
#shortcod_section-11 .shortcod-content {
  margin: 0; }
  @media (min-width: 768px) {
    #shortcod_section-11 .shortcod-content {
      width: 50% !important; } }
  #shortcod_section-11 .shortcod-content:first-of-type img {
    max-width: initial;
    height: 100%;
    object-fit: cover; }
  #shortcod_section-11 .shortcod-content:last-of-type {
    padding: 4cqw;
    color: #fff; }
    #shortcod_section-11 .shortcod-content:last-of-type .viewmore a {
      color: #fff;
      border-color: #fff; }
      #shortcod_section-11 .shortcod-content:last-of-type .viewmore a::after {
        color: #fff; }

/*施工事例*/
#shortcod_section-13 li, #shortcod_section-13 li a {
  color: #fff; }
#shortcod_section-13 .thumbnail {
  aspect-ratio: 377/251;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 1em;
  overflow: hidden; }
  #shortcod_section-13 .thumbnail img {
    object-fit: cover;
    height: 100%;
    max-width: initial; }
#shortcod_section-13 p {
  margin-bottom: 0; }
#shortcod_section-13 .splide__arrow--prev {
  left: -2em; }
#shortcod_section-13 .splide__arrow--next {
  right: -2em; }

/*採用情報*/
#shortcod_section-15 {
  background: linear-gradient(to bottom right, #004D79, #00273D); }
  #shortcod_section-15 .wrapper-column {
    justify-content: space-between;
    background-image: url("/wp-content/package/common/img/bg_mark.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center; }
    @media (max-width: 767px) {
      #shortcod_section-15 .wrapper-column {
        flex-direction: column-reverse; } }
  #shortcod_section-15 .shortcod-content {
    color: #fff; }
    @media (min-width: 768px) {
      #shortcod_section-15 .shortcod-content {
        margin: 0; }
        #shortcod_section-15 .shortcod-content:first-of-type {
          width: 35%; }
        #shortcod_section-15 .shortcod-content:last-of-type {
          width: 60%; } }
  #shortcod_section-15 .c-section-widget__header {
    margin-bottom: 0; }
  #shortcod_section-15 .c-section-widget__lead {
    font-weight: 700;
    line-height: 1.2; }
    @media (min-width: 768px) {
      #shortcod_section-15 .c-section-widget__lead {
        font-size: 300%;
        margin-top: 2cqw;
        margin-bottom: 2cqw; } }
    @media (max-width: 767px) {
      #shortcod_section-15 .c-section-widget__lead {
        font-size: 11cqw;
        margin-top: 4cqw;
        margin-bottom: 4cqw; } }

/*お知らせ*/
#shortcod_section-17 .l-content-widget:nth-of-type(2) {
  width: min(100%, 800px); }
#shortcod_section-17 li {
  display: flex;
  align-items: center;
  padding: 1em;
  border-bottom: 1px solid #fff;
  color: #fff; }
  #shortcod_section-17 li span {
    position: relative;
    width: 10em; }
    #shortcod_section-17 li span::after {
      position: absolute;
      top: 50%;
      right: 0;
      width: 1px;
      height: 1em;
      transform: translateY(-50%) rotate(45deg);
      color: #70A7D5; }
  #shortcod_section-17 li a {
    display: block;
    width: calc(100% - 10em);
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: 0.3s ease; }
    #shortcod_section-17 li a:hover {
      transform: translateY(2px); }

/*FAQ*/
@media (max-width: 767px) {
  #banner_section-3 .wrapper-column {
    justify-content: space-between; }
  #banner_section-3 [class^="column-"], #banner_section-3 [class*="column-"] {
    width: 48% !important; } }

/*アニメーション制御*/
#shortcod_section-3 .firstview_text,
#shortcod_section-21 #service-list,
#shortcod_section-11 .shortcod-content:first-of-type img,
#shortcod_section-17 .information_list,
#banner_section-3 .wrapper-column > div, #content_box_section-3 .content-box__body,
#shortcod_section-8 .shortcod-content,
#shortcod_section-11 .c-section-widget__lead,
#shortcod_section-15 .shortcod-content:last-of-type,
#faq_section-3 .faq-section, #contents .c-section-widget__header,
#content_box_section-3 .content-box__thumbnail,
shortcod_section-5　.ncButton_btn {
  opacity: 0;
  transition: transform 1s cubic-bezier(0.25, 1, 0.5, 1), opacity 1s ease-out;
  will-change: transform, opacity; }

#shortcod_section-3 .firstview_text,
#shortcod_section-21 #service-list,
#shortcod_section-11 .shortcod-content:first-of-type img,
#shortcod_section-17 .information_list,
#banner_section-3 .wrapper-column > div {
  transform: translateX(50px); }

#content_box_section-3 .content-box__body,
#shortcod_section-8 .shortcod-content,
#shortcod_section-11 .c-section-widget__lead,
#shortcod_section-15 .shortcod-content:last-of-type,
#faq_section-3 .faq-section {
  transform: translateX(-50px); }

#contents .c-section-widget__header,
#content_box_section-3 .content-box__thumbnail,
shortcod_section-5　.ncButton_btn {
  transform: translateX(0); }

#shortcod_section-3.is-animated .firstview_text,
#shortcod_section-21.is-animated #service-list,
#shortcod_section-11.is-animated .shortcod-content:first-of-type img,
#shortcod_section-17.is-animated .information_list,
#banner_section-3.is-animated .wrapper-column > div,
#content_box_section-3.is-animated .content-box__body,
#shortcod_section-8.is-animated .shortcod-content,
#shortcod_section-11.is-animated .c-section-widget__lead,
#shortcod_section-15.is-animated .shortcod-content:last-of-type,
#faq_section-3.is-animated .faq-section,
.c-section-widget.is-animated .c-section-widget__header,
#content_box_section-3.is-animated .content-box__thumbnail,
#shortcod_section-5.is-animated .ncButton_btn {
  opacity: 1 !important;
  transform: translate(0, 0) !important;
  visibility: visible !important; }

.c-section-widget__inner {
  overflow: hidden; }
