@charset "UTF-8";
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

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

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

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

.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden; }

.clearfix {
  display: inline-block; }

/* Hides from IE Mac */
* html .clearfix {
  height: 1%; }

.clearfix {
  display: block; }

/* ---------- 初期 ---------- */
body {
  letter-spacing: 0.01em;
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  -webkit-text-size-adjust: 100%; }

img {
  max-width: 100%;
  pointer-events: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-touch-callout: none;
  -moz-user-select: none;
  user-select: none; }

a {
  text-decoration: none; }

strong {
  font-weight: bold; }

/* ---------- /共通部分 ---------- */
#jougetyuou {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  margin: auto; }

#kadomaru {
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px; }

#resbtn {
  -webkit-appearance: none; }

.ancr {
  position: relative;
  transition: 0.5s; }

.anca {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 10;
  cursor: pointer; }

.ancr:hover {
  opacity: 0.75;
  transition: 0.5s;
  cursor: pointer; }

/* ---------- /参考タグ部分 ---------- */
.wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }

/*フォント*/
.roboto {
  font-family: "Roboto", sans-serif; }

.lato {
  font-family: "Lato", sans-serif; }

.notosans {
  font-family: "Noto Sans JP", sans-serif; }

/*見出し（見出ゴMB1）の代わり*/
.font01 {
  font-family: "M PLUS 1p", sans-serif; }

