<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "UTF-8";

/*-------------------------------------------*/
/*	PC
/*-------------------------------------------*/

@media screen and (min-width:900px) {

  /* =====================
    wrapper
  ===================== */

  #wrapper {
    padding-top: 0;
  }

  /* =====================
    fv
  ===================== */

  #fv {
    height: 100vh;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    position: relative;
    padding-bottom: 40px;
    margin-bottom: 200px;
  }

  #fv .ttl {
    width: 16.2vw;
    margin: 0 auto 40px;
    padding-top: 8vh;
  }
    
    #fv .ttl:lang(en) {
    width: 24vw;
    padding-top: 8vh;
  }

  #fv .text {
    /*font-size: 16px;*/
    font-size: 1.0vw;
    font-weight: 700;
    text-align: center;
    letter-spacing: 2.5px;
    line-height: 2.0;
  }

  .scroll {
    font-size: 12px;
    font-weight: 500;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
  }

  .scroll a {
    display: block;
    padding-bottom: 32px;
    position: relative;
  }

  .scroll a::before {
    content: '';
    width: 1px;
    height: 26px;
    display: block;
    background: #171717;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    animation: linemove 3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s infinite;
  }

  /* =====================
    container
  ===================== */

  .contents {
    padding: 100px 0;
  }

  .ttl_img {
    max-width: 100%;
    margin-bottom: 70px;
  }

  .text._bold {
    line-height: 2;
    padding-bottom: 70px;
  }

  /* =====================
    news
  ===================== */

  #news .ttl_area {
    margin-bottom: 60px;
  }

  #news .inner {
    position: relative;
    padding-bottom: 160px;
  }

  /*  news_slick
  ------------------------*/

  .news_slick {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    overflow: hidden;
  }

  .news_slick_inner {
    position: relative;
    margin-left: calc( (100vw - 1200px) /2 );
  }

  .slick-track {
    display: flex;
  }

  .slick-slide {
    height: auto !important;
  }

  .news_slick .news_item {
    width: 370px;
    margin-right: 40px;
    height: 100%;
  }

  .news_slick .news_item a {
    -webkit-flex-direction: column-reverse;
    flex-direction: column-reverse;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
    height: 100%;
  }

  .news_slick .news_item .thumb {
    position: relative;
    margin-bottom: 20px;
  }

  .news_slick .news_item .thumb::before {
    content: '';
    display: block;
    padding-top: 56.217%;
  }

  .news_slick .news_item .thumb img {
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
  }

  .news_slick .news_text {
    -webkit-flex-direction: column;
    flex-direction: column;
    height: 100%;
  }

  .news_slick .news_item .ttl {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    margin-bottom: 10px;
    letter-spacing: 1.5px;
    -webkit-flex-grow: 1;
    flex-grow: 1;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .news_slick .news_item .date {
    font-size: 12px;
    letter-spacing: 1px;
  }

  .news_slick .news_item .cat {
    border: none;
    margin: 0 0 0 15px;
    opacity: .5;
  }

  .news_slick .slick-list {
    overflow: visible;
  }

  .slick_nav_area {
    -webkit-justify-content: center;
    justify-content: center;
    position: absolute;
    bottom: 0;
    right: 0;
  }

  .slick_nav_area .slick_nav {
    cursor: pointer;
  }

  .slick_nav_area .prev {
    margin-right: 20px;
    transform: scale(-1, 1);
  }

  .slick_nav_area .next.invalid {
    /*opacity: .7;*/
    pointer-events: none;
  }

  .slider_progress {
    display: block;
    width: calc(100% - 26px);
    margin: auto;
    margin-top: 66px;
    background: rgba(112, 112, 112, 0.1);
    height: 2px;
    border-radius: 2px;
    position: relative;
    overflow: hidden;
  }

  .slider_progress &gt; div {
    position: absolute;
    left: 0;
    top: 0;
    background: #171717;
    height: 100%;
    transition: .3s ease-out;
  }

  @media screen and (max-width:1333px) {
    .news_slick_inner {
      margin-left: 5%;
    }
  }

  /* =====================
    company
  ===================== */

  #company .ttl_img {
    width: 825px;
  }

  /*  company_list
  ------------------------*/

  .company_list {
    margin-top: 135px;
  }

  .company_list .link_item {
    line-height: 1.2;
  }

  .company_list .link_item a {
    -webkit-flex-direction: column-reverse;
    flex-direction: column-reverse;
    position: relative;
    padding: 40px 40px 37px 100px;
  }

  .company_list .link_item .ja {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1px;
  }

  .company_list .link_item .en {
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 1.5px;
  }

  .company_list .link_item .arrow {
    position: absolute;
    top: 50%;
    left: 40px;
    transform: translateY(-50%);
  }

  /* =====================
    service
  ===================== */

  #service .ttl_img {
    width: 674px;
  }

  /*  service_list
  ------------------------*/

  .service_list {
    margin-top: 135px;
  }

  /* =====================
    works
  ===================== */

  #works .ttl_img {
    width: 907px;
  }

  #works .box_list {
    margin-top: 135px;
    -webkit-align-items: flex-start;
    align-items: flex-start;
  }

  #works .box_item {
    max-width: 560px;
    width: 47%;
  }

  #works .box_item:nth-of-type(even) {
    margin: 300px 0 -175px;
  }

  #works .box_item:nth-child(even):last-child {
    margin-bottom: 0;
  }

  /* =====================
    recruit
  ===================== */

  #recruit {
    margin-top: 120px;
    background: url(/images/home/recruit_bg.jpg) no-repeat top center;
    background-size: cover;
    color: #fff;
    position: relative;
    z-index: 1;
    padding-bottom: 180px;
  }

  #recruit::before {
    content: '';
    width: 100%;
    height: 100%;
    display: block;
    background: #2C2C2C;
    opacity: .69;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }

  .recruit_ttl {
    font-size: 100px;
    font-weight: 100;
    line-height: 1.2;
    letter-spacing: 8px;
    margin-bottom: 60px;
  }

  #recruit .text {
    margin-bottom: 55px;
  }

  #recruit .btn_view {
    font-size: 15px;
  }

  #recruit .btn_view a {
    color: #fff;
  }

  #recruit .btn_view .arrow {
    border: none;
  }

  #recruit .btn_view span:not(.arrow) {
    border-color: #fff;
  }

  /* =====================
    contact
  ===================== */

  #contact {
    margin-top: 130px;
  }

  /* =====================
    index
  ===================== */
  .index_wrap {
    position: fixed;
    top: 50%;
    left: 0px;
    width: 20px;
    z-index: 9999;
    transform: translateY(-50%);
    transition: 1.0s linear;
    opacity: 0;
  }
  .index_wrap.show {
    opacity: 1;
  }
  .index {
    padding-left: 20px;
  }
  .index li {
    list-style: none;
    color: #999999;
  }
  .index li a {
    padding: 10px;
    display: block;
  }
  .index li a span {
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #171717;
    transition: 0.2s linear;
  }
  .index li:nth-child(1) a.active span {
    background: #E88989;
  }
  .index li:nth-child(2) a.active span {
    background: #FBAB86;
  }
  .index li:nth-child(3) a.active span {
    background: #B3E0AE;
  }
  .index li:nth-child(4) a.active span {
    background: #9DCAF7;
  }
  .index li:nth-child(5) a.active span {
    background: #C075B8;
  }

  /* =====================
    motif
  ===================== */
  .top_motif {
    width: 100%;
    height: 100%;
    position: fixed;
    overflow: hidden;
    top: 0;
    opacity: 0;
    transform: scale(3) rotate(60deg);
    transition: 1.6s cubic-bezier(0.87, 0, 0.13, 1);
  }
  .top_motif.noanime {
    transition: none;
  }
  .top_motif .inner_motif {
    width: 100%;
    max-width: 1800px;
    height: 100%;
    margin: 0px auto 0;
    overflow: hidden;
    top: 0;
    position: relative;
    z-index: -1;
  }
  .top_motif .inner_motif div {
    position: absolute;
    width: 100%;
    transition: 1.8s cubic-bezier(0, 0.55, 0.45, 1); /* STEP間でモチーフが切り替わる時間 */
  }

  /* STEP 1
     デフォルト位置を維持するため「.step1」の付与はしない
  */
  .top_motif.step1 {
    opacity: 1;
    transform: scale(1) rotate(0deg); /* STEP用モチーフ表示時の動き */
  }
  #motif_service {
    transform: scale(0.38) rotate(19deg) translate(-55%, 5%);
  }
  #motif_company {
    transform: scale(1.0) rotate(0deg) translate(15%, -6%);
  }
  #motif_works {
    transform: scale(0.38) rotate(92deg) translate(55%, 108%);
  }
  #motif_other {
    transform: scale(0.38) rotate(155deg) translate(35%, -120%);
  }
  /* STEP 2 */
  .top_motif.step2 #motif_service {
    transform: scale(1.1) rotate(0deg) translate(-15%, 8%);
  }
  .top_motif.step2 #motif_company {
    transform: scale(0.38) rotate(-80deg) translate(30%, 80%);
  }
  .top_motif.step2 #motif_works {
    transform: scale(0.38) rotate(27deg) translate(40%, 120%);
  }
  .top_motif.step2 #motif_other {
    transform: scale(0.38) rotate(125deg) translate(-10%, -120%);
  }
  /* STEP 3 */
  .top_motif.step3 #motif_service {
    transform: scale(0.38) rotate(-85deg) translate(-30%, -90%);
  }
  .top_motif.step3 #motif_company {
    transform: scale(0.38) rotate(-180deg) translate(50%, 60%);
  }
  .top_motif.step3 #motif_works {
    transform: scale(1.1) rotate(0deg) translate(18%, 25%);
  }
  .top_motif.step3 #motif_other {
    transform: scale(0.38) rotate(6deg) translate(15%, -70%);
  }
  /* STEP 4 */
  .top_motif.step4 #motif_service {
    transform: scale(0.38) rotate(-180deg) translate(-10%, -110%);
  }
  .top_motif.step4 #motif_company {
    transform: scale(0.38) rotate(-282deg) translate(45%, 140%);
  }
  .top_motif.step4 #motif_works {
    transform: scale(0.38) rotate(-25deg) translate(45%, 90%);
  }
  .top_motif.step4 #motif_other {
    transform: scale(1.1) rotate(-5deg) translate(-10%, -5%);
  }
}

