/* media query
**************************************************************************************************/
body {
  font: 16px YakuHanJP,'Noto Sans JP', sans-serif;
  font-weight: 500;
  -webkit-text-size-adjust: 100%;
  overflow-x: clip;
  background: #fff;
  color: #273871;
  font-feature-settings: "palt";
  font-optical-sizing: auto;
  letter-spacing: .5px;
  -webkit-font-smoothing: antialiased; }

.en {
  font-family: "Inter", sans-serif; }

.en_mono {
  font-family: "Kode Mono", monospace; }

.jp_serif {
  font-family: "Noto Serif", serif; }

img {
  width: 100%;
  height: auto; }

a {
  transition: all 0.5s; }
  a:hover {
    opacity: 0.65; }

/* font
**************************************************************************************************************************/
/* animation
**************************************************************************************************************************/
/* layout
**************************************************************************************************************************/
.is_tb {
  display: none !important; }

.is_tb_inline {
  display: none !important; }

.is_pc {
  display: none !important; }

.is_pc_inline {
  display: none !important; }

/* status
**************************************************************************************************************************/
.is-hide {
  display: none; }

.is-flex {
  display: flex; }
  .is-flex > * {
    margin: 0 !important; }
  .is-flex > *:first-of-type {
    margin-right: 10px !important; }
  .is-flex .is-flex-fix {
    flex-flow: 0;
    flex-shrink: 0; }

