@charset "UTF-8";
/*
brakepoint
*/
/* =Reset
-------------------------------------------------------------- */
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 {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline; }

*,
*:before,
*:after {
  box-sizing: border-box;
  -ms-box-sizing: border-box; }

html {
  scroll-behavior: smooth; }

body,
input,
textarea {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", sans-serif; }

body {
  line-height: 1;
  background: #fff;
  font-size: 14px; }

ol,
ul {
  list-style: none; }

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

caption,
th,
td {
  font-weight: normal;
  text-align: left; }

h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
  line-height: 1;
  margin: 0;
  padding: 0; }

html {
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%; }

a:focus {
  outline: none; }

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

p {
  font-size: 14px;
  margin-bottom: 15px;
  line-height: 2.1; }

ul li,
ol li {
  font-size: 16px;
  line-height: 2;
  margin: 0 0 5px; }

ol {
  list-style: decimal;
  margin: 0 0 20px 1.5em; }

ul ul,
ol ol,
ul ol,
ol ul {
  margin-bottom: 0; }

dl {
  margin: 0 0 24px 0; }

dt {
  font-weight: bold; }

dd {
  margin: 0 0 18px 20px; }

strong {
  font-weight: 500; }

cite,
i {
  font-style: normal; }

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

small {
  font-size: smaller; }

img {
  border: none;
  vertical-align: top;
  max-width: 100%;
  height: auto; }

/* Clearing floats */
.clear:after,
.wrapper:after {
  clear: both; }

.clear:before,
.clear:after {
  display: table;
  content: ""; }

/*
ClearFix
*/
.clearfix:after {
  content: " " !important;
  display: block;
  clear: both; }

.pc {
  display: block !important; }
  @media screen and (max-width: 800px) {
    .pc {
      display: none !important; } }

.pc1 {
  display: block !important; }
  @media screen and (max-width: 1000px) {
    .pc1 {
      display: none !important; } }

.sp {
  display: none !important; }
  @media screen and (max-width: 800px) {
    .sp {
      display: block !important; } }

.sp1 {
  display: none !important; }
  @media screen and (max-width: 1000px) {
    .sp1 {
      display: block !important; } }

#loader {
  width: 100vw;
  height: 100vh;
  background: #FFF;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 120;
  background: #FFF url("../img/loader.svg") center center no-repeat;
  background-size: 98px auto;
  animation: loader 1s 0s linear infinite; }

@keyframes loader {
  0% {
    background-size: 98px auto; }
  50% {
    background-size: 80px auto; }
  100% {
    background-size: 98px auto; } }
#modal {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 120;
  display: none; }
  @media screen and (max-width: 900px) {
    #modal.sactive {
      display: block; } }

/*
site-header
*/
@keyframes UpAnime {
  from {
    opacity: 1;
    transform: translate(-50%, 0); }
  to {
    opacity: 0;
    transform: translate(-50%, -100px); } }
@keyframes DownAnime {
  from {
    opacity: 0;
    transform: translate(-50%, -100px); }
  to {
    opacity: 1;
    transform: translate(-50%, 0); } }
header.site-header {
  width: 100%;
  padding: 30px 20px 0 30px;
  position: fixed;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  display: flex;
  justify-content: space-between;
  z-index: 100; }
  header.site-header::before {
    position: absolute;
    top: 0;
    left: -2000px;
    content: "";
    width: calc(2000px + 100vw);
    height: 96px;
    background: #FFF;
    opacity: 0;
    z-index: -1;
    transition: all .3s; }
    @media screen and (max-width: 900px) {
      header.site-header::before {
        height: 88px; } }
  header.site-header.start::before {
    opacity: 0.8; }
  header.site-header.UpMove {
    animation: UpAnime 0.5s forwards; }
  header.site-header.DownMove {
    animation: DownAnime 0.5s forwards; }
  @media screen and (max-width: 900px) {
    header.site-header {
      display: block;
      padding: 26px 20px 0 30px; } }
  header.site-header .site-title {
    width: 210px; }
    @media screen and (max-width: 1200px) {
      header.site-header .site-title {
        width: 160px; } }
    @media screen and (max-width: 900px) {
      header.site-header .site-title {
        width: 210px; } }
  header.site-header #toggle {
    display: none; }
    @media screen and (max-width: 900px) {
      header.site-header #toggle {
        display: block;
        position: absolute;
        right: 20px;
        top: 20px;
        width: 48px;
        height: 48px;
        border-radius: 50%;
        z-index: 110; }
        header.site-header #toggle a {
          display: block;
          width: 48px;
          height: 48px;
          border-radius: 50%;
          background: #0019AC; }
          header.site-header #toggle a span {
            position: absolute;
            top: 19px;
            left: 15px;
            width: 20px;
            height: 2px;
            background: #FFF;
            transition: all .3s; }
            header.site-header #toggle a span:nth-child(2) {
              top: 27px; }
          header.site-header #toggle a.active span:nth-child(1) {
            transform: rotate(45deg) translate(2px, 4px); }
          header.site-header #toggle a.active span:nth-child(2) {
            transform: rotate(-45deg) translate(2px, -4px); }
          header.site-header #toggle a.active:after {
            position: absolute;
            bottom: -20px;
            left: 10px;
            content: "";
            width: 28px;
            height: 13px;
            background: url("../img/close.png") center center no-repeat;
            background-size: 28px 13px; } }
  @media screen and (max-width: 900px) {
    header.site-header #mainmenu {
      background: #FFF;
      width: 210px;
      height: 100vh;
      position: absolute;
      top: 0;
      right: -210px;
      display: flex;
      align-items: center;
      padding: 0 0 0 26px;
      transition: all .3s; } }
  header.site-header #mainmenu ul {
    display: flex; }
    @media screen and (max-width: 900px) {
      header.site-header #mainmenu ul {
        display: block; } }
    header.site-header #mainmenu ul li {
      padding: 0;
      margin: 0;
      line-height: 1;
      position: relative; }
      header.site-header #mainmenu ul li a {
        color: #000;
        display: inline-block;
        padding: 0 27px 0 0;
        text-decoration: none;
        line-height: 36px;
        transition: all .3s; }
        header.site-header #mainmenu ul li a:hover {
          color: #0019AC; }
      header.site-header #mainmenu ul li.mclient {
        font-size: 14px;
        margin: 0 30px; }
        @media screen and (max-width: 1200px) {
          header.site-header #mainmenu ul li.mclient {
            font-size: 12px;
            margin: 0 15px; } }
        @media screen and (max-width: 900px) {
          header.site-header #mainmenu ul li.mclient {
            font-size: 14px;
            margin: 0 0 20px; } }
        header.site-header #mainmenu ul li.mclient a {
          padding: 0; }
      header.site-header #mainmenu ul li.mlogin a {
        color: #0019AC;
        font-size: 16px;
        font-weight: bold;
        border: 1px solid #0019AC;
        border-radius: 19px;
        padding: 0 27px 0 50px;
        background-image: url("../img/icon_login.svg");
        background-position: 27px center;
        background-repeat: no-repeat;
        background-size: 14px 15px;
        position: relative;
        overflow: hidden; }
        @media screen and (max-width: 1200px) {
          header.site-header #mainmenu ul li.mlogin a {
            font-size: 14px;
            padding: 0 15px 0 30px;
            background-position: 13px center; } }
        @media screen and (max-width: 800px) {
          header.site-header #mainmenu ul li.mlogin a {
            font-size: 16px;
            padding: 0 27px 0 50px;
            background-position: 27px center; } }
        header.site-header #mainmenu ul li.mlogin a::before {
          display: block;
          content: "";
          position: absolute;
          width: calc(100% + 2px);
          height: calc(100% + 2px);
          border-radius: 19px;
          background: #0019AC;
          right: calc(100% + 1px);
          top: -1px;
          transition: all .3s;
          z-index: -1; }
        header.site-header #mainmenu ul li.mlogin a:hover {
          color: #FFF;
          background-image: url("../img/icon_login_hover.svg"); }
          header.site-header #mainmenu ul li.mlogin a:hover::before {
            right: -1px; }

