@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;
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif; }

img {
  width: 100%;
  max-width: 100%;
  height: auto;
  line-height: 0; }

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; }

/* ---------- /参考タグ部分 ---------- */
.font_Zalando {
  font-family: "Zalando Sans Expanded", sans-serif; }

.font_Oxanium {
  font-family: "Oxanium", sans-serif; }

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

html {
  font-size: calc(1vw * 100 / 1920); }

body {
  background: #000; }

@keyframes infinity-scroll {
  0% {
    transform: translateX(0); }
  100% {
    transform: translateX(-50%);
    /* 半分（塊1つ分）動いたら最初に戻る */ } }
@keyframes animation3 {
  0% {
    opacity: 0;
    transform: translateY(50rem); }
  100% {
    opacity: 1;
    transform: translateY(0); } }
@keyframes animation4 {
  0% {
    opacity: 0;
    transform: scale(0.7, 0.7); }
  100% {
    opacity: 1;
    transform: scale(1, 1); } }
.huwari {
  opacity: 0;
  transform: translateY(50rem); }

.huwari.is-active {
  animation-name: animation3;
  animation-duration: 0.5s;
  animation-fill-mode: forwards; }

.huwari2 {
  opacity: 0;
  transform: translate(200rem, 0);
  transition: all 1s; }

.huwari2.is-active {
  opacity: 1 !important;
  transform: translate(0, 0); }

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

  header {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    color: #fff;
    z-index: 100;
    transition: all 0.3s ease; }
    header.changed {
      background: rgba(0, 0, 0, 0.9); }
      header.changed .inner {
        padding: 20rem; }
        header.changed .inner .header_logo {
          width: 75rem; }
    header .inner {
      width: 1686rem;
      margin: 0 auto;
      padding: 39rem 0;
      display: flex;
      justify-content: space-between;
      align-items: center; }
      header .inner .header_logo {
        width: 94rem; }
        header .inner .header_logo a {
          display: block;
          width: 100%; }
      header .inner nav {
        display: flex;
        justify-content: flex-end;
        align-items: center; }
        header .inner nav ul {
          display: flex;
          justify-content: flex-start;
          margin-right: 71rem; }
          header .inner nav ul li {
            font-size: 18rem;
            line-height: 1.5em;
            font-weight: bold; }
            header .inner nav ul li:nth-child(n+2) {
              margin-left: 71rem; }
            header .inner nav ul li a {
              display: block;
              color: #fff; }
              header .inner nav ul li a:hover {
                text-decoration: underline; }
        header .inner nav .header_btn {
          width: 184rem; }
          header .inner nav .header_btn a {
            display: block;
            width: 100%;
            font-size: 18rem;
            line-height: 1;
            font-weight: bold;
            color: #fff;
            text-align: center;
            padding: 13rem 0;
            border-radius: 50rem;
            border: solid 2rem #fff;
            transition: 0.3s; }
            header .inner nav .header_btn a:hover {
              color: #000;
              background: #fff; }

  main.top {
    width: 100%;
    position: relative;
    overflow-x: hidden; }
    main.top::before {
      position: absolute;
      content: "";
      width: 100%;
      height: 2256rem;
      left: 0;
      top: 0;
      background: url("../img/mv_bg.webp") no-repeat top center;
      background-size: 100% auto;
      z-index: -3; }

  #top_mv {
    width: 100%;
    position: relative; }
    #top_mv .inner {
      padding: 252rem 0 163rem; }
      #top_mv .inner .top_mv_cont {
        width: 1574rem;
        margin: 0 auto;
        color: #fff; }
        #top_mv .inner .top_mv_cont .top_mv_sbttl {
          font-size: 18rem;
          line-height: 1.5em;
          font-weight: 500; }
        #top_mv .inner .top_mv_cont h1 {
          font-size: 115rem;
          letter-spacing: 0.01em;
          line-height: 1.1em;
          font-weight: 200;
          color: #FFEDD3;
          margin: 20rem 0 30rem; }
        #top_mv .inner .top_mv_cont .top_mv_txt {
          font-size: 16rem;
          line-height: 2em;
          font-weight: 600;
          margin-bottom: 39rem; }
        #top_mv .inner .top_mv_cont .top_mv_btn {
          display: flex;
          justify-content: flex-start;
          position: relative;
          z-index: 3; }
          #top_mv .inner .top_mv_cont .top_mv_btn .btn {
            width: 176rem;
            margin-right: 22rem; }
            #top_mv .inner .top_mv_cont .top_mv_btn .btn a {
              display: block;
              width: 100%;
              font-size: 14rem;
              line-height: 1;
              font-weight: bold;
              color: #fff;
              padding-top: 13rem;
              padding-bottom: 13rem;
              box-sizing: border-box;
              border-radius: 70rem;
              border: solid 2rem #fff;
              background-image: url("../img/top_mv_btn_arrow_02.png");
              background-repeat: no-repeat;
              background-size: 15rem;
              transition: 0.3s; }
              #top_mv .inner .top_mv_cont .top_mv_btn .btn a:hover {
                color: #012A60;
                background-image: url("../img/top_mv_btn_arrow_01.png");
                background-position: right 31rem center;
                background-color: #fff;
                opacity: 0.9; }
            #top_mv .inner .top_mv_cont .top_mv_btn .btn:nth-child(1) a {
              padding-left: 31rem;
              background-position: right 31rem center; }
            #top_mv .inner .top_mv_cont .top_mv_btn .btn:nth-child(2) a {
              padding-left: 24rem;
              background-position: right 24rem center; }
            #top_mv .inner .top_mv_cont .top_mv_btn .btn:nth-child(3) a {
              padding-left: 24rem;
              background-position: right 24rem center; }
      #top_mv .inner .top_mv_img {
        width: 1242rem;
        position: absolute;
        top: 151rem;
        right: 0;
        /*.img {
        	width: 100%;
        	mix-blend-mode: exclusion;
        }*/ }
        #top_mv .inner .top_mv_img .txt {
          position: absolute;
          bottom: 152rem;
          left: 787rem;
          font-size: 26rem;
          line-height: 1.3em;
          font-weight: 500;
          color: #fff; }
          #top_mv .inner .top_mv_img .txt::before {
            position: absolute;
            content: "";
            width: 50rem;
            height: 3rem;
            bottom: -10rem;
            left: 0;
            background: linear-gradient(to right, #0063A0 0%, #0063A0 50%, #6EBEFF 80%, #6EBEFF 100%);
            border-radius: 100rem; }

  #top_mission {
    width: 100%;
    box-sizing: border-box;
    padding: 116rem 0 476rem;
    position: relative;
    background: url("../img/top_misson_bg_03.png") no-repeat;
    background-size: cover;
    overflow: hidden;
    /**/ }
    #top_mission::before {
      position: absolute;
      content: "";
      width: 100%;
      height: 1422rem;
      bottom: 0;
      left: 0;
      background: url("../img/top_misson_bg_01.png") no-repeat center top;
      background-size: 100% auto;
      z-index: -1;
      mix-blend-mode: darken; }
    #top_mission::after {
      position: absolute;
      content: "";
      width: 100%;
      height: 2346rem;
      top: 0;
      left: 0;
      background: url("../img/top_misson_bg_02.png") no-repeat center top;
      background-size: 100% auto;
      z-index: -2; }
    #top_mission .top_misson_cont {
      position: relative; }
      #top_mission .top_misson_cont h2 {
        font-size: 86rem;
        line-height: 1;
        font-weight: 200;
        color: #3494D1; }
      #top_mission .top_misson_cont h3 {
        font-size: 42rem;
        line-height: 1.4em;
        font-weight: 500;
        margin: 40rem 0; }
      #top_mission .top_misson_cont .top_mission_txt {
        font-size: 20rem;
        line-height: 2em;
        font-weight: 500;
        position: relative;
        z-index: 2; }
      #top_mission .top_misson_cont.mission {
        width: 1600rem;
        margin: 0 auto; }
        #top_mission .top_misson_cont.mission .top_mission_img {
          width: 1095rem;
          position: absolute;
          top: 80rem;
          right: -40rem;
          /*.img {
          	mix-blend-mode: exclusion;
          }*/ }
      #top_mission .top_misson_cont.what {
        width: 1653rem;
        margin-left: 159rem; }
        #top_mission .top_misson_cont.what .what_box {
          display: flex;
          justify-content: space-between;
          align-items: center;
          color: #fff; }
          #top_mission .top_misson_cont.what .what_box .what_img {
            width: 800rem; }
          #top_mission .top_misson_cont.what .what_box .what_right {
            width: 758rem; }
            #top_mission .top_misson_cont.what .what_box .what_right h2 {
              color: #CDDAE5; }
            #top_mission .top_misson_cont.what .what_box .what_right .top_mission_txt {
              line-height: 2.6em; }
            #top_mission .top_misson_cont.what .what_box .what_right .what_btn {
              width: 176rem;
              margin-top: 25rem; }
              #top_mission .top_misson_cont.what .what_box .what_right .what_btn a {
                display: block;
                width: 100%;
                font-size: 14rem;
                line-height: 1;
                font-weight: bold;
                color: #fff;
                box-sizing: border-box;
                padding: 13rem 0 13rem 38rem;
                border-radius: 70rem;
                border: solid 2rem #fff;
                background: url("../img/top_mv_btn_arrow_02.png") no-repeat right 38rem center;
                background-size: 15rem;
                transition: 0.3s; }
                #top_mission .top_misson_cont.what .what_box .what_right .what_btn a:hover {
                  color: #012A60;
                  background: url("../img/top_mv_btn_arrow_01.png") no-repeat right 38rem center #fff;
                  background-size: 15rem; }
    #top_mission .entxt_scroll {
      margin: 157rem 0 130rem;
      margin: 263rem 0 130rem; }

  /*英字のスクロール*/
  .entxt_scroll {
    width: 100%;
    overflow: hidden; }
    .entxt_scroll .scroll {
      display: flex;
      width: max-content;
      /* 中身のテキストに合わせた幅にする */
      animation: infinity-scroll 30s linear infinite;
      /* 15sを変えると速度が変わります */ }
      .entxt_scroll .scroll .entxt {
        font-size: 115rem;
        line-height: 1.1em;
        font-weight: 200;
        color: #CDDAE5;
        white-space: nowrap;
        padding-right: 0.5em; }
        .entxt_scroll .scroll .entxt span {
          display: inline-block;
          font-weight: 900;
          font-style: italic; }

  #top_approach {
    margin-top: -395rem;
    position: relative;
    z-index: 2;
    background: url("../img/approach_bg.png") no-repeat top center;
    background-size: cover;
    overflow: hidden; }
    #top_approach .inner {
      width: 1602rem;
      margin: 0 auto;
      padding: 343rem 0 169rem;
      color: #fff; }
      #top_approach .inner h2 {
        font-size: 86rem;
        line-height: 1;
        font-weight: 200;
        color: #FFEDD3; }
      #top_approach .inner h3 {
        font-size: 42rem;
        line-height: 1.4em;
        font-weight: 500;
        margin: 40rem 0; }
      #top_approach .inner .top_approach_txt {
        width: 715rem;
        font-size: 20rem;
        line-height: 1.75em;
        font-weight: 500; }
    #top_approach .top_approach_img {
      width: 1007rem;
      position: absolute;
      top: 311rem;
      right: 0; }
      #top_approach .top_approach_img::before {
        position: absolute;
        content: "";
        width: 960rem;
        height: 422rem;
        top: -74rem;
        right: 0;
        background: linear-gradient(to bottom, #000, rgba(0, 0, 0, 0)); }

  #top_why {
    width: 100%;
    background: #0060A9;
    position: relative;
    min-height: 757.5rem; }
    #top_why .top_why_cont {
      width: 760rem;
      color: #fff;
      padding: 76rem 0 82rem;
      margin-left: auto;
      margin-right: 110rem;
      position: relative;
      z-index: 3; }
      #top_why .top_why_cont h2 {
        font-size: 86rem;
        line-height: 1;
        font-weight: 200;
        color: #3494D1; }
      #top_why .top_why_cont h3 {
        font-size: 42rem;
        line-height: 1.4em;
        font-weight: 500;
        margin: 40rem 0; }
      #top_why .top_why_cont .top_why_txt {
        width: 715rem;
        font-size: 20rem;
        line-height: 1.75em;
        font-weight: 500; }
    #top_why .top_why_img {
      width: 1365rem;
      position: absolute;
      top: 0;
      left: 0; }
      #top_why .top_why_img::before {
        position: absolute;
        content: "";
        width: 1486rem;
        height: 100%;
        top: 0;
        left: 434rem;
        background: linear-gradient(to right, rgba(0, 96, 169, 0), #0060A9);
        z-index: 2; }
      #top_why .top_why_img .img {
        width: 100%;
        mix-blend-mode: screen; }

  #top_case .top_case_ttl {
    box-sizing: border-box;
    padding: 138rem 159rem 40rem;
    background: #1D1F24; }
    #top_case .top_case_ttl h2 {
      font-size: 86rem;
      line-height: 1;
      font-weight: 200;
      color: #FFEDD3;
      margin-bottom: 26rem; }
    #top_case .top_case_ttl h3 {
      font-size: 42rem;
      line-height: 1.4em;
      font-weight: 500;
      color: #fff; }
  #top_case .top_case_boxes {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    #top_case .top_case_boxes .top_case_box {
      width: 50%;
      min-height: 510rem;
      color: #fff;
      box-sizing: border-box;
      padding-top: 86rem;
      padding-left: 159rem;
      padding-right: 119rem;
      background-repeat: no-repeat;
      background-position: center;
      background-size: cover; }
      #top_case .top_case_boxes .top_case_box:nth-child(2n) {
        padding-left: 119rem;
        padding-right: 159rem; }
      #top_case .top_case_boxes .top_case_box:nth-child(1) {
        background-image: url("../img/top_case_img_01.webp?ver=1.1"); }
      #top_case .top_case_boxes .top_case_box:nth-child(2) {
        background-image: url("../img/top_case_img_02.webp"); }
      #top_case .top_case_boxes .top_case_box:nth-child(3) {
        background-image: url("../img/top_case_img_03.webp"); }
      #top_case .top_case_boxes .top_case_box:nth-child(4) {
        background-image: url("../img/top_case_img_04.webp?ver=1.1"); }
      #top_case .top_case_boxes .top_case_box .num {
        font-size: 82rem;
        line-height: 1.2em; }
      #top_case .top_case_boxes .top_case_box h4 {
        margin: 20rem 0 26rem; }
        #top_case .top_case_boxes .top_case_box h4 span {
          display: block; }
          #top_case .top_case_boxes .top_case_box h4 span.en {
            font-size: 32rem;
            line-height: 1.18em;
            font-weight: bold;
            margin-bottom: 29rem; }
          #top_case .top_case_boxes .top_case_box h4 span.ja {
            font-size: 32rem;
            line-height: 1.34em;
            font-weight: bold; }
      #top_case .top_case_boxes .top_case_box .top_case_box_txt {
        font-size: 20rem;
        line-height: 1.75em;
        font-weight: 500; }

  #top_roadmap .bg {
    padding: 58rem 0 115rem;
    background: url("../img/top_roadmap_bg.png") no-repeat center #fff;
    background-size: cover; }
  #top_roadmap .top_road_map_ttl {
    width: 1602rem;
    margin: 117rem auto 128rem; }
    #top_roadmap .top_road_map_ttl h2 {
      font-size: 86rem;
      line-height: 1;
      font-weight: 200;
      color: #3494D1;
      margin-bottom: 40rem; }
    #top_roadmap .top_road_map_ttl h3 {
      font-size: 42rem;
      line-height: 1.4em;
      font-weight: 500; }
  #top_roadmap .top_roadmap_img {
    width: 100%; }

  .contact_banner {
    width: 100%;
    background: url("../img/contact_banner_bg.png") no-repeat center bottom #000;
    background-size: 100% auto; }
    .contact_banner .inner {
      width: 1660rem;
      margin: 0 auto;
      padding: 129rem 0 117rem;
      color: #fff; }
      .contact_banner .inner h2 {
        font-size: 86rem;
        line-height: 1;
        font-weight: 200;
        color: #FFEDD3; }
      .contact_banner .inner h3 {
        font-size: 42rem;
        line-height: 1.4em;
        font-weight: 500;
        margin: 42rem 0 8rem; }
      .contact_banner .inner .contact_banner_txt {
        font-size: 16rem;
        line-height: 2.9em;
        font-weight: 500;
        margin-bottom: 40rem; }
      .contact_banner .inner .contact_banner_btn {
        width: 176rem; }
        .contact_banner .inner .contact_banner_btn a {
          display: block;
          width: 100%;
          font-size: 14rem;
          line-height: 1em;
          font-weight: bold;
          color: #000;
          box-sizing: border-box;
          padding: 13rem 0 13rem 31rem;
          border-radius: 70rem;
          border: solid 2rem #fff;
          background: url("../img/top_mv_btn_arrow_01.png") no-repeat right 31rem center #fff;
          background-size: 15rem; }

  footer .inner {
    width: 1604rem;
    margin: 0 auto; }
    footer .inner .footer_head {
      padding: 78rem 0 62rem;
      display: flex;
      justify-content: space-between;
      border-bottom: solid 1rem #7E7E7E; }
      footer .inner .footer_head .fotoer_head_left {
        padding-top: 24rem; }
        footer .inner .footer_head .fotoer_head_left .logo {
          width: 480rem;
          margin-bottom: 51rem; }
        footer .inner .footer_head .fotoer_head_left .footer_info {
          font-size: 20rem;
          line-height: 1.75em;
          font-weight: 500;
          color: #7E7E7E; }
      footer .inner .footer_head .footer_head_right .footer_menu ul {
        width: 400rem;
        position: relative; }
        footer .inner .footer_head .footer_head_right .footer_menu ul li {
          font-size: 26rem;
          line-height: 2.85em; }
          footer .inner .footer_head .footer_head_right .footer_menu ul li:last-child {
            position: absolute;
            top: 0;
            right: 0; }
          footer .inner .footer_head .footer_head_right .footer_menu ul li a {
            color: #fff; }
            footer .inner .footer_head .footer_head_right .footer_menu ul li a:hover {
              text-decoration: underline; }
    footer .inner .footer_btm {
      padding: 26rem 0 42rem;
      text-align: center; }
      footer .inner .footer_btm .copyright {
        font-size: 20rem;
        line-height: 1.75em;
        font-weight: 300;
        color: #7E7E7E; }

  /*下層共通*/
  .under .mv {
    height: 557rem;
    box-sizing: border-box;
    padding-top: 227rem;
    background: url("../img/under_mv_img_02.png") no-repeat center bottom;
    background-size: 100% auto; }
    .under .mv .inner {
      width: 1608rem;
      margin: 0 auto;
      color: #fff; }
      .under .mv .inner .mv_ttl span {
        display: block; }
        .under .mv .inner .mv_ttl span.en {
          font-size: 86rem;
          line-height: 1;
          font-weight: 300;
          margin-bottom: 32rem; }
        .under .mv .inner .mv_ttl span.ja {
          font-size: 42rem;
          line-height: 1.6em;
          font-weight: 500; }
      .under .mv .inner .mv_txt {
        margin-top: 13rem;
        font-size: 16rem;
        line-height: 1.75em;
        font-weight: 500; }
  .under .under_body {
    background: #fff; }

  /*お知らせ（一覧）*/
  #news .under_body .inner {
    width: 1800rem;
    margin: 0 auto;
    padding: 120rem 0 193rem; }
    #news .under_body .inner .cat_area {
      width: 1550rem;
      margin: 0 auto;
      display: flex;
      justify-content: flex-start;
      align-items: center;
      padding-bottom: 20rem; }
      #news .under_body .inner .cat_area .cat_ttl {
        font-size: 24rem;
        line-height: 1;
        box-sizing: border-box;
        padding-left: 26rem;
        margin-right: 60rem;
        position: relative; }
        #news .under_body .inner .cat_area .cat_ttl::before {
          position: absolute;
          content: "";
          width: 12rem;
          height: 12rem;
          top: 50%;
          left: 0;
          transform: translateY(-50%);
          border-radius: 100%;
          background: #000; }
      #news .under_body .inner .cat_area .cat_box ul {
        display: flex;
        justify-content: flex-start;
        align-items: center; }
        #news .under_body .inner .cat_area .cat_box ul li {
          margin-right: 12rem; }
          #news .under_body .inner .cat_area .cat_box ul li a {
            min-width: 105rem;
            display: inline-block;
            font-size: 15rem;
            line-height: 1;
            color: #000;
            text-align: center;
            box-sizing: border-box;
            padding: 11rem 20rem 10rem;
            border-radius: 100rem;
            border: solid 2rem #DCDCDC;
            transition: 0.3s; }
            #news .under_body .inner .cat_area .cat_box ul li a.active {
              background: #DCDCDC;
              font-weight: 600; }
            #news .under_body .inner .cat_area .cat_box ul li a:hover {
              background: #DCDCDC;
              font-weight: 600; }
    #news .under_body .inner .news_boxes {
      padding-top: 70rem;
      border-top: solid 1.25rem #DCDCDC; }
      #news .under_body .inner .news_boxes .news_box {
        width: 1550rem;
        margin: 0 auto;
        padding: 18rem 0 18rem 30rem;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        border-bottom: solid 1.25rem #DCDCDC;
        background: url("../img/news_box_arrow.png") no-repeat right 27rem center;
        background-size: 37rem; }
        #news .under_body .inner .news_boxes .news_box .date {
          width: 130rem;
          font-size: 22rem;
          line-height: 1;
          margin-right: 60rem; }
        #news .under_body .inner .news_boxes .news_box .cat {
          width: 150rem;
          font-size: 15rem;
          line-height: 1;
          color: #fff;
          text-align: center;
          padding: 14rem 0;
          background: #000;
          border-radius: 3rem;
          margin-right: 37rem; }
        #news .under_body .inner .news_boxes .news_box .txt {
          font-size: 22rem;
          line-height: 1.5em; }
    #news .under_body .inner .pagenation {
      margin-top: 60rem;
      text-align: center; }
      #news .under_body .inner .pagenation a {
        display: inline-block;
        width: 34rem;
        height: 34rem;
        line-height: 34rem;
        font-size: 21rem;
        font-weight: 300;
        color: #000;
        border-radius: 100%;
        margin: 0 7rem;
        padding: 0 !important;
        border: none !important; }
        #news .under_body .inner .pagenation a.page:hover {
          color: #fff;
          background: #3494D1; }
      #news .under_body .inner .pagenation span {
        display: inline-block;
        width: 34rem;
        height: 34rem;
        line-height: 34rem;
        font-size: 21rem;
        font-weight: 300;
        color: #000;
        margin: 0 7rem;
        padding: 0 !important;
        border: none !important; }
        #news .under_body .inner .pagenation span.current {
          color: #fff;
          border-radius: 100%;
          background: #3494D1; }

  /*お知らせ（詳細）*/
  #news_d .under_body .inner {
    width: 1240rem;
    margin: 0 auto;
    padding: 100rem 0 120rem; }
    #news_d .under_body .inner .news_d_head {
      display: flex;
      justify-content: flex-start;
      align-items: center;
      flex-wrap: wrap;
      padding-bottom: 20rem;
      border-bottom: solid 1rem #DCDCDC;
      margin-bottom: 45rem; }
      #news_d .under_body .inner .news_d_head .date {
        font-size: 20rem;
        line-height: 1;
        margin-right: 22rem; }
      #news_d .under_body .inner .news_d_head .cat {
        display: inline-block;
        font-size: 14rem;
        line-height: 1;
        color: #fff;
        border-radius: 3rem;
        background: #000;
        padding: 6rem 19rem; }
      #news_d .under_body .inner .news_d_head .ttl {
        width: 100%;
        font-size: 36rem;
        line-height: 1.25em;
        margin-top: 35rem; }
    #news_d .under_body .inner .news_d_img {
      width: 100%;
      margin-bottom: 45rem; }
    #news_d .under_body .inner .news_d_cont {
      width: 100%;
      margin-bottom: 80rem;
      font-size: 20rem;
      line-height: 1.5em; }
      #news_d .under_body .inner .news_d_cont p {
        font-size: 20rem;
        line-height: 1.5em;
        margin-bottom: 50rem; }
        #news_d .under_body .inner .news_d_cont p:last-child {
          margin-bottom: 0; }
      #news_d .under_body .inner .news_d_cont iframe {
        width: 100%;
        max-width: 100%;
        margin-bottom: 50rem; }
        #news_d .under_body .inner .news_d_cont iframe:last-child {
          margin-bottom: 0; }
      #news_d .under_body .inner .news_d_cont a {
        color: #000;
        text-decoration: underline;
        margin-bottom: 50rem; }
        #news_d .under_body .inner .news_d_cont a:last-child {
          margin-bottom: 0; }
    #news_d .under_body .inner .news_d_btn {
      width: 750rem;
      margin: 0 auto;
      position: relative; }
      #news_d .under_body .inner .news_d_btn .prev {
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%); }
        #news_d .under_body .inner .news_d_btn .prev a {
          display: inline-block;
          font-size: 20rem;
          line-height: 50rem;
          color: #000;
          padding-left: 66rem;
          background: url("../img/news_d_prev.png") no-repeat left center;
          background-size: contain;
          transition: 0.3s; }
          #news_d .under_body .inner .news_d_btn .prev a:hover {
            text-decoration: underline;
            opacity: 0.8; }
      #news_d .under_body .inner .news_d_btn .next {
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%); }
        #news_d .under_body .inner .news_d_btn .next a {
          display: inline-block;
          font-size: 20rem;
          line-height: 50rem;
          color: #000;
          padding-right: 66rem;
          background: url("../img/news_d_next.png") no-repeat right center;
          background-size: contain;
          transition: 0.3s; }
          #news_d .under_body .inner .news_d_btn .next a:hover {
            text-decoration: underline;
            opacity: 0.8; }
      #news_d .under_body .inner .news_d_btn .back {
        width: 186rem;
        margin: 0 auto;
        display: block;
        font-size: 20rem;
        line-height: 1;
        color: #000;
        text-align: center;
        box-sizing: border-box;
        padding: 12rem 0;
        border-radius: 100rem;
        border: solid 1rem #DCDCDC;
        transition: 0.3s; }
        #news_d .under_body .inner .news_d_btn .back:hover {
          color: #fff;
          background: #000; }

  /*お問い合わせ*/
  #contact .under_body .inner {
    width: 1375rem;
    margin: 0 auto;
    padding: 147rem 0 180rem; }
    #contact .under_body .inner .contact_form {
      font-size: 20rem;
      line-height: 1.5em; }
      #contact .under_body .inner .contact_form table {
        width: 100%;
        margin-bottom: 88rem; }
        #contact .under_body .inner .contact_form table tr th {
          display: block;
          width: 100%;
          font-size: 22rem;
          line-height: 28rem;
          text-align: left; }
          #contact .under_body .inner .contact_form table tr th div {
            display: inline-block;
            padding-right: 84rem;
            position: relative; }
            #contact .under_body .inner .contact_form table tr th div::before {
              position: absolute;
              content: "必須";
              width: 55rem;
              height: 28rem;
              top: 0;
              right: 0;
              font-size: 15rem;
              line-height: 1;
              color: #FF0000;
              text-align: center;
              box-sizing: border-box;
              padding: 6rem 0 5rem;
              border-radius: 3rem;
              border: solid 1.25rem #FF0000; }
            #contact .under_body .inner .contact_form table tr th div.other::before {
              content: "任意";
              color: #8F8F8F;
              border: solid 1.25rem #8F8F8F; }
        #contact .under_body .inner .contact_form table tr td {
          display: block;
          width: 100%;
          padding: 17rem 0 75rem; }
          #contact .under_body .inner .contact_form table tr td input {
            width: 100%;
            height: 87rem;
            font-size: 22rem;
            box-sizing: border-box;
            padding-left: 33rem;
            border: solid 1.25rem #808080;
            font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif; }
            #contact .under_body .inner .contact_form table tr td input::placeholder {
              color: #A9A9A9; }
          #contact .under_body .inner .contact_form table tr td select {
            width: 100%;
            height: 87rem;
            font-size: 22rem;
            box-sizing: border-box;
            padding-left: 33rem;
            border: solid 1.25rem #808080;
            font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif; }
          #contact .under_body .inner .contact_form table tr td textarea {
            width: 100%;
            height: 322rem;
            font-size: 22rem;
            line-height: 1.25em;
            box-sizing: border-box;
            padding: 35rem 33rem;
            border: solid 1.25rem #808080;
            font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
            resize: none; }
        #contact .under_body .inner .contact_form table tr:last-child td {
          padding-bottom: 0; }
      #contact .under_body .inner .contact_form .privacy {
        text-align: center;
        margin-bottom: 50rem; }
        #contact .under_body .inner .contact_form .privacy label {
          display: inline-block;
          font-size: 22rem;
          line-height: 1;
          cursor: pointer; }
          #contact .under_body .inner .contact_form .privacy label input {
            width: 37rem;
            height: 37rem;
            margin-right: 15rem;
            vertical-align: -0.5em; }
          #contact .under_body .inner .contact_form .privacy label a {
            color: #000;
            text-decoration: underline; }
      #contact .under_body .inner .contact_form .btn {
        display: flex;
        justify-content: center; }
        #contact .under_body .inner .contact_form .btn .submit {
          width: 248rem;
          font-size: 20rem;
          line-height: 1;
          color: #000;
          text-align: left;
          box-sizing: border-box;
          padding: 13rem 0 13rem 59rem;
          border-radius: 100rem;
          border: solid 1rem #DCDCDC;
          background: url("../img/contact_btn_arrow.png") no-repeat right 59rem center #fff;
          background-size: 27rem;
          cursor: pointer;
          font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
          transition: 0.3s; }
          #contact .under_body .inner .contact_form .btn .submit:hover {
            color: #fff;
            background: url("../img/contact_btn_arrow_white.png") no-repeat right 59rem center #000;
            background-size: 27rem; }

  /*お問い合わせ（完了）*/
  #thanks .under_body .inner {
    width: 1364rem;
    margin: 0 auto;
    padding: 180rem 0;
    text-align: center; }
    #thanks .under_body .inner h3 {
      font-size: 36rem;
      line-height: 1;
      margin-bottom: 65rem; }
    #thanks .under_body .inner .thanks_txt {
      font-size: 20rem;
      line-height: 1.75em; }
    #thanks .under_body .inner .thanks_small_txt {
      font-size: 16rem;
      line-height: 1.75em;
      margin: 20rem 0 70rem; }
    #thanks .under_body .inner .back_btn {
      width: 250rem;
      margin: 0 auto; }
      #thanks .under_body .inner .back_btn a {
        display: block;
        width: 100%;
        font-size: 20rem;
        line-height: 1;
        color: #000;
        padding: 12rem;
        border-radius: 75rem;
        border: solid 1rem #DCDCDC;
        transition: 0.3s; }
        #thanks .under_body .inner .back_btn a:hover {
          color: #fff;
          background: #000; }

  /*会社概要*/
  #about .under_body .inner {
    width: 1600rem;
    margin: 0 auto;
    padding: 140rem 0 185rem; }
    #about .under_body .inner .outline {
      display: flex;
      justify-content: space-between;
      margin-bottom: 145rem; }
      #about .under_body .inner .outline .outline_img {
        width: 576rem; }
      #about .under_body .inner .outline .outline_right {
        width: 960rem; }
        #about .under_body .inner .outline .outline_right table {
          width: 100%;
          border-top: solid 1rem #D9D9D9; }
          #about .under_body .inner .outline .outline_right table tr {
            border-bottom: solid 1rem #D9D9D9; }
            #about .under_body .inner .outline .outline_right table tr th {
              width: 280rem;
              font-size: 20rem;
              line-height: 1.6em;
              font-weight: 500;
              text-align: left;
              box-sizing: border-box;
              padding: 31rem 0 30rem 40rem; }
            #about .under_body .inner .outline .outline_right table tr td {
              width: 680rem;
              font-size: 20rem;
              line-height: 1.6em;
              box-sizing: border-box;
              padding: 31rem 40rem 30rem; }
    #about .under_body .inner .team .team_ttl {
      margin-bottom: 60rem; }
      #about .under_body .inner .team .team_ttl span {
        display: block; }
        #about .under_body .inner .team .team_ttl span.en {
          font-size: 40rem;
          line-height: 1;
          font-weight: 300;
          color: #3494D1;
          margin-bottom: 20rem; }
        #about .under_body .inner .team .team_ttl span.ja {
          font-size: 30rem;
          line-height: 1.4em;
          font-weight: 500; }
    #about .under_body .inner .team .team_boxes {
      display: flex;
      justify-content: space-between; }
      #about .under_body .inner .team .team_boxes .team_box {
        width: 379rem; }
        #about .under_body .inner .team .team_boxes .team_box .name {
          font-size: 32rem;
          line-height: 1;
          font-weight: bold;
          margin: 30rem 0; }
        #about .under_body .inner .team .team_boxes .team_box .post {
          font-size: 22rem;
          line-height: 1; }
        #about .under_body .inner .team .team_boxes .team_box .txt {
          font-size: 16rem;
          line-height: 1.625em; }

  /*採用情報*/
  #recruit .under_body .inner {
    width: 1600rem;
    margin: 0 auto;
    padding: 135rem 0 200rem; }
    #recruit .under_body .inner .recruit_cont {
      display: flex;
      justify-content: space-between; }
      #recruit .under_body .inner .recruit_cont .recruit_cont_left {
        width: 603rem; }
        #recruit .under_body .inner .recruit_cont .recruit_cont_left h3 {
          font-size: 86rem;
          line-height: 1;
          font-weight: 300;
          color: #3494D1; }
        #recruit .under_body .inner .recruit_cont .recruit_cont_left h4 {
          font-size: 42rem;
          line-height: 1.6em;
          font-weight: 500;
          margin: 52rem 0 120rem; }
        #recruit .under_body .inner .recruit_cont .recruit_cont_left .recruit_list .recruit_list_btn {
          font-weight: 500;
          padding: 43rem 0 43rem 58rem;
          border-bottom: solid 1rem #000;
          background-image: url("../img/recruit_arrow_black.png");
          background-repeat: no-repeat;
          background-position: right 28rem center;
          background-size: 53rem;
          position: relative;
          cursor: pointer; }
          #recruit .under_body .inner .recruit_cont .recruit_cont_left .recruit_list .recruit_list_btn::before {
            position: absolute;
            content: "";
            width: 13rem;
            height: 13rem;
            top: 50%;
            left: 2rem;
            transform: translateY(-50%);
            border-radius: 100%;
            background: #000; }
          #recruit .under_body .inner .recruit_cont .recruit_cont_left .recruit_list .recruit_list_btn .ja {
            font-size: 32rem;
            line-height: 1;
            margin-bottom: 12rem; }
          #recruit .under_body .inner .recruit_cont .recruit_cont_left .recruit_list .recruit_list_btn .en {
            font-size: 16rem;
            line-height: 1; }
          #recruit .under_body .inner .recruit_cont .recruit_cont_left .recruit_list .recruit_list_btn.active {
            color: #3494D1;
            background-image: url("../img/recruit_arrow_blue.png"); }
            #recruit .under_body .inner .recruit_cont .recruit_cont_left .recruit_list .recruit_list_btn.active::before {
              background: #3494D1; }
      #recruit .under_body .inner .recruit_cont .recruit_cont_right {
        width: 778rem; }
        #recruit .under_body .inner .recruit_cont .recruit_cont_right .recruit_boxes .recruit_box {
          color: #fff;
          box-sizing: border-box;
          padding: 50rem 0 55rem;
          border-radius: 20rem;
          background: #3494D1;
          display: none; }
          #recruit .under_body .inner .recruit_cont .recruit_cont_right .recruit_boxes .recruit_box.active {
            display: block !important; }
          #recruit .under_body .inner .recruit_cont .recruit_cont_right .recruit_boxes .recruit_box .recruit_box_ttl {
            font-size: 32rem;
            line-height: 1;
            font-weight: 500;
            box-sizing: border-box;
            padding-left: 60rem;
            margin-bottom: 20rem; }
          #recruit .under_body .inner .recruit_cont .recruit_cont_right .recruit_boxes .recruit_box .recruit_box_enttl {
            font-size: 16rem;
            line-height: 1;
            font-weight: 500;
            box-sizing: border-box;
            padding-left: 65rem; }
          #recruit .under_body .inner .recruit_cont .recruit_cont_right .recruit_boxes .recruit_box .recruit_box_img {
            position: relative;
            margin: 25rem 0 40rem; }
            #recruit .under_body .inner .recruit_cont .recruit_cont_right .recruit_boxes .recruit_box .recruit_box_img::before {
              position: absolute;
              content: "";
              width: 100%;
              height: 106rem;
              top: 0;
              left: 0;
              background: linear-gradient(to bottom, #3494D1, rgba(52, 148, 209, 0)); }
            #recruit .under_body .inner .recruit_cont .recruit_cont_right .recruit_boxes .recruit_box .recruit_box_img::after {
              position: absolute;
              content: "";
              width: 100%;
              height: 106rem;
              bottom: 0;
              left: 0;
              background: linear-gradient(to bottom, rgba(52, 148, 209, 0), #3494D1); }
          #recruit .under_body .inner .recruit_cont .recruit_cont_right .recruit_boxes .recruit_box .recruit_box_txt {
            font-size: 16rem;
            line-height: 1.75em;
            font-weight: 500;
            box-sizing: border-box;
            padding: 0 65rem;
            margin-bottom: 30rem; }
          #recruit .under_body .inner .recruit_cont .recruit_cont_right .recruit_boxes .recruit_box .recruit_box_btn {
            margin-left: 70rem;
            display: flex;
            justify-content: flex-start; }
            #recruit .under_body .inner .recruit_cont .recruit_cont_right .recruit_boxes .recruit_box .recruit_box_btn .btn {
              width: 176rem; }
              #recruit .under_body .inner .recruit_cont .recruit_cont_right .recruit_boxes .recruit_box .recruit_box_btn .btn a {
                display: block;
                width: 100%;
                font-size: 14rem;
                line-height: 1;
                font-weight: bold;
                color: #fff;
                box-sizing: border-box;
                padding: 12rem 0 14rem 24rem;
                border-radius: 70rem;
                border: solid 2rem #fff;
                background-image: url("../img/btn_arrow_white.png");
                background-repeat: no-repeat;
                background-size: 15rem;
                background-position: right 24rem center;
                transition: 0.3s; }
                #recruit .under_body .inner .recruit_cont .recruit_cont_right .recruit_boxes .recruit_box .recruit_box_btn .btn a:hover {
                  opacity: 0.8; }
              #recruit .under_body .inner .recruit_cont .recruit_cont_right .recruit_boxes .recruit_box .recruit_box_btn .btn.long {
                width: 246rem;
                margin-right: 22rem; }
              #recruit .under_body .inner .recruit_cont .recruit_cont_right .recruit_boxes .recruit_box .recruit_box_btn .btn.white a {
                color: #000;
                background-color: #fff;
                background-image: url("../img/btn_arrow_black.png"); }

  /*技術*/
  #tech .under_body .inner {
    padding: 80rem 0 145rem; }
    #tech .under_body .inner .tech_cont {
      /*.core {
      	padding: 65rem 0;
      	background: #000;
      	position: relative;
      	.core_cont {
      		width: 1600rem;
      		height: 700rem;
      		margin: 0 auto;
      		display: flex;
      		justify-content: space-between;
      		.core_boxes {
      			width: 800rem;
      			position: relative;
      			.core_box {
      				height: 100%;
      				box-sizing: border-box;
      				padding-bottom: 20rem;
      				display: none;
      				&.active {
      					display: block;
      				}
      				.core_box_in {
      					height: 100%;
      					display: flex;
      					justify-content: flex-end;
      					flex-direction: column;
      					.core_box_img {
      						width: 1096rem;
      						position: absolute;
      						top: 0;
      						top: -65rem;
      						left: 0;
      						left: -160rem;
      						&::before {
      							position: absolute;
      							content: "";
      							width: 375rem;
      							height: 662rem;
      							top: 0;
      							right: 0;
      							background: linear-gradient( to right, rgba(0,0,0,0), #000 74%, #000 100% );
      						}
      						&::after {
      							position: absolute;
      							content: "";
      							width: 100%;
      							height: 320rem;
      							bottom: 0;
      							left: 0;
      							background: linear-gradient( to bottom, rgba(0,0,0,0), #000 74%, #000 100% );
      						}
      					}
      					.core_box_txt {
      						font-size: 16rem;
      						line-height: 1.75em;
      						font-weight: 500;
      						color: #fff;
      						position: relative;
      						z-index: 2;
      					}
      					ul {
      						display: flex;
      						justify-content: space-between;
      						flex-wrap: wrap;
      						margin-top: 29rem;
      						position: relative;
      						z-index: 2;
      						li {
      							width: 395rem;
      							font-size: 16rem;
      							line-height: 1.5em;
      							font-weight: 500;
      							color: #fff;
      							box-sizing: border-box;
      							padding: 9rem 23rem 9rem 50rem;
      							border-radius: 5rem;
      							border: solid 1rem #1AB3FF;
      							position: relative;
      							&:nth-child(n+3) {
      								margin-top: 13rem;
      							}
      							&::before {
      								position: absolute;
      								content: "";
      								width: 8rem;
      								height: 8rem;
      								left: 23rem;
      								top: 50%;
      								transform: translateY(-50%);
      								border-radius: 100%;
      								background: #fff;
      							}
      						}
      					}
      				}
      			}
      		}
      		.core_list {
      			width: 685rem;
      			position: relative;
      			z-index: 2;
      			border-top: solid 1rem #fff;
      			.core_list_btn {
      				display: flex;
      				justify-content: flex-start;
      				align-items: center;
      				position: relative;
      				color: #fff;
      				padding: 24rem 0 23rem;
      				border-bottom: solid 1rem #fff;
      				cursor: pointer;
      				transition: all 0.4s ease;
      				&::before {
      					position: absolute;
      					content: "";
      					width: 16rem;
      					height: 16rem;
      					right: 11rem;
      					top: 50%;
      					transform: translateY(-50%);
      					border-radius: 100%;
      					background: #fff;
      				}
      				.num {
      					width: 100rem;
      					font-size: 50rem;
      					line-height: 1;
      					
      					margin-right: 36rem;
      				}
      				.core_list_btn_right {
      					flex: 1;
      					.ttl {
      						font-size: 28rem;
      						line-height: 1;
      						font-weight: 500;
      						margin-bottom: 20rem;
      					}
      					.txt {
      						font-size: 16rem;
      						line-height: 1.4em;
      						font-weight: 500;
      					}
      				}
      				&.active {
      					padding: 66rem 0 65rem;
      					color: #3494D1;
      					&::before {
      						background: #3494D1;
      					}
      				}
      			}
      		}
      	}
      }*/ }
      #tech .under_body .inner .tech_cont:nth-child(1) {
        margin-bottom: 75rem; }
      #tech .under_body .inner .tech_cont:nth-child(2) {
        margin-bottom: 110rem; }
      #tech .under_body .inner .tech_cont .tech_cont_ttl {
        width: 1600rem;
        margin: 0 auto 73rem; }
        #tech .under_body .inner .tech_cont .tech_cont_ttl h3 {
          font-size: 40rem;
          line-height: 1;
          font-weight: 300;
          color: #3494D1;
          margin-bottom: 20rem; }
        #tech .under_body .inner .tech_cont .tech_cont_ttl h4 {
          font-size: 30rem;
          line-height: 1.4em;
          font-weight: 500; }
      #tech .under_body .inner .tech_cont .core {
        padding: 65rem 0;
        background: #000;
        position: relative; }
        #tech .under_body .inner .tech_cont .core .core_cont {
          width: 1600rem;
          margin: 0 auto;
          height: 700rem;
          position: relative; }
          #tech .under_body .inner .tech_cont .core .core_cont .core_list {
            width: 685rem;
            margin-left: auto;
            z-index: 2;
            border-top: solid 1rem #fff; }
            #tech .under_body .inner .tech_cont .core .core_cont .core_list .core_list_box {
              width: 100%; }
              #tech .under_body .inner .tech_cont .core .core_cont .core_list .core_list_box .core_list_btn {
                display: flex;
                justify-content: flex-start;
                align-items: center;
                position: relative;
                z-index: 2;
                color: #fff;
                padding: 24rem 0 23rem;
                border-bottom: solid 1rem #fff;
                cursor: pointer;
                transition: all 0.4s ease; }
                #tech .under_body .inner .tech_cont .core .core_cont .core_list .core_list_box .core_list_btn::before {
                  position: absolute;
                  content: "";
                  width: 16rem;
                  height: 16rem;
                  right: 11rem;
                  top: 50%;
                  transform: translateY(-50%);
                  border-radius: 100%;
                  background: #fff; }
                #tech .under_body .inner .tech_cont .core .core_cont .core_list .core_list_box .core_list_btn .num {
                  width: 100rem;
                  font-size: 50rem;
                  line-height: 1;
                  margin-right: 36rem; }
                #tech .under_body .inner .tech_cont .core .core_cont .core_list .core_list_box .core_list_btn .core_list_btn_right {
                  flex: 1; }
                  #tech .under_body .inner .tech_cont .core .core_cont .core_list .core_list_box .core_list_btn .core_list_btn_right .ttl {
                    font-size: 28rem;
                    line-height: 1;
                    font-weight: 500;
                    margin-bottom: 20rem; }
                  #tech .under_body .inner .tech_cont .core .core_cont .core_list .core_list_box .core_list_btn .core_list_btn_right .txt {
                    font-size: 16rem;
                    line-height: 1.4em;
                    font-weight: 500; }
                #tech .under_body .inner .tech_cont .core .core_cont .core_list .core_list_box .core_list_btn.active {
                  padding: 66rem 0 65rem;
                  color: #3494D1; }
                  #tech .under_body .inner .tech_cont .core .core_cont .core_list .core_list_box .core_list_btn.active::before {
                    background: #3494D1; }
              #tech .under_body .inner .tech_cont .core .core_cont .core_list .core_list_box .core_list_left {
                width: 800rem;
                position: absolute;
                left: 0;
                top: 0;
                height: 100%;
                box-sizing: border-box;
                padding-bottom: 20rem;
                display: none; }
                #tech .under_body .inner .tech_cont .core .core_cont .core_list .core_list_box .core_list_left.active {
                  display: block; }
                #tech .under_body .inner .tech_cont .core .core_cont .core_list .core_list_box .core_list_left .core_box_in {
                  height: 100%;
                  display: flex;
                  justify-content: flex-end;
                  flex-direction: column; }
                  #tech .under_body .inner .tech_cont .core .core_cont .core_list .core_list_box .core_list_left .core_box_in .core_box_img {
                    width: 1096rem;
                    position: absolute;
                    top: 0;
                    top: -65rem;
                    left: 0;
                    left: -160rem; }
                    #tech .under_body .inner .tech_cont .core .core_cont .core_list .core_list_box .core_list_left .core_box_in .core_box_img::before {
                      position: absolute;
                      content: "";
                      width: 375rem;
                      height: 662rem;
                      top: 0;
                      right: 0;
                      background: linear-gradient(to right, rgba(0, 0, 0, 0), #000 74%, #000 100%); }
                    #tech .under_body .inner .tech_cont .core .core_cont .core_list .core_list_box .core_list_left .core_box_in .core_box_img::after {
                      position: absolute;
                      content: "";
                      width: 100%;
                      height: 320rem;
                      bottom: 0;
                      left: 0;
                      background: linear-gradient(to bottom, rgba(0, 0, 0, 0), #000 74%, #000 100%); }
                  #tech .under_body .inner .tech_cont .core .core_cont .core_list .core_list_box .core_list_left .core_box_in .core_box_txt {
                    font-size: 16rem;
                    line-height: 1.75em;
                    font-weight: 500;
                    color: #fff;
                    position: relative;
                    z-index: 2; }
                  #tech .under_body .inner .tech_cont .core .core_cont .core_list .core_list_box .core_list_left .core_box_in ul {
                    display: flex;
                    justify-content: space-between;
                    align-items: flex-start;
                    flex-wrap: wrap;
                    margin-top: 29rem;
                    position: relative;
                    z-index: 2; }
                    #tech .under_body .inner .tech_cont .core .core_cont .core_list .core_list_box .core_list_left .core_box_in ul li {
                      width: 395rem;
                      font-size: 16rem;
                      line-height: 1.5em;
                      font-weight: 500;
                      color: #fff;
                      box-sizing: border-box;
                      padding: 9rem 23rem 9rem 50rem;
                      border-radius: 5rem;
                      border: solid 1rem #1AB3FF;
                      position: relative; }
                      #tech .under_body .inner .tech_cont .core .core_cont .core_list .core_list_box .core_list_left .core_box_in ul li:nth-child(n+3) {
                        margin-top: 13rem; }
                      #tech .under_body .inner .tech_cont .core .core_cont .core_list .core_list_box .core_list_left .core_box_in ul li::before {
                        position: absolute;
                        content: "";
                        width: 8rem;
                        height: 8rem;
                        left: 23rem;
                        top: 50%;
                        transform: translateY(-50%);
                        border-radius: 100%;
                        background: #fff; }
      #tech .under_body .inner .tech_cont .deve_boxes {
        width: 1600rem;
        margin: 0 auto;
        display: flex;
        justify-content: space-between; }
        #tech .under_body .inner .tech_cont .deve_boxes .deve_box {
          width: 487rem;
          border-radius: 20rem;
          overflow: hidden;
          background: #000; }
          #tech .under_body .inner .tech_cont .deve_boxes .deve_box .deve_box_ttl {
            font-size: 26rem;
            line-height: 1.5em;
            font-weight: 500;
            color: #fff;
            text-align: center;
            margin: 30rem 0 44rem;
            position: relative; }
            #tech .under_body .inner .tech_cont .deve_boxes .deve_box .deve_box_ttl::before {
              position: absolute;
              content: "";
              width: 63rem;
              height: 2rem;
              bottom: -13rem;
              left: 50%;
              transform: translateX(-50%);
              background: #3494D1; }
          #tech .under_body .inner .tech_cont .deve_boxes .deve_box ul {
            margin-left: 30rem;
            margin-bottom: 33rem; }
            #tech .under_body .inner .tech_cont .deve_boxes .deve_box ul li {
              font-size: 17rem;
              line-height: 2.1em;
              font-weight: 500;
              color: #fff; }
          #tech .under_body .inner .tech_cont .deve_boxes .deve_box .private {
            padding: 30rem 0;
            font-size: 18rem;
            line-height: 1;
            font-weight: bold;
            color: #949494;
            text-align: center;
            background: #1E1E1E; }
      #tech .under_body .inner .tech_cont.banner .tech_cont_ttl {
        margin-bottom: 14rem; }
      #tech .under_body .inner .tech_cont.banner .banner_txt {
        width: 1600rem;
        margin: 0 auto 47rem;
        font-size: 16rem;
        line-height: 1.75em;
        font-weight: 500; }
      #tech .under_body .inner .tech_cont.banner .banner_link {
        width: 1600rem;
        margin: 0 auto; }
        #tech .under_body .inner .tech_cont.banner .banner_link a {
          display: block;
          width: 100%;
          transition: 0.3s; }
          #tech .under_body .inner .tech_cont.banner .banner_link a:hover {
            opacity: 0.8; }

  /*事業*/
  #business .under_body .inner {
    padding: 80rem 0 150rem; }
    #business .under_body .inner .ttlarea {
      width: 1600rem;
      margin: 0 auto; }
      #business .under_body .inner .ttlarea h3 {
        font-size: 40rem;
        line-height: 1;
        font-weight: 300;
        color: #3494D1;
        margin-bottom: 20rem; }
      #business .under_body .inner .ttlarea h4 {
        font-size: 30rem;
        line-height: 1.4em;
        font-weight: 500; }
    #business .under_body .inner .business {
      margin-bottom: 90rem; }
      #business .under_body .inner .business .ttlarea {
        margin-bottom: 75rem; }
      #business .under_body .inner .business .business_boxes .business_box {
        box-sizing: border-box;
        padding: 79rem 160rem 80rem;
        color: #fff;
        background-color: #000;
        background-repeat: no-repeat;
        background-position: center top;
        background-size: 100%;
        position: relative;
        transition: all 0.4s ease; }
        #business .under_body .inner .business .business_boxes .business_box::before {
          position: absolute;
          content: "";
          width: 100%;
          height: 100%;
          left: 0;
          top: 0;
          background: rgba(0, 104, 184, 0.8);
          transition: opacity 0.4s ease; }
        #business .under_body .inner .business .business_boxes .business_box::after {
          position: absolute;
          content: "";
          width: 1236rem;
          height: 100%;
          left: 0;
          top: 0;
          background: linear-gradient(to right, #1C1C1C, rgba(28, 28, 28, 0));
          opacity: 0;
          transition: opacity 0.4s ease; }
        #business .under_body .inner .business .business_boxes .business_box.box01 {
          background-image: url("../img/business_box_img_01.png?ver=1.1"); }
        #business .under_body .inner .business .business_boxes .business_box.box02 {
          background-image: url("../img/business_box_img_02.png"); }
        #business .under_body .inner .business .business_boxes .business_box.box03 {
          background-image: url("../img/business_box_img_03.png"); }
        #business .under_body .inner .business .business_boxes .business_box.box04 {
          background-image: url("../img/business_box_img_04.png?ver=1.1"); }
        #business .under_body .inner .business .business_boxes .business_box .business_box_ttl {
          display: flex;
          justify-content: flex-start;
          align-items: center;
          color: #fff;
          position: relative;
          z-index: 2; }
          #business .under_body .inner .business .business_boxes .business_box .business_box_ttl .num {
            width: 140rem;
            font-size: 82rem;
            line-height: 1.2em;
            font-weight: 200;
            margin-right: 48rem; }
          #business .under_body .inner .business .business_boxes .business_box .business_box_ttl h5 span {
            display: block; }
            #business .under_body .inner .business .business_boxes .business_box .business_box_ttl h5 span.en {
              font-size: 32rem;
              line-height: 1.1875em;
              font-weight: 500;
              margin-bottom: 9rem; }
            #business .under_body .inner .business .business_boxes .business_box .business_box_ttl h5 span.ja {
              font-size: 32rem;
              line-height: 1.34em;
              font-weight: bold; }
        #business .under_body .inner .business .business_boxes .business_box .business_box_txt {
          width: 631rem;
          font-size: 20rem;
          line-height: 1.75em;
          font-weight: 500;
          position: relative;
          z-index: 2;
          max-height: 0;
          opacity: 0;
          overflow: hidden;
          transition: max-height 0.4s ease, opacity 0.3s ease, margin 0.4s ease, padding 0.4s ease; }
        #business .under_body .inner .business .business_boxes .business_box ul {
          position: relative;
          z-index: 2;
          max-height: 0;
          opacity: 0;
          overflow: hidden;
          transition: max-height 0.4s ease, opacity 0.3s ease, margin 0.4s ease, padding 0.4s ease; }
          #business .under_body .inner .business .business_boxes .business_box ul li {
            font-size: 20rem;
            line-height: 2.3em;
            font-weight: 500; }
        #business .under_body .inner .business .business_boxes .business_box.active {
          padding: 71rem 160rem 0;
          min-height: 617rem;
          background-size: 100% auto; }
          #business .under_body .inner .business .business_boxes .business_box.active::before {
            opacity: 0; }
          #business .under_body .inner .business .business_boxes .business_box.active::after {
            opacity: 1; }
          #business .under_body .inner .business .business_boxes .business_box.active .business_box_txt {
            margin: 27rem 0 24rem;
            max-height: 200rem;
            opacity: 1; }
          #business .under_body .inner .business .business_boxes .business_box.active ul {
            max-height: 400rem;
            opacity: 1; }
    #business .under_body .inner .operation {
      width: 1600rem;
      margin: 0 auto; }
      #business .under_body .inner .operation .ttlarea {
        margin-bottom: 33rem; }
      #business .under_body .inner .operation .operation_txt {
        font-size: 20rem;
        line-height: 1.75em;
        font-weight: 500;
        margin-bottom: 47rem; }
      #business .under_body .inner .operation .operation_cont {
        display: flex;
        justify-content: space-between;
        align-items: flex-end; }
        #business .under_body .inner .operation .operation_cont .operation_cont_img {
          width: 826rem; }
        #business .under_body .inner .operation .operation_cont .operation_boxes {
          width: 716rem; }
          #business .under_body .inner .operation .operation_cont .operation_boxes .operation_box {
            display: flex;
            justify-content: flex-start;
            align-items: center;
            box-sizing: border-box;
            padding: 19rem 29rem;
            border-radius: 10rem;
            border: solid 1rem #848484; }
            #business .under_body .inner .operation .operation_cont .operation_boxes .operation_box:nth-child(n+2) {
              margin-top: 13rem; }
            #business .under_body .inner .operation .operation_cont .operation_boxes .operation_box .icon {
              width: 60rem;
              margin-right: 42rem; }
            #business .under_body .inner .operation .operation_cont .operation_boxes .operation_box .operation_box_txt {
              font-size: 16rem;
              line-height: 1.5em;
              font-weight: 500; }

  /*プライバシーポリシー*/
  #privacy .under_body .inner {
    width: 1238rem;
    margin: 0 auto;
    padding: 157rem 0; }
    #privacy .under_body .inner .privacy_head_txt {
      font-size: 20rem;
      line-height: 1.5em;
      margin-bottom: 1em; }
    #privacy .under_body .inner dl {
      font-size: 20rem;
      line-height: 1.5em; }
      #privacy .under_body .inner dl dt {
        font-weight: bold; }
      #privacy .under_body .inner dl dd {
        margin-bottom: 1em; }
        #privacy .under_body .inner dl dd ul li {
          box-sizing: border-box;
          padding-left: 1.1em;
          text-indent: -1.1em; } }