.is-primary {
  color: #E30C0C; }

.is-alert {
  color: #E30C0C; }

/* common
**************************************************************************************************************************/
header {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10; }
  header .si {
    width: 260px;
    padding: 10px 14px;
    background: #fff;
    border-bottom-right-radius: 8px;
    text-align: center; }
    header .si .logo {
      line-height: 1; }
      header .si .logo img {
        max-width: 236px; }
      header .si .logo small {
        font-size: 10px;
        display: block;
        margin-bottom: 0.3em; }
  .engineer header .target {
    display: none; }
  .company header .target {
    display: none; }
  @media only screen and (min-width: 1025px) {
    header {
      padding: 0 80px 0 40px; }
      header .si-target {
        display: flex;
        justify-content: space-between;
        align-items: flex-start; }
      header .si {
        width: 264px;
        padding: 18px 14px;
        border-bottom-left-radius: 8px; }
        header .si .logo small {
          font-size: 11px; }
      .engineer header .target {
        display: block; }
        .engineer header .target ul {
          display: flex;
          justify-content: flex-end; }
          .engineer header .target ul li:nth-of-type(1) {
            margin-top: 25px;
            margin-right: 16px; }
            .engineer header .target ul li:nth-of-type(1) a {
              background: rgba(60, 66, 93, 0.24);
              color: #fff;
              font-size: 14px;
              font-weight: bold;
              border-radius: 6px;
              padding: 1em 1.5em; }
      .company header .target {
        display: block; }
        .company header .target ul {
          display: flex;
          justify-content: flex-end; }
          .company header .target ul li:nth-of-type(1) {
            margin-top: 25px;
            margin-right: 0; }
            .company header .target ul li:nth-of-type(1) a {
              color: #fff;
              font-size: 14px;
              font-weight: bold;
              border-radius: 6px;
              padding: 1em 1.5em; }
          .company header .target ul li:nth-of-type(2) {
            margin-top: 25px;
            margin-right: 0; }
            .company header .target ul li:nth-of-type(2) a {
              background: #37CD00;
              color: #fff;
              font-size: 14px;
              font-weight: bold;
              border-radius: 6px;
              padding: 1em 1.5em; } }

footer {
  padding: 0 24px 188px 24px;
  margin-top: 56px; }
  .company footer .inner {
    border-top: 1px solid #e2e2e2; }
  footer .sbnv-social .social {
    display: none; }
  footer .social {
    margin-top: 48px;
    margin-bottom: 16px; }
    footer .social ul {
      display: flex;
      justify-content: center;
      align-items: center; }
      footer .social ul li {
        margin: 0 8px; }
  footer .sbnv {
    border-bottom: 1px solid #e2e2e2;
    padding-bottom: 26px; }
    footer .sbnv ul {
      display: flex;
      justify-content: center;
      font-size: 14px;
      font-weight: bold; }
      footer .sbnv ul li {
        border-right: 1px solid #E2E2E2;
        margin-right: 1em;
        padding-right: 1em; }
        footer .sbnv ul li:last-of-type {
          margin-right: 0;
          padding-right: 0;
          border: 0; }
        footer .sbnv ul li a {
          color: #273871; }
  footer .si .logo {
    text-align: center;
    margin-top: 38px; }
    footer .si .logo img {
      width: 271px; }
  footer .si .lead {
    margin-bottom: 40px;
    font-size: 9px;
    text-align: center;
    margin-top: 12px; }
  footer .si nav {
    display: flex;
    justify-content: space-between; }
    footer .si nav .main {
      font-size: 14px;
      font-weight: bold;
      width: 48%; }
      footer .si nav .main li {
        margin-bottom: 0.8em; }
      footer .si nav .main a {
        color: #273871; }
    footer .si nav .sub {
      width: 48%;
      font-size: 11px; }
      footer .si nav .sub li {
        margin-bottom: 1.2em; }
      footer .si nav .sub a {
        color: #7885B3; }
  footer .copyright {
    text-align: center;
    color: #7885B3;
    margin-top: 16px; }
    footer .copyright p {
      font-family: "Kode Mono", monospace;
      font-size: 8px; }
  @media only screen and (min-width: 1025px) {
    footer {
      padding: 0 100px 84px 100px;
      margin-top: 100px; }
      footer .inner {
        max-width: 1216px;
        margin: 0 auto; }
        .company footer .inner {
          padding-top: 24px; }
      footer .sbnv-social {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding-top: 56px;
        border-bottom: 1px solid #e2e2e2;
        padding-bottom: 24px;
        margin-bottom: 24px; }
        footer .sbnv-social .social {
          display: block; }
      footer .sbnv {
        border: 0;
        padding-bottom: 0; }
      footer .si .logo {
        text-align: left;
        margin-top: 0; }
      footer .si .lead {
        margin-bottom: 30px;
        font-size: 10px;
        text-align: left;
        margin-top: 10px; }
      footer .si nav {
        display: block; }
        footer .si nav .main {
          width: auto;
          display: flex;
          margin-bottom: 10px; }
          footer .si nav .main li {
            margin-bottom: 0;
            margin-right: 24px; }
        footer .si nav .sub {
          width: auto;
          display: flex; }
          footer .si nav .sub li {
            margin-bottom: 0; }
            footer .si nav .sub li::after {
              content: '|';
              display: inline-block;
              color: #E2E2E2;
              margin: 0 1em; }
            footer .si nav .sub li:last-of-type::after {
              display: none; }
      footer .si .social {
        display: none; }
      footer .social {
        margin-top: 0;
        margin-bottom: 0; }
        footer .social ul {
          justify-content: flex-end; }
          footer .social ul li {
            margin: 0 0 0 16px; }
      footer .copyright {
        text-align: left;
        margin-top: 24px; }
        footer .copyright p {
          font-family: "Kode Mono", monospace;
          font-size: 8px; } }

/* parts
**************************************************************************************************************************/
.hl01 {
  font-size: 26px;
  font-weight: bold;
  text-align: center;
  color: #273871;
  margin-bottom: 0.4em; }
  @media only screen and (min-width: 1025px) {
    .hl01 {
      font-size: 40px;
      margin-bottom: 0.1em; } }

.hl02 {
  font-size: 18px;
  font-weight: bold;
  text-align: center; }
  .hl02 strong {
    font-size: 46px;
    line-height: 1.2;
    padding-left: 0.1em;
    padding-right: 0.1em;
    letter-spacing: -0.04em;
    background: linear-gradient(93.49deg, #08C2FF 0%, #1B0DFF 100%);
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-fill-color: transparent; }
    .hl02 strong.en {
      font-size: 70px; }

.shoulder {
  font-family: "Kode Mono", monospace; }
  .shoulder span {
    display: inline-block;
    background: #DCE5F1;
    padding: 0.1em 0.5em;
    margin: 0.2em 0; }

.btn.btn-primary {
  font-size: 16px;
  font-weight: bold;
  display: inline-block;
  color: #fff;
  background: linear-gradient(93.49deg, #08C2FF 0%, #1B0DFF 100%);
  border-radius: 100px;
  text-align: center;
  padding: 1.2em 2em;
  transition: all 0.5s; }
  .btn.btn-primary:hover {
    opacity: 0.9;
    background: linear-gradient(93.49deg, #08C2FF 40%, #1B0DFF 100%); }
  @media only screen and (min-width: 1025px) {
    .btn.btn-primary {
      font-size: 20px; } }

/* area
**************************************************************************************************************************/
/* share */
.area-faq {
  padding: 56px 24px 0 24px; }
  .area-faq .title {
    text-align: center;
    margin-bottom: 32px; }
    .area-faq .title .shoulder {
      font-size: 12px;
      color: #274EFF; }
  .area-faq .body dl .row {
    border: 1px solid #E2E2E2;
    border-radius: 8px;
    padding: 0 16px 0 16px;
    margin-bottom: 12px; }
    .area-faq .body dl .row:last-of-type {
      margin-bottom: 0; }
  .area-faq .body dl dt {
    padding-bottom: 24px;
    font-size: 16px;
    font-weight: bold;
    position: relative;
    padding-left: 40px;
    padding-top: 24px;
    padding-right: 40px;
    cursor: pointer; }
    .area-faq .body dl dt::before {
      content: 'Q.';
      font-family: "Kode Mono", monospace;
      font-weight: 500;
      font-size: 28px;
      color: #274EFF;
      display: block;
      position: absolute;
      top: 24px;
      left: 0; }
    .area-faq .body dl dt .tgl {
      display: block;
      border: 1px solid #EFEFEF;
      border-radius: 50%;
      width: 27px;
      height: 27px;
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      right: 0px; }
      .area-faq .body dl dt .tgl::before {
        content: '';
        display: block;
        width: 12px;
        height: 1px;
        background: #274EFF;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        transition: all 0.5s; }
      .area-faq .body dl dt .tgl::after {
        content: '';
        display: block;
        width: 1px;
        height: 12px;
        background: #274EFF;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        transition: all 0.5s; }
    .area-faq .body dl dt.is-open .tgl::before {
      opacity: 0; }
    .area-faq .body dl dt.is-open .tgl::after {
      transform: translate(-50%, -50%) rotate(270deg); }
  .area-faq .body dl dd {
    border-top: 1px solid #E2E2E2;
    padding-top: 16px;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.8;
    position: relative;
    position: relative;
    padding-left: 40px;
    display: none;
    padding-bottom: 16px; }
    .area-faq .body dl dd::before {
      content: 'A.';
      font-family: "Kode Mono", monospace;
      font-weight: 500;
      font-size: 28px;
      color: #DD1B89;
      display: block;
      position: absolute;
      top: 0;
      left: 0; }
  .area-faq .body dl a {
    color: #274EFF; }
  @media only screen and (min-width: 1025px) {
    .area-faq {
      padding: 183px 100px 0 100px; }
      .area-faq .inner {
        max-width: 1216px;
        margin: 0 auto; }
      .area-faq .title-body {
        display: flex;
        justify-content: space-between; }
      .area-faq .title {
        text-align: left;
        margin-bottom: 0;
        width: 400px; }
        .area-faq .title .hl01 {
          text-align: left; }
        .area-faq .title .shoulder {
          font-size: 14px; }
      .area-faq .body {
        flex: 1; }
        .area-faq .body dl .row {
          border: 1px solid #E2E2E2;
          border-radius: 8px;
          padding: 0 28px 0 28px;
          margin-bottom: 12px; }
          .area-faq .body dl .row:last-of-type {
            margin-bottom: 0; }
        .area-faq .body dl dt {
          font-size: 20px; }
        .area-faq .body dl dd {
          padding-top: 16px; } }

.floater {
  position: fixed;
  bottom: 24px;
  left: 0;
  z-index: 10;
  width: 100%;
  text-align: center; }
  .floater ul li.bnr img {
    width: 100%;
    max-width: 297px; }
  .floater ul li.contact a {
    background: #37CD00;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    border-radius: 6px;
    padding: 1em 1.5em;
    display: block;
    max-width: 296px;
    margin: 0 auto; }
  .floater ul li.btn a {
    display: inline-block;
    margin-top: 8px;
    background: rgba(60, 66, 93, 0.24);
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    border-radius: 6px;
    padding: 1em 1.5em; }
  @media only screen and (min-width: 1025px) {
    .floater {
      display: none; } }

/* engineer */
.fv-engineer {
  background: linear-gradient(147.45deg, #00BBFF 0%, #274EFF 58.09%);
  position: relative;
  overflow: clip; }
  .fv-engineer .bg-fv {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    mix-blend-mode: luminosity;
    z-index: 1; }
  .fv-engineer .scroll {
    width: 8px;
    position: absolute;
    right: 24px;
    top: 180px;
    z-index: 2; }
    .fv-engineer .scroll img {
      width: 100%; }
    .fv-engineer .scroll::before {
      animation: scroll 2s infinite;
      background-color: white;
      bottom: -115px;
      content: "";
      height: 100px;
      left: 0;
      margin: auto;
      position: absolute;
      right: 0;
      width: 1px;
      z-index: 2; }
    .fv-engineer .scroll::after {
      background-color: rgba(255, 255, 255, 0.4);
      bottom: -115px;
      content: "";
      height: 100px;
      left: 0;
      margin: auto;
      position: absolute;
      right: 0;
      width: 1px; }

@keyframes scroll {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0; }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0; }
  51% {
    transform: scale(1, 1);
    transform-origin: 0 100%; }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%; } }
  @media only screen and (min-width: 1025px) {
    .fv-engineer .scroll {
      right: 24px;
      top: 350px;
      z-index: 2; } }

.area-kv-engineer {
  position: relative;
  z-index: 2; }
  .area-kv-engineer .title-body {
    position: relative; }
  .area-kv-engineer .title {
    padding: 165px 24px 250px 24px;
    color: #fff;
    position: relative;
    z-index: 2; }
    .area-kv-engineer .title h1 {
      font-size: 42px;
      font-weight: bold; }
    .area-kv-engineer .title .lead {
      font-size: 15px;
      line-height: 1.8;
      margin-top: 1em;
      font-weight: bold; }
    .area-kv-engineer .title .shoulder {
      color: #274EFF;
      font-size: 14px;
      margin-top: 1em; }
  .area-kv-engineer .body .img {
    display: block; }
    .area-kv-engineer .body .img li:nth-of-type(1) {
      transition: transform 1s cubic-bezier(0.2, 0.21, 0.73, 0.94);
      position: absolute;
      top: 0;
      right: 30px;
      width: 151px; }
    .area-kv-engineer .body .img li:nth-of-type(2) {
      transition: transform 0.8s cubic-bezier(0.2, 0.21, 0.73, 0.94);
      position: absolute;
      top: 110px;
      left: -30px;
      width: 130px; }
    .area-kv-engineer .body .img li:nth-of-type(3) {
      transition: transform 0.6s cubic-bezier(0.2, 0.21, 0.73, 0.94);
      position: absolute;
      bottom: 0px;
      left: 20px;
      width: 146px; }
    .area-kv-engineer .body .img li:nth-of-type(4) {
      transition: transform 0.4s cubic-bezier(0.2, 0.21, 0.73, 0.94);
      position: absolute;
      bottom: 30px;
      right: -20px;
      width: 273px; }
    .area-kv-engineer .body .img li:nth-of-type(5) {
      transition: transform 0.3s cubic-bezier(0.2, 0.21, 0.73, 0.94);
      display: none; }
  @media only screen and (min-width: 1025px) {
    .area-kv-engineer {
      margin-bottom: -100px; }
      .area-kv-engineer .title-body {
        padding: 0 100px; }
      .area-kv-engineer .title {
        padding: 226px 0 340px 0;
        max-width: 980px;
        margin: 0 auto; }
        .area-kv-engineer .title h1 {
          font-size: 70px;
          font-weight: 900; }
        .area-kv-engineer .title .lead {
          font-size: 20px;
          margin-top: 1em; }
        .area-kv-engineer .title .shoulder {
          font-size: 22px;
          margin-top: 1.3em; }
          .area-kv-engineer .title .shoulder span {
            padding: 0em 0.3em; }
      .area-kv-engineer .body .img {
        display: block; }
        .area-kv-engineer .body .img li:nth-of-type(1) {
          position: absolute;
          top: 0;
          right: 290px;
          width: 236px; }
        .area-kv-engineer .body .img li:nth-of-type(2) {
          position: absolute;
          top: 137px;
          left: 30px;
          width: 235px; }
        .area-kv-engineer .body .img li:nth-of-type(3) {
          position: absolute;
          bottom: 0px;
          left: 35%;
          width: 313px; }
        .area-kv-engineer .body .img li:nth-of-type(4) {
          position: absolute;
          bottom: 50px;
          right: 20px;
          width: 585px; }
        .area-kv-engineer .body .img li:nth-of-type(5) {
          display: block;
          position: absolute;
          bottom: 100px;
          left: 0px;
          width: 381px; } }

.area-strength {
  padding: 56px 24px;
  overflow: clip;
  position: relative;
  z-index: 2; }
  .company .area-strength {
    background: #F2F5FC; }
    .company .area-strength::after {
      content: '';
      display: block;
      width: 100%;
      height: 400px;
      background: #274EFF;
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1; }
  .area-strength .title {
    margin-bottom: 32px;
    position: relative; }
    .area-strength .title .ticker {
      font-family: "Kode Mono", monospace;
      color: rgba(255, 255, 255, 0.08);
      overflow: hidden;
      width: 100vw;
      margin-left: calc(-50vw + 50%);
      margin-bottom: -170px; }
      .area-strength .title .ticker > div {
        display: flex; }
        .area-strength .title .ticker > div p {
          line-height: 0.85;
          flex-shrink: 0;
          white-space: nowrap;
          font-size: 124px; }
        .area-strength .title .ticker > div.is-first p:nth-of-type(1) {
          animation: MoveLeft 40s -20s infinite linear; }
        .area-strength .title .ticker > div.is-first p:nth-of-type(2) {
          animation: MoveLeft2 40s infinite linear; }
        .area-strength .title .ticker > div.is-second p:nth-of-type(1) {
          animation: MoveRight 40s -20s infinite linear; }
        .area-strength .title .ticker > div.is-second p:nth-of-type(2) {
          animation: MoveRight2 40s infinite linear; }

@keyframes MoveLeft {
  from {
    transform: translateX(100%); }
  to {
    transform: translateX(-100%); } }

@keyframes MoveLeft2 {
  from {
    transform: translateX(0); }
  to {
    transform: translateX(-200%); } }

@keyframes MoveRight {
  from {
    transform: translateX(-100%); }
  to {
    transform: translateX(100%); } }

@keyframes MoveRight2 {
  from {
    transform: translateX(-200%); }
  to {
    transform: translateX(0); } }
    .area-strength .title .hl01 {
      color: #fff; }
    .area-strength .title .shoulder {
      text-align: center;
      color: #274EFF;
      font-size: 12px; }
  .area-strength .body .item {
    background: #fff;
    border-radius: 16px;
    padding: 32px 30px;
    margin-bottom: 12px;
    position: relative; }
    .area-strength .body .item:last-of-type {
      margin-bottom: 0; }
    .area-strength .body .item .serial {
      width: 56px;
      height: 56px;
      border-radius: 50%;
      border: 1px solid #274EFF;
      position: absolute;
      top: 15px;
      right: 15px; }
      .area-strength .body .item .serial span {
        font-family: "Kode Mono", monospace;
        font-size: 13px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        background: linear-gradient(93.49deg, #08C2FF 0%, #1B0DFF 100%);
        color: transparent;
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
        text-fill-color: transparent; }
    .area-strength .body .item .img {
      text-align: center;
      margin-bottom: 18px; }
      .area-strength .body .item .img img {
        width: auto;
        height: 140px; }
    .area-strength .body .item .txt p {
      margin-top: 24px;
      font-size: 13px;
      line-height: 1.8;
      font-weight: 500; }
  @media only screen and (min-width: 1025px) {
    .area-strength {
      padding: 120px 100px; }
      .company .area-strength {
        padding-bottom: 0; }
        .company .area-strength::after {
          height: 700px;
          background: #274EFF;
          position: absolute;
          top: 0;
          left: 0;
          z-index: -1; }
      .area-strength .inner {
        max-width: 1216px;
        margin: 0 auto; }
      .area-strength .title {
        margin-bottom: 48px; }
        .area-strength .title .ticker {
          margin-bottom: -320px; }
          .area-strength .title .ticker > div p {
            font-size: 240px; }
          .area-strength .title .ticker > div.is-first p:nth-of-type(1) {
            animation: MoveLeft 80s -40s infinite linear; }
          .area-strength .title .ticker > div.is-first p:nth-of-type(2) {
            animation: MoveLeft2 80s infinite linear; }
          .area-strength .title .ticker > div.is-second p:nth-of-type(1) {
            animation: MoveRight 80s -40s infinite linear; }
          .area-strength .title .ticker > div.is-second p:nth-of-type(2) {
            animation: MoveRight2 80s infinite linear; }
        .area-strength .title .shoulder {
          font-size: 14px;
          margin-top: 1em; }
      .area-strength .body .items {
        display: grid;
        grid-column-gap: 25px;
        grid-template-columns: repeat(3, 1fr); }
      .area-strength .body .item {
        padding: 48px 40px;
        margin-bottom: 0;
        display: grid;
        grid-template-rows: subgrid;
        grid-row: span 3; }
        .area-strength .body .item:last-of-type {
          margin-bottom: 0; }
        .area-strength .body .item .serial {
          width: 65px;
          height: 65px; }
          .area-strength .body .item .serial span {
            font-size: 16px; }
        .area-strength .body .item .imgtxt {
          display: inherit;
          grid-template-rows: inherit;
          grid-row: inherit; }
        .area-strength .body .item .img img {
          height: 180px; }
        .area-strength .body .item .txt {
          display: inherit;
          grid-template-rows: inherit;
          grid-row: inherit; }
          .area-strength .body .item .txt p {
            font-size: 15px; } }

.area-joblist {
  background: #2C2E3C;
  padding: 56px 24px;
  overflow: hidden; }
  .area-joblist .title {
    margin-bottom: 32px; }
    .area-joblist .title .hl01 {
      color: #fff; }
    .area-joblist .title .lead {
      color: #8F96AC;
      font-size: 13px;
      text-align: center; }
  .area-joblist .body {
    width: 100vw;
    margin-left: calc(-50vw + 50%); }
    .area-joblist .body .items {
      margin-bottom: 6px; }
      .area-joblist .body .items.is-second .item {
        direction: ltr; }
    .area-joblist .body .item {
      padding: 8px;
      text-align: left; }
      .area-joblist .body .item .label {
        font-family: "Inter", sans-serif;
        font-size: 12px;
        font-weight: bold;
        padding: 8px;
        margin-bottom: -4px; }
        .area-joblist .body .item .label li {
          display: inline-block;
          border: 1px solid #353535;
          background: #fff;
          border-radius: 4px;
          padding: 0.3em;
          margin-bottom: 4px; }
      .area-joblist .body .item .lead {
        padding: 0 8px; }
        .area-joblist .body .item .lead p {
          font-size: 13px;
          line-height: 1.8;
          overflow: hidden;
          display: -webkit-box;
          text-overflow: ellipsis;
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 4; }
      .area-joblist .body .item .info {
        border-radius: 4px;
        background: #CDD5E3;
        padding: 8px;
        margin-top: 8px; }
        .area-joblist .body .item .info .row {
          display: flex;
          margin-bottom: 8px;
          align-items: flex-start; }
          .area-joblist .body .item .info .row:last-of-type {
            margin-bottom: 0; }
        .area-joblist .body .item .info dt {
          width: 54px;
          margin-right: 8px;
          border: 1px solid #274EFF;
          background: #fff;
          border-radius: 100px;
          font-size: 10px;
          color: #274EFF;
          text-align: center; }
        .area-joblist .body .item .info dd {
          flex: 1;
          font-size: 11px;
          font-weight: bold; }
    .area-joblist .body .slick-list {
      overflow: visible; }
    .area-joblist .body .slick-track {
      display: flex; }
    .area-joblist .body .slick-slide {
      margin: 0 4px;
      height: auto !important;
      background: #DFE6F2;
      border-radius: 8px; }
    .area-joblist .body .more {
      margin-top: 32px;
      text-align: center; }
      .area-joblist .body .more .btn {
        font-size: 15px; }
  @media only screen and (min-width: 1025px) {
    .area-joblist {
      padding: 120px 100px; }
      .area-joblist .inner {
        max-width: 1216px;
        margin: 0 auto; }
      .area-joblist .title {
        margin-bottom: 60px; }
        .area-joblist .title .lead {
          font-size: 15px;
          margin-top: 1em; }
      .area-joblist .body {
        width: 100%;
        margin-left: 0; }
        .area-joblist .body .items {
          margin-bottom: 16px; }
        .area-joblist .body .slick-slide {
          margin: 0 8px; }
        .area-joblist .body .more {
          margin-top: 56px; }
          .area-joblist .body .more .btn {
            font-size: 20px; } }

.area-coordinator {
  background: url(../img/engineer/bg-coordinator-sp.png) 0 0 no-repeat;
  background-size: cover;
  padding: 56px 24px; }
  .area-coordinator .title {
    margin-bottom: 32px; }
    .area-coordinator .title .lead {
      color: #8F96AC;
      font-size: 13px;
      text-align: center; }
  .area-coordinator .body .item {
    border-radius: 16px;
    background: linear-gradient(31.08deg, #D6F8FF 0%, #C6DBFF 100%);
    padding: 24px;
    margin-bottom: 12px; }
    .area-coordinator .body .item:last-of-type {
      margin-bottom: 0; }
    .area-coordinator .body .item .img {
      text-align: center;
      margin-bottom: 24px; }
      .area-coordinator .body .item .img img {
        width: 112px; }
    .area-coordinator .body .item .txt .name {
      text-align: center;
      font-size: 22px;
      font-weight: bold; }
      .area-coordinator .body .item .txt .name small {
        display: block;
        font-size: 12px;
        margin-top: 0.8em;
        font-family: "Kode Mono", monospace;
        background: linear-gradient(93.49deg, #08C2FF 0%, #1B0DFF 100%);
        color: transparent;
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
        text-fill-color: transparent; }
    .area-coordinator .body .item .txt .position {
      text-align: center;
      font-size: 12px;
      font-weight: bold;
      color: #7885B3;
      margin-top: 1em; }
    .area-coordinator .body .item .txt .lead {
      margin-top: 26px;
      font-size: 13px;
      line-height: 1.8; }
  @media only screen and (min-width: 1025px) {
    .area-coordinator {
      background: #F2F5FC url(../img/engineer/bg-coordinator-pc.png) 0 0 no-repeat;
      background-size: cover;
      padding: 140px 100px; }
      .area-coordinator .inner {
        max-width: 1216px;
        margin: 0 auto; }
      .area-coordinator .title {
        margin-bottom: 60px; }
        .area-coordinator .title .lead {
          font-size: 15px;
          margin-top: 1em; }
      .area-coordinator .body {
        max-width: 803px;
        margin: 0 auto; }
        .area-coordinator .body .items {
          display: grid;
          grid-column-gap: 25px;
          grid-template-columns: repeat(2, 1fr); }
        .area-coordinator .body .item {
          padding: 48px;
          margin-bottom: 0;
          display: grid;
          grid-template-rows: subgrid;
          grid-row: span 5; }
          .area-coordinator .body .item:last-of-type {
            margin-bottom: 0; }
          .area-coordinator .body .item .imgtxt {
            display: inherit;
            grid-template-rows: inherit;
            grid-row: inherit; }
          .area-coordinator .body .item .txt {
            display: inherit;
            grid-template-rows: inherit;
            grid-row: inherit; } }

/* company */
.fv-company {
  background: linear-gradient(147.45deg, #00BBFF 0%, #274EFF 58.09%);
  position: relative;
  overflow: clip; }
  .fv-company .bg-fv {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    mix-blend-mode: luminosity;
    z-index: 1; }
  .fv-company .scroll {
    width: 8px;
    position: absolute;
    right: 24px;
    top: 180px;
    z-index: 2; }
    .fv-company .scroll img {
      width: 100%; }
    .fv-company .scroll::before {
      animation: scroll 2s infinite;
      background-color: white;
      bottom: -115px;
      content: "";
      height: 100px;
      left: 0;
      margin: auto;
      position: absolute;
      right: 0;
      width: 1px;
      z-index: 2; }
    .fv-company .scroll::after {
      background-color: rgba(255, 255, 255, 0.4);
      bottom: -115px;
      content: "";
      height: 100px;
      left: 0;
      margin: auto;
      position: absolute;
      right: 0;
      width: 1px; }

@keyframes scroll {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0; }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0; }
  51% {
    transform: scale(1, 1);
    transform-origin: 0 100%; }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%; } }
  @media only screen and (min-width: 1025px) {
    .fv-company .scroll {
      right: 24px;
      top: 350px;
      z-index: 2; } }

.area-kv-company {
  position: relative;
  z-index: 2; }
  .area-kv-company .title-body {
    position: relative; }
  .area-kv-company .title {
    padding: 100px 24px 44px 24px;
    color: #fff;
    position: relative;
    z-index: 2; }
    .area-kv-company .title h1 {
      font-size: 34px;
      font-weight: bold; }
    .area-kv-company .title .lead {
      font-size: 15px;
      line-height: 1.8;
      margin-top: 1em;
      font-weight: bold;
      padding-right: 24px; }
  .area-kv-company .body {
    padding: 0 24px; }
  @media only screen and (min-width: 1025px) {
    .area-kv-company {
      margin-bottom: -100px;
      padding: 0 100px; }
      .area-kv-company .inner {
        max-width: 1010px;
        margin: 0 auto; }
      .area-kv-company .title {
        padding: 190px 0 72px 0;
        max-width: 1010px;
        display: flex;
        justify-content: space-between; }
        .area-kv-company .title h1 {
          font-size: 52px;
          width: 490px;
          margin-right: 44px; }
        .area-kv-company .title .lead {
          font-size: 18px;
          margin-top: 0;
          flex: 1;
          padding-right: 0; }
      .area-kv-company .body {
        padding: 0; } }

.area-lead-company {
  position: relative;
  z-index: 3; }
  .area-lead-company .ticker {
    font-family: "Kode Mono", monospace;
    color: rgba(255, 255, 255, 0.08);
    overflow: hidden;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-bottom: -170px; }
    .area-lead-company .ticker > div {
      display: flex; }
      .area-lead-company .ticker > div p {
        line-height: 0.85;
        flex-shrink: 0;
        white-space: nowrap;
        font-size: 124px; }
      .area-lead-company .ticker > div.is-first p:nth-of-type(1) {
        animation: MoveLeft 40s -20s infinite linear; }
      .area-lead-company .ticker > div.is-first p:nth-of-type(2) {
        animation: MoveLeft2 40s infinite linear; }
      .area-lead-company .ticker > div.is-second p:nth-of-type(1) {
        animation: MoveRight 40s -20s infinite linear; }
      .area-lead-company .ticker > div.is-second p:nth-of-type(2) {
        animation: MoveRight2 40s infinite linear; }
  .area-lead-company .title-body {
    position: relative; }
  .area-lead-company .title {
    padding: 0 24px;
    color: #fff;
    position: relative;
    z-index: 2;
    margin-bottom: 48px; }
    .area-lead-company .title h2 {
      font-size: 34px;
      font-weight: bold;
      margin-top: 80px; }
    .area-lead-company .title .shoulder {
      color: #274EFF;
      font-size: 14px;
      margin-top: 1em; }
  .area-lead-company .body {
    padding: 0 24px;
    color: #fff; }
    .area-lead-company .body p {
      font-size: 15px;
      line-height: 1.8;
      margin-bottom: 1.8em;
      font-weight: bold; }
      .area-lead-company .body p:last-of-type {
        margin-bottom: 0; }
  @media only screen and (min-width: 1025px) {
    .area-lead-company {
      margin-bottom: 0; }
      .area-lead-company .inner {
        padding: 0 100px; }
      .area-lead-company .ticker {
        margin-bottom: -220px; }
        .area-lead-company .ticker > div p {
          font-size: 240px; }
        .area-lead-company .ticker > div.is-first p:nth-of-type(1) {
          animation: MoveLeft 80s -40s infinite linear; }
        .area-lead-company .ticker > div.is-first p:nth-of-type(2) {
          animation: MoveLeft2 80s infinite linear; }
        .area-lead-company .ticker > div.is-second p:nth-of-type(1) {
          animation: MoveRight 80s -40s infinite linear; }
        .area-lead-company .ticker > div.is-second p:nth-of-type(2) {
          animation: MoveRight2 80s infinite linear; }
      .area-lead-company .title-body {
        display: flex;
        justify-content: space-between;
        max-width: 1010px;
        margin: 0 auto;
        margin-top: 90px; }
      .area-lead-company .title {
        padding: 0; }
        .area-lead-company .title h2 {
          font-size: 52px;
          margin-top: 0; }
        .area-lead-company .title .shoulder {
          font-size: 22px;
          margin-top: 1.3em; }
          .area-lead-company .title .shoulder span {
            padding: 0em 0.3em; }
      .area-lead-company .body {
        padding: 0; }
        .area-lead-company .body p {
          font-size: 18px; } }

.area-about {
  background: #fff;
  border-radius: 24px;
  padding: 24px;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  margin-top: 88px; }
  .area-about .title {
    border-bottom: 1px solid #E2E2E2;
    padding-bottom: 24px;
    margin-bottom: 24px; }
    .area-about .title h2 {
      font-size: 32px;
      font-weight: bold;
      margin-bottom: 0.5em; }
    .area-about .title .imgtxt {
      display: flex;
      flex-wrap: wrap; }
    .area-about .title .img {
      order: 2;
      padding: 0 24px; }
    .area-about .title .txt {
      order: 1;
      margin-bottom: 1em; }
      .area-about .title .txt p {
        font-size: 13px;
        line-height: 1.8; }
  .area-about .body .lead {
    font-size: 13px;
    line-height: 1.8;
    color: #8F96AC;
    margin-bottom: 48px; }
  .area-about .body .abouts .about {
    background: linear-gradient(31.08deg, #D6F8FF 0%, #C6DBFF 100%);
    border-radius: 16px;
    padding: 24px 16px;
    position: relative;
    margin-bottom: 64px; }
    .area-about .body .abouts .about:last-of-type {
      margin-bottom: 0; }
    .area-about .body .abouts .about .serial {
      width: 64px;
      height: 64px;
      border-radius: 50%;
      background: linear-gradient(135deg, #08C2FF 0%, #1B0DFF 100%);
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      top: -32px; }
      .area-about .body .abouts .about .serial span {
        font-family: "Kode Mono", monospace;
        font-size: 20px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        color: #fff; }
    .area-about .body .abouts .about h3 {
      text-align: center;
      font-size: 22px;
      font-weight: bold;
      margin-bottom: 0.5em;
      margin-top: 1em;
      background: linear-gradient(93.49deg, #08C2FF 0%, #1B0DFF 100%);
      color: transparent;
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      text-fill-color: transparent; }
    .area-about .body .abouts .about .descript {
      font-size: 14px;
      line-height: 1.8;
      padding: 0 18px; }
    .area-about .body .abouts .about.flow .steps {
      margin-top: 24px; }
      .area-about .body .abouts .about.flow .steps .step {
        background: #Fff;
        padding: 24px;
        border-radius: 12px;
        margin-bottom: 16px;
        position: relative; }
        .area-about .body .abouts .about.flow .steps .step:last-of-type {
          margin-bottom: 0; }
        .area-about .body .abouts .about.flow .steps .step .imgtxt {
          display: flex;
          justify-content: space-between;
          align-items: center; }
          .area-about .body .abouts .about.flow .steps .step .imgtxt .img {
            width: 56px;
            margin-right: 16px; }
          .area-about .body .abouts .about.flow .steps .step .imgtxt .txt {
            flex: 1; }
            .area-about .body .abouts .about.flow .steps .step .imgtxt .txt h4 {
              font-size: 18px;
              font-weight: bold;
              margin-bottom: 0.5em; }
            .area-about .body .abouts .about.flow .steps .step .imgtxt .txt p {
              font-size: 11px;
              line-height: 1.6;
              color: #8F96AC; }
        .area-about .body .abouts .about.flow .steps .step::after {
          content: '';
          display: block;
          width: 30px;
          height: 40px;
          background: url(../img/company/arw-d01.svg) 0 0 no-repeat;
          background-size: contain;
          position: absolute;
          left: 50%;
          transform: translateX(-50%);
          bottom: -35px; }
        .area-about .body .abouts .about.flow .steps .step:last-of-type::after {
          display: none; }
    .area-about .body .abouts .about.contract .steps {
      margin-top: 24px; }
      .area-about .body .abouts .about.contract .steps .step {
        background: #Fff;
        padding: 32px;
        border-radius: 12px;
        margin-bottom: 16px; }
        .area-about .body .abouts .about.contract .steps .step .imgtxt .img {
          text-align: center; }
          .area-about .body .abouts .about.contract .steps .step .imgtxt .img img {
            width: 60px; }
        .area-about .body .abouts .about.contract .steps .step .imgtxt .txt {
          text-align: center; }
          .area-about .body .abouts .about.contract .steps .step .imgtxt .txt h4 {
            font-size: 18px;
            font-weight: bold; }
        .area-about .body .abouts .about.contract .steps .step:first-of-type {
          position: relative; }
          .area-about .body .abouts .about.contract .steps .step:first-of-type::after {
            content: '';
            display: block;
            width: 44px;
            height: 57px;
            background: url(../img/company/arw-contract01-sp.svg) 0 0 no-repeat;
            background-size: contain;
            position: absolute;
            left: 50%;
            transform: translateX(-50%);
            bottom: -57px; }
        .area-about .body .abouts .about.contract .steps .step:last-of-type {
          margin-bottom: 0;
          padding-top: 60px; }
          .area-about .body .abouts .about.contract .steps .step:last-of-type .imgtxt {
            position: relative; }
            .area-about .body .abouts .about.contract .steps .step:last-of-type .imgtxt::after {
              content: '';
              display: block;
              width: 120px;
              height: 114px;
              background: url(../img/company/arw-contract02-sp.svg) 0 0 no-repeat;
              background-size: contain;
              position: absolute;
              left: 50%;
              transform: translateX(-50%);
              bottom: -130px; }
            .area-about .body .abouts .about.contract .steps .step:last-of-type .imgtxt:last-of-type {
              margin-top: 150px; }
              .area-about .body .abouts .about.contract .steps .step:last-of-type .imgtxt:last-of-type::after {
                display: none; }
            .area-about .body .abouts .about.contract .steps .step:last-of-type .imgtxt .txt {
              margin-top: 10px; }
  @media only screen and (min-width: 1025px) {
    .area-about {
      background: none;
      border-radius: 0;
      padding: 0 100px;
      width: 100%;
      margin-left: 0;
      margin-top: 112px;
      position: relative;
      z-index: 2; }
      .area-about .inner {
        background: #fff;
        border-radius: 24px;
        max-width: 1216px;
        margin: 0 auto; }
      .area-about .title-body {
        padding: 140px 100px; }
      .area-about .title {
        padding-bottom: 80px;
        margin-bottom: 80px; }
        .area-about .title h2 {
          font-size: 40px;
          font-weight: bold;
          margin-bottom: 0.5em; }
        .area-about .title .imgtxt {
          display: flex;
          flex-wrap: nowrap;
          align-items: flex-end; }
        .area-about .title .img {
          padding: 0 0;
          width: 50%;
          text-align: center; }
          .area-about .title .img picture {
            position: relative;
            top: -50px; }
          .area-about .title .img img {
            width: 80%; }
        .area-about .title .txt {
          margin-bottom: 0;
          width: 48%; }
          .area-about .title .txt p {
            font-size: 16px; }
      .area-about .body .lead {
        font-size: 15px;
        text-align: center;
        margin-top: 1em; }
      .area-about .body .abouts .about {
        background: linear-gradient(31.08deg, #D6F8FF 0%, #C6DBFF 100%);
        border-radius: 16px;
        padding: 48px;
        position: relative;
        margin-bottom: 64px; }
        .area-about .body .abouts .about:last-of-type {
          margin-bottom: 0; }
        .area-about .body .abouts .about .serial {
          width: 80px;
          height: 80px;
          left: -40px;
          transform: translateX(0);
          top: -40px; }
          .area-about .body .abouts .about .serial span {
            font-size: 26px; }
        .area-about .body .abouts .about h3 {
          text-align: left;
          font-size: 28px;
          margin-top: 0; }
        .area-about .body .abouts .about .descript {
          font-size: 14px;
          padding: 0; }
        .area-about .body .abouts .about.flow .steps {
          margin-top: 32px;
          display: grid;
          grid-gap: 25px;
          grid-row-gap: 0;
          grid-template-columns: repeat(4, 1fr); }
          .area-about .body .abouts .about.flow .steps .step {
            margin-bottom: 0;
            position: relative;
            display: block;
            text-align: center;
            display: grid;
            grid-template-rows: subgrid;
            grid-row: span 2; }
            .area-about .body .abouts .about.flow .steps .step:last-of-type {
              margin-bottom: 0; }
            .area-about .body .abouts .about.flow .steps .step .imgtxt {
              display: block;
              display: inherit;
              grid-template-rows: inherit;
              grid-row: inherit; }
              .area-about .body .abouts .about.flow .steps .step .imgtxt .img {
                width: 100%;
                margin-right: 0;
                display: inherit;
                grid-template-rows: inherit;
                grid-row: inherit; }
                .area-about .body .abouts .about.flow .steps .step .imgtxt .img img {
                  width: 70px; }
              .area-about .body .abouts .about.flow .steps .step .imgtxt .txt {
                margin-top: 10px; }
                .area-about .body .abouts .about.flow .steps .step .imgtxt .txt h4 {
                  font-size: 23px; }
                .area-about .body .abouts .about.flow .steps .step .imgtxt .txt p {
                  font-size: 13px; }
            .area-about .body .abouts .about.flow .steps .step::after {
              width: 43px;
              height: 59px;
              background: url(../img/company/arw-r01.svg) 0 0 no-repeat;
              background-size: contain;
              position: absolute;
              top: 50%;
              transform: translateY(-50%);
              left: auto;
              bottom: auto;
              right: -43px;
              z-index: 2; }
            .area-about .body .abouts .about.flow .steps .step:last-of-type::after {
              display: none; }
        .area-about .body .abouts .about.contract .steps {
          margin-top: 32px;
          display: grid;
          grid-gap: 67px;
          grid-row-gap: 0;
          grid-template-columns: 1.3fr 3fr; }
          .area-about .body .abouts .about.contract .steps .step {
            background: #Fff;
            padding: 32px;
            border-radius: 12px;
            margin-bottom: 0; }
            .area-about .body .abouts .about.contract .steps .step .imgtxt .img {
              text-align: center; }
              .area-about .body .abouts .about.contract .steps .step .imgtxt .img img {
                width: auto;
                height: 90px; }
            .area-about .body .abouts .about.contract .steps .step:first-of-type {
              position: relative; }
              .area-about .body .abouts .about.contract .steps .step:first-of-type::after {
                width: 82px;
                height: 59px;
                background: url(../img/company/arw-contract01-pc.svg) 0 0 no-repeat;
                background-size: contain;
                position: absolute;
                top: 50%;
                transform: translateY(-50%);
                left: auto;
                bottom: auto;
                right: -82px; }
            .area-about .body .abouts .about.contract .steps .step:last-of-type {
              margin-bottom: 0;
              padding: 32px;
              display: flex;
              justify-content: center; }
              .area-about .body .abouts .about.contract .steps .step:last-of-type .imgtxt {
                position: relative; }
                .area-about .body .abouts .about.contract .steps .step:last-of-type .imgtxt::after {
                  content: '';
                  display: block;
                  width: 164px;
                  height: 59px;
                  background: url(../img/company/arw-contract02-pc.svg) 0 0 no-repeat;
                  background-size: contain;
                  position: absolute;
                  top: 50%;
                  transform: translateY(-50%);
                  left: auto;
                  bottom: auto;
                  right: -174px; }
                .area-about .body .abouts .about.contract .steps .step:last-of-type .imgtxt:last-of-type {
                  margin-top: 0;
                  margin-left: 185px; }
                  .area-about .body .abouts .about.contract .steps .step:last-of-type .imgtxt:last-of-type::after {
                    display: none; }
                .area-about .body .abouts .about.contract .steps .step:last-of-type .imgtxt .txt {
                  margin-top: 10px; } }

.area-voice {
  background: #F2F5FC;
  padding: 56px 24px; }
  .area-voice .title {
    margin-bottom: 32px; }
    .area-voice .title .lead {
      color: #8F96AC;
      font-size: 13px;
      text-align: center; }
  .area-voice .body .voice {
    margin-bottom: 16px; }
    .area-voice .body .voice .imgtxt {
      display: flex;
      justify-content: space-between; }
    .area-voice .body .voice .img {
      width: 50px; }
      .area-voice .body .voice .img img {
        border-radius: 50%; }
    .area-voice .body .voice .txt {
      flex: 1;
      margin-left: 20px;
      position: relative;
      background: #fff;
      border-radius: 8px;
      padding: 24px; }
      .area-voice .body .voice .txt::after {
        content: '';
        display: block;
        width: 21px;
        height: 19px;
        background: url(../img/company/bg-voice.svg) 0 0 no-repeat;
        background-size: contain;
        position: absolute;
        top: 40px;
        left: -16px; }
      .area-voice .body .voice .txt .lead {
        font-size: 14px;
        line-height: 1.8; }
      .area-voice .body .voice .txt .customer {
        font-size: 11px;
        line-height: 1.8;
        margin-top: 1em;
        color: #8E97B2; }
  @media only screen and (min-width: 1025px) {
    .area-voice {
      padding: 140px 100px; }
      .area-voice .inner {
        max-width: 802px;
        margin: 0 auto; }
      .area-voice .title {
        margin-bottom: 60px; }
        .area-voice .title .lead {
          font-size: 15px;
          margin-top: 1em; }
      .area-voice .body {
        max-width: 802px;
        margin: 0 auto; }
        .area-voice .body .voice .img {
          width: 80px; }
        .area-voice .body .voice .txt {
          flex: 1;
          padding: 24px; } }

.area-engineer {
  background: #2C2E3C;
  padding: 56px 24px; }
  .area-engineer .title {
    margin-bottom: 32px; }
    .area-engineer .title .hl01 {
      color: #fff; }
    .area-engineer .title .lead {
      color: #8F96AC;
      font-size: 13px;
      text-align: center; }
  .area-engineer .body .item {
    border-radius: 16px;
    background: linear-gradient(31.08deg, #D6F8FF 0%, #C6DBFF 100%);
    padding: 24px;
    margin-bottom: 12px; }
    .area-engineer .body .item:last-of-type {
      margin-bottom: 0; }
    .area-engineer .body .item .img {
      text-align: center;
      margin-bottom: 24px; }
      .area-engineer .body .item .img img {
        width: 112px; }
    .area-engineer .body .item .txt .name {
      text-align: center;
      font-size: 22px;
      font-weight: bold; }
      .area-engineer .body .item .txt .name small {
        display: block;
        font-size: 12px;
        margin-top: 0.8em;
        font-family: "Kode Mono", monospace;
        background: linear-gradient(93.49deg, #08C2FF 0%, #1B0DFF 100%);
        color: transparent;
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
        text-fill-color: transparent; }
    .area-engineer .body .item .txt .position {
      text-align: center;
      font-size: 12px;
      font-weight: bold;
      color: #7885B3;
      margin-top: 1em; }
    .area-engineer .body .item .txt .lead {
      margin-top: 26px;
      font-size: 13px;
      line-height: 1.8; }
  @media only screen and (min-width: 1025px) {
    .area-engineer {
      padding: 140px 100px; }
      .area-engineer .inner {
        max-width: 1216px;
        margin: 0 auto; }
      .area-engineer .title {
        margin-bottom: 60px; }
        .area-engineer .title .lead {
          font-size: 15px;
          margin-top: 1em; }
      .area-engineer .body {
        max-width: 1216px;
        margin: 0 auto; }
        .area-engineer .body .items {
          display: grid;
          grid-column-gap: 25px;
          grid-template-columns: repeat(3, 1fr); }
        .area-engineer .body .item {
          padding: 48px 40px;
          margin-bottom: 0;
          display: grid;
          grid-template-rows: subgrid;
          grid-row: span 5; }
          .area-engineer .body .item:last-of-type {
            margin-bottom: 0; }
          .area-engineer .body .item .imgtxt {
            display: inherit;
            grid-template-rows: inherit;
            grid-row: inherit; }
          .area-engineer .body .item .txt {
            display: inherit;
            grid-template-rows: inherit;
            grid-row: inherit; } }

.area-servicelineup {
  background: #F2F5FC;
  padding: 56px 24px; }
  .area-servicelineup .title {
    margin-bottom: 32px; }
    .area-servicelineup .title .lead {
      color: #8F96AC;
      font-size: 13px;
      text-align: center; }
  .area-servicelineup .body dl .row {
    background: #fff;
    border-radius: 8px;
    margin-bottom: 8px;
    padding: 24px; }
    .area-servicelineup .body dl .row dt {
      text-align: center;
      font-size: 24px;
      margin-bottom: 0.6em;
      font-weight: bold; }
    .area-servicelineup .body dl .row dd {
      font-size: 13px;
      line-height: 1.8; }
    .area-servicelineup .body dl .row.more {
      background: none;
      padding: 0; }
      .area-servicelineup .body dl .row.more p a {
        border-radius: 8px;
        display: block;
        background: #DFE3EE;
        padding: 40px 20px;
        text-align: center;
        font-size: 16px;
        line-height: 1.4;
        font-weight: bold;
        color: #273871; }
        .area-servicelineup .body dl .row.more p a::after {
          content: '';
          display: block;
          width: 40px;
          height: 40px;
          background: url(../img/company/arw-more01.svg) 0 0 no-repeat;
          background-size: contain;
          margin: 0 auto;
          margin-top: 16px; }
  @media only screen and (min-width: 1025px) {
    .area-servicelineup {
      padding: 140px 100px; }
      .area-servicelineup .inner {
        max-width: 1216px;
        margin: 0 auto; }
      .area-servicelineup .title {
        margin-bottom: 60px; }
        .area-servicelineup .title .lead {
          font-size: 15px;
          margin-top: 1em; }
      .area-servicelineup .body {
        max-width: 1216px;
        margin: 0 auto; }
        .area-servicelineup .body dl {
          display: grid;
          grid-gap: 24px;
          grid-template-columns: repeat(3, 1fr); }
          .area-servicelineup .body dl .row {
            border-radius: 8px;
            margin-bottom: 0;
            padding: 32px 32px; }
            .area-servicelineup .body dl .row dt {
              font-size: 28px; }
            .area-servicelineup .body dl .row dd {
              font-size: 15px; }
            .area-servicelineup .body dl .row.more {
              background: #DFE3EE;
              position: relative; }
              .area-servicelineup .body dl .row.more p a {
                background: #DFE3EE;
                font-size: 21px;
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
                width: 100%; }
                .area-servicelineup .body dl .row.more p a::after {
                  width: 56px;
                  height: 56px; } }

/* block
**************************************************************************************************************************/
/* modal
**************************************************************************************************************************/
@media screen and (min-width: 769px) {
  .is_sp {
    display: none !important; }
  .is_tb {
    display: block !important; }
  .is_tb_inline {
    display: inline-block !important; } }

@media screen and (min-width: 1024px) {
  .is_pc {
    display: block !important; }
  .is_pc_inline {
    display: inline-block !important; } }

/*# sourceMappingURL=layout.css.map */