@charset "UTF-8";
ul {
  margin: 0;
  padding: 0; }

li {
  list-style: none;
  margin: 0;
  padding: 0; }

html {
  font-size: 100%; }
  @media (max-width: 767px) {
    html {
      font-size: calc(100vw / 30); } }

body {
  font-family: 'Noto Sans JP', sans-serif;
  margin: 0; }

img {
  flex-shrink: 0; }

a {
  color: #1E1D8E; }

header {
  display: flex;
  justify-content: space-between;
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 90px;
  background-color: #fff;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16); }
  header img {
    width: 190px;
    margin: 32px 30px; }
    @media (max-width: 375px) {
      header img {
        width: 100px;
        margin: 16px 15px; } }
  header .global-nav {
    height: 90px; }
    header .global-nav .global-nav__list {
      height: 90px;
      display: flex;
      align-items: center;
      width: 700px;
      justify-content: space-between;
      margin-right: 30px; }
      header .global-nav .global-nav__list .global-nav__item a {
        font-size: 14px;
        cursor: pointer;
        font-weight: bold;
        color: #808080;
        text-decoration: none; }
        header .global-nav .global-nav__list .global-nav__item a.global-nav__toTop {
          color: #1E1D8E; }
        header .global-nav .global-nav__list .global-nav__item a:hover {
          opacity: .8; }
  header .hamburger {
    display: none; }
  header .black-bg {
    display: none; }
  header .home {
    display: none; }
  @media (max-width: 960px) {
    header .global-nav {
      position: fixed;
      right: -320px;
      /* これで隠れる */
      top: 0;
      width: 300px;
      /* スマホに収まるくらい */
      height: 100vh;
      padding-top: 100px;
      background-color: #fff;
      transition: all .6s;
      z-index: 200;
      overflow-y: auto;
      /* メニューが多くなったらスクロールできるように */ }
    header .home {
      display: block;
      position: absolute;
      right: 43px;
      top: 3px; }
      header .home img {
        width: 22px; }
    header .hamburger {
      display: inherit;
      position: absolute;
      right: 25px;
      top: 25px;
      width: 40px;
      /* クリックしやすいようにちゃんと幅を指定する */
      height: 40px;
      /* クリックしやすいようにちゃんと高さを指定する */
      cursor: pointer;
      z-index: 300; }
    header .global-nav__list {
      margin: 0;
      padding: 0;
      list-style: none;
      flex-direction: column;
      width: 100% !important; }
    header .global-nav__item {
      text-align: center;
      padding: 0 14px; }
    header .global-nav__item a {
      display: block;
      padding: 8px 0;
      text-decoration: none;
      color: #808080; }
    header .global-nav__item a:hover {
      background-color: #eee; }
    header .hamburger__line {
      position: absolute;
      left: 11px;
      width: 18px;
      height: 2px;
      background-color: #1E1D8E;
      transition: all .6s; }
    header .hamburger__line--1 {
      top: 14px; }
    header .hamburger__line--3 {
      top: 26px; }
    header .black-bg {
      display: inherit;
      position: fixed;
      left: 0;
      top: 0;
      width: 100vw;
      height: 100vh;
      z-index: 100;
      background-color: #000;
      opacity: 0;
      visibility: hidden;
      transition: all .6s;
      cursor: pointer; } }
  @media (max-width: 375px) {
    header {
      height: 50px; }
      header .home {
        right: 33px;
        top: 0; }
      header .hamburger {
        right: 7px;
        top: 5px; } }

/* 表示された時用のCSS */
.nav-open .global-nav {
  right: 0; }

.nav-open .black-bg {
  opacity: .8;
  visibility: visible; }

.nav-open .hamburger__line--1 {
  transform: rotate(45deg);
  top: 20px; }

.nav-open .hamburger__line--3 {
  transform: rotate(-45deg);
  top: 20px; }

h1 {
  position: relative;
  margin: 0; }
  h1 .bg {
    width: 100%;
    margin: auto; }
  h1 .name {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto; }

@media (min-width: 768px) {
  br.sp {
    display: none; } }

.isilon .name {
  width: 40%;
  left: 60px;
  top: -100px; }
  @media (max-width: 767px) {
    .isilon .name {
      left: 30px; } }
  @media (max-width: 375px) {
    .isilon .name {
      top: -50px; } }

.workstation-and-pc .name {
  width: 40%;
  left: 60px; }
  @media (max-width: 767px) {
    .workstation-and-pc .name {
      left: 30px; } }

.unity .name {
  width: 40%;
  left: 60px; }
  @media (max-width: 767px) {
    .unity .name {
      left: 30px; } }

.vxrail .name {
  width: 40%;
  left: 60px;
  bottom: 40px; }
  @media (max-width: 767px) {
    .vxrail .name {
      left: 30px; } }

h2 {
  width: 100%;
  text-align: center;
  color: #1E1D8E;
  font-size: 225%;
  position: relative;
  display: inline-block;
  margin-top: 0;
  margin-bottom: 82px;
  letter-spacing: 0.06em; }
  @media (max-width: 375px) {
    h2 {
      font-size: 180%; } }

h2:before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -12px;
  display: inline-block;
  width: 60px;
  height: 2px;
  -moz-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #1E1D8E; }

p {
  font-size: 87.5%;
  max-width: 980px;
  width: 90%;
  margin: auto;
  line-height: 2em;
  letter-spacing: 0.06em; }

@media (max-width: 767px) {
  .table-wrapper {
    overflow: scroll; } }

main {
  margin-top: 90px; }
  @media (max-width: 375px) {
    main {
      margin-top: 50px; } }

/* Isilon */
.isilon .description {
  background-color: #fff;
  padding: 100px 0; }
  @media (max-width: 767px) {
    .isilon .description {
      padding: 14vw 0 16vw; } }
.isilon .hero {
  position: relative; }
  .isilon .hero--btn__blue {
    position: absolute;
    left: 60px;
    bottom: 20%; }
    @media (max-width: 767px) {
      .isilon .hero--btn__blue {
        left: 30px; } }
    @media (max-width: 375px) {
      .isilon .hero--btn__blue {
        bottom: 20%; } }
    .isilon .hero--btn__blue a {
      border-radius: 4px;
      text-decoration: none;
      display: block;
      background-color: #059FFF;
      line-height: 60px;
      color: #ffffff;
      font-weight: bold;
      font-size: 18px;
      text-align: center;
      width: 36.3%;
      max-width: 320px;
      height: 60px; }
      .isilon .hero--btn__blue a:hover {
        opacity: .8; }
      @media (max-width: 767px) {
        .isilon .hero--btn__blue a {
          font-size: 14px;
          line-height: 45px;
          height: 45px; } }
      @media (max-width: 375px) {
        .isilon .hero--btn__blue a {
          font-size: 10px;
          line-height: 30px;
          height: 30px; } }
.isilon .feature {
  background-color: #F8F9FA;
  padding: 100px 0; }
  @media (max-width: 767px) {
    .isilon .feature {
      padding: 16vw 0 4vw; } }
.isilon .lineup {
  background-color: #fff;
  padding: 100px 0 50px; }
  @media (max-width: 767px) {
    .isilon .lineup {
      padding: 16vw 0 0; } }
.isilon .option {
  background-color: #F8F9FA;
  padding: 100px 0; }
  @media (max-width: 767px) {
    .isilon .option {
      padding: 16vw 0 18vw; } }
  .isilon .option p {
    text-align: center; }
  .isilon .option table {
    max-width: 780px;
    border-spacing: 4px;
    margin: 50px auto auto;
    font-size: small; }
    .isilon .option table th {
      background-color: #DBEAFD;
      padding: 36px 20px;
      width: 38%;
      text-align: left;
      letter-spacing: 0.06em; }
    .isilon .option table td {
      width: 61%;
      background-color: #ffffff;
      padding: 20px;
      line-height: 2em;
      letter-spacing: 0.06em; }
    @media (max-width: 767px) {
      .isilon .option table {
        margin-top: 20px;
        border-spacing: unset;
        max-width: none; }
        .isilon .option table th, .isilon .option table td {
          display: block;
          margin: auto 5%;
          width: 80%;
          padding: 5%;
          font-size: small; }
        .isilon .option table th {
          text-align: left;
          padding: 5%; } }

/* Index */
.top .hero h1 {
  margin-top: 300px;
  text-align: center; }
  @media (max-width: 767px) {
    .top .hero h1 {
      margin-top: 130px; } }
  .top .hero h1 img {
    width: 690px;
    margin-bottom: 60px; }
    @media (max-width: 767px) {
      .top .hero h1 img {
  width: 90%;
  height: calc(100vw * (200 / 980));
} }
.top .hero p {
  margin-bottom: 200px; }
  @media (max-width: 767px) {
    .top .hero p {
      margin-bottom: 50px; } }
.top .description {
  background-color: #fff;
  padding: 100px 0; }
  @media (max-width: 767px) {
    .top .description {
      padding: 14vw 0 16vw; } }
.top .lineup {
  background-color: #F8F9FA;
  padding: 100px 0 50px; }
  @media (max-width: 767px) {
    .top .lineup {
      padding: 16vw 0 0; } }
  .top .lineup a {
    text-decoration: none; }
    .top .lineup a:hover {
      opacity: .8; }

/* Workstation and PC*/
.workstation-and-pc h2 {
  margin-bottom: 32px; }
.workstation-and-pc h3 {
  text-align: center;
  color: #1E1D8E;
  margin: 50px auto;
  font-size: 1.8em;
  letter-spacing: 0.06em; }
  @media (max-width: 375px) {
    .workstation-and-pc h3 {
      font-size: 160%; } }
.workstation-and-pc .lineup {
  padding: 100px 0; }
  @media (max-width: 767px) {
    .workstation-and-pc .lineup {
      padding: 14vw 0 0; } }

/* unity */
.unity .description {
  background-color: #fff;
  padding: 100px 0; }
  @media (max-width: 767px) {
    .unity .description {
      padding: 14vw 0 16vw; } }
.unity .feature {
  background-color: #F8F9FA;
  padding: 100px 0; }
  @media (max-width: 767px) {
    .unity .feature {
      padding: 16vw 0 4vw; } }
.unity .license {
  background-color: #fff;
  padding: 100px 0; }
  @media (max-width: 767px) {
    .unity .license {
      padding: 16vw 0 0; } }
  .unity .license p {
    text-align: center; }
  .unity .license h3 {
    max-width: 780px;
    min-width: 700px;
    margin: 40px auto 0 auto;
    color: #1E1D8E;
    font-size: 100%; }
    @media (max-width: 767px) {
      .unity .license h3 {
        margin-left: 10px; } }
  .unity .license table {
    max-width: 780px;
    min-width: 700px;
    border-spacing: 4px;
    margin: 15px auto auto;
    font-size: small; }
    .unity .license table .xsmall {
      font-size: 78%; }
    .unity .license table th {
      background-color: #F5F5F5;
      padding: 36px 10px;
      text-align: left; }
    .unity .license table tr:first-child th {
      text-align: center;
      background-color: #DBEAFD; }
    .unity .license table tr:nth-child(n+2) th {
      width: 25%; }
    .unity .license table td {
      background-color: #F5F5F5;
      padding: 20px; }
    .unity .license table td:first-child {
      width: 35%; }
    .unity .license table td:nth-child(3),
    .unity .license table td:nth-child(4) {
      width: 20%;
      text-align: center; }
    .unity .license table.vsa th:last-child,
    .unity .license table.vsa td:last-child {
      background-color: #fff; }

.vxrail .description {
  padding: 100px 0;
  background-color: #fff; }
  @media (max-width: 767px) {
    .vxrail .description {
      padding: 14vw 0 16vw; } }
.vxrail .hero {
  position: relative; }
  .vxrail .hero--btn__blue {
    position: absolute;
    left: 60px;
    bottom: 10%; }
    @media (max-width: 767px) {
      .vxrail .hero--btn__blue {
        left: 30px; } }
    @media (max-width: 375px) {
      .vxrail .hero--btn__blue {
        bottom: 20%; } }
    .vxrail .hero--btn__blue a {
      border-radius: 4px;
      text-decoration: none;
      display: block;
      background-color: #059FFF;
      line-height: 60px;
      color: #ffffff;
      font-weight: bold;
      font-size: 18px;
      text-align: center;
      width: 36.3%;
      max-width: 320px;
      height: 60px; }
      .vxrail .hero--btn__blue a:hover {
        opacity: .8; }
      @media (max-width: 767px) {
        .vxrail .hero--btn__blue a {
          font-size: 14px;
          line-height: 45px;
          height: 45px; } }
      @media (max-width: 375px) {
        .vxrail .hero--btn__blue a {
          font-size: 10px;
          line-height: 30px;
          height: 30px; } }
.vxrail .feature {
  padding: 100px 0;
  background-color: #F8F9FA; }
  @media (max-width: 767px) {
    .vxrail .feature {
      padding: 16vw 0 4vw; } }
.vxrail .lineup {
  padding: 100px 0;
  background-color: #fff; }
  @media (max-width: 767px) {
    .vxrail .lineup {
      padding: 16vw 0 0; } }
  @media (min-width: 768px) and (max-width: 1024px) {
    .vxrail .lineup {
      padding: 100px 0 0 0; } }

.contact {
    background-color: #fff;
    padding: 50px 0 20px; }
  .contact a {
    display: block;
    max-width: 440px;
    width: 80%;
    height: 80px;
    margin: auto;
    text-align: center;
    color: #fff;
    background-color: #1E1D8E;
    text-decoration: none;
    border-radius: 4px;
    line-height: 80px; }
    @media (max-width: 375px) {
      .contact a {
        font-size: 100%; } }

footer {
    background-color: #fff;
    text-align: center;
    height: 100px !important;
    line-height: 100px;
    font-size: 87.5%;
}

.inner {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100px;
}

.footer_link ul {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    justify-content: center; 
}

.footer_link ul li {
    margin: 0 10px; 
    font-size: 1rem;
}

.footer_copy {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 80px;
}

.footer_copy p {
    width: 100%;
    height: 80px;
    background-color: #000;
    color: #fff;
    max-width: none;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 767px) {
    footer {
        height: auto !important;
        line-height: 1.5;
    }
    
    .inner {
        height: auto;
        flex-direction: column;
    }
    
    .footer_link ul {
        flex-direction: column; 
    }
    
    .footer_link ul li {
        margin: 5px 0; 
    }
    
    .footer_copy {
        height: auto;
    }
    
    .footer_copy p {
        height: auto;
        padding: 20px 10px;
    }
}


  
  @media (max-width: 375px) {
    footer {
      font-size: 65%; } }

.p30 {
  display: flex;
  justify-content: space-around;
  width: 100%;
  max-width: 980px;
  margin: auto; }
  @media (max-width: 767px) {
    .p30 {
      flex-wrap: wrap; } }
  .p30 li {
    width: 28%;
    text-align: center; }
    .p30 li img {
      border-radius: 100%;
      box-shadow: rgba(30, 29, 142, 0.1) 0 0 20px; }
    @media (max-width: 767px) {
      .p30 li {
        width: 80%;
        margin-bottom: 50px; }
        .p30 li img {
          width: 50%; } }
    .p30 li h3 {
      text-align: center;
      color: #1E1D8E;
      margin-block-start: 2em;
      margin-block-end: 1.5em;
      letter-spacing: 0.06em; }
    .p30 li p {
      text-align: left;
      width: 100%; }

.p50 {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  width: 100%;
  max-width: 980px;
  margin: auto; }
  .p50 li {
    width: 46%;
    margin-bottom: 50px;
    text-align: center; }
    @media (max-width: 767px) {
      .p50 li {
        width: 80%; } }
    .p50 li img {
      width: 100%;
      border: 1px solid #E5E5E5; }
    .p50 li h3 {
      text-align: center;
      color: #1E1D8E;
      letter-spacing: 0.06em; }
    .p50 li h4 {
      text-align: center;
      color: #1E1D8E;
      font-size: 1.15em;
      letter-spacing: 0.06em; }
    .p50 li p {
      text-align: left;
      width: 100%; }

.floating-banner {
    position: fixed;
    top: 15%;
    right: 1%;
    background-color: #1E1D8E;
    color: white;
    padding: 16px 8px;
    border-radius: 3px ;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
    z-index: 1000;
    text-align: center;
}

.floating-banner a {
    color: white;
    text-decoration: none;
    display: block;
}

.banner-link {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.vertical-text {
    writing-mode: vertical-rl; 
    text-orientation: upright;
}

.arrow-image {
    margin-top: 5px; 
    max-width: 21px;
    max-height: 21px;
}

@media (max-width: 767px) {
    .floating-banner {
        top: 20%;
        right: 2%;
        padding: 10px 5px;
    }

    .arrow-image {
        margin-top: 3px; 
        max-width: 17px;
        max-height: 17px;
    }
}