<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "UTF-8";
/*import
------------------------------------------*/
/*reset*/
*, *:after, *:before {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box; }

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

img {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent; }

html {
  font-size: 100%; }

body {
  line-height: 1; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

nav ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  outline: none !important; }

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: 700; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

dfn {
  font-weight: 400;
  font-style: normal; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

input, select {
  vertical-align: middle; }

li {
  list-style: none; }

/*html body setting*/
html {
  overflow-y: scroll;
  font-size: 62.5%;
  padding: 0;
  margin: 0;
  width: 100%; }

body {
  position: relative;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.6;
  background: #fff;
  color: #333;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  width: 100%;
  height: 100%;
  margin: auto;
  text-rendering: optimizeLegibility;
  font-kerning: normal;
  font-variant-ligatures: common-ligatures contextual;
  font-feature-settings: "kern", "liga", "clig", "calt"; }

/*px base setting*/
#pxBase sup {
  vertical-align: super;
  font-size: .5em; }
#pxBase a:link,
#pxBase a:visited,
#pxBase a:active,
#pxBase a:hover {
  text-decoration: none; }
#pxBase figure {
  position: relative; }
#pxBase img {
  max-width: 100%;
  width: 100%;
  height: auto; }
  #pxBase img.object-fit {
    object-fit: cover;
    height: 100%; }

/* visible or hidden
--------------------------------------------------------------------------------*/
@media only screen and (max-width: 991px) {
  .visible-pc {
    display: none !important; } }
@media only screen and (max-width: 767px) {
  .visible-pctb {
    display: none !important; } }
@media only screen and (min-width: 992px) {
  .visible-tbsp {
    display: none !important; } }
@media only screen and (min-width: 768px) {
  .visible-sp {
    display: none !important; } }
.visible-xs, .visible-sm, .visible-md, .visible-lg {
  display: none !important; }

@media (max-width: 767px) {
  .hidden-xs {
    display: none !important; }

  .visible-xs {
    display: block !important; } }
/*数値の設定
------------------------------------------*/
/*上記数値の設定を呼び出しているmixin
------------------------------------------*/
/*
よく使用するmixin
------------------------------------------*/
/*
使用するフォントを読み込んでください
*/
/*layout
------------------------------------------*/
.column1 {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -15px; }
  .column1 &gt; * {
    margin: 0 15px;
    width: calc(100% - 30px); }
    .column1 &gt; *:nth-child(n+2) {
      margin-top: 40px; }

.column2 {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -15px; }
  .column2 &gt; * {
    margin: 0 15px;
    width: calc(50% - 30px); }
    .column2 &gt; *:nth-child(n+3) {
      margin-top: 40px; }

.column3 {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -15px; }
  .column3 &gt; * {
    margin: 0 15px;
    width: calc(33.3333% - 30px); }
    .column3 &gt; *:nth-child(n+4) {
      margin-top: 40px; }

.column4 {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -15px; }
  .column4 &gt; * {
    margin: 0 15px;
    width: calc(25% - 30px); }
    .column4 &gt; *:nth-child(n+5) {
      margin-top: 40px; }

.column5 {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -15px; }
  .column5 &gt; * {
    margin: 0 15px;
    width: calc(20% - 30px); }
    .column5 &gt; *:nth-child(n+6) {
      margin-top: 40px; }

/*animation
------------------------------------------*/
/*common
------------------------------------------*/
/*全体のフォント指定*/
body {
  font-family: YakuHanJP, 'Poppins', "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", eiryo, sans-serif;
  font-weight: 500; }
  body p {
    font-size: 16px; }
  body td {
    font-size: 16px; }
    @media only screen and (max-width: 991px) {
      body td {
        font-size: 14px; } }

/*text*/
.kvTitle {
  font-size: 9.4rem;
  font-weight: 500;
  letter-spacing: .5rem; }

.pageTitle {
  font-size: 4.8rem;
  font-weight: 500; }
  .pageTitle + * {
    margin-top: 60px; }
  @media only screen and (max-width: 767px) {
    .pageTitle {
      font-size: 3.8rem; } }

.sectionTitle {
  font-size: 4rem;
  font-weight: 700; }
  .sectionTitle + * {
    margin-top: 60px; }
  @media only screen and (max-width: 767px) {
    .sectionTitle {
      font-size: 3rem; } }

.containerTitle {
  font-size: 2rem;
  font-weight: 700; }
  @media only screen and (max-width: 767px) {
    .containerTitle {
      font-size: 1.8rem; } }