/* PC */
@media screen and (min-width: 798px) {
  .sponly {
    display: none !important; }

  a {
    transition: 0.3s cubic-bezier(0.4, 0.4, 0, 1); }

  header {
    width: 100%;
    max-width: 100%;
    position: fixed;
    left: 0;
    top: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10; }
    header .header_inner {
      width: calc(100% - 48px);
      max-width: calc(100% - 48px);
      height: 72px;
      box-sizing: border-box;
      padding: 16px;
      margin: 24px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      background: #fff;
      border-radius: 8px;
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.05); }
      header .header_inner .header_left {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column; }
        header .header_inner .header_left a.header_logo {
          display: flex;
          justify-content: center;
          align-items: center;
          flex-direction: column;
          box-sizing: border-box;
          padding: 8px; }
          header .header_inner .header_left a.header_logo img {
            width: 180px;
            height: auto; }
      header .header_inner .header_right {
        max-width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        box-sizing: border-box; }
        header .header_inner .header_right a {
          height: 40px;
          display: flex;
          justify-content: center;
          align-items: center;
          flex-direction: column;
          box-sizing: border-box;
          border-radius: 4px;
          border: solid 1px #333;
          background: #fff;
          transition: 0.3s cubic-bezier(0.4, 0.4, 0, 1); }
          header .header_inner .header_right a:hover {
            background: #f5f7f7; }
          header .header_inner .header_right a.recruit {
            width: 217px;
            max-width: calc(100% - 16px);
            margin-right: 16px; }
          header .header_inner .header_right a.login {
            width: 112px;
            max-width: calc(100% - 16px);
            margin-right: 16px; }
          header .header_inner .header_right a.signup {
            width: 158px;
            max-width: 100%;
            background: #de4861;
            border: none; }
          header .header_inner .header_right a:hover.signup {
            background: #309da5; }
          header .header_inner .header_right a p {
            font-size: 14px;
            letter-spacing: 0;
            line-height: 1;
            font-weight: 600;
            color: #14191a;
            text-align: center;
            transition: 0.3s cubic-bezier(0.4, 0.4, 0, 1); }
          header .header_inner .header_right a:hover p {
            color: #309da5; }
          header .header_inner .header_right a.signup p {
            color: #fff; }
          header .header_inner .header_right a:hover.signup p {
            color: #fff; }

  .content {
    width: 100%;
    max-width: 100%;
    display: flex;
    align-items: flex-start;
    flex-direction: row;
    height: auto;
    justify-content: center; }
    .content .content_inner {
      width: 100%;
      max-width: 100%;
      position: relative;
      display: flex;
      align-items: center;
      flex-direction: column; }
      .content .content_inner.content_inner::-webkit-scrollbar {
        display: none; }

  /*@media screen and (max-width: 1280px) {
      .content_inner {
          width: 70%;
          max-width: 70%;
          justify-content: flex-start;
      }
  }*/
  #mv {
    width: 100%;
    max-width: 100%;
    height: 781px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center; }
    #mv::before {
      position: absolute;
      content: "";
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      background: url("../img/engineer/mv_bg.webp") no-repeat center;
      background-size: cover;
      z-index: -2; }
    #mv .mv_left {
      width: 1240px;
      max-width: calc(100% - 40px);
      height: 100%;
      box-sizing: border-box;
      margin: 0px 20px;
      padding-top: 181px;
      display: flex;
      justify-content: flex-start;
      align-items: flex-start;
      flex-direction: column; }
      #mv .mv_left .inner {
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        flex-direction: column; }
      #mv .mv_left h1 {
        width: auto;
        font-size: 58px;
        letter-spacing: 0;
        line-height: 1.4em;
        font-weight: 500;
        color: #134f50; }
      #mv .mv_left .mv_txt {
        font-size: 30px;
        letter-spacing: 0;
        line-height: 1.4em;
        font-weight: 500;
        color: #134f50; }
      #mv .mv_left a {
        display: flex;
        justify-content: flex-end;
        align-items: flex-end;
        flex-direction: column;
        transition: 0.3s cubic-bezier(0.4, 0.4, 0, 1); }
        #mv .mv_left a.signup {
          width: 516px;
          margin-top: 34px; }
          #mv .mv_left a.signup img {
            width: 516px;
            height: auto; }
        #mv .mv_left a.watch {
          width: auto;
          margin-top: 23px; }
          #mv .mv_left a.watch img {
            width: 489px;
            height: auto; }
        #mv .mv_left a:hover {
          opacity: 0.8;
          transform: scale(1.1, 1.1); }

  #corporation {
    width: 100%;
    max-width: 100%;
    padding: 52px 0 81px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column; }
    #corporation .corporation_ttl {
      width: 990px;
      height: auto; }
    #corporation .corporation_img {
      width: 990px;
      max-width: calc(100% - 40px);
      height: auto;
      margin: 20px 20px 40px; }

  #about {
    width: 100%;
    max-width: 100%;
    height: 653px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative; }
    #about::before {
      position: absolute;
      content: "";
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      background: url("../img/engineer/about_bg.webp") no-repeat center;
      background-size: cover;
      z-index: -2; }
    #about .about_left {
      width: 496px;
      max-width: 100%;
      height: 100%;
      display: flex;
      justify-content: center;
      align-items: flex-start;
      flex-direction: column; }
      #about .about_left img.about_ttl {
        width: 448.55px;
        height: auto; }
      #about .about_left p {
        color: #fff;
        line-height: 1.4em;
        letter-spacing: 0;
        margin-top: 18px; }
        #about .about_left p.about_txt_01 {
          font-size: 22px; }
        #about .about_left p.about_txt_02 {
          font-size: 18px; }
        #about .about_left p.about_txt_03 {
          font-size: 16px; }
      #about .about_left a {
        width: 516px;
        max-width: 100%;
        display: flex;
        justify-content: flex-end;
        align-items: flex-end;
        flex-direction: column;
        margin-top: 43px; }
        #about .about_left a img {
          width: 516px;
          height: auto; }
        #about .about_left a:hover {
          opacity: 0.8;
          transform: scale(1.1, 1.1); }
    #about img.about_img {
      width: 700px;
      height: auto; }

  #reason {
    width: 100%;
    max-width: 100%;
    position: relative;
    padding: 96px 0 120px;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column; }
    #reason::before {
      position: absolute;
      content: "";
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      background: url("../img/engineer/reason_bg.webp") no-repeat center;
      background-size: cover;
      z-index: -2; }
    #reason .reason_ttl {
      width: 100%;
      margin-bottom: 22px;
      text-align: center; }
      #reason .reason_ttl img {
        width: 629px;
        height: auto; }
    #reason .reason_box {
      width: 100%;
      max-width: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-wrap: wrap; }
      #reason .reason_box .reason_box_txtarea {
        width: 650px;
        max-width: 100%;
        display: flex;
        justify-content: center;
        align-items: flex-start;
        flex-direction: column; }
        #reason .reason_box .reason_box_txtarea .reason_box_ttl {
          width: 100%;
          height: auto; }
        #reason .reason_box .reason_box_txtarea .reason_box_txt {
          font-size: 22px;
          letter-spacing: 0;
          line-height: 1.4em;
          font-weight: 400;
          color: #404c4d;
          margin-top: 18px; }
        #reason .reason_box .reason_box_txtarea .reason_box_btnarea {
          max-width: 100%;
          display: flex;
          justify-content: center;
          align-items: center;
          margin-top: 26px; }
          #reason .reason_box .reason_box_txtarea .reason_box_btnarea a.link {
            display: flex; }
            #reason .reason_box .reason_box_txtarea .reason_box_btnarea a.link img {
              width: 337px;
              height: auto; }
            #reason .reason_box .reason_box_txtarea .reason_box_btnarea a.link:hover {
              opacity: 0.8;
              transform: scale(1.1, 1.1); }
          #reason .reason_box .reason_box_txtarea .reason_box_btnarea .reason_box_signup_btn a {
            display: flex; }
            #reason .reason_box .reason_box_txtarea .reason_box_btnarea .reason_box_signup_btn a img {
              width: 290px;
              height: auto; }
            #reason .reason_box .reason_box_txtarea .reason_box_btnarea .reason_box_signup_btn a:hover {
              opacity: 0.8;
              transform: scale(1.1, 1.1); }
      #reason .reason_box.box01 .reason_box_txtarea {
        padding-top: 116px; }
      #reason .reason_box.box02 .reason_box_txtarea {
        padding-top: 78px; }
        #reason .reason_box.box02 .reason_box_txtarea .reason_box_ttl {
          width: 580px; }
      #reason .reason_box.box03 .reason_box_txtarea {
        padding-top: 89px; }
      #reason .reason_box.box04 .reason_box_txtarea {
        padding-top: 127px; }
        #reason .reason_box.box04 .reason_box_txtarea .reason_box_ttl {
          width: 637px; }
      #reason .reason_box .reason_box_img {
        width: 650px;
        height: auto; }
      #reason .reason_box.box02 .reason_box_img {
        width: 899.75px;
        max-width: calc(100% - -270px);
        margin: 51px -270px 0px 0px; }
      #reason .reason_box.box03 .reason_box_img {
        width: 593px;
        max-width: calc(100% - 60px);
        margin-left: 60px; }
      #reason .reason_box.box04 .reason_box_img {
        width: 899.75px;
        max-width: calc(100% - -285px);
        margin: 51px -285px 0px 0px; }

  #user {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 100px 20px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-direction: column;
    background: #f5f7f7; }
    #user .user_ttl {
      width: 867px;
      height: auto; }
    #user .user_cont {
      width: calc(100% - 80px);
      max-width: calc(100% - 80px);
      margin: 48px 40px 0px;
      display: flex;
      justify-content: flex-start;
      align-items: center;
      gap: 81px; }
      #user .user_cont a.user_box {
        width: calc(33.3% - 54.027px);
        max-width: calc(33.3% - 54.027px);
        box-sizing: border-box;
        padding: 8px;
        background: #fff;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        flex-direction: column; }
        #user .user_cont a.user_box img.user_box_img {
          width: 100%;
          height: auto;
          border-radius: 8px; }
        #user .user_cont a.user_box .user_box_txtarea {
          max-width: 100%;
          display: flex;
          justify-content: flex-start;
          align-items: flex-start;
          flex-direction: column; }
          #user .user_cont a.user_box .user_box_txtarea .user_box_ttl {
            font-size: 15px;
            letter-spacing: -0.04em;
            line-height: 1.4em;
            font-weight: 500;
            color: #333333;
            margin-top: 8px; }
          #user .user_cont a.user_box .user_box_txtarea .user_box_date {
            font-size: 13px;
            letter-spacing: -0.04em;
            line-height: 1.4em;
            font-weight: 500;
            color: #9b9b9b;
            margin-top: 4px; }
    #user a.user_btn {
      width: 360px;
      max-width: 100%;
      display: flex;
      margin-top: 40px; }
      #user a.user_btn img {
        width: 100%;
        height: auto; }

  #media {
    width: 100%;
    max-width: 100%;
    padding: 110px 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column; }
    #media h2.media_ttl {
      width: 50%;
      max-width: 50%;
      text-align: center;
      font-size: 36px;
      letter-spacing: 0.11em;
      line-height: 1.8em;
      font-weight: 600;
      color: #309da5; }
    #media .media_cont {
      width: 1100px;
      max-width: 100%;
      display: flex;
      justify-content: flex-start;
      align-items: center;
      flex-wrap: wrap;
      gap: 18px;
      margin-top: 42px; }
      #media .media_cont .media_cont_img {
        width: 260px;
        height: auto;
        box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.11); }

  .banner {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 60px 0;
    height: 447px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative; }
    .banner .banner_bg {
      width: 100%;
      max-width: 100%;
      height: 447px;
      position: absolute;
      top: 0;
      left: 0;
      z-index: -2; }
      .banner .banner_bg::before {
        position: absolute;
        content: "";
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        background: url("../img/engineer/banner_bg.webp") no-repeat center;
        background-size: cover; }
    .banner h2 {
      width: auto;
      max-width: calc(100% - 60px);
      font-size: 36px;
      letter-spacing: 0;
      line-height: 1.5em;
      font-weight: 600;
      color: #fff;
      text-align: center;
      margin: 0 30px; }
    .banner .banner_btn {
      max-width: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      margin-top: 40px; }
      .banner .banner_btn a {
        width: auto;
        max-width: 100%;
        box-sizing: border-box;
        padding: 16px;
        border-radius: 4px;
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center; }
        .banner .banner_btn a.signup {
          background: #fff; }
          .banner .banner_btn a.signup p {
            letter-spacing: 0;
            line-height: 1;
            color: #309da5;
            font-weight: 600; }
            .banner .banner_btn a.signup p.big {
              font-size: 16px;
              height: 14px;
              display: flex;
              justify-content: center;
              align-items: center;
              flex-direction: column; }
            .banner .banner_btn a.signup p.small {
              font-size: 14px; }
        .banner .banner_btn a.contact {
          max-width: calc(100% - 16px);
          margin-left: 16px;
          background: #309da5;
          border: solid 1px #fff; }
          .banner .banner_btn a.contact p {
            font-size: 14px;
            letter-spacing: 0;
            line-height: 1;
            color: #fff;
            font-weight: 700; }
        .banner .banner_btn a:hover {
          opacity: 0.8;
          transform: scale(1.1, 1.1); }

  .float_btn {
    display: none; }

  footer {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 64px 0 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    background: #f5f7f7; }
    footer .footer_menu {
      width: 1100px;
      max-width: calc(100% - 60px);
      margin: 0px 30px 69px;
      display: flex;
      justify-content: space-between; }
      footer .footer_menu .footer_left {
        width: auto;
        max-width: 100%;
        display: flex;
        justify-content: flex-start; }
        footer .footer_menu .footer_left ul {
          width: auto;
          max-width: calc(100% - 48px);
          margin-right: 48px;
          display: flex;
          justify-content: flex-start;
          align-items: flex-start;
          flex-direction: column; }
          footer .footer_menu .footer_left ul li {
            font-size: 14px;
            letter-spacing: 0;
            line-height: 1.5em;
            font-weight: 600;
            color: #404c4d; }
          footer .footer_menu .footer_left ul a {
            font-size: 14px;
            letter-spacing: 0;
            line-height: 1.5em;
            font-weight: 400;
            color: #404c4d;
            margin-top: 12px;
            display: flex; }
            footer .footer_menu .footer_left ul a:nth-of-type(1) {
              margin-top: 20px; }
      footer .footer_menu .footer_right {
        width: 234px;
        max-width: 100%;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        flex-direction: column; }
        footer .footer_menu .footer_right a {
          width: 234px;
          max-width: 100%;
          height: 48px;
          display: flex;
          justify-content: center;
          align-items: center;
          border-radius: 4px;
          box-sizing: border-box; }
          footer .footer_menu .footer_right a.signup {
            background: #de4861;
            flex-direction: column; }
            footer .footer_menu .footer_right a.signup p {
              font-size: 16px;
              letter-spacing: 0;
              line-height: 1.4em;
              color: #fff;
              font-weight: 500;
              text-align: center; }
          footer .footer_menu .footer_right a.contact {
            border: solid 1px #404c4d;
            border-radius: 3px;
            margin-top: 16px; }
            footer .footer_menu .footer_right a.contact p {
              font-size: 14px;
              letter-spacing: 0;
              line-height: 1.4em;
              color: #404c4d;
              font-weight: 600;
              text-align: center; }
            footer .footer_menu .footer_right a.contact .icon {
              width: 16px;
              max-width: calc(100% - 8px);
              height: 16px;
              margin: 0px 0px 0px 8px;
              position: relative; }
              footer .footer_menu .footer_right a.contact .icon::before {
                position: absolute;
                content: "";
                width: 100%;
                height: 100%;
                left: 0;
                top: 0;
                background: url("../img/engineer/footer_btn_icon.svg") no-repeat center;
                background-size: cover; }
    footer .footer_btm {
      width: 1100px;
      max-width: calc(100% - 60px);
      margin: 0px 30px;
      padding: 41px 0px 46px;
      box-sizing: border-box;
      display: flex;
      justify-content: space-between;
      align-items: center;
      border-top: solid 1px #e1e5e5; }
      footer .footer_btm .footer_logo {
        width: 140px;
        height: auto; }
      footer .footer_btm .footer_btm_right {
        width: auto;
        max-width: 100%;
        display: flex;
        justify-content: flex-end;
        align-items: center; }
        footer .footer_btm .footer_btm_right .footer_sns {
          display: flex;
          justify-content: center;
          align-items: center; }
          footer .footer_btm .footer_btm_right .footer_sns a {
            display: flex;
            align-items: center;
            position: relative; }
            footer .footer_btm .footer_btm_right .footer_sns a::before {
              position: absolute;
              content: "";
              width: 100%;
              height: 100%;
              left: 0;
              top: 0;
              background-repeat: no-repeat;
              background-size: cover;
              background-position: center; }
            footer .footer_btm .footer_btm_right .footer_sns a.x {
              width: 18px;
              max-width: 100%;
              height: 18px; }
              footer .footer_btm .footer_btm_right .footer_sns a.x::before {
                background-image: url("../img/engineer/x-icon.webp"); }
            footer .footer_btm .footer_btm_right .footer_sns a.note {
              width: 32px;
              max-width: calc(100% - 4px);
              height: 32px;
              margin-left: 6px; }
              footer .footer_btm .footer_btm_right .footer_sns a.note::before {
                background-image: url("../img/engineer/note_icon.svg"); }
        footer .footer_btm .footer_btm_right .copyright {
          width: auto;
          max-width: calc(100% - 20px);
          font-size: 14px;
          letter-spacing: 0;
          line-height: 1.5em;
          color: #404c4d;
          font-weight: 500;
          margin-left: 20px; } }
/* SP */
@media screen and (max-width: 797px) {
  .pconly {
    display: none !important; }

  a {
    transition: 0.3s cubic-bezier(0.4, 0.4, 0, 1); }

  header {
    width: 100%;
    max-width: 100%;
    position: fixed;
    left: 0;
    top: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10; }
    header .header_inner {
      width: calc(100% - 16px);
      max-width: calc(100% - 16px);
      height: 48px;
      box-sizing: border-box;
      padding: 8px 12px;
      margin: 8px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      background: #fff;
      border-radius: 8px;
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.05); }
      header .header_inner .header_left {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column; }
        header .header_inner .header_left a.header_logo {
          display: flex;
          justify-content: center;
          align-items: center;
          flex-direction: column;
          box-sizing: border-box; }
          header .header_inner .header_left a.header_logo img {
            width: 40px;
            height: 40px; }
      header .header_inner .header_right {
        max-width: calc(100% - 20px);
        display: flex;
        justify-content: center;
        align-items: center;
        box-sizing: border-box;
        margin-left: 20px; }
        header .header_inner .header_right a {
          height: 32px;
          display: flex;
          justify-content: center;
          align-items: center;
          flex-direction: column;
          box-sizing: border-box;
          border-radius: 4px;
          border: solid 1px #333;
          background: #fff;
          transition: 0.3s cubic-bezier(0.4, 0.4, 0, 1); }
          header .header_inner .header_right a:hover {
            background: #f5f7f7; }
          header .header_inner .header_right a.recruit {
            width: 80px;
            max-width: calc(100% - 8px);
            margin-right: 8px; }
          header .header_inner .header_right a.login {
            width: 60px;
            max-width: calc(100% - 8px);
            margin-right: 8px; }
          header .header_inner .header_right a.signup {
            width: 110px;
            max-width: 100%;
            background: #de4861;
            border: none; }
          header .header_inner .header_right a:hover.signup {
            background: #309da5; }
          header .header_inner .header_right a p {
            font-size: 10px;
            letter-spacing: 0;
            line-height: 1;
            font-weight: 600;
            color: #14191a;
            text-align: center;
            transition: 0.3s cubic-bezier(0.4, 0.4, 0, 1); }
          header .header_inner .header_right a:hover p {
            color: #309da5; }
          header .header_inner .header_right a.signup p {
            color: #fff; }
          header .header_inner .header_right a:hover.signup p {
            color: #fff; }

  .content {
    width: 100%;
    max-width: 100%;
    display: flex;
    align-items: flex-start;
    flex-direction: row;
    height: auto;
    justify-content: center; }
    .content .content_inner {
      width: 100%;
      max-width: 100%;
      position: relative;
      display: flex;
      align-items: center;
      flex-direction: column; }
      .content .content_inner.content_inner::-webkit-scrollbar {
        display: none; }

  /*@media screen and (max-width: 1280px) {
      .content_inner {
          width: 70%;
          max-width: 70%;
          justify-content: flex-start;
      }
  }*/
  #mv {
    width: 100%;
    max-width: 100%;
    height: 720px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column; }
    #mv::before {
      position: absolute;
      content: "";
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      background: url("../img/engineer/mv_bg_sp.webp") no-repeat center;
      background-size: cover;
      z-index: -2; }
    #mv .mv_left {
      width: 360px;
      max-width: 100%;
      height: 100%;
      box-sizing: border-box;
      padding-top: 90px;
      display: flex;
      justify-content: flex-start;
      align-items: center;
      flex-direction: column; }
      #mv .mv_left .inner {
        width: 100%;
        max-width: 100%;
        height: auto;
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        flex-direction: column; }
      #mv .mv_left h1 {
        width: auto;
        max-width: 100%;
        font-size: 29px;
        letter-spacing: 0;
        line-height: 1.4em;
        font-weight: 500;
        color: #134f50; }
      #mv .mv_left .mv_txt {
        font-size: 16px;
        letter-spacing: 0;
        line-height: 1.4em;
        font-weight: 500;
        color: #134f50;
        margin-top: 4px; }
      #mv .mv_left .mv_space {
        width: 100%;
        max-width: 100%;
        height: 231.52px;
        display: flex; }
      #mv .mv_left a {
        display: flex;
        justify-content: flex-end;
        align-items: flex-end;
        flex-direction: column; }
        #mv .mv_left a img {
          width: 516px;
          height: auto; }
        #mv .mv_left a.signup {
          width: calc(100% - -8px);
          max-width: calc(100% - -8px);
          margin-right: -8px; }
        #mv .mv_left a.app {
          width: 160px;
          max-width: 100%;
          margin-top: 7px; }
        #mv .mv_left a.google {
          width: 190px;
          max-width: 100%; }
      #mv .mv_left .mv_btn_btm {
        width: 100%;
        max-width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        flex-wrap: wrap; }
    #mv .mv_btnarea {
      width: 100%;
      max-width: 100%;
      height: 216px;
      position: absolute;
      left: 0;
      bottom: 0;
      background: rgba(255, 255, 255, 0.7);
      border-radius: 40px 30px 0px 0px;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column; }
      #mv .mv_btnarea .inner {
        width: 336px;
        max-width: 100%;
        display: flex;
        justify-content: flex-end;
        align-items: flex-start;
        flex-direction: column; }
        #mv .mv_btnarea .inner a {
          display: flex;
          justify-content: flex-end;
          align-items: flex-end;
          flex-direction: column; }
          #mv .mv_btnarea .inner a img {
            width: 516px;
            height: auto; }
          #mv .mv_btnarea .inner a.signup {
            width: 342px;
            max-width: calc(100% - -8px);
            margin-right: -8px; }
          #mv .mv_btnarea .inner a.app {
            width: 147px;
            max-width: 100%;
            margin-top: 7px; }
          #mv .mv_btnarea .inner a.google {
            width: 175px;
            max-width: 100%; }
        #mv .mv_btnarea .inner .mv_btn_btm {
          width: 100%;
          max-width: 100%;
          display: flex;
          justify-content: space-between;
          align-items: flex-start;
          flex-wrap: wrap; }

  #corporation {
    width: 100%;
    max-width: 100%;
    padding: 16px 0 36px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column; }
    #corporation .corporation_img {
      width: 375px;
      height: auto; }
    #corporation .corporation_btn {
      width: auto;
      max-width: 100%;
      margin-top: 40px;
      display: flex; }
      #corporation .corporation_btn img {
        width: 333px; }

  #about {
    width: 100%;
    max-width: 100%;
    height: 653px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    flex-wrap: wrap; }
    #about::before {
      position: absolute;
      content: "";
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      background: url("../img/engineer/about_bg_sp.webp") no-repeat center;
      background-size: cover;
      z-index: -2; }
    #about .about_left {
      width: 330px;
      max-width: 100%;
      height: 100%;
      display: flex;
      justify-content: center;
      align-items: flex-start;
      flex-direction: column; }
      #about .about_left img.about_img {
        width: 500px;
        height: auto; }
      #about .about_left img.about_ttl {
        width: 265px;
        height: auto; }
      #about .about_left p {
        color: #fff;
        line-height: 1.4em;
        letter-spacing: 0;
        margin-top: 18px; }
        #about .about_left p.about_txt_01 {
          font-size: 15px; }
        #about .about_left p.about_txt_02 {
          font-size: 12px; }
        #about .about_left p.about_txt_03 {
          font-size: 11px; }
      #about .about_left a {
        display: flex;
        justify-content: flex-end;
        align-items: flex-end;
        flex-direction: column; }
        #about .about_left a img {
          width: 516px;
          height: auto; }
        #about .about_left a:hover {
          opacity: 0.8;
          transform: scale(1.1, 1.1); }
        #about .about_left a.signup {
          width: 516px;
          max-width: calc(100% - -15px);
          margin: 43px -15px 0px 0px; }
        #about .about_left a.app {
          width: 147px;
          max-width: 100%;
          margin-top: 7px; }
        #about .about_left a.google {
          width: 175px;
          max-width: 100%; }
      #about .about_left .about_btn {
        width: 100%;
        max-width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: flex-start; }

  #reason {
    width: 100%;
    max-width: 100%;
    position: relative;
    padding: 53px 0 96px;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: wrap;
    overflow: hidden; }
    #reason::before {
      position: absolute;
      content: "";
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      background: url("../img/engineer/reason_bg_sp.webp") no-repeat center top;
      background-size: cover;
      z-index: -2; }
    #reason .reason_ttl {
      width: 315px;
      margin-bottom: 22px;
      text-align: center; }
      #reason .reason_ttl img {
        width: 629px;
        height: auto; }
    #reason .reason_box {
      width: 300px;
      max-width: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-wrap: wrap; }
      #reason .reason_box .reason_box_txtarea {
        width: 100%;
        max-width: 100%;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        flex-direction: column; }
        #reason .reason_box .reason_box_txtarea .reason_box_ttl {
          width: 100%;
          height: auto; }
        #reason .reason_box .reason_box_txtarea .reason_box_img {
          height: auto; }
        #reason .reason_box .reason_box_txtarea .reason_box_txt {
          font-size: 14px;
          letter-spacing: 0;
          line-height: 1.4em;
          font-weight: 500;
          color: #404c4d;
          margin-top: 40px; }
        #reason .reason_box .reason_box_txtarea .reason_box_btnarea {
          width: 100%;
          max-width: 100%;
          display: flex;
          justify-content: center;
          align-items: center;
          flex-direction: column-reverse;
          margin-top: 26px; }
          #reason .reason_box .reason_box_txtarea .reason_box_btnarea a.link {
            display: flex;
            margin-top: 11px; }
            #reason .reason_box .reason_box_txtarea .reason_box_btnarea a.link img {
              width: 100%;
              height: auto; }
            #reason .reason_box .reason_box_txtarea .reason_box_btnarea a.link:hover {
              opacity: 0.8;
              transform: scale(1.1, 1.1); }
          #reason .reason_box .reason_box_txtarea .reason_box_btnarea .reason_box_signup_btn a {
            display: flex; }
            #reason .reason_box .reason_box_txtarea .reason_box_btnarea .reason_box_signup_btn a img {
              width: 100%;
              height: auto; }
            #reason .reason_box .reason_box_txtarea .reason_box_btnarea .reason_box_signup_btn a:hover {
              opacity: 0.8;
              transform: scale(1.1, 1.1); }
      #reason .reason_box.box01 .reason_box_txtarea {
        padding-top: 20px; }
      #reason .reason_box.box02 .reason_box_txtarea {
        padding-top: 47px; }
        #reason .reason_box.box02 .reason_box_txtarea .reason_box_ttl {
          width: 312px;
          max-width: calc(100% - -12px);
          margin: 0 -6px 0 0; }
      #reason .reason_box.box03 .reason_box_txtarea {
        padding-top: 45px; }
      #reason .reason_box.box04 .reason_box_txtarea .reason_box_txt {
        margin-top: 18px; }
      #reason .reason_box.box01 .reason_box_img {
        width: 330px;
        max-width: calc(100% - -80px);
        margin: 0px -80px 0px 0px; }
      #reason .reason_box.box02 .reason_box_img {
        width: 450px;
        max-width: calc(100% - -190px);
        margin: 0px -190px 0px 0px; }
      #reason .reason_box.box03 .reason_box_img {
        width: 490;
        max-width: calc(100% - 50px);
        margin-left: 50px; }
      #reason .reason_box.box04 .reason_box_img {
        width: 500px;
        max-width: calc(100% - -230px);
        margin: 0 -230px 40px 0px; }

  #user {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 40px 20px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-direction: column;
    background: #f5f7f7; }
    #user .user_ttl {
      width: 335px;
      height: auto; }
    #user .user_cont {
      width: 335px;
      max-width: 100%;
      margin: 48px 0 0px;
      display: flex;
      justify-content: flex-start;
      align-items: center;
      flex-wrap: wrap;
      gap: 26px; }
      #user .user_cont a.user_box {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        padding: 0 0 16px;
        background: #fff;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        flex-direction: column; }
        #user .user_cont a.user_box img.user_box_img {
          width: 100%;
          height: auto;
          border-radius: 8px; }
        #user .user_cont a.user_box .user_box_txtarea {
          width: calc(100% - 16px);
          max-width: calc(100% - 16px);
          margin: 20px 8px 0;
          display: flex;
          justify-content: space-between;
          align-items: flex-start;
          flex-direction: column; }
          #user .user_cont a.user_box .user_box_txtarea .user_box_ttl {
            font-size: 14px;
            letter-spacing: -0.01em;
            line-height: 1.5em;
            font-weight: 500;
            color: #333333; }
          #user .user_cont a.user_box .user_box_txtarea .user_box_date {
            font-size: 14px;
            letter-spacing: -0.01em;
            line-height: 1.5em;
            font-weight: 500;
            color: #9b9b9b; }
    #user a.user_btn {
      width: 85.6%;
      max-width: 85.6%;
      display: flex;
      margin-top: 40px; }
      #user a.user_btn img {
        width: 100%;
        height: auto; }

  #media {
    width: 100%;
    max-width: 100%;
    padding: 50px 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column; }
    #media h2.media_ttl {
      width: 100%;
      max-width: 100%;
      text-align: center;
      font-size: 20px;
      letter-spacing: 0.11em;
      line-height: 1.8em;
      font-weight: 600;
      color: #309da5; }
    #media .media_cont {
      width: 1100px;
      max-width: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-wrap: wrap;
      gap: 12px 12px;
      margin-top: 30px; }
      #media .media_cont .media_cont_img {
        width: 161px;
        height: auto;
        box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.11); }

  .banner {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 60px 0;
    height: 337px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative; }
    .banner .banner_bg {
      width: 100%;
      max-width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      z-index: -2; }
      .banner .banner_bg::before {
        position: absolute;
        content: "";
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        background: url("../img/engineer/banner_bg_sp.webp") no-repeat center;
        background-size: cover; }
    .banner h2 {
      width: auto;
      max-width: calc(100% - 32px);
      font-size: 23px;
      letter-spacing: 0;
      line-height: 1.5em;
      font-weight: 500;
      color: #fff;
      text-align: center;
      margin: 0 16px; }
    .banner .banner_btn {
      width: calc(100% - 60px);
      max-width: calc(100% - 60px);
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      margin: 40px 30px 0px; }
      .banner .banner_btn a {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        padding: 16px;
        border-radius: 4px;
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center; }
        .banner .banner_btn a.signup {
          background: #fff; }
          .banner .banner_btn a.signup p {
            letter-spacing: 0;
            line-height: 1;
            color: #309da5;
            font-weight: 500; }
            .banner .banner_btn a.signup p.big {
              font-size: 16px;
              height: 14px;
              display: flex;
              justify-content: center;
              align-items: center;
              flex-direction: column; }
            .banner .banner_btn a.signup p.small {
              font-size: 14px; }
        .banner .banner_btn a.contact {
          background: #309da5;
          border: solid 1px #fff;
          margin-top: 20px; }
          .banner .banner_btn a.contact p {
            font-size: 14px;
            letter-spacing: 0;
            line-height: 1;
            color: #fff;
            font-weight: 700; }
        .banner .banner_btn a:hover {
          opacity: 0.8;
          transform: scale(1.1, 1.1); }

  .float_btn {
    display: none; }

  footer {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 64px 0 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    background: #f5f7f7; }
    footer .footer_menu {
      width: 1100px;
      max-width: calc(100% - 60px);
      margin: 0px 30px 40px;
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      flex-direction: column; }
      footer .footer_menu .footer_left {
        width: 100%;
        max-width: 100%;
        display: flex;
        justify-content: flex-start; }
        footer .footer_menu .footer_left ul {
          width: auto;
          max-width: calc(100% - 48px);
          margin-right: 48px;
          display: flex;
          justify-content: flex-start;
          align-items: flex-start;
          flex-direction: column; }
          footer .footer_menu .footer_left ul li {
            font-size: 14px;
            letter-spacing: 0;
            line-height: 1.5em;
            font-weight: 600;
            color: #404c4d; }
          footer .footer_menu .footer_left ul a {
            font-size: 14px;
            letter-spacing: 0;
            line-height: 1.5em;
            font-weight: 400;
            color: #404c4d;
            margin-top: 12px;
            display: flex; }
            footer .footer_menu .footer_left ul a:nth-of-type(1) {
              margin-top: 20px; }
      footer .footer_menu .footer_right {
        width: 100%;
        max-width: 100%;
        margin-top: 32px;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        flex-direction: column; }
        footer .footer_menu .footer_right a {
          width: 100%;
          max-width: 100%;
          height: 48px;
          display: flex;
          justify-content: center;
          align-items: center;
          border-radius: 4px;
          box-sizing: border-box; }
          footer .footer_menu .footer_right a.signup {
            background: #de4861;
            flex-direction: column; }
            footer .footer_menu .footer_right a.signup p {
              font-size: 16px;
              letter-spacing: 0;
              line-height: 1.4em;
              color: #fff;
              font-weight: 600;
              text-align: center; }
          footer .footer_menu .footer_right a.contact {
            border: solid 1px #404c4d;
            border-radius: 3px;
            margin-top: 16px; }
            footer .footer_menu .footer_right a.contact p {
              font-size: 14px;
              letter-spacing: 0;
              line-height: 1.4em;
              color: #404c4d;
              font-weight: 600;
              text-align: center; }
            footer .footer_menu .footer_right a.contact .icon {
              width: 16px;
              max-width: calc(100% - 8px);
              height: 16px;
              margin: 0px 0px 0px 8px;
              position: relative; }
              footer .footer_menu .footer_right a.contact .icon::before {
                position: absolute;
                content: "";
                width: 100%;
                height: 100%;
                left: 0;
                top: 0;
                background: url("../img/engineer/footer_btn_icon.svg") no-repeat center;
                background-size: cover; }
    footer .footer_btm {
      width: 1100px;
      max-width: calc(100% - 60px);
      margin: 0px 30px;
      padding: 41px 0px 46px;
      box-sizing: border-box;
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-direction: column;
      border-top: solid 1px #e1e5e5; }
      footer .footer_btm .footer_logo {
        width: 140px;
        height: auto; }
      footer .footer_btm .footer_btm_right {
        width: auto;
        max-width: 100%;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        flex-direction: column; }
        footer .footer_btm .footer_btm_right .footer_sns {
          display: flex;
          justify-content: center;
          align-items: center;
          margin-top: 30px; }
          footer .footer_btm .footer_btm_right .footer_sns a {
            display: flex;
            align-items: center;
            position: relative; }
            footer .footer_btm .footer_btm_right .footer_sns a::before {
              position: absolute;
              content: "";
              width: 100%;
              height: 100%;
              left: 0;
              top: 0;
              background-repeat: no-repeat;
              background-size: cover;
              background-position: center; }
            footer .footer_btm .footer_btm_right .footer_sns a.x {
              width: 18px;
              max-width: 100%;
              height: 18px; }
              footer .footer_btm .footer_btm_right .footer_sns a.x::before {
                background-image: url("../img/engineer/x-icon.webp"); }
            footer .footer_btm .footer_btm_right .footer_sns a.note {
              width: 32px;
              max-width: calc(100% - 4px);
              height: 32px;
              margin-left: 6px; }
              footer .footer_btm .footer_btm_right .footer_sns a.note::before {
                background-image: url("../img/engineer/note_icon.svg"); }
        footer .footer_btm .footer_btm_right .copyright {
          width: auto;
          max-width: 100%;
          font-size: 14px;
          letter-spacing: 0;
          line-height: 1.5em;
          color: #404c4d;
          font-weight: 500;
          margin-top: 30px; } }

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