/* SP */
@media screen and (max-width: 768px) {
  .pconly {
    display: none !important; }

  .huwari2 {
    opacity: 0;
    transform: translate(100rem, 0);
    transition: all 1s; }

  .huwari2.is-active {
    opacity: 1 !important;
    transform: translate(0, 0); }

  html {
    font-size: calc(1vw * 100 / 393); }

  header {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    color: #fff;
    z-index: 100;
    transition: all 0.3s ease; }
    header.changed {
      background: rgba(0, 0, 0, 0.9); }
      header.changed .inner .header_logo {
        width: 40rem; }
    header .inner {
      width: 100%;
      padding: 23rem;
      box-sizing: border-box; }
      header .inner .header_logo {
        width: 50rem;
        position: relative;
        z-index: 22; }
        header .inner .header_logo a {
          display: block;
          width: 100%; }

  #navArea {
    position: relative; }

  /*ハンバーガー メニュー*/
  nav.hum {
    display: block;
    position: fixed;
    top: 0;
    right: -100vw;
    /*bottom: 0;*/
    width: 100vw;
    height: 100vh;
    overflow-x: hidden;
    overflow-y: auto;
    background: #111111;
    -webkit-overflow-scrolling: touch;
    transition: all .5s;
    z-index: 21;
    opacity: 1; }
    nav.hum ul {
      text-align: center;
      width: 312rem;
      margin: 125rem auto 0; }
      nav.hum ul li:nth-child(n+2) {
        margin-top: 28rem; }
      nav.hum ul li a {
        display: block;
        color: #fff; }
        nav.hum ul li a span {
          display: block; }
          nav.hum ul li a span.en {
            font-size: 28rem;
            line-height: 1;
            font-weight: 300;
            margin-bottom: 10rem; }
          nav.hum ul li a span.ja {
            font-size: 14rem;
            line-height: 1;
            font-weight: bold; }

  .open nav.hum {
    right: 0;
    opacity: 1; }

  /*============
  .toggle_btn
  =============*/
  .toggle_btn {
    display: block;
    position: fixed;
    top: 34rem;
    right: 24rem;
    width: 30rem;
    height: 30rem;
    transition: all .5s;
    cursor: pointer;
    z-index: 23; }

  .toggle_btn span {
    display: block;
    position: absolute;
    left: 0;
    width: 30rem;
    height: 4rem;
    border-radius: 100rem;
    background-color: #fff;
    transition: all .5s; }

  .toggle_btn span:nth-of-type(1) {
    top: 0; }

  .toggle_btn span:nth-of-type(2) {
    top: 11rem; }

  .toggle_btn span:nth-of-type(3) {
    top: 22rem; }

  .open .toggle_btn span {
    background: #fff; }

  .open .toggle_btn span:nth-of-type(1) {
    -webkit-transform: translateY(11rem) rotate(-315deg);
    transform: translateY(11rem) rotate(-315deg); }

  .open .toggle_btn span:nth-of-type(2) {
    opacity: 0; }

  .open .toggle_btn span:nth-of-type(3) {
    -webkit-transform: translateY(-11rem) rotate(315deg);
    transform: translateY(-11rem) rotate(315deg); }

  /*============
  #mask
  =============*/
  #mask {
    display: none;
    transition: all .5s; }

  .open #mask {
    display: block;
    transition: all .5s;
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    z-index: 20; }

  main.top {
    width: 100%;
    position: relative; }
    main.top::before {
      position: absolute;
      content: "";
      width: 100%;
      height: 2089rem;
      left: 0;
      top: 0;
      background: url("../img/mv_bg_sp.webp") no-repeat top center;
      background-size: 100% auto;
      z-index: -3; }

  #top_mv {
    width: 100%;
    position: relative; }
    #top_mv .inner {
      padding: 112rem 0 54rem; }
      #top_mv .inner .top_mv_cont {
        width: 348rem;
        margin: 0 auto;
        color: #fff; }
        #top_mv .inner .top_mv_cont .top_mv_sbttl {
          font-size: 18rem;
          line-height: 1.5em;
          font-weight: 500; }
        #top_mv .inner .top_mv_cont h1 {
          font-size: 43rem;
          letter-spacing: 0.01em;
          line-height: 1.21em;
          font-weight: 200;
          color: #FFEDD3;
          margin: 0 0 170rem; }
        #top_mv .inner .top_mv_cont .top_mv_txt {
          font-size: 14rem;
          line-height: 2em;
          font-weight: 600;
          margin-bottom: 27rem; }
        #top_mv .inner .top_mv_cont .top_mv_btn {
          width: 320rem;
          margin: 0 auto; }
          #top_mv .inner .top_mv_cont .top_mv_btn .btn {
            width: 100%; }
            #top_mv .inner .top_mv_cont .top_mv_btn .btn:nth-child(n+2) {
              margin-top: 20rem; }
            #top_mv .inner .top_mv_cont .top_mv_btn .btn a {
              display: block;
              width: 100%;
              font-size: 14rem;
              line-height: 1;
              font-weight: bold;
              color: #fff;
              padding-top: 12rem;
              padding-bottom: 13rem;
              box-sizing: border-box;
              border-radius: 70rem;
              border: solid 2rem #fff;
              background-image: url("../img/top_mv_btn_arrow_02.png");
              background-repeat: no-repeat;
              background-size: 15rem; }
            #top_mv .inner .top_mv_cont .top_mv_btn .btn:nth-child(1) a {
              padding-left: 103rem;
              background-position: right 103rem center; }
            #top_mv .inner .top_mv_cont .top_mv_btn .btn:nth-child(2) a {
              padding-left: 96rem;
              background-position: right 96rem center; }
            #top_mv .inner .top_mv_cont .top_mv_btn .btn:nth-child(3) a {
              padding-left: 96rem;
              background-position: right 96rem center; }
      #top_mv .inner .top_mv_img {
        width: 373rem;
        position: absolute;
        top: 209rem;
        right: 0;
        /*.img {
        	width: 100%;
        	mix-blend-mode: exclusion;
        }*/ }
        #top_mv .inner .top_mv_img .txt {
          position: absolute;
          bottom: 10rem;
          right: 23rem;
          font-size: 15rem;
          line-height: 1.3em;
          font-weight: 500;
          color: #fff; }
          #top_mv .inner .top_mv_img .txt::before {
            position: absolute;
            content: "";
            width: 28rem;
            height: 2rem;
            bottom: -7rem;
            left: 0;
            background: linear-gradient(to right, #0063A0 0%, #0063A0 50%, #6EBEFF 80%, #6EBEFF 100%);
            border-radius: 100rem; }

  #top_mission {
    width: 100%;
    box-sizing: border-box;
    padding: 89rem 0 312rem;
    position: relative;
    background: url("../img/top_misson_bg_03_sp.png") no-repeat;
    background-size: cover;
    /**/ }
    #top_mission::before {
      position: absolute;
      content: "";
      width: 100%;
      height: 1306rem;
      bottom: 0;
      left: 0;
      background: url("../img/top_misson_bg_01_sp.png") no-repeat center top;
      background-size: 100% auto;
      z-index: -1;
      mix-blend-mode: darken; }
    #top_mission::after {
      position: absolute;
      content: "";
      width: 100%;
      height: 1718rem;
      top: 0;
      left: 0;
      background: url("../img/top_misson_bg_02_sp.png") no-repeat center top;
      background-size: 100% auto;
      z-index: -2; }
    #top_mission .top_misson_cont {
      position: relative; }
      #top_mission .top_misson_cont h2 {
        font-size: 40rem;
        line-height: 1;
        font-weight: 200;
        color: #3494D1; }
      #top_mission .top_misson_cont h3 {
        font-size: 25rem;
        line-height: 1.5em;
        font-weight: 500;
        margin: 13rem 0 20rem; }
      #top_mission .top_misson_cont .top_mission_txt {
        font-size: 14rem;
        line-height: 2em;
        font-weight: 600; }
      #top_mission .top_misson_cont.mission {
        width: 347rem;
        margin: 0 auto; }
        #top_mission .top_misson_cont.mission .top_mission_img {
          width: 262rem;
          position: absolute;
          top: -30rem;
          right: -23rem;
          /*.img {
          	mix-blend-mode: exclusion;
          }*/ }
      #top_mission .top_misson_cont.what {
        width: 347rem;
        margin: 0 auto; }
        #top_mission .top_misson_cont.what .what_box {
          color: #fff; }
          #top_mission .top_misson_cont.what .what_box .what_img {
            width: 100%; }
          #top_mission .top_misson_cont.what .what_box .what_right {
            width: 100%; }
            #top_mission .top_misson_cont.what .what_box .what_right h2 {
              color: #CDDAE5; }
            #top_mission .top_misson_cont.what .what_box .what_right h3 {
              font-size: 22rem;
              margin-bottom: 35rem; }
            #top_mission .top_misson_cont.what .what_box .what_right .top_mission_txt {
              line-height: 2em;
              margin-top: 28rem; }
              #top_mission .top_misson_cont.what .what_box .what_right .top_mission_txt span {
                display: inline-block;
                box-sizing: border-box;
                padding-left: 1em;
                text-indent: -1em; }
            #top_mission .top_misson_cont.what .what_box .what_right .what_btn {
              width: 176rem;
              margin-top: 25rem; }
              #top_mission .top_misson_cont.what .what_box .what_right .what_btn a {
                display: block;
                width: 100%;
                font-size: 14rem;
                line-height: 1;
                font-weight: bold;
                color: #fff;
                box-sizing: border-box;
                padding: 13rem 0 13rem 38rem;
                border-radius: 70rem;
                border: solid 2rem #fff;
                background: url("../img/top_mv_btn_arrow_02.png") no-repeat right 38rem center;
                background-size: 15rem; }
    #top_mission .entxt_scroll {
      margin: 133rem 0 56rem; }

  /*英字のスクロール*/
  .entxt_scroll {
    width: 100%;
    overflow: hidden; }
    .entxt_scroll .scroll {
      display: flex;
      width: max-content;
      /* 中身のテキストに合わせた幅にする */
      animation: infinity-scroll 30s linear infinite;
      /* 15sを変えると速度が変わります */ }
      .entxt_scroll .scroll .entxt {
        font-size: 34rem;
        line-height: 1.1em;
        font-weight: 200;
        color: #CDDAE5;
        white-space: nowrap;
        padding-right: 0.5em; }
        .entxt_scroll .scroll .entxt span {
          display: inline-block;
          font-weight: 900;
          font-style: italic; }

  #top_approach {
    margin-top: -259rem;
    position: relative;
    z-index: 3;
    background: url("../img/approach_bg_sp.png") no-repeat top center;
    background-size: cover;
    overflow: hidden; }
    #top_approach .inner {
      width: 347rem;
      margin: 0 auto;
      padding: 90rem 0 67rem;
      color: #fff; }
      #top_approach .inner h2 {
        font-size: 40rem;
        line-height: 1.1em;
        font-weight: 200;
        color: #FFEDD3; }
      #top_approach .inner h3 {
        font-size: 22rem;
        line-height: 1.5em;
        font-weight: 500;
        margin: 13rem 0 263rem;
        position: relative;
        z-index: 2; }
      #top_approach .inner .top_approach_txt {
        width: 100%;
        font-size: 14rem;
        line-height: 2em;
        font-weight: 600; }
    #top_approach .top_approach_img {
      width: 347rem;
      position: absolute;
      top: 231rem;
      right: 0; }
      #top_approach .top_approach_img::before {
        position: absolute;
        content: "";
        width: 331rem;
        height: 145rem;
        top: -25rem;
        right: 0;
        background: linear-gradient(to bottom, #000, rgba(0, 0, 0, 0)); }

  #top_why {
    width: 100%;
    background: #0060A9;
    position: relative;
    overflow: hidden; }
    #top_why .top_why_cont {
      width: 347rem;
      margin: 0 auto;
      color: #fff;
      padding: 65rem 0 50rem;
      position: relative;
      z-index: 3; }
      #top_why .top_why_cont h2 {
        font-size: 40rem;
        line-height: 1.1em;
        font-weight: 200;
        color: #FFEDD3; }
      #top_why .top_why_cont h3 {
        width: 105%;
        font-size: 22rem;
        line-height: 1.5em;
        font-weight: 500;
        margin: 13rem 0 34rem; }
      #top_why .top_why_cont .top_why_txt {
        width: 100%;
        font-size: 14rem;
        line-height: 2em;
        font-weight: 600; }
    #top_why .top_why_img {
      width: 100%;
      position: absolute;
      top: 0;
      left: 0; }
      #top_why .top_why_img::before {
        position: absolute;
        content: "";
        width: 474rem;
        height: 100%;
        top: 0;
        right: -159rem;
        background: linear-gradient(to right, rgba(0, 96, 169, 0), #0060A9);
        z-index: 2; }
      #top_why .top_why_img .img {
        width: 100%;
        mix-blend-mode: screen; }

  #top_case .top_case_ttl {
    box-sizing: border-box;
    padding: 62rem 23rem 45rem;
    background: #1D1F24; }
    #top_case .top_case_ttl h2 {
      font-size: 40rem;
      line-height: 1.1em;
      font-weight: 200;
      color: #FFEDD3;
      margin-bottom: 13rem; }
    #top_case .top_case_ttl h3 {
      font-size: 22rem;
      line-height: 1.5em;
      font-weight: 500;
      color: #fff; }
  #top_case .top_case_boxes .top_case_box {
    width: 100%;
    min-height: 192rem;
    color: #fff;
    box-sizing: border-box;
    padding-top: 25rem;
    padding-right: 14rem;
    padding-left: 31rem;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover; }
    #top_case .top_case_boxes .top_case_box:nth-child(n+3) .top_case_box_ttl {
      margin-bottom: 9rem; }
    #top_case .top_case_boxes .top_case_box:nth-child(1) {
      background-image: url("../img/top_case_img_01_sp.png?ver=1.1"); }
      #top_case .top_case_boxes .top_case_box:nth-child(1) .top_case_box_ttl {
        margin-bottom: 21rem; }
    #top_case .top_case_boxes .top_case_box:nth-child(2) {
      background-image: url("../img/top_case_img_02_sp.png"); }
      #top_case .top_case_boxes .top_case_box:nth-child(2) .top_case_box_ttl {
        margin-bottom: 21rem; }
    #top_case .top_case_boxes .top_case_box:nth-child(3) {
      background-image: url("../img/top_case_img_03_sp.png"); }
    #top_case .top_case_boxes .top_case_box:nth-child(4) {
      background-image: url("../img/top_case_img_04_sp.png?ver=1.2"); }
    #top_case .top_case_boxes .top_case_box .top_case_box_ttl {
      display: flex;
      justify-content: flex-start;
      align-items: center; }
    #top_case .top_case_boxes .top_case_box .num {
      width: 72rem;
      font-size: 41rem;
      line-height: 1.2em;
      margin-right: 14rem; }
    #top_case .top_case_boxes .top_case_box h4 span {
      display: block; }
      #top_case .top_case_boxes .top_case_box h4 span.en {
        font-size: 16rem;
        line-height: 1.18em;
        font-weight: bold;
        margin-bottom: 3rem; }
      #top_case .top_case_boxes .top_case_box h4 span.ja {
        font-size: 16rem;
        line-height: 1.375em;
        font-weight: bold; }
    #top_case .top_case_boxes .top_case_box .top_case_box_txt {
      font-size: 14rem;
      line-height: 1.75em;
      font-weight: 500; }

  #top_roadmap .bg {
    padding: 43rem 0 94rem;
    background: #fff;
    /*background: url("../img/top_roadmap_bg.png")no-repeat center #fff;
    background-size: cover;*/ }
  #top_roadmap .top_road_map_ttl {
    width: 347rem;
    margin: 43rem auto 24rem; }
    #top_roadmap .top_road_map_ttl h2 {
      font-size: 40rem;
      line-height: 1.1em;
      font-weight: 200;
      color: #3494D1;
      margin-bottom: 13rem; }
    #top_roadmap .top_road_map_ttl h3 {
      font-size: 22rem;
      line-height: 1.5em;
      font-weight: 500; }
  #top_roadmap .img_scroll {
    width: 100%;
    overflow: scroll; }
    #top_roadmap .img_scroll .top_roadmap_img {
      width: 1101rem; }

  .contact_banner {
    width: 100%;
    background: url("../img/contact_banner_bg_sp.png") no-repeat center bottom #000;
    background-size: 100% auto; }
    .contact_banner .inner {
      width: 347rem;
      margin: 0 auto;
      padding: 43rem 0 47rem;
      color: #fff; }
      .contact_banner .inner h2 {
        font-size: 40rem;
        line-height: 1.1em;
        font-weight: 200;
        color: #FFEDD3; }
      .contact_banner .inner h3 {
        font-size: 22rem;
        line-height: 1.5em;
        font-weight: 500;
        margin: 13rem 0; }
      .contact_banner .inner .contact_banner_txt {
        font-size: 14rem;
        line-height: 2em;
        font-weight: 500;
        margin-bottom: 43rem; }
      .contact_banner .inner .contact_banner_btn {
        width: 320rem;
        margin: 0 auto; }
        .contact_banner .inner .contact_banner_btn a {
          display: block;
          width: 100%;
          font-size: 14rem;
          line-height: 1em;
          font-weight: bold;
          color: #000;
          box-sizing: border-box;
          padding: 12rem 0 13rem 103rem;
          border-radius: 70rem;
          border: solid 2rem #fff;
          background: url("../img/top_mv_btn_arrow_01.png") no-repeat right 103rem center #fff;
          background-size: 15rem; }

  footer .inner {
    width: 100%;
    margin: 0 auto; }
    footer .inner .footer_head {
      padding: 35rem 0 19rem;
      border-bottom: solid 1rem #7E7E7E; }
      footer .inner .footer_head .fotoer_head_left {
        margin-bottom: 19rem; }
        footer .inner .footer_head .fotoer_head_left .logo {
          width: 237rem;
          margin: 0 auto 26rem; }
        footer .inner .footer_head .fotoer_head_left .footer_info {
          font-size: 12rem;
          line-height: 1.75em;
          font-weight: 500;
          text-align: center;
          color: #7E7E7E; }
      footer .inner .footer_head .footer_head_right {
        width: 266rem;
        margin: 0 auto; }
        footer .inner .footer_head .footer_head_right .footer_menu ul {
          display: flex;
          justify-content: space-between;
          flex-wrap: wrap; }
          footer .inner .footer_head .footer_head_right .footer_menu ul li {
            width: 106rem;
            font-size: 16rem;
            line-height: 2.85em; }
            footer .inner .footer_head .footer_head_right .footer_menu ul li:nth-child(1) {
              order: 1; }
            footer .inner .footer_head .footer_head_right .footer_menu ul li:nth-child(2) {
              order: 3; }
            footer .inner .footer_head .footer_head_right .footer_menu ul li:nth-child(3) {
              order: 5; }
            footer .inner .footer_head .footer_head_right .footer_menu ul li:nth-child(4) {
              order: 7; }
            footer .inner .footer_head .footer_head_right .footer_menu ul li:nth-child(5) {
              order: 2; }
            footer .inner .footer_head .footer_head_right .footer_menu ul li:nth-child(6) {
              order: 4; }
            footer .inner .footer_head .footer_head_right .footer_menu ul li:nth-child(7) {
              order: 6; }
            footer .inner .footer_head .footer_head_right .footer_menu ul li a {
              color: #fff; }
    footer .inner .footer_btm {
      padding: 15rem 0 21rem;
      text-align: center; }
      footer .inner .footer_btm .copyright {
        font-size: 14rem;
        line-height: 1.75em;
        font-weight: 300;
        color: #7E7E7E; }

  /*下層共通*/
  .under .mv {
    height: 400rem;
    box-sizing: border-box;
    padding-top: 127rem;
    background: url("../img/under_mv_img_02_sp.png") no-repeat center top;
    background-size: 100% auto; }
    .under .mv.short {
      height: 252rem; }
    .under .mv .inner {
      width: 347rem;
      margin: 0 auto;
      color: #fff; }
      .under .mv .inner .mv_ttl span {
        display: block; }
        .under .mv .inner .mv_ttl span.en {
          font-size: 40rem;
          line-height: 1.1em;
          font-weight: 300;
          margin-bottom: 13rem; }
        .under .mv .inner .mv_ttl span.small {
          font-size: 31rem; }
        .under .mv .inner .mv_ttl span.ja {
          font-size: 22rem;
          line-height: 1.5em;
          font-weight: 500; }
      .under .mv .inner .mv_txt {
        margin-top: 20rem;
        font-size: 14rem;
        line-height: 2em;
        font-weight: 500; }
  .under .under_body {
    background: #fff; }

  /*お知らせ（一覧）*/
  #news .under_body .inner {
    width: 355rem;
    margin: 0 auto;
    padding: 38rem 0 56rem; }
    #news .under_body .inner .cat_area {
      width: 100%;
      display: flex;
      justify-content: flex-start;
      align-items: center;
      padding-bottom: 18rem; }
      #news .under_body .inner .cat_area .cat_ttl {
        font-size: 13rem;
        line-height: 1;
        box-sizing: border-box;
        padding-left: 14rem;
        margin-right: 20rem;
        position: relative;
        top: -4rem; }
        #news .under_body .inner .cat_area .cat_ttl::before {
          position: absolute;
          content: "";
          width: 7rem;
          height: 7rem;
          top: 50%;
          left: 0;
          transform: translateY(-50%);
          border-radius: 100%;
          background: #000; }
      #news .under_body .inner .cat_area .cat_box {
        width: 200rem; }
        #news .under_body .inner .cat_area .cat_box ul {
          display: flex;
          justify-content: flex-start;
          align-items: center;
          flex-wrap: wrap; }
          #news .under_body .inner .cat_area .cat_box ul li {
            margin-right: 6rem;
            margin-bottom: 8rem; }
            #news .under_body .inner .cat_area .cat_box ul li a {
              min-width: 56rem;
              display: inline-block;
              font-size: 8rem;
              line-height: 1;
              color: #000;
              text-align: center;
              box-sizing: border-box;
              padding: 3rem 11rem;
              border-radius: 100rem;
              border: solid 1rem #DCDCDC; }
              #news .under_body .inner .cat_area .cat_box ul li a.active {
                font-weight: 600;
                background: #DCDCDC; }
    #news .under_body .inner .news_boxes {
      border-top: solid 1rem #DCDCDC; }
      #news .under_body .inner .news_boxes .news_box {
        padding: 21rem 50rem 25rem 0;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        flex-wrap: wrap;
        border-bottom: solid 1rem #DCDCDC;
        background: url("../img/news_box_arrow.png") no-repeat right 0 center;
        background-size: 41rem; }
        #news .under_body .inner .news_boxes .news_box .date {
          width: 75rem;
          font-size: 14rem;
          line-height: 1;
          margin-right: 12rem; }
        #news .under_body .inner .news_boxes .news_box .cat {
          font-size: 10rem;
          line-height: 1;
          color: #fff;
          text-align: center;
          padding: 3rem 10rem;
          background: #000;
          border-radius: 3rem; }
        #news .under_body .inner .news_boxes .news_box .txt {
          width: 100%;
          margin-top: 15rem;
          font-size: 14rem;
          line-height: 1.5em; }
    #news .under_body .inner .pagenation {
      margin-top: 37rem;
      text-align: center; }
      #news .under_body .inner .pagenation a {
        display: inline-block;
        width: 34rem;
        height: 34rem;
        line-height: 34rem;
        font-size: 21rem;
        font-weight: 300;
        color: #000;
        border-radius: 100%;
        margin: 0 7rem;
        padding: 0 !important;
        border: none !important; }
      #news .under_body .inner .pagenation span {
        display: inline-block;
        width: 34rem;
        height: 34rem;
        line-height: 34rem;
        font-size: 21rem;
        font-weight: 300;
        color: #000;
        margin: 0 7rem;
        padding: 0 !important;
        border: none !important; }
        #news .under_body .inner .pagenation span.current {
          color: #fff;
          border-radius: 100%;
          background: #3494D1; }

  /*お知らせ（詳細）*/
  #news_d .under_body .inner {
    width: 353rem;
    margin: 0 auto;
    padding: 46rem 0; }
    #news_d .under_body .inner .news_d_head {
      display: flex;
      justify-content: flex-start;
      align-items: center;
      flex-wrap: wrap;
      padding-bottom: 25rem;
      border-bottom: solid 1rem #DCDCDC;
      margin-bottom: 20rem; }
      #news_d .under_body .inner .news_d_head .date {
        font-size: 14rem;
        line-height: 1;
        margin-right: 12rem; }
      #news_d .under_body .inner .news_d_head .cat {
        display: inline-block;
        font-size: 10rem;
        line-height: 1;
        color: #fff;
        border-radius: 3rem;
        background: #000;
        padding: 3rem 10rem; }
      #news_d .under_body .inner .news_d_head .ttl {
        width: 100%;
        font-size: 14rem;
        line-height: 1.25em;
        margin-top: 15rem; }
    #news_d .under_body .inner .news_d_img {
      width: 100%;
      margin-bottom: 30rem; }
    #news_d .under_body .inner .news_d_cont {
      width: 100%;
      font-size: 14rem;
      line-height: 1.428em;
      margin-bottom: 57rem; }
      #news_d .under_body .inner .news_d_cont p {
        font-size: 14rem;
        line-height: 1.428em;
        margin-bottom: 30rem; }
        #news_d .under_body .inner .news_d_cont p:last-child {
          margin-bottom: 0; }
      #news_d .under_body .inner .news_d_cont iframe {
        width: 100%;
        max-width: 100%;
        margin-bottom: 30rem; }
        #news_d .under_body .inner .news_d_cont iframe:last-child {
          margin-bottom: 0; }
      #news_d .under_body .inner .news_d_cont a {
        color: #000;
        text-decoration: underline;
        margin-bottom: 30rem; }
        #news_d .under_body .inner .news_d_cont a:last-child {
          margin-bottom: 0; }
    #news_d .under_body .inner .news_d_btn {
      width: 235rem;
      margin: 0 auto;
      position: relative;
      display: flex;
      justify-content: space-between;
      padding-bottom: 70rem; }
      #news_d .under_body .inner .news_d_btn .prev a {
        display: inline-block;
        font-size: 12rem;
        line-height: 42rem;
        color: #000;
        padding-left: 47rem;
        background: url("../img/news_d_prev.png") no-repeat left center;
        background-size: contain; }
      #news_d .under_body .inner .news_d_btn .next {
        order: 2; }
        #news_d .under_body .inner .news_d_btn .next a {
          display: inline-block;
          font-size: 12rem;
          line-height: 42rem;
          color: #000;
          padding-right: 47rem;
          background: url("../img/news_d_next.png") no-repeat right center;
          background-size: contain; }
      #news_d .under_body .inner .news_d_btn .back {
        width: 160rem;
        display: block;
        font-size: 12rem;
        line-height: 1;
        color: #000;
        text-align: center;
        box-sizing: border-box;
        padding: 13rem 0;
        border-radius: 100rem;
        border: solid 1rem #DCDCDC;
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%); }

  /*お問い合わせ*/
  #contact .under_body .inner {
    width: 353rem;
    margin: 0 auto;
    padding: 57rem 0 87rem; }
    #contact .under_body .inner .contact_form table {
      width: 100%;
      margin-bottom: 44rem; }
      #contact .under_body .inner .contact_form table tr th {
        display: block;
        width: 100%;
        font-size: 14rem;
        line-height: 16rem;
        text-align: left; }
        #contact .under_body .inner .contact_form table tr th div {
          display: inline-block;
          padding-right: 49rem;
          position: relative; }
          #contact .under_body .inner .contact_form table tr th div::before {
            position: absolute;
            content: "必須";
            width: 34rem;
            height: 16rem;
            top: 0;
            right: 0;
            font-size: 10rem;
            line-height: 1;
            color: #FF0000;
            text-align: center;
            box-sizing: border-box;
            padding: 2rem 0;
            border-radius: 3rem;
            border: solid 1rem #FF0000; }
          #contact .under_body .inner .contact_form table tr th div.other::before {
            content: "任意";
            color: #8F8F8F;
            border: solid 1rem #8F8F8F; }
      #contact .under_body .inner .contact_form table tr td {
        display: block;
        width: 100%;
        padding: 10rem 0 30rem; }
        #contact .under_body .inner .contact_form table tr td input {
          width: 100%;
          height: 50rem;
          font-size: 14rem;
          box-sizing: border-box;
          padding-left: 13rem;
          border: solid 1rem #DCDCDC;
          font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif; }
          #contact .under_body .inner .contact_form table tr td input::placeholder {
            color: #A9A9A9; }
        #contact .under_body .inner .contact_form table tr td select {
          width: 100%;
          height: 50rem;
          font-size: 14rem;
          box-sizing: border-box;
          padding-left: 13rem;
          border: solid 1rem #DCDCDC;
          font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif; }
        #contact .under_body .inner .contact_form table tr td textarea {
          width: 100%;
          height: 247rem;
          font-size: 14rem;
          line-height: 1.25em;
          box-sizing: border-box;
          padding: 20rem 13rem;
          border: solid 1rem #DCDCDC;
          font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
          resize: none; }
      #contact .under_body .inner .contact_form table tr:last-child td {
        padding-bottom: 0; }
    #contact .under_body .inner .contact_form .privacy {
      text-align: center;
      margin-bottom: 45rem; }
      #contact .under_body .inner .contact_form .privacy label {
        display: inline-block;
        font-size: 14rem;
        line-height: 1;
        cursor: pointer; }
        #contact .under_body .inner .contact_form .privacy label input {
          width: 14rem;
          height: 14rem;
          margin-right: 4rem;
          vertical-align: -0.15em; }
        #contact .under_body .inner .contact_form .privacy label a {
          color: #000;
          text-decoration: underline; }
    #contact .under_body .inner .contact_form .btn {
      display: flex;
      justify-content: center; }
      #contact .under_body .inner .contact_form .btn .submit {
        width: 160rem;
        font-size: 12rem;
        line-height: 1;
        color: #000;
        text-align: left;
        box-sizing: border-box;
        padding: 14rem 0;
        text-align: center;
        border-radius: 100rem;
        border: solid 1rem #DCDCDC;
        background: url("../img/contact_btn_arrow.png") no-repeat right 20rem center #fff;
        background-size: 28rem;
        cursor: pointer;
        font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif; }

  /*お問い合わせ（完了）*/
  #thanks .under_body .inner {
    padding: 68rem 0;
    text-align: center; }
    #thanks .under_body .inner h3 {
      font-size: 18rem;
      line-height: 1;
      margin-bottom: 50rem; }
    #thanks .under_body .inner .thanks_txt {
      width: 353rem;
      margin: 0 auto;
      font-size: 14rem;
      line-height: 1.75em; }
    #thanks .under_body .inner .thanks_small_txt {
      width: 349rem;
      margin: 45rem auto 30rem;
      font-size: 12rem;
      line-height: 1.5em;
      text-align: left; }
    #thanks .under_body .inner .back_btn {
      width: 160rem;
      margin: 0 auto; }
      #thanks .under_body .inner .back_btn a {
        display: block;
        width: 100%;
        font-size: 12rem;
        line-height: 1;
        color: #000;
        padding: 12rem 0;
        border-radius: 75rem;
        border: solid 1rem #DCDCDC;
        transition: 0.3s; }
        #thanks .under_body .inner .back_btn a:hover {
          color: #fff;
          background: #000; }

  /*会社概要*/
  #about .under_body .inner {
    width: 348rem;
    margin: 0 auto;
    padding: 70rem 0 60rem; }
    #about .under_body .inner .outline {
      margin-bottom: 66rem; }
      #about .under_body .inner .outline .outline_img {
        margin-bottom: 45rem; }
      #about .under_body .inner .outline .outline_right {
        width: 100%; }
        #about .under_body .inner .outline .outline_right table {
          width: 100%;
          border-top: solid 1rem #D9D9D9; }
          #about .under_body .inner .outline .outline_right table tr {
            border-bottom: solid 1rem #D9D9D9; }
            #about .under_body .inner .outline .outline_right table tr th {
              width: 115rem;
              font-size: 12rem;
              line-height: 1.4em;
              font-weight: 500;
              text-align: left;
              box-sizing: border-box;
              padding: 24rem 0 24rem 20rem;
              vertical-align: middle; }
            #about .under_body .inner .outline .outline_right table tr td {
              width: 233rem;
              font-size: 12rem;
              line-height: 1.4em;
              box-sizing: border-box;
              padding: 16rem 0 16rem;
              vertical-align: middle; }
    #about .under_body .inner .team .team_ttl {
      margin-bottom: 36rem; }
      #about .under_body .inner .team .team_ttl span {
        display: block; }
        #about .under_body .inner .team .team_ttl span.en {
          font-size: 34rem;
          line-height: 1.1em;
          font-weight: 300;
          color: #3494D1;
          margin-bottom: 9rem; }
        #about .under_body .inner .team .team_ttl span.ja {
          font-size: 22rem;
          line-height: 1.5em;
          font-weight: 500; }
    #about .under_body .inner .team .team_boxes {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      #about .under_body .inner .team .team_boxes .team_box {
        width: 167rem; }
        #about .under_body .inner .team .team_boxes .team_box:nth-child(n+3) {
          margin-top: 25rem; }
        #about .under_body .inner .team .team_boxes .team_box .name {
          font-size: 14rem;
          line-height: 1;
          font-weight: bold;
          margin: 13rem 0; }
        #about .under_body .inner .team .team_boxes .team_box .post {
          font-size: 12rem;
          line-height: 1; }
        #about .under_body .inner .team .team_boxes .team_box .txt {
          font-size: 12rem;
          line-height: 1.5em; }

  /*採用情報*/
  #recruit .under_body .inner {
    width: 348rem;
    margin: 0 auto;
    padding: 33rem 0 82rem; }
    #recruit .under_body .inner .recruit_cont .recruit_cont_left {
      margin-bottom: 50rem; }
      #recruit .under_body .inner .recruit_cont .recruit_cont_left h3 {
        font-size: 34rem;
        line-height: 1.1em;
        font-weight: 300;
        color: #3494D1; }
      #recruit .under_body .inner .recruit_cont .recruit_cont_left h4 {
        font-size: 22rem;
        line-height: 1.5em;
        font-weight: 500;
        margin: 9rem 0 35rem; }
      #recruit .under_body .inner .recruit_cont .recruit_cont_left .recruit_list .recruit_list_btn {
        font-weight: 500;
        padding: 23rem 0 22rem 32rem;
        border-bottom: solid 1rem #000;
        background-image: url("../img/recruit_arrow_black.png");
        background-repeat: no-repeat;
        background-position: right 16rem center;
        background-size: 30rem;
        position: relative;
        cursor: pointer; }
        #recruit .under_body .inner .recruit_cont .recruit_cont_left .recruit_list .recruit_list_btn::before {
          position: absolute;
          content: "";
          width: 8rem;
          height: 8rem;
          top: 50%;
          left: 1rem;
          transform: translateY(-50%);
          border-radius: 100%;
          background: #000; }
        #recruit .under_body .inner .recruit_cont .recruit_cont_left .recruit_list .recruit_list_btn .ja {
          font-size: 18rem;
          line-height: 1;
          margin-bottom: 10rem; }
        #recruit .under_body .inner .recruit_cont .recruit_cont_left .recruit_list .recruit_list_btn .en {
          font-size: 12rem;
          line-height: 1; }
        #recruit .under_body .inner .recruit_cont .recruit_cont_left .recruit_list .recruit_list_btn.active {
          color: #3494D1;
          background-image: url("../img/recruit_arrow_blue.png"); }
          #recruit .under_body .inner .recruit_cont .recruit_cont_left .recruit_list .recruit_list_btn.active::before {
            background: #3494D1; }
    #recruit .under_body .inner .recruit_cont .recruit_cont_right {
      width: 100%; }
      #recruit .under_body .inner .recruit_cont .recruit_cont_right .recruit_boxes .recruit_box {
        color: #fff;
        box-sizing: border-box;
        padding: 23rem 0 27rem;
        border-radius: 20rem;
        background: #3494D1;
        display: none; }
        #recruit .under_body .inner .recruit_cont .recruit_cont_right .recruit_boxes .recruit_box.active {
          display: block !important; }
        #recruit .under_body .inner .recruit_cont .recruit_cont_right .recruit_boxes .recruit_box .recruit_box_ttl {
          font-size: 18rem;
          line-height: 1;
          font-weight: 500;
          box-sizing: border-box;
          padding-left: 25rem;
          margin-bottom: 12rem; }
        #recruit .under_body .inner .recruit_cont .recruit_cont_right .recruit_boxes .recruit_box .recruit_box_enttl {
          font-size: 12rem;
          line-height: 1;
          font-weight: 500;
          box-sizing: border-box;
          padding-left: 25rem; }
        #recruit .under_body .inner .recruit_cont .recruit_cont_right .recruit_boxes .recruit_box .recruit_box_img {
          position: relative;
          margin: 0 0 18rem; }
          #recruit .under_body .inner .recruit_cont .recruit_cont_right .recruit_boxes .recruit_box .recruit_box_img::before {
            position: absolute;
            content: "";
            width: 100%;
            height: 62rem;
            top: 0;
            left: 0;
            background: linear-gradient(to bottom, #3494D1, rgba(52, 148, 209, 0)); }
          #recruit .under_body .inner .recruit_cont .recruit_cont_right .recruit_boxes .recruit_box .recruit_box_img::after {
            position: absolute;
            content: "";
            width: 100%;
            height: 47rem;
            bottom: 0;
            left: 0;
            background: linear-gradient(to bottom, rgba(52, 148, 209, 0), #3494D1); }
        #recruit .under_body .inner .recruit_cont .recruit_cont_right .recruit_boxes .recruit_box .recruit_box_txt {
          font-size: 14rem;
          line-height: 1.75em;
          font-weight: 500;
          box-sizing: border-box;
          padding: 0 20rem;
          margin-bottom: 20rem; }
        #recruit .under_body .inner .recruit_cont .recruit_cont_right .recruit_boxes .recruit_box .recruit_box_btn {
          width: 320rem;
          margin: 0 auto; }
          #recruit .under_body .inner .recruit_cont .recruit_cont_right .recruit_boxes .recruit_box .recruit_box_btn .btn {
            width: 100%; }
            #recruit .under_body .inner .recruit_cont .recruit_cont_right .recruit_boxes .recruit_box .recruit_box_btn .btn a {
              display: block;
              width: 100%;
              font-size: 14rem;
              line-height: 1;
              font-weight: bold;
              color: #fff;
              box-sizing: border-box;
              padding: 12rem 0 13rem 103rem;
              border-radius: 70rem;
              border: solid 2rem #fff;
              background-image: url("../img/btn_arrow_white.png");
              background-repeat: no-repeat;
              background-size: 15rem;
              background-position: right 103rem center; }
            #recruit .under_body .inner .recruit_cont .recruit_cont_right .recruit_boxes .recruit_box .recruit_box_btn .btn.long {
              margin-bottom: 20rem; }
              #recruit .under_body .inner .recruit_cont .recruit_cont_right .recruit_boxes .recruit_box .recruit_box_btn .btn.long a {
                padding-left: 61rem; }
            #recruit .under_body .inner .recruit_cont .recruit_cont_right .recruit_boxes .recruit_box .recruit_box_btn .btn.white a {
              color: #000;
              background-color: #fff;
              background-image: url("../img/btn_arrow_black.png");
              background-position: right 61rem center; }

  /*技術*/
  #tech .under_body .inner {
    padding: 33rem 0 75rem; }
    #tech .under_body .inner .tech_cont:nth-child(1) {
      margin-bottom: 32rem; }
    #tech .under_body .inner .tech_cont .tech_cont_ttl {
      width: 348rem;
      margin: 0 auto 35rem; }
      #tech .under_body .inner .tech_cont .tech_cont_ttl h3 {
        font-size: 34rem;
        line-height: 1.1em;
        font-weight: 300;
        color: #3494D1;
        margin-bottom: 9rem; }
      #tech .under_body .inner .tech_cont .tech_cont_ttl h4 {
        font-size: 22rem;
        line-height: 1.5em;
        font-weight: 500; }
    #tech .under_body .inner .tech_cont .core {
      padding: 38rem 0 68rem;
      background: #000;
      position: relative; }
      #tech .under_body .inner .tech_cont .core .core_cont {
        width: 348rem;
        margin: 0 auto;
        position: relative; }
        #tech .under_body .inner .tech_cont .core .core_cont .core_list {
          width: 100%;
          border-top: solid 1rem #fff; }
          #tech .under_body .inner .tech_cont .core .core_cont .core_list .core_list_box {
            width: 100%;
            border-bottom: solid 1rem #fff; }
            #tech .under_body .inner .tech_cont .core .core_cont .core_list .core_list_box .core_list_btn {
              display: flex;
              justify-content: flex-start;
              align-items: center;
              position: relative;
              z-index: 2;
              color: #fff;
              padding: 15rem 0;
              cursor: pointer;
              transition: all 0.4s ease; }
              #tech .under_body .inner .tech_cont .core .core_cont .core_list .core_list_box .core_list_btn::before {
                position: absolute;
                content: "";
                width: 12rem;
                height: 12rem;
                right: 0;
                top: 50%;
                transform: translateY(-50%);
                border-radius: 100%;
                background: #fff; }
              #tech .under_body .inner .tech_cont .core .core_cont .core_list .core_list_box .core_list_btn .num {
                width: 73rem;
                font-size: 36rem;
                line-height: 1;
                margin-right: 14rem; }
              #tech .under_body .inner .tech_cont .core .core_cont .core_list .core_list_box .core_list_btn .core_list_btn_right {
                width: 212rem; }
                #tech .under_body .inner .tech_cont .core .core_cont .core_list .core_list_box .core_list_btn .core_list_btn_right .ttl {
                  font-size: 20rem;
                  line-height: 1.4em;
                  font-weight: 500;
                  margin-bottom: 10rem; }
                #tech .under_body .inner .tech_cont .core .core_cont .core_list .core_list_box .core_list_btn .core_list_btn_right .txt {
                  font-size: 12rem;
                  line-height: 1.4em;
                  font-weight: 500; }
              #tech .under_body .inner .tech_cont .core .core_cont .core_list .core_list_box .core_list_btn.active {
                padding: 35rem 0;
                color: #3494D1; }
                #tech .under_body .inner .tech_cont .core .core_cont .core_list .core_list_box .core_list_btn.active::before {
                  background: #3494D1; }
            #tech .under_body .inner .tech_cont .core .core_cont .core_list .core_list_box .core_list_left {
              width: 100%;
              position: relative;
              padding: 163rem 0 40rem;
              box-sizing: border-box;
              display: none; }
              #tech .under_body .inner .tech_cont .core .core_cont .core_list .core_list_box .core_list_left.active {
                display: block; }
              #tech .under_body .inner .tech_cont .core .core_cont .core_list .core_list_box .core_list_left .core_box_in {
                height: 100%; }
                #tech .under_body .inner .tech_cont .core .core_cont .core_list .core_list_box .core_list_left .core_box_in .core_box_img {
                  width: 393rem;
                  position: absolute;
                  top: 0;
                  left: 50%;
                  transform: translateX(-50%); }
                  #tech .under_body .inner .tech_cont .core .core_cont .core_list .core_list_box .core_list_left .core_box_in .core_box_img::before {
                    position: absolute;
                    content: "";
                    width: 393rem;
                    height: 298rem;
                    top: 0;
                    right: 0;
                    background: linear-gradient(to bottom, #000, rgba(0, 0, 0, 0) 20%, rgba(0, 0, 0, 0) 100%); }
                  #tech .under_body .inner .tech_cont .core .core_cont .core_list .core_list_box .core_list_left .core_box_in .core_box_img::after {
                    position: absolute;
                    content: "";
                    width: 100%;
                    height: 320rem;
                    bottom: 0;
                    left: 0;
                    background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0) 60%, #000 100%); }
                #tech .under_body .inner .tech_cont .core .core_cont .core_list .core_list_box .core_list_left .core_box_in .core_box_txt {
                  font-size: 14rem;
                  line-height: 2em;
                  font-weight: 500;
                  color: #fff;
                  position: relative;
                  z-index: 2; }
                #tech .under_body .inner .tech_cont .core .core_cont .core_list .core_list_box .core_list_left .core_box_in ul {
                  margin-top: 28rem;
                  position: relative;
                  z-index: 2; }
                  #tech .under_body .inner .tech_cont .core .core_cont .core_list .core_list_box .core_list_left .core_box_in ul li {
                    font-size: 14rem;
                    line-height: 1.5em;
                    font-weight: 500;
                    color: #fff;
                    box-sizing: border-box;
                    padding: 10rem 21rem 10rem 46rem;
                    border-radius: 5rem;
                    border: solid 1rem #1AB3FF;
                    position: relative; }
                    #tech .under_body .inner .tech_cont .core .core_cont .core_list .core_list_box .core_list_left .core_box_in ul li:nth-child(n+2) {
                      margin-top: 10rem; }
                    #tech .under_body .inner .tech_cont .core .core_cont .core_list .core_list_box .core_list_left .core_box_in ul li::before {
                      position: absolute;
                      content: "";
                      width: 8rem;
                      height: 8rem;
                      left: 20rem;
                      top: 50%;
                      transform: translateY(-50%);
                      border-radius: 100%;
                      background: #fff; }
    #tech .under_body .inner .tech_cont .deve_boxes {
      margin-bottom: 54rem; }
      #tech .under_body .inner .tech_cont .deve_boxes .deve_box {
        width: 300rem;
        min-height: 523rem;
        border-radius: 20rem;
        overflow: hidden;
        background: #000;
        margin: 0 10rem;
        position: relative; }
        #tech .under_body .inner .tech_cont .deve_boxes .deve_box .deve_box_ttl {
          font-size: 16rem;
          line-height: 1.5em;
          font-weight: 500;
          color: #fff;
          text-align: center;
          margin: 18rem 0 26rem;
          position: relative; }
          #tech .under_body .inner .tech_cont .deve_boxes .deve_box .deve_box_ttl::before {
            position: absolute;
            content: "";
            width: 39rem;
            height: 2rem;
            bottom: -7rem;
            left: 50%;
            transform: translateX(-50%);
            background: #3494D1; }
        #tech .under_body .inner .tech_cont .deve_boxes .deve_box ul {
          width: 261rem;
          margin: 0 auto 18rem; }
          #tech .under_body .inner .tech_cont .deve_boxes .deve_box ul li {
            font-size: 14rem;
            line-height: 2.1em;
            font-weight: 500;
            color: #fff;
            box-sizing: border-box;
            padding-left: 1em;
            text-indent: -1em; }
        #tech .under_body .inner .tech_cont .deve_boxes .deve_box .private {
          width: 100%;
          padding: 18rem 0;
          font-size: 14rem;
          line-height: 1;
          font-weight: bold;
          color: #949494;
          text-align: center;
          background: #1E1E1E;
          position: absolute;
          left: 0;
          bottom: 0; }
      #tech .under_body .inner .tech_cont .deve_boxes .slide-dots {
        margin-top: 27rem;
        text-align: center; }
        #tech .under_body .inner .tech_cont .deve_boxes .slide-dots li {
          display: inline-block;
          width: 9rem;
          height: 9rem;
          border-radius: 100%;
          background: #D1D1D1;
          margin: 0 8rem;
          overflow: hidden; }
          #tech .under_body .inner .tech_cont .deve_boxes .slide-dots li.slick-active {
            background: #3494D1; }
          #tech .under_body .inner .tech_cont .deve_boxes .slide-dots li button {
            display: block;
            width: 100%;
            height: 100%;
            font-size: 0;
            border: none;
            padding: 0;
            background: none; }
    #tech .under_body .inner .tech_cont.banner .tech_cont_ttl {
      margin-bottom: 16rem; }
    #tech .under_body .inner .tech_cont.banner .banner_txt {
      width: 347rem;
      margin: 0 auto 21rem;
      font-size: 14rem;
      line-height: 2em;
      font-weight: 500; }
    #tech .under_body .inner .tech_cont.banner .banner_link {
      width: 346rem;
      margin: 0 auto; }
      #tech .under_body .inner .tech_cont.banner .banner_link a {
        display: block;
        width: 100%; }

  #business .under_body .inner {
    padding: 33rem 0 50rem; }
    #business .under_body .inner .ttlarea {
      width: 348rem;
      margin: 0 auto; }
      #business .under_body .inner .ttlarea h3 {
        font-size: 34rem;
        line-height: 1.1em;
        font-weight: 300;
        color: #3494D1;
        margin-bottom: 9rem; }
      #business .under_body .inner .ttlarea h4 {
        font-size: 22rem;
        line-height: 1.5em;
        font-weight: 500; }
    #business .under_body .inner .business {
      margin-bottom: 40rem; }
      #business .under_body .inner .business .ttlarea {
        margin-bottom: 39rem; }
      #business .under_body .inner .business .business_boxes .business_box {
        min-height: 100rem;
        box-sizing: border-box;
        padding: 18rem 14rem 18rem 31rem;
        color: #fff;
        background-color: #000;
        background-repeat: no-repeat;
        background-position: center top;
        background-size: 100%;
        position: relative;
        /*transition: all 0.4s ease;*/
        transition: min-height 0.4s ease; }
        #business .under_body .inner .business .business_boxes .business_box::before {
          position: absolute;
          content: "";
          width: 100%;
          height: 100%;
          left: 0;
          top: 0;
          background: rgba(0, 104, 184, 0.8);
          transition: opacity 0.4s ease; }
        #business .under_body .inner .business .business_boxes .business_box::after {
          position: absolute;
          content: "";
          width: 393rem;
          height: 204rem;
          left: 0;
          top: 0;
          background: linear-gradient(to bottom, #1D1F24, rgba(29, 31, 36, 0));
          opacity: 0;
          transition: opacity 0.4s ease; }
        #business .under_body .inner .business .business_boxes .business_box.box01 {
          padding-top: 26rem;
          padding-bottom: 26rem;
          background-image: url("../img/business_box_img_01_sp.png?ver=1.1"); }
        #business .under_body .inner .business .business_boxes .business_box.box02 {
          padding-top: 26rem;
          padding-bottom: 26rem;
          background-image: url("../img/business_box_img_02_sp.png"); }
        #business .under_body .inner .business .business_boxes .business_box.box03 {
          background-image: url("../img/business_box_img_03_sp.png"); }
        #business .under_body .inner .business .business_boxes .business_box.box04 {
          background-image: url("../img/business_box_img_04_sp.png?ver=1.1"); }
        #business .under_body .inner .business .business_boxes .business_box .business_box_ttl {
          display: flex;
          justify-content: flex-start;
          align-items: center;
          color: #fff;
          position: relative;
          z-index: 2; }
          #business .under_body .inner .business .business_boxes .business_box .business_box_ttl .num {
            width: 72rem;
            font-size: 42rem;
            line-height: 1.2em;
            font-weight: 200;
            margin-right: 14rem; }
          #business .under_body .inner .business .business_boxes .business_box .business_box_ttl h5 span {
            display: block; }
            #business .under_body .inner .business .business_boxes .business_box .business_box_ttl h5 span.en {
              font-size: 16rem;
              line-height: 1.1875em;
              font-weight: 500;
              margin-bottom: 3rem; }
            #business .under_body .inner .business .business_boxes .business_box .business_box_ttl h5 span.ja {
              font-size: 16rem;
              line-height: 1.375em;
              font-weight: bold; }
        #business .under_body .inner .business .business_boxes .business_box .business_box_txt {
          font-size: 14rem;
          line-height: 1.75em;
          font-weight: 500;
          position: relative;
          z-index: 2;
          max-height: 0;
          opacity: 0;
          overflow: hidden;
          transition: max-height 0.4s ease, opacity 0.3s ease, margin 0.4s ease, padding 0.4s ease; }
        #business .under_body .inner .business .business_boxes .business_box ul {
          position: relative;
          z-index: 2;
          max-height: 0;
          opacity: 0;
          overflow: hidden;
          transition: max-height 0.4s ease, opacity 0.3s ease, margin 0.4s ease, padding 0.4s ease; }
          #business .under_body .inner .business .business_boxes .business_box ul li {
            font-size: 14rem;
            line-height: 1.75em;
            font-weight: 500;
            box-sizing: border-box;
            padding-left: 1em;
            text-indent: -1em; }
        #business .under_body .inner .business .business_boxes .business_box.active {
          min-height: 396rem;
          padding: 26rem 14rem 30rem 31rem;
          background-size: 100% auto; }
          #business .under_body .inner .business .business_boxes .business_box.active::before {
            opacity: 0; }
          #business .under_body .inner .business .business_boxes .business_box.active::after {
            opacity: 1; }
          #business .under_body .inner .business .business_boxes .business_box.active .business_box_txt {
            margin: 21rem 0 22rem;
            max-height: 200rem;
            opacity: 1; }
          #business .under_body .inner .business .business_boxes .business_box.active ul {
            max-height: 400rem;
            opacity: 1; }
          #business .under_body .inner .business .business_boxes .business_box.active.box03 {
            padding-bottom: 0; }
            #business .under_body .inner .business .business_boxes .business_box.active.box03 .business_box_txt {
              margin: 16rem 0 13rem; }
          #business .under_body .inner .business .business_boxes .business_box.active.box04 .business_box_txt {
            margin: 16rem 0 13rem; }
    #business .under_body .inner .operation {
      width: 348rem;
      margin: 0 auto; }
      #business .under_body .inner .operation .ttlarea {
        margin-bottom: 9rem; }
      #business .under_body .inner .operation .operation_txt {
        font-size: 14rem;
        line-height: 1.75em;
        font-weight: 500;
        margin-bottom: 27rem; }
      #business .under_body .inner .operation .operation_cont .operation_cont_img {
        width: 100%;
        margin-bottom: 20rem; }
      #business .under_body .inner .operation .operation_cont .operation_boxes {
        width: 100%; }
        #business .under_body .inner .operation .operation_cont .operation_boxes .operation_box {
          display: flex;
          justify-content: flex-start;
          align-items: center;
          box-sizing: border-box;
          padding: 10rem 17rem;
          border-radius: 10rem;
          border: solid 1rem #848484; }
          #business .under_body .inner .operation .operation_cont .operation_boxes .operation_box:nth-child(n+2) {
            margin-top: 13rem; }
          #business .under_body .inner .operation .operation_cont .operation_boxes .operation_box .icon {
            width: 38rem;
            margin-right: 26rem; }
          #business .under_body .inner .operation .operation_cont .operation_boxes .operation_box .operation_box_txt {
            flex: 1;
            font-size: 14rem;
            line-height: 1.5em;
            font-weight: 500; }

  /*プライバシーポリシー*/
  #privacy .under_body .inner {
    width: 347rem;
    margin: 0 auto;
    padding: 70rem 0; }
    #privacy .under_body .inner .privacy_head_txt {
      font-size: 14rem;
      line-height: 1.5em;
      margin-bottom: 1em; }
    #privacy .under_body .inner dl {
      font-size: 14rem;
      line-height: 1.5em; }
      #privacy .under_body .inner dl dt {
        font-weight: bold; }
      #privacy .under_body .inner dl dd {
        margin-bottom: 1em; }
        #privacy .under_body .inner dl dd ul li {
          box-sizing: border-box;
          padding-left: 1.1em;
          text-indent: -1.1em; } }

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