/*-------------------------------------------*/
/*	SP
/*-------------------------------------------*/

@media screen and (max-width:899px) {

  /* =====================
    wrapper
  ===================== */

  #wrapper {
    padding-top: 0;
  }

  /* =====================
    fv
  ===================== */

  #fv {
    height: 100vh;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    position: relative;
    padding-bottom: 40px;
    margin-bottom: 5px;
  }

  #fv .ttl {
    width: 179px;
    margin: 0 auto 35px;
  }

  #fv .text {
    font-size: 12px;
    font-weight: 700;
    text-align: center;
    letter-spacing: 2px;
    line-height: 1.9;
  }

  .scroll {
    font-size: 10px;
    font-weight: 500;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
  }

  .scroll a {
    display: block;
    padding-bottom: 30px;
    position: relative;
  }

  .scroll a::before {
    content: '';
    width: 1px;
    height: 30px;
    display: block;
    background: #171717;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    animation: linemove 3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s infinite;
  }

  /* =====================
    container
  ===================== */

  .contents {
    padding: 60px 0;
  }

  .ttl_img {
    max-width: 100%;
    margin: 0 auto 55px;
  }

  .text._bold {
    line-height: 2;
    padding-bottom: 45px;
  }

  /* =====================
    news
  ===================== */

  #news {
    padding-bottom: 80px;
  }

  #news .ttl_area {
    margin-bottom: 40px;
  }

  #news .inner {
    position: relative;
    padding-bottom: 70px;
  }

  /*  news_slick
  ------------------------*/

  .news_slick {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    overflow: hidden;
  }

  .news_slick_inner {
    position: relative;
    margin-left: 6.5%;
  }

  @media screen and (min-width:575px) {
    .news_slick_inner {
      margin-left: calc( (100vw - 500px) /2 );
    }
  }


  .slick-track {
    display: flex;
  }

  .slick-slide {
    height: auto !important;
  }

  .news_slick .news_item {
    width: 160px;
    height: 100%;
    margin-right: 20px;
  }

  .news_slick .news_item a {
    -webkit-flex-direction: column-reverse;
    flex-direction: column-reverse;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
    height: 100%;
  }

  .news_slick .news_item .thumb {
    position: relative;
    margin-bottom: 10px;
  }

  .news_slick .news_item .thumb::before {
    content: '';
    display: block;
    padding-top: 56.217%;
  }

  .news_slick .news_item .thumb img {
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
  }

  .news_slick .news_text {
    -webkit-flex-direction: column;
    flex-direction: column;
    height: 100%;
  }

  .news_slick .news_item .ttl {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
    -webkit-flex-grow: 1;
    flex-grow: 1;
  }

  .news_slick .news_item .date {
    font-size: 10px;
    letter-spacing: 1px;
  }

  .news_slick .news_item .cat {
    border: none;
    opacity: .5;
    font-size: 10px;
  }

  .news_slick .slick-list {
    overflow: visible;
  }

  .slick_nav_area {
    -webkit-justify-content: center;
    justify-content: center;
    position: absolute;
    bottom: 0;
    right: 0;
  }

  .slick_nav_area .slick_nav {
    cursor: pointer;
  }

  .slick_nav_area .slick_nav .arrow {
    width: 30px;
    height: 30px;
  }

  .slick_nav_area .prev {
    margin-right: 10px;
    transform: scale(-1, 1);
  }

  .slider_progress {
    display: block;
    width: 100%;
    margin: auto;
    margin-top: 33px;
    background: rgba(112, 112, 112, 0.1);
    height: 2px;
    border-radius: 2px;
    position: relative;
    overflow: hidden;
  }

  .slider_progress &gt; div {
    position: absolute;
    left: 0;
    top: 0;
    background: #171717;
    height: 100%;
    transition: .3s ease-out;
  }

  /* =====================
    company
  ===================== */

  #company .ttl_img {
    width: 298px;
  }

  /*  company_list
  ------------------------*/

  .company_list {
    margin-top: 70px;
  }

  .company_list .link_item {
    line-height: 1.2;
    margin-bottom: 10px;
  }

  .company_list .link_item:last-of-type {
    margin-bottom: 0;
  }

  .company_list .link_item a {
    -webkit-flex-direction: column-reverse;
    flex-direction: column-reverse;
    position: relative;
    padding: 22px 20px 22px 69px;
  }

  .company_list .link_item .ja {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
  }

  .company_list .link_item .en {
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 3px;
  }

  .company_list .link_item .arrow {
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
  }

  /* =====================
    service
  ===================== */

  #service .ttl_img {
    width: 240px;
  }

  /*  service_list
  ------------------------*/

  .service_list {
    margin-top: 70px;
  }

  /* =====================
    works
  ===================== */

  #works .ttl_img {
    width: 308px;
  }

  #works .box_list {
    margin-top: 90px;
  }

  /* =====================
    recruit
  ===================== */

  #recruit {
    background: url(/images/home/recruit_bg_sp.jpg) no-repeat top center;
    background-size: cover;
    color: #fff;
    position: relative;
    z-index: 1;
    padding: 65px 0 75px;
  }

  #recruit::before {
    content: '';
    width: 100%;
    height: 100%;
    display: block;
    background: #2C2C2C;
    opacity: .69;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }

  .recruit_ttl {
    font-size: 50px;
    font-weight: 100;
    line-height: 1.2;
    letter-spacing: 4px;
    margin-bottom: 30px;
  }

  #recruit .text {
    margin-bottom: 85px;
  }

  #recruit .btn_view {
    font-size: 15px;
  }

  #recruit .btn_view a {
    color: #fff;
  }

  #recruit .btn_view .arrow {
    border: none;
  }

  #recruit .btn_view span:not(.arrow) {
    border-color: #fff;
  }

   /* =====================
    index
  ===================== */
  .index_wrap {
    display: none;
  }
  /* =====================
    motif
  ===================== */
  .top_motif {
    width: 100%;
    height: 100%;
    position: fixed;
    overflow: hidden;
    top: 0;
    opacity: 0;
    transform: scale(3) rotate(60deg);
    transition: 1.6s cubic-bezier(0.87, 0, 0.13, 1);
  }
  .top_motif.noanime {
    transition: none;
  }
  .top_motif .inner_motif {
    width: 100%;
    max-width: 1800px;
    height: 100%;
    margin: 0px auto 0;
    overflow: hidden;
    top: 0;
    position: relative;
    z-index: -1;
  }
  .top_motif .inner_motif div {
    position: absolute;
    width: 100%;
    transition: 1.2s ease-out; /* STEP間でモチーフが切り替わる時間 */
  }

  /* STEP 1
     デフォルト位置を維持するため「.step1」の付与はしない
  */
  .top_motif.step1 {
    opacity: 1;
    transform: scale(1) rotate(0deg); /* STEP用モチーフ表示時の動き */
  }
  #motif_service {
    transform: scale(0.5) rotate(19deg) translate(-31%, 155%);
  }
  #motif_company {
    transform: scale(1.5) rotate(0deg) translate(16%, 59%);
  }
  #motif_works {
    transform: scale(0.5) rotate(92deg) translate(140%, 160%);
  }
  #motif_other {
    transform: scale(0.5) rotate(155deg) translate(100%, -280%);
  }
  /* STEP 2 */
  .top_motif.step2 #motif_service {
    transform: scale(1.8) rotate(0deg) translate(-12%, 50%);
  }
  .top_motif.step2 #motif_company {
    transform: scale(0.5) rotate(-130deg)  translate(-78%,70%);
  }
  .top_motif.step2 #motif_works {
    transform: scale(0.5) rotate(27deg) translate(85%, 265%);
  }
  .top_motif.step2 #motif_other {
    transform: scale(0.5) rotate(125deg) translate(50%, -250%);
  }
  /* STEP 3 */
  .top_motif.step3 #motif_service {
    transform: scale(0.4) rotate(-85deg) translate(-165%, -100%);
  }
  .top_motif.step3 #motif_company {
    transform: scale(0.6) rotate(-180deg) translate(65%, -70%);
  }
  .top_motif.step3 #motif_works {
    transform: scale(1.8) rotate(0deg) translate(13%, 40%);
  }
  .top_motif.step3 #motif_other {
    transform: scale(0.4) rotate(6deg) translate(0%, 9%);
  }
  /* STEP 4 */
  .top_motif.step4 #motif_service {
    transform: scale(0.5) rotate(-180deg) translate(-28%, -280%);
   }
  .top_motif.step4 #motif_company {
    transform: scale(0.5) rotate(-282deg) translate(145%, 140%);
  }
  .top_motif.step4 #motif_works {
    transform: scale(0.5) rotate(-25deg) translate(48%, 190%);
  }
  .top_motif.step4 #motif_other {
    transform: scale(1.7) rotate(-5deg) translate(-10%, 30%);
  }
}