main {
  overflow: hidden; }

/*
btn
*/
.btn {
  width: 265px;
  border-radius: 67px;
  position: relative;
  box-shadow: -10px 10px 12px 0px rgba(0, 25, 172, 0.14);
  overflow: hidden;
  margin: 0; }
  .btn::before {
    display: block;
    content: "";
    background: #0019AC;
    width: calc(100% - 1px);
    height: calc(100% - 1px);
    position: absolute;
    bottom: 0;
    left: 0;
    border-radius: 67px; }
  .btn::after {
    display: block;
    content: "";
    background: #FFF;
    width: calc(100% + 2px);
    height: calc(100% + 2px);
    position: absolute;
    top: -1px;
    left: calc(-100% - 2px);
    border-radius: 67px;
    transition: all .3s; }
    @media screen and (max-width: 800px) {
      .btn::after {
        transition: inherit; } }
  .btn:hover::after {
    left: -1px; }
  .btn a {
    display: inline-block;
    width: 100%;
    position: relative;
    text-align: center;
    text-decoration: none;
    color: #FFF;
    font-size: 14px;
    line-height: 60px;
    font-weight: bold;
    padding: 0 53px 0 0;
    transition: all .3s;
    z-index: 1; }
    @media screen and (max-width: 800px) {
      .btn a {
        transition: inherit; } }
    .btn a::after {
      display: block;
      content: "";
      background: #0C28D0 url("../img/arrow_btn.svg") center center no-repeat;
      width: 46px;
      height: 46px;
      position: absolute;
      top: 7px;
      right: 7px;
      border-radius: 50%;
      transition: all .3s; }
      @media screen and (max-width: 800px) {
        .btn a::after {
          transition: inherit; } }
    .btn a:hover {
      color: #0019AC; }
      .btn a:hover::after {
        background-position: right 10px  center; }

/*
top animation
*/
.topimage {
  width: 100%;
  min-height: 100vh;
  /* Fallback */
  min-height: calc(var(--vh, 1vh) * 100);
  position: relative;
  margin-bottom: 120px;
  display: none; }
  @media screen and (max-width: 800px) {
    .topimage {
      margin-bottom: 0px;
      height: inherit; } }
  .topimage .bar_w1 {
    position: absolute;
    width: 47.25vw;
    height: 47.25vw;
    left: 20vw;
    top: 7.7vw; }
    .topimage .bar_w1 img {
      animation: bar 1s 0s ease both;
      animation-delay: 0.5s; }
    @media screen and (max-width: 800px) {
      .topimage .bar_w1 {
        width: 80vw;
        height: 80vw;
        left: -10vw;
        top: 4vw; } }
  .topimage .bar_p1 {
    position: absolute;
    width: 64vw;
    height: 64vw;
    left: 8.5vw;
    top: -33.3vw; }
    .topimage .bar_p1 img {
      animation: bar 1s 0s ease both;
      animation-delay: 0.5s; }
    @media screen and (max-width: 800px) {
      .topimage .bar_p1 {
        width: 140vw;
        height: 140vw;
        left: -88.5vw;
        top: 9vw; } }
  .topimage .bar_p2 {
    position: absolute;
    width: 69.1vw;
    height: 69.1vw;
    left: 39vw;
    top: -26vw; }
    .topimage .bar_p2 img {
      animation: bar 1s 0s ease both;
      animation-delay: 0.7s; }
    @media screen and (max-width: 800px) {
      .topimage .bar_p2 {
        width: 93vw;
        height: 93vw;
        left: 16vw;
        top: -26vw; } }
  .topimage .bar_p3 {
    position: absolute;
    width: 88.5vw;
    height: 88.5vw;
    left: 37.2vw;
    top: -10vw; }
    .topimage .bar_p3 img {
      animation: bar 1s 0s ease both;
      animation-delay: 0.5s; }
    @media screen and (max-width: 800px) {
      .topimage .bar_p3 {
        width: 145vw;
        height: 145vw;
        left: 8.5vw;
        top: -18vw; } }
  .topimage .bar_01 {
    position: absolute;
    width: 5.2vw;
    height: 5.2vw;
    left: 44vw;
    top: 11vw;
    mix-blend-mode: multiply; }
    .topimage .bar_01 img {
      animation: bar 1s 0s ease both;
      animation-delay: 0.9s; }
    @media screen and (max-width: 800px) {
      .topimage .bar_01 {
        width: 7.3vw;
        height: 7.3vw;
        left: 23.5vw;
        top: 23.7vw; } }
  .topimage .bar_02 {
    position: absolute;
    width: 9.5vw;
    height: 9.5vw;
    left: 20.7vw;
    top: 13.8vw;
    mix-blend-mode: multiply; }
    .topimage .bar_02 img {
      animation: bar 1s 0s ease both;
      animation-delay: 0.7s; }
    @media screen and (max-width: 800px) {
      .topimage .bar_02 {
        display: none; } }
  .topimage .bar_03 {
    position: absolute;
    width: 9vw;
    height: 9vw;
    left: 80.3vw;
    top: 54.7vw;
    mix-blend-mode: multiply; }
    .topimage .bar_03 img {
      animation: bar 1s 0s ease both;
      animation-delay: 0.7s; }
    @media screen and (max-width: 800px) {
      .topimage .bar_03 {
        width: 12.8vw;
        height: 12.8vw;
        left: 74.3vw;
        top: 85.6vw; } }
  .topimage .bar_04 {
    position: absolute;
    width: 19.7vw;
    height: 19.7vw;
    left: 84.5vw;
    top: 6.1vw;
    mix-blend-mode: multiply; }
    .topimage .bar_04 img {
      animation: bar 1s 0s ease both;
      animation-delay: 0.9s; }
    @media screen and (max-width: 800px) {
      .topimage .bar_04 {
        width: 28.3vw;
        height: 28.3vw;
        left: 82.5vw;
        top: 15.9vw; } }
  .topimage .bar_05 {
    position: absolute;
    width: 22.7vw;
    height: 22.7vw;
    left: -16.2vw;
    top: 15.3vw;
    mix-blend-mode: multiply; }
    .topimage .bar_05 img {
      animation: bar 1s 0s ease both;
      animation-delay: 0.5s; }
    @media screen and (max-width: 800px) {
      .topimage .bar_05 {
        display: none; } }
  .topimage .topbox_wrap {
    position: absolute;
    width: 100%;
    bottom: 0;
    left: 0;
    padding: 0 20px 0 30px; }
    .topimage .topbox_wrap .topbox {
      max-width: 1240px;
      margin: 0 auto;
      padding-bottom: 60px; }
      @media screen and (max-width: 800px) {
        .topimage .topbox_wrap .topbox {
          padding-bottom: 50px; } }
      .topimage .topbox_wrap .topbox .read01 {
        font-size: 38px;
        font-weight: bold;
        line-height: 1.4;
        margin-bottom: 26px;
        text-shadow: 0px 0px 5px #FFF; }
        @media screen and (max-width: 800px) {
          .topimage .topbox_wrap .topbox .read01 {
            font-size: 21px;
            margin-bottom: 20px; } }
      .topimage .topbox_wrap .topbox .read02 {
        font-size: 15px;
        font-weight: bold;
        line-height: 1.7;
        margin-bottom: 30px;
        text-shadow: 0px 0px 5px #FFF; }
        @media screen and (max-width: 800px) {
          .topimage .topbox_wrap .topbox .read02 {
            font-size: 14px;
            font-weight: normal;
            margin-bottom: 20px; } }

@keyframes bar {
  0% {
    transform: translate(200vw, -200vw); }
  100% {
    transform: translate(0, 0); } }
/*
banner
*/
.banner {
  background: url("../img/banner.png") repeat-x;
  background-size: 1650px auto;
  width: 100%;
  height: 60px;
  z-index: 1;
  position: relative;
  animation: banner 30s 0s linear infinite; }
  @media screen and (max-width: 800px) {
    .banner {
      background: url("../img/banner_sp.png") repeat-x;
      background-size: 476px auto;
      height: 83px;
      animation: bannersp 10s 0s linear infinite; } }

@keyframes banner {
  0% {
    background-position: 0px 0px; }
  100% {
    background-position: -1650px 0px; } }
@keyframes bannersp {
  0% {
    background-position: 0px 0px; }
  100% {
    background-position: -476px 0px; } }
/*
service
*/
.service {
  position: relative;
  width: 100%;
  padding-top: 150px;
  background-image: url("../img/bar_kyujin.png"), url("../img/bar_engineer.png");
  background-repeat: no-repeat, no-repeat;
  background-size: 1101px 1101px, 1101px 1101px;
  background-position: calc(50% - 608px) 420px, calc(50% + 608px) 40px;
  min-height: 1450px;
  margin-bottom: -100px; }
  @media screen and (max-width: 1000px) {
    .service {
      padding-top: 200px;
      background-image: url("../img/bar_kyujin_sp.png"), url("../img/bar_engineer_sp.png");
      background-size: 933px 933px, 933px 933px;
      background-position: calc(50% + 150px) 200px, calc(50% - 150px) 1060px;
      min-height: 2000px;
      margin-bottom: -400px; } }
  @media screen and (max-width: 800px) {
    .service {
      margin-bottom: -500px; } }
  .service h2 {
    text-align: center;
    margin-bottom: 50px;
    z-index: 1;
    position: relative; }
    .service h2 img {
      width: 208px; }
      @media screen and (max-width: 800px) {
        .service h2 img {
          width: 172px;
          filter: drop-shadow(3px 3px 3px white); } }
  .service p {
    text-align: center;
    z-index: 1;
    position: relative; }
    @media screen and (max-width: 800px) {
      .service p {
        text-align: left;
        margin-left: 30px;
        margin-right: 30px; }
        .service p.read03 {
          text-shadow: 0px 0px 5px #FFF; } }
    .service p.read {
      font-size: 24px;
      line-height: 1.5;
      font-weight: bold;
      margin-bottom: 30px; }
      @media screen and (max-width: 800px) {
        .service p.read {
          font-size: 19px;
          margin-bottom: 20px; } }
  .service .bar_p4 {
    position: absolute;
    width: 73vw;
    height: 73vw;
    left: -32vw;
    top: 10vw;
    z-index: -2; }
    @media screen and (max-width: 800px) {
      .service .bar_p4 {
        width: 100vw;
        height: 100vw;
        left: -42.5vw;
        top: 40vw; } }
  .service .bar_06 {
    position: absolute;
    width: 9.5vw;
    height: 9.5vw;
    left: 16vw;
    top: 32vw;
    mix-blend-mode: multiply;
    z-index: -1; }
    @media screen and (max-width: 800px) {
      .service .bar_06 {
        width: 14vw;
        height: 14vw;
        left: 25.2vw;
        top: 80vw; } }
  .service .bar_07 {
    position: absolute;
    width: 19.7vw;
    height: 19.7vw;
    left: 84.5vw;
    top: 40vw;
    mix-blend-mode: multiply;
    opacity: 0.4;
    z-index: -1; }
    @media screen and (max-width: 800px) {
      .service .bar_07 {
        width: 39.2vw;
        height: 39.2vw;
        left: 70vw;
        top: 100vw; } }
  .service .bar_w2 {
    position: absolute;
    width: 47.25vw;
    height: 47.25vw;
    left: 7vw;
    top: 0vw;
    z-index: -3; }
    @media screen and (max-width: 800px) {
      .service .bar_w2 {
        width: 70vw;
        height: 70vw;
        left: 7vw;
        top: 10vw; } }
  .service .bar_w3 {
    position: absolute;
    width: 47.25vw;
    height: 47.25vw;
    left: 72vw;
    top: 60vw;
    z-index: -1; }
    @media screen and (max-width: 800px) {
      .service .bar_w3 {
        display: none; } }
  .service .bar_w4 {
    position: absolute;
    width: 60vw;
    height: 60vw;
    left: -20vw;
    top: 80vw;
    z-index: -1; }
    @media screen and (max-width: 800px) {
      .service .bar_w4 {
        display: none; } }
  .service .c-box {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto; }
    @media screen and (max-width: 1000px) {
      .service .c-box {
        position: absolute;
        top: 635px;
        left: 0;
        height: 1400px; } }
    .service .c-box .illust {
      width: 1000px;
      height: 460px;
      position: relative; }
      @media screen and (max-width: 1000px) {
        .service .c-box .illust {
          width: 100%;
          height: 1400px; } }
      .service .c-box .illust #stg {
        position: absolute;
        top: 40%; }
      .service .c-box .illust .circle {
        width: 408px;
        height: 408px;
        border-radius: 50%;
        border: solid 10px #EFEFEF;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -52%); }
        @media screen and (max-width: 1000px) {
          .service .c-box .illust .circle {
            width: 258px;
            height: 258px;
            border: solid 6px #EFEFEF;
            top: 330px;
            transform: translate(-50%, 0); } }
        .service .c-box .illust .circle::after {
          position: absolute;
          content: "";
          background: url("../img/service_arrow_active.svg") center top no-repeat;
          bottom: -46px;
          left: 50%;
          width: 82px;
          height: 72px;
          transform: translateX(-50%); }
          @media screen and (max-width: 1000px) {
            .service .c-box .illust .circle::after {
              display: none; } }
      .service .c-box .illust .read {
        font-size: 17px;
        color: #1F81AD;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -60%); }
        @media screen and (max-width: 1000px) {
          .service .c-box .illust .read {
            font-size: 13px;
            top: 428px;
            transform: translate(35px, 0);
            text-align: center;
            margin: 0; } }
      .service .c-box .illust .cycle {
        width: 706px;
        height: 220px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -55%); }
        @media screen and (max-width: 1000px) {
          .service .c-box .illust .cycle {
            width: 214px;
            height: 530px;
            top: 188px;
            transform: translate(-46%, 0); } }
      .service .c-box .illust .kyujin {
        width: 190px;
        height: 278px;
        position: absolute;
        top: 80px;
        left: 0; }
        @media screen and (max-width: 1000px) {
          .service .c-box .illust .kyujin {
            width: 150px;
            height: 222px;
            top: 50px;
            left: 50%;
            transform: translateX(-45%); } }
      .service .c-box .illust .engineer {
        width: 186px;
        height: 276px;
        position: absolute;
        top: 80px;
        right: 0; }
        @media screen and (max-width: 1000px) {
          .service .c-box .illust .engineer {
            width: 146px;
            height: 222px;
            top: 630px;
            left: 50%;
            transform: translateX(-50%); } }
      .service .c-box .illust .list {
        position: absolute;
        z-index: 1;
        cursor: pointer; }
        @media screen and (max-width: 1000px) {
          .service .c-box .illust .list {
            width: 194px;
            height: 80px; } }
        .service .c-box .illust .list::before {
          position: absolute;
          content: "";
          top: 0;
          left: 0;
          width: 240px;
          height: 85px;
          border-radius: 67px;
          background-color: #FFF;
          box-shadow: 0px 0px 25px 0px rgba(0, 0, 0, 0.16);
          background-repeat: no-repeat;
          z-index: -1;
          transition: all .3s; }
          @media screen and (max-width: 1000px) {
            .service .c-box .illust .list::before {
              width: 194px;
              height: 80px; } }
        .service .c-box .illust .list:not(.active)::after {
          position: absolute;
          top: 85px;
          left: 90px;
          width: 52px;
          height: 48px;
          content: "";
          background: url("../img/service_arrow.svg") center top no-repeat;
          background-size: 52px 48px;
          transition: all .3s; }
          @media screen and (max-width: 1000px) {
            .service .c-box .illust .list:not(.active)::after {
              top: 64px;
              left: 46px;
              width: 107px;
              height: 42px;
              background: url("../img/service_arrow_sp.png") center top no-repeat;
              background-size: 107px 42px; } }
        .service .c-box .illust .list:not(.active):hover::after {
          top: 91px;
          background: url("../img/service_arrow_hover.svg") center top no-repeat;
          background-size: 52px 48px; }
          @media screen and (max-width: 1000px) {
            .service .c-box .illust .list:not(.active):hover::after {
              top: 64px;
              background: url("../img/service_arrow_sp.png") center top no-repeat;
              background-size: 107px 42px; } }
        .service .c-box .illust .list.active::before {
          top: -8px;
          left: -7px;
          width: 254px;
          height: 100px;
          background-color: #1F81AD;
          box-shadow: 0px 0px 25px 0px rgba(0, 25, 172, 0.2); }
          @media screen and (max-width: 1000px) {
            .service .c-box .illust .list.active::before {
              top: 0;
              left: 0;
              width: 194px;
              height: 80px;
              background-color: #FFF;
              box-shadow: 0px 0px 25px 0px rgba(0, 0, 0, 0.16); } }
        @media screen and (max-width: 1000px) {
          .service .c-box .illust .list.active::after {
            content: "";
            position: absolute;
            top: 64px;
            left: 46px;
            width: 107px;
            height: 42px;
            background: url("../img/service_arrow_sp.png") center top no-repeat;
            background-size: 107px 42px; } }
        .service .c-box .illust .list.scout {
          top: 266px;
          left: 250px; }
          @media screen and (max-width: 1000px) {
            .service .c-box .illust .list.scout {
              top: 320px;
              left: 50%;
              transform: translateX(-30px); } }
          .service .c-box .illust .list.scout::before {
            background-image: url("../img/s_scout.png");
            background-size: 86px 54px;
            background-position: 102px 13px; }
            @media screen and (max-width: 1000px) {
              .service .c-box .illust .list.scout::before {
                background-image: url("../img/s_scout_sp.png");
                background-size: 80px 46px;
                background-position: 77px 14px; } }
          .service .c-box .illust .list.scout:not(.active):hover::before {
            background-image: url("../img/s_scout_hover.png"); }
            @media screen and (max-width: 1000px) {
              .service .c-box .illust .list.scout:not(.active):hover::before {
                background-image: url("../img/s_scout_sp.png"); } }
          .service .c-box .illust .list.scout.active::before {
            background-image: url("../img/s_scout_active.png");
            background-position: 109px 20px; }
            @media screen and (max-width: 1000px) {
              .service .c-box .illust .list.scout.active::before {
                background-image: url("../img/s_scout_sp.png");
                background-position: 77px 14px; } }
          .service .c-box .illust .list.scout figure {
            width: 102px;
            height: 82px;
            margin: -10px 0 0; }
            @media screen and (max-width: 1000px) {
              .service .c-box .illust .list.scout figure {
                width: 80px;
                height: 65px;
                margin: 4px 0 0 -4px; } }
        .service .c-box .illust .list.dashboard {
          top: 266px;
          left: 510px; }
          @media screen and (max-width: 1000px) {
            .service .c-box .illust .list.dashboard {
              top: 520px;
              left: 50%;
              transform: translateX(-30px); } }
          .service .c-box .illust .list.dashboard::before {
            background-image: url("../img/s_dashboard.png");
            background-size: 126px 53px;
            background-position: 79px 13px; }
            @media screen and (max-width: 1000px) {
              .service .c-box .illust .list.dashboard::before {
                background-image: url("../img/s_dashboard_sp.png");
                background-size: 118px 46px;
                background-position: 58px 14px; } }
          .service .c-box .illust .list.dashboard:not(.active):hover::before {
            background-image: url("../img/s_dashboard_hover.png"); }
            @media screen and (max-width: 1000px) {
              .service .c-box .illust .list.dashboard:not(.active):hover::before {
                background-image: url("../img/s_dashboard_sp.png"); } }
          .service .c-box .illust .list.dashboard.active::before {
            background-image: url("../img/s_dashboard_active.png");
            background-position: 86px 21px; }
            @media screen and (max-width: 1000px) {
              .service .c-box .illust .list.dashboard.active::before {
                background-image: url("../img/s_dashboard_sp.png");
                background-position: 58px 14px; } }
          .service .c-box .illust .list.dashboard figure {
            width: 60px;
            height: 80px;
            margin: -10px 0 0 5px; }
            @media screen and (max-width: 1000px) {
              .service .c-box .illust .list.dashboard figure {
                width: 52px;
                height: 70px;
                margin: -2px 0 0 4px; } }
        .service .c-box .illust .list.jobs {
          top: 78px;
          left: 380px; }
          @media screen and (max-width: 1000px) {
            .service .c-box .illust .list.jobs {
              top: 420px;
              left: 50%;
              transform: translateX(-170px); } }
          .service .c-box .illust .list.jobs::before {
            background-image: url("../img/s_jobs.png");
            background-size: 72px 53px;
            background-position: 112px 13px; }
            @media screen and (max-width: 1000px) {
              .service .c-box .illust .list.jobs::before {
                background-image: url("../img/s_jobs_sp.png");
                background-size: 68px 46px;
                background-position: 83px 14px; } }
          .service .c-box .illust .list.jobs:not(.active):hover::before {
            background-image: url("../img/s_jobs_hover.png"); }
            @media screen and (max-width: 1000px) {
              .service .c-box .illust .list.jobs:not(.active):hover::before {
                background-image: url("../img/s_jobs_sp.png"); } }
          .service .c-box .illust .list.jobs.active::before {
            background-image: url("../img/s_jobs_active.png");
            background-position: 119px 21px; }
            @media screen and (max-width: 1000px) {
              .service .c-box .illust .list.jobs.active::before {
                background-image: url("../img/s_jobs_sp.png");
                background-position: 83px 14px; } }
          .service .c-box .illust .list.jobs figure {
            width: 52px;
            height: 103px;
            margin: -10px 0 0 30px; }
            @media screen and (max-width: 1000px) {
              .service .c-box .illust .list.jobs figure {
                width: 42px;
                height: 83px;
                margin: -10px 0 0 30px; } }
    .service .c-box .slider {
      width: 854px;
      margin: 0 auto; }
      @media screen and (max-width: 1000px) {
        .service .c-box .slider {
          width: 100%; } }
      .service .c-box .slider .item {
        width: 100%;
        max-width: 854px;
        background: #F4FBFF;
        border-radius: 40px;
        display: flex;
        justify-content: space-between;
        padding: 40px 50px;
        margin: 0 10px; }
        @media screen and (max-width: 1000px) {
          .service .c-box .slider .item {
            width: calc(100% - 20px);
            display: block;
            padding: 25px 40px 40px;
            border-top-right-radius: 0px;
            border-bottom-right-radius: 0px;
            position: fixed;
            top: 50%;
            right: -100%;
            transform: translateY(-50%);
            margin: 0;
            transition: all .3s;
            z-index: 121; }
            .service .c-box .slider .item.sactive {
              right: 0; } }
        .service .c-box .slider .item .detail {
          width: 400px; }
          @media screen and (max-width: 1000px) {
            .service .c-box .slider .item .detail {
              width: 100%; } }
          .service .c-box .slider .item .detail p {
            text-align: left;
            font-size: 14px; }
            @media screen and (max-width: 1000px) {
              .service .c-box .slider .item .detail p {
                font-size: 13px;
                margin-right: 0;
                margin-left: 0;
                line-height: 1.77; } }
            .service .c-box .slider .item .detail p.read {
              font-size: 20px; }
              @media screen and (max-width: 1000px) {
                .service .c-box .slider .item .detail p.read {
                  font-size: 18px;
                  line-height: 1.33; } }
            .service .c-box .slider .item .detail p.btn {
              width: 318px;
              margin: 0 auto; }
              @media screen and (max-width: 1000px) {
                .service .c-box .slider .item .detail p.btn {
                  width: 100%;
                  height: 67px; }
                  .service .c-box .slider .item .detail p.btn a {
                    display: flex;
                    height: 67px;
                    width: 100%;
                    line-height: 1.2;
                    align-items: center;
                    justify-content: center;
                    padding-left: 15px; }
                    .service .c-box .slider .item .detail p.btn a::after {
                      top: 10px; } }
        .service .c-box .slider .item .sclose {
          position: absolute;
          display: none; }
          @media screen and (max-width: 1000px) {
            .service .c-box .slider .item .sclose {
              display: block;
              width: 20px;
              height: 20px;
              background: url("../img/service_close_sp.svg") center center no-repeat;
              top: 20px;
              right: 20px;
              cursor: pointer; } }
        @media screen and (max-width: 1000px) {
          .service .c-box .slider .item.scout figure {
            margin-bottom: -20px; } }
        .service .c-box .slider .item.scout figure img {
          width: 282px; }
          @media screen and (max-width: 1000px) {
            .service .c-box .slider .item.scout figure img {
              width: 275px; } }
        @media screen and (max-width: 1000px) {
          .service .c-box .slider .item.dashboard figure {
            margin-bottom: -20px; } }
        .service .c-box .slider .item.dashboard figure img {
          width: 274px; }
          @media screen and (max-width: 1000px) {
            .service .c-box .slider .item.dashboard figure img {
              width: 275px; } }
        @media screen and (max-width: 1000px) {
          .service .c-box .slider .item.jobs figure {
            margin-bottom: -30px; } }
        .service .c-box .slider .item.jobs figure img {
          width: 259px; }
          @media screen and (max-width: 1000px) {
            .service .c-box .slider .item.jobs figure img {
              width: 248px; } }
      .service .c-box .slider .slick-list {
        border-radius: 40px; }
      .service .c-box .slider button.slick-arrow {
        position: absolute;
        top: 50%;
        left: -10px;
        transform: translateY(-50%);
        border: none;
        background: #FFF url("../img/slide_arrow.svg") center center no-repeat;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        text-indent: -9999px;
        cursor: pointer;
        z-index: 1;
        box-shadow: -10px 10px 20px 0px rgba(0, 25, 172, 0.15);
        transition: all .3s; }
        .service .c-box .slider button.slick-arrow.slick-next {
          left: calc(100% - 30px);
          transform: translateY(-50%) rotate(180deg);
          box-shadow: 10px -10px 20px 0px rgba(0, 25, 172, 0.15); }
        .service .c-box .slider button.slick-arrow:hover {
          background: #FFF url("../img/slide_arrow.svg") left 12px center no-repeat; }

/*
contents
*/
.contents {
  position: relative;
  width: 100%;
  padding-top: 150px; }
  .contents .bar_08 {
    position: absolute;
    width: 9.8vw;
    height: 9.8vw;
    left: -3vw;
    top: 90vw;
    mix-blend-mode: multiply;
    opacity: 0.4;
    z-index: -1; }
  .contents .bar_w5 {
    position: absolute;
    width: 70vw;
    height: 70vw;
    left: 60vw;
    top: 0vw;
    z-index: -1; }
  .contents h2 {
    text-align: center;
    margin-bottom: 50px;
    z-index: 1;
    position: relative; }
    .contents h2 img {
      width: 256px; }
      @media screen and (max-width: 800px) {
        .contents h2 img {
          width: 212px; } }
  .contents p {
    z-index: 1;
    position: relative; }
    .contents p.read {
      text-align: center;
      font-size: 24px;
      line-height: 1.5;
      font-weight: bold;
      margin-bottom: 30px; }
      @media screen and (max-width: 800px) {
        .contents p.read {
          font-size: 19px;
          margin-bottom: 20px; } }
  .contents .c-wrap {
    width: 100%;
    background: url("../img/bg_contents.png") center top no-repeat;
    background-size: 100% 82%;
    padding: 40px 30px 70px;
    z-index: 1; }
    @media screen and (max-width: 800px) {
      .contents .c-wrap {
        padding: 30px 30px 70px;
        background-size: 100% calc(100% - 100px); } }
    .contents .c-wrap .c-box {
      display: flex;
      margin: 0 auto;
      max-width: 1000px;
      justify-content: space-evenly;
      min-height: 425px; }
      @media screen and (max-width: 800px) {
        .contents .c-wrap .c-box {
          flex-wrap: wrap; } }
      .contents .c-wrap .c-box .c-list {
        background: #FFF;
        padding: 45px 30px;
        width: 30.6%;
        min-height: 425px;
        border-radius: 30px;
        box-shadow: -25px 25px 80px 0px rgba(0, 0, 0, 0.1);
        text-decoration: none;
        color: #000;
        position: relative; }
        @media screen and (max-width: 800px) {
          .contents .c-wrap .c-box .c-list {
            width: 100%;
            margin-bottom: 30px; }
            .contents .c-wrap .c-box .c-list:last-child {
              margin-bottom: 0; } }
        .contents .c-wrap .c-box .c-list figure {
          text-align: center;
          height: 100px;
          margin-bottom: 5px; }
        .contents .c-wrap .c-box .c-list h3 {
          height: 29px;
          overflow: hidden;
          text-indent: -9999px;
          margin-bottom: 15px;
          transition: all .3s; }
        .contents .c-wrap .c-box .c-list.event figure img {
          width: 85px; }
        .contents .c-wrap .c-box .c-list.event h3 {
          background: url("../img/event.png") center center no-repeat;
          background-size: 106px 29px; }
        .contents .c-wrap .c-box .c-list.press figure img {
          width: 105px; }
        .contents .c-wrap .c-box .c-list.press h3 {
          background: url("../img/press.png") center center no-repeat;
          background-size: 102px 29px; }
        .contents .c-wrap .c-box .c-list p {
          line-height: 1.9; }
          .contents .c-wrap .c-box .c-list p.viewmore {
            position: absolute;
            right: 30px;
            bottom: 45px;
            width: 94px;
            height: 16px;
            line-height: 0;
            text-indent: -9999px;
            margin: 0;
            padding: 0;
            background: url("../img/viewmore.png") right center no-repeat;
            background-size: 94px 16px;
            transition: all .3s; }
            @media screen and (max-width: 800px) {
              .contents .c-wrap .c-box .c-list p.viewmore {
                transition: inherit; } }
        .contents .c-wrap .c-box .c-list::before {
          position: absolute;
          top: 0;
          left: 0;
          content: "";
          width: 100%;
          height: 100%;
          border-radius: 30px;
          box-shadow: 0px 0px 80px 0px rgba(0, 25, 172, 0.25) inset;
          opacity: 0;
          transition: all .3s; }
          @media screen and (max-width: 800px) {
            .contents .c-wrap .c-box .c-list::before {
              transition: inherit; } }
        .contents .c-wrap .c-box .c-list:hover::before {
          opacity: 0.9; }
        .contents .c-wrap .c-box .c-list:hover.event h3 {
          background-image: url("../img/event_hover.png"); }
        .contents .c-wrap .c-box .c-list:hover.press h3 {
          background-image: url("../img/press_hover.png"); }
        .contents .c-wrap .c-box .c-list:hover p.viewmore {
          right: 20px; }

/*
signup
*/
.signup {
  position: relative;
  width: 100%;
  padding-top: 50px; }
  .signup .bar_09 {
    position: absolute;
    mix-blend-mode: multiply;
    opacity: 0.4;
    z-index: -1; }
    @media screen and (max-width: 800px) {
      .signup .bar_09 {
        width: 39.2vw;
        height: 39.2vw;
        left: -10vw;
        top: 200vw; } }
  .signup .bar_10 {
    position: absolute;
    mix-blend-mode: multiply;
    z-index: -1; }
    @media screen and (max-width: 800px) {
      .signup .bar_10 {
        width: 14vw;
        height: 14vw;
        left: 90vw;
        top: 800vw; } }
  .signup h2 {
    text-align: center;
    margin-bottom: 50px;
    z-index: 1;
    position: relative; }
    .signup h2 img {
      width: 212px; }
      @media screen and (max-width: 800px) {
        .signup h2 img {
          width: 176px; } }
  .signup a.btn_wrap {
    background: url("../img/bg_signup.png") center top no-repeat;
    background-size: 100% 100%;
    display: block;
    width: 100%;
    z-index: 1;
    position: relative;
    text-decoration: none;
    padding: 90px 20px; }
    @media screen and (max-width: 800px) {
      .signup a.btn_wrap {
        background: url("../img/bg_signup_sp.png") center top no-repeat;
        background-size: 100% 100%;
        padding: 30px; } }
    .signup a.btn_wrap p.read {
      text-align: center;
      font-size: 20px;
      line-height: 1.5;
      font-weight: bold;
      margin-bottom: 35px;
      color: #FFF; }
      @media screen and (max-width: 800px) {
        .signup a.btn_wrap p.read {
          margin-bottom: 20px; } }
    .signup a.btn_wrap .btn_signup {
      width: 265px;
      margin: 0 auto;
      border-radius: 30px;
      position: relative;
      overflow: hidden; }
      @media screen and (max-width: 800px) {
        .signup a.btn_wrap .btn_signup {
          width: 100%; } }
      .signup a.btn_wrap .btn_signup::before {
        display: block;
        content: "";
        background: #FFF;
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: -100%;
        border-radius: 30px;
        transition: all .3s; }
        @media screen and (max-width: 800px) {
          .signup a.btn_wrap .btn_signup::before {
            transition: inherit; } }
      .signup a.btn_wrap .btn_signup .btn_inner {
        display: inline-block;
        width: 100%;
        position: relative;
        text-align: center;
        text-decoration: none;
        color: #FFF;
        font-size: 14px;
        line-height: 58px;
        font-weight: bold;
        padding: 0 53px 0 0;
        transition: all .3s;
        border: 1px solid #FFF;
        border-radius: 30px; }
        @media screen and (max-width: 800px) {
          .signup a.btn_wrap .btn_signup .btn_inner {
            transition: inherit; } }
        .signup a.btn_wrap .btn_signup .btn_inner::after {
          display: block;
          content: "";
          background: #FFF url("../img/arrow_btn2.svg") center center no-repeat;
          width: 46px;
          height: 46px;
          position: absolute;
          top: 6px;
          right: 6px;
          border-radius: 50%;
          transition: all .3s; }
          @media screen and (max-width: 800px) {
            .signup a.btn_wrap .btn_signup .btn_inner::after {
              transition: inherit; } }
    .signup a.btn_wrap:hover .btn_signup::before {
      left: 0; }
    .signup a.btn_wrap:hover .btn_signup .btn_inner {
      color: #0C28D0; }
      .signup a.btn_wrap:hover .btn_signup .btn_inner::after {
        background: #0C28D0 url("../img/arrow_btn.svg") right 10px center no-repeat; }

/*
totop
*/
.totop {
  position: fixed;
  bottom: 58px;
  right: 20px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #FFF;
  box-shadow: -10px 10px 10px 0px rgba(0, 25, 172, 0.14);
  z-index: 10; }
  .totop img {
    margin: 12px 0 0 7px; }

/*
footer
*/
footer {
  background: #464646;
  color: #FFF;
  padding: 80px 30px; }
  @media screen and (max-width: 800px) {
    footer {
      padding: 40px 30px; } }
  footer .footer_wrap {
    max-width: 1000px;
    margin: 0 auto; }
    footer .footer_wrap .footermenu {
      margin-bottom: 24px;
      line-height: 1.2; }
      @media screen and (max-width: 800px) {
        footer .footer_wrap .footermenu {
          margin-bottom: 30px; } }
      footer .footer_wrap .footermenu ul {
        text-align: center; }
        @media screen and (max-width: 800px) {
          footer .footer_wrap .footermenu ul {
            text-align: left; } }
        footer .footer_wrap .footermenu ul li {
          display: inline-block;
          margin-right: 30px;
          margin-bottom: 8px; }
          @media screen and (max-width: 800px) {
            footer .footer_wrap .footermenu ul li {
              display: block; } }
          footer .footer_wrap .footermenu ul li:last-child {
            margin-right: 0; }
          footer .footer_wrap .footermenu ul li a {
            text-decoration: none;
            color: #FFF;
            transition: all .3s;
            font-size: 14px;
            font-weight: bold;
            transition: all .3s; }
            footer .footer_wrap .footermenu ul li a:hover {
              opacity: 0.7; }
    footer .footer_wrap .sns {
      text-align: center;
      margin-bottom: 25px; }
      @media screen and (max-width: 800px) {
        footer .footer_wrap .sns {
          margin-bottom: 25px;
          text-align: left; } }
      footer .footer_wrap .sns ul li {
        display: inline-block;
        margin-right: 4px; }
        footer .footer_wrap .sns ul li a {
          display: inline-block;
          width: 28px;
          height: 28px;
          text-indent: -9999px;
          transition: all .3s; }
          footer .footer_wrap .sns ul li a.x {
            background: url("../img/icon_x.svg") center center no-repeat; }
          footer .footer_wrap .sns ul li a.facebook {
            background: url("../img/icon_facebook.svg") center center no-repeat; }
          footer .footer_wrap .sns ul li a:hover {
            opacity: 0.7; }
    @media screen and (max-width: 800px) {
      footer .footer_wrap .siteinfo {
        width: 100%; } }
    footer .footer_wrap .siteinfo .about .logo_footer {
      width: 299px;
      margin: 0 auto 20px;
      transition: all .3s; }
      footer .footer_wrap .siteinfo .about .logo_footer:hover {
        opacity: 0.7; }
      @media screen and (max-width: 800px) {
        footer .footer_wrap .siteinfo .about .logo_footer {
          width: 240px;
          margin: 0 0 20px; } }
    footer .footer_wrap .siteinfo .about .copyright {
      text-align: center; }
      @media screen and (max-width: 800px) {
        footer .footer_wrap .siteinfo .about .copyright {
          width: 100%;
          max-width: 298px;
          margin: 0 auto;
          display: block; } }
  footer p {
    margin: 0; }