/*icon*/
.dlLink::after {
  content: "\f090";
  font-family: 'Material Symbols Outlined';
  margin-left: 1rem;
  vertical-align: middle; }

.outLink::after {
  font-family: 'Material Symbols Outlined';
  content: "\e89e";
  margin-left: 1rem;
  vertical-align: middle; }

/*img*/
figure .imgcap {
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 0 5px;
  line-height: 1.2;
  font-size: 1.1rem;
  color: #222;
  color: #fff; }

/*layout
------------------------------------------*/
/*sectionWrap*/
.sectionWrap {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto; }
  @media only screen and (max-width: 1440px) {
    .sectionWrap {
      max-width: 92%; } }
  @media only screen and (max-width: 767px) {
    .sectionWrap {
      max-width: 88%; } }

.sectionWrap-full {
  width: 100%;
  max-width: none;
  margin: 0 auto; }

body {
  background: #FCFCFC;
  color: #333333; }

header {
  position: fixed;
  top: 20px;
  left: 50%;
  transform: translate(-50%, 0);
  width: calc(100% - 40px);
  z-index: 1000; }
  @media only screen and (max-width: 991px) {
    header {
      width: calc(100% - 10px); } }
  header .header-inner {
    width: 100%;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #FFFFFF;
    border-radius: 40px;
    position: relative;
    z-index: 0;
    box-shadow: 0px 3px 20px rgba(0, 0, 0, 0.05); }
    @media only screen and (max-width: 991px) {
      header .header-inner {
        padding: 20px 10px; } }
    header .header-inner .header-flex-content {
      z-index: 1; }
      @media only screen and (max-width: 991px) {
        header .header-inner .header-flex-content.humwrap {
          width: 100%;
          position: absolute;
          top: 36px;
          left: 50%;
          transform: translate(-50%, 0%);
          z-index: -1;
          background: #fff;
          border-radius: 0px 0px 40px 40px;
          overflow: hidden;
          height: 0;
          transition: 0.4s ease; } }
      @media only screen and (max-width: 991px) {
        header .header-inner .header-flex-content.humwrap .header-nav {
          padding: 60px 40px 40px 40px;
          flex-wrap: wrap; } }
      @media only screen and (max-width: 767px) {
        header .header-inner .header-flex-content.humwrap .header-nav {
          flex-direction: column; } }
      header .header-inner .header-flex-content.humwrap a {
        text-decoration: none;
        color: #333333;
        font-size: 16px;
        font-weight: bold;
        display: inline-block; }
        @media only screen and (max-width: 991px) {
          header .header-inner .header-flex-content.humwrap a {
            width: 30%; } }
        @media only screen and (max-width: 767px) {
          header .header-inner .header-flex-content.humwrap a {
            width: 100%; } }
        header .header-inner .header-flex-content.humwrap a.is-current {
          color: #295CA9 !important; }
        header .header-inner .header-flex-content.humwrap a.nav-list {
          padding-left: 14px;
          position: relative; }
          @media only screen and (max-width: 1280px) {
            header .header-inner .header-flex-content.humwrap a.nav-list {
              font-size: 12px; } }
          @media only screen and (max-width: 991px) {
            header .header-inner .header-flex-content.humwrap a.nav-list {
              font-size: 20px; } }
          header .header-inner .header-flex-content.humwrap a.nav-list:before {
            content: "";
            position: absolute;
            top: 50%;
            left: 0;
            width: 6px;
            height: 6px;
            border-radius: 50%;
            background: #295CA9;
            transform: translate(0, -50%); }
      header .header-inner .header-flex-content .logo {
        margin-left: 50px;
        max-width: 269px;
        line-height: 0; }
        header .header-inner .header-flex-content .logo img {
          width: 100%; }
        @media only screen and (max-width: 1280px) {
          header .header-inner .header-flex-content .logo {
            max-width: 200px; } }
        @media only screen and (max-width: 991px) {
          header .header-inner .header-flex-content .logo {
            margin-left: 40px;
            width: 170px; } }
      header .header-inner .header-flex-content .header-nav {
        display: flex;
        width: 100%;
        justify-content: space-between;
        align-items: center;
        gap: 3vw; }
        @media only screen and (max-width: 991px) {
          header .header-inner .header-flex-content .header-nav {
            gap: 20px; } }
        header .header-inner .header-flex-content .header-nav .cv-btn {
          padding: 20px 30px 20px 40px;
          border-radius: 30px;
          background: linear-gradient(to right, #285CA9, #1C7CB2);
          position: relative;
          color: #fff;
          line-height: 1; }
          @media only screen and (max-width: 1280px) {
            header .header-inner .header-flex-content .header-nav .cv-btn {
              font-size: 14px; } }
          @media only screen and (max-width: 767px) {
            header .header-inner .header-flex-content .header-nav .cv-btn {
              text-align: center; } }
          header .header-inner .header-flex-content .header-nav .cv-btn:before {
            position: absolute;
            top: 50%;
            left: 30px;
            transform: translate(-50%, -50%);
            width: 4px;
            height: 4px;
            border-radius: 50%;
            background: #fff;
            content: ""; }
    header .header-inner .hum-btn {
      display: none; }
      @media only screen and (max-width: 991px) {
        header .header-inner .hum-btn {
          position: absolute;
          top: 50%;
          right: 10px;
          transform: translateY(-50%);
          width: 60px;
          height: 60px;
          background: linear-gradient(to bottom, #285CA9, #1C7CB2);
          z-index: 3;
          display: inline-block;
          border-radius: 50%;
          cursor: pointer;
          transition: 0.4s ease; }
          header .header-inner .hum-btn.active {
            transform: translateY(-50%) rotate(90deg);
            background: linear-gradient(to bottom, #fff, #fff);
            border: #285CA9 1px solid; }
            header .header-inner .hum-btn.active span:nth-of-type(1) {
              opacity: 0; }
            header .header-inner .hum-btn.active span:nth-of-type(2) {
              height: 18px;
              background: linear-gradient(to bottom, #285CA9, #1C7CB2); }
            header .header-inner .hum-btn.active span:nth-of-type(3) {
              opacity: 0; }
          header .header-inner .hum-btn span {
            width: 3px;
            height: 3px;
            border-radius: 20px;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            background: #fff;
            transition: 0.4s ease; }
            header .header-inner .hum-btn span:nth-of-type(1) {
              top: calc(50% - 7px); }
            header .header-inner .hum-btn span:nth-of-type(2) {
              height: 3px; }
            header .header-inner .hum-btn span:nth-of-type(3) {
              top: calc(50% + 7px); }
          header .header-inner .hum-btn:hover {
            transform: translateY(-50%) rotate(90deg); } }

.cv-sec {
  width: 100%;
  margin-bottom: -100px; }
  @media only screen and (max-width: 991px) {
    .cv-sec {
      margin-bottom: -80px; } }
  .cv-sec .cv-inner {
    width: calc(100% - 20px);
    display: flex;
    margin: 0 auto;
    justify-content: space-between; }
    @media only screen and (max-width: 991px) {
      .cv-sec .cv-inner {
        flex-wrap: wrap;
        gap: 5px; } }
    .cv-sec .cv-inner .entry-contact {
      width: calc(50% - 5px);
      border-radius: 40px; }
      @media only screen and (max-width: 991px) {
        .cv-sec .cv-inner .entry-contact {
          width: 100%; } }
      .cv-sec .cv-inner .entry-contact:nth-of-type(1) {
        background: linear-gradient(125deg, #FF8D8D, #FFBC80); }
      .cv-sec .cv-inner .entry-contact:nth-of-type(2) {
        background: linear-gradient(125deg, #285CA9, #1C7CB2); }
      .cv-sec .cv-inner .entry-contact a {
        text-decoration: none;
        padding: 40px 60px 40px 70px;
        display: inline-block;
        width: 100%; }
        @media only screen and (max-width: 767px) {
          .cv-sec .cv-inner .entry-contact a {
            padding: 30px; } }
        .cv-sec .cv-inner .entry-contact a .entry-img {
          width: 100%;
          padding-left: 50%;
          position: relative; }
          @media only screen and (max-width: 767px) {
            .cv-sec .cv-inner .entry-contact a .entry-img {
              padding-left: 55%; } }
          .cv-sec .cv-inner .entry-contact a .entry-img:before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            width: 6px;
            height: 6px;
            border-radius: 50%;
            background: #fff; }
          .cv-sec .cv-inner .entry-contact a .entry-img figure {
            width: 100%;
            position: relative;
            border-radius: 20px;
            overflow: hidden;
            line-height: 0; }
            .cv-sec .cv-inner .entry-contact a .entry-img figure img {
              width: 100%;
              height: auto; }
        .cv-sec .cv-inner .entry-contact a .entry-contant-btnwrap {
          width: 100%;
          display: flex;
          justify-content: space-between;
          margin-top: 40px;
          align-items: end; }
          @media only screen and (max-width: 767px) {
            .cv-sec .cv-inner .entry-contact a .entry-contant-btnwrap {
              margin-top: 40px; } }
          .cv-sec .cv-inner .entry-contact a .entry-contant-btnwrap .entry-contant-text {
            display: flex;
            flex-direction: column; }
            .cv-sec .cv-inner .entry-contact a .entry-contant-btnwrap .entry-contant-text .en {
              font-size: 14px;
              line-height: 1;
              margin-bottom: 10px;
              color: #fff;
              font-weight: bold; }
            .cv-sec .cv-inner .entry-contact a .entry-contant-btnwrap .entry-contant-text .ja {
              font-size: clamp(30px, 3vw, 50px);
              line-height: 1;
              color: #fff;
              font-weight: bold; }
          .cv-sec .cv-inner .entry-contact a .entry-contant-btnwrap .entry-contact-arrow {
            padding: 25px;
            border-radius: 50%;
            background: #333;
            line-height: 0; }

footer {
  width: 100%;
  padding: 250px 0 0 0;
  background: #333333; }
  @media only screen and (max-width: 1440px) {
    footer {
      padding: 250px 0 0 0; } }
  @media only screen and (max-width: 1280px) {
    footer {
      padding: 250px 0 0 0; } }
  @media only screen and (max-width: 991px) {
    footer {
      padding: 180px 0px 0px 0px; } }
  footer .footer-inner {
    max-width: 1680px;
    width: calc(100% - 160px);
    margin: 0 auto; }
    @media only screen and (max-width: 1280px) {
      footer .footer-inner {
        width: calc(100% - 60px); } }
    footer .footer-inner .footer-flex {
      display: flex;
      justify-content: space-between;
      gap: 12vw; }
      @media only screen and (max-width: 1440px) {
        footer .footer-inner .footer-flex {
          gap: 10vw; } }
      @media only screen and (max-width: 1280px) {
        footer .footer-inner .footer-flex {
          gap: 5vw; } }
      @media only screen and (max-width: 991px) {
        footer .footer-inner .footer-flex {
          flex-direction: column;
          gap: 40px; } }
      footer .footer-inner .footer-flex .footer-flex-content {
        display: flex;
        flex-direction: column;
        justify-content: space-between; }
        footer .footer-inner .footer-flex .footer-flex-content .logo {
          margin-bottom: 100px;
          max-width: 336px; }
          @media only screen and (max-width: 991px) {
            footer .footer-inner .footer-flex .footer-flex-content .logo {
              margin-bottom: 20px; } }
          footer .footer-inner .footer-flex .footer-flex-content .logo img {
            width: 100%;
            height: auto; }
        footer .footer-inner .footer-flex .footer-flex-content .address {
          font-size: 14px;
          color: #fff;
          opacity: 1;
          line-height: 2; }
        footer .footer-inner .footer-flex .footer-flex-content .footer-nav {
          display: grid;
          grid-template-columns: repeat(4, 1fr);
          grid-template-rows: repeat(3, 1fr);
          grid-column-gap: 0px;
          grid-row-gap: 0px;
          gap: 0vw;
          width: 100%;
          margin-bottom: 50px; }
          @media only screen and (max-width: 767px) {
            footer .footer-inner .footer-flex .footer-flex-content .footer-nav {
              grid-template-columns: repeat(2, 1fr);
              grid-template-rows: repeat(5, 1fr); } }
          footer .footer-inner .footer-flex .footer-flex-content .footer-nav a {
            text-decoration: none;
            color: #fff;
            font-size: 16px; }
            footer .footer-inner .footer-flex .footer-flex-content .footer-nav a.home {
              grid-area: 1 / 1 / 2 / 2; }
              @media only screen and (max-width: 767px) {
                footer .footer-inner .footer-flex .footer-flex-content .footer-nav a.home {
                  grid-area: 1 / 1 / 2 / 2; } }
            footer .footer-inner .footer-flex .footer-flex-content .footer-nav a.service {
              grid-area: 2 / 1 / 2 / 2; }
              @media only screen and (max-width: 767px) {
                footer .footer-inner .footer-flex .footer-flex-content .footer-nav a.service {
                  grid-area: 1 / 2 / 2 / 3; } }
            footer .footer-inner .footer-flex .footer-flex-content .footer-nav a.project {
              grid-area: 3 / 1 / 3 / 2; }
              @media only screen and (max-width: 767px) {
                footer .footer-inner .footer-flex .footer-flex-content .footer-nav a.project {
                  grid-area: 2 / 1 / 3 / 2; } }
            footer .footer-inner .footer-flex .footer-flex-content .footer-nav a.history {
              grid-area: 1 / 2 / 1 / 3; }
              @media only screen and (max-width: 767px) {
                footer .footer-inner .footer-flex .footer-flex-content .footer-nav a.history {
                  grid-area: 2 / 2 / 3 / 3; } }
            footer .footer-inner .footer-flex .footer-flex-content .footer-nav a.profile {
              grid-area: 2 / 2 / 2 / 3; }
              @media only screen and (max-width: 767px) {
                footer .footer-inner .footer-flex .footer-flex-content .footer-nav a.profile {
                  grid-area: 3 / 1 / 4 / 2; } }
            footer .footer-inner .footer-flex .footer-flex-content .footer-nav a.outline {
              grid-area: 3 / 2 / 3 / 3; }
              @media only screen and (max-width: 767px) {
                footer .footer-inner .footer-flex .footer-flex-content .footer-nav a.outline {
                  grid-area: 3 / 2 / 4 / 3; } }
            footer .footer-inner .footer-flex .footer-flex-content .footer-nav a.backnum {
              grid-area: 2 / 3 / 1 / 4; }
              @media only screen and (max-width: 767px) {
                footer .footer-inner .footer-flex .footer-flex-content .footer-nav a.backnum {
                  grid-area: 4 / 1 / 4 / 3; } }
            footer .footer-inner .footer-flex .footer-flex-content .footer-nav a.recruit {
              grid-area: 2 / 3 / 2 / 4; }
              @media only screen and (max-width: 767px) {
                footer .footer-inner .footer-flex .footer-flex-content .footer-nav a.recruit {
                  grid-area: 4 / 2 / 4 / 3; } }
            footer .footer-inner .footer-flex .footer-flex-content .footer-nav a.cv-btn {
              grid-area: 1 / 4 / 2 / 5; }
              @media only screen and (max-width: 767px) {
                footer .footer-inner .footer-flex .footer-flex-content .footer-nav a.cv-btn {
                  grid-area: 5 / 1 / 5 / 3;
                  max-width: 170px; } }
            @media only screen and (max-width: 1280px) {
              footer .footer-inner .footer-flex .footer-flex-content .footer-nav a {
                font-size: 12px; } }
            @media only screen and (max-width: 767px) {
              footer .footer-inner .footer-flex .footer-flex-content .footer-nav a {
                width: 50%;
                display: inline-block; } }
          footer .footer-inner .footer-flex .footer-flex-content .footer-nav .cv-btn {
            padding: 20px 30px 20px 40px;
            border-radius: 30px;
            background: linear-gradient(to right, #285CA9, #1C7CB2);
            position: relative;
            line-height: 1; }
            footer .footer-inner .footer-flex .footer-flex-content .footer-nav .cv-btn:before {
              position: absolute;
              top: 50%;
              left: 30px;
              transform: translate(-50%, -50%);
              width: 4px;
              height: 4px;
              border-radius: 50%;
              background: #fff;
              content: ""; }
        footer .footer-inner .footer-flex .footer-flex-content .infoNav {
          width: 100%;
          display: flex;
          gap: 2.5vw;
          justify-content: space-between;
          flex-direction: row;
          flex-wrap: wrap; }
          footer .footer-inner .footer-flex .footer-flex-content .infoNav:nth-of-type(2) {
            margin-top: 10px; }
          @media only screen and (max-width: 991px) {
            footer .footer-inner .footer-flex .footer-flex-content .infoNav {
              flex-wrap: wrap;
              gap: 30px; } }
          @media only screen and (max-width: 991px) {
            footer .footer-inner .footer-flex .footer-flex-content .infoNav li {
              width: calc(50% - 5px); } }
          @media only screen and (max-width: 767px) {
            footer .footer-inner .footer-flex .footer-flex-content .infoNav li {
              width: 100%; } }
          footer .footer-inner .footer-flex .footer-flex-content .infoNav li a {
            text-decoration: none;
            color: #fff;
            font-size: 14px;
            opacity: 1;
            line-height: 1.5;
            display: inline-block; }
            @media only screen and (max-width: 1280px) {
              footer .footer-inner .footer-flex .footer-flex-content .infoNav li a {
                font-size: 12px; } }
  footer .copyright {
    margin-top: 10px;
    font-weight: 300;
    font-size: 10px;
    margin-top: 160px;
    padding: 20px 0;
    color: #fff;
    opacity: 0.4;
    text-align: center;
    background: #111; }
    @media only screen and (max-width: 991px) {
      footer .copyright {
        margin-top: 80px; } }

/*# sourceMappingURL=px-common.css.map */
</pre></body></html>