/*-------------------------------------------*/
/*	FVアニメーション
/*-------------------------------------------*/
#home.fade::after {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  z-index: 9999;
  pointer-events: none;
  opacity: 1;
  transition: 1.0s ease;
}
@media screen and (min-width:900px) {
  .blocks {
    width: 100%;
    height: 100%;
    margin: 0px auto 0;
    overflow: hidden;
    top: 0;
    position: fixed;
    transform: scale(1.7);
    z-index: -1;
    transition:1.8s cubic-bezier(0.87, 0, 0.13, 1)
  }
  .step {
    width: 100%;
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
  }
  .top_anime {
    width: 100%;
    height: 100%;
    margin: 0px auto 0;
    position: relative;
    opacity: 0;
  }
  .blocks.hide {
    transform: scale(5);
    transition:1.2s cubic-bezier(0.87, 0, 0.13, 1);
    opacity: 0;
  }
  #step_01 {
    opacity: 0;
  }
  #step_02 {
    opacity: 0;
  }
  #step_03 {
    opacity: 0;
    z-index: 10;
    width: 120px;
    height: 66px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
  }
}
@media screen and (max-width:899px) {
  .blocks {
    width: 100%;
    height: 100vh;
    margin: 0px auto 0;
    overflow: hidden;
    top: 0;
    position: fixed;
    transform: scale(1.17);
    z-index: -1;
    transition:1.8s cubic-bezier(0.87, 0, 0.13, 1)
  }
  .step {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
  }
  .top_anime {
    width: 100%;
    height: 100%;
    margin: 0px auto 0;
    position: relative;
    opacity: 0;
  }
  .blocks.hide {
    transition:1.2s cubic-bezier(0.87, 0, 0.13, 1);
    transform: scale(5);
    opacity: 0;
  }
  #step_01 {
    opacity: 0;
  }
  #step_02 {
    opacity: 0;
  }
  #step_03 {
    opacity: 0;
    z-index: 10;
    width: 100px;
    height: 58px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
  }
}
#header, #fv {
  opacity: 1;
  animation: fvfade 9.0s;
}
#header.noanime,
#fv.noanime {
  animation: none;
}
@keyframes fvfade {
  0% {
    opacity: 0;
  }
  80% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes linemove {
  0% {
    transform: scaleY(0);
    transform-origin: center top;
  }
  25% {
    transform: scaleY(1);
    transform-origin: center top;
  }
  55% {
    transform: scaleY(1);
    transform-origin: center bottom;
  }
  80% {
    transform: scaleY(0);
    transform-origin: center bottom;
  }
  100% {
    transform: scaleY(0);
    transform-origin: center bottom;
  }
}
/* =====================
    白縁テキスト
  ===================== */
  .stroke {
    text-shadow:
    0.05em 0.05em 0px #fff,
    -0.05em -0.05em 0px #fff,
    -0.05em 0.05em 0px #fff, 
    0.05em -0.05em 0px #fff,
    0.05em 0px 0px #fff,
    -0.05em 0px 0px #fff,
    0px 0.05em 0px #fff, 
    0px -0.05em 0px #fff;
}</pre></body></html>