  /*=============== 共通 ===============*/
  * {
    box-sizing: border-box;
    max-width: 100%;
  }

  p {
    margin: 0;
  }

  .main-menu {
    max-width: 1440px;
    margin: 0 auto 0;
  }

  .top-back-color {
    background-color: #F4F4F4;
  }

  .text-space-r90 {
    margin-right: 90px;
  }

  .text-space-r10 {
    margin-right: 10px;
  }

  .text-space-r11 {
    margin-right: 11px;
  }



  /*=============== 390pxベース ===============*/
  @media screen and (max-width: 480px) {

    body {
      margin: auto;
    }

    header {
      display: block;
    }

    /*=============== Firstブロック ===============*/
    .first {
      position: relative;
      width: 100%;
      height: auto;
    }

    .main-header {
      position: absolute;
      display: flex;
      width: 100%;
      background-color: transparent;
    }

    .logo {
      width: 100%;
      margin-top: 7%;
      margin-left: 8%;
    }

    .logo-img {
      display: none !important;
      max-width: 100%;
    }

    .sp-logo-img {
      display: block !important;
      max-width: 100%;
    }

    .btn-back {
      position: fixed;
      z-index: 9999;
      border: 2px solid #BC1823;
      top: 17px;
      right: 19px;
      width: 55px;
      height: 55px;
      border-radius: 50%;
      opacity: 1;
    }

    .openbtn {
      position: fixed;
      z-index: 9999;
      top: 20px;
      right: 20px;
      cursor: pointer;
      width: 50px;
      height: 50px;
    }

    .openbtn span {
      display: inline-block;
      transition: all .4s;
      position: absolute;
      left: 15px;
      height: 3px;
      border: 3px solid #BC1823;
      width: 40%;
      border-top-width: 0px;
      border-left-width: 0px;
      border-right-width: 0px;
    }

    .openbtn span:nth-of-type(1) {
      top: 15px;
    }

    .openbtn span:nth-of-type(2) {
      top: 23px;
    }

    .openbtn span:nth-of-type(3) {
      top: 31px;
    }

    .openbtn.active span:nth-of-type(1) {
      top: 18px;
      left: 12px;
      transform: translateY(6px) rotate(-45deg);
      width: 50%;
    }

    .openbtn.active span:nth-of-type(2) {
      opacity: 0;
    }

    .openbtn.active span:nth-of-type(3) {
      top: 30px;
      left: 13px;
      transform: translateY(-6px) rotate(45deg);
      width: 50%;
    }

    #g-nav {
      margin: auto;
      position: fixed;
      z-index: 999;
      top: -150%;
      width: 100%;
      height: 100vh;
      align-items: center;
      background: rgba(153, 153, 153, 0.9);
      transition: all 0.6s;
    }

    #g-nav.panelactive {
      top: 0;
    }

    #g-nav.panelactive #g-nav-list {
      position: absolute;
      z-index: 999;
      width: 100%;
      height: 100vh;
      overflow: auto;
      -webkit-overflow-scrolling: touch;
    }

    #g-nav ul {
      position: absolute;
      z-index: 999;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
    }

    #g-nav li {
      list-style: none;
      text-align: center;
    }

    #g-nav li a {
      color: #333;
      text-decoration: none;
      padding: 10px;
      display: block;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      font-weight: bold;
    }

    .top-img {
      display: none !important;
    }

    .sp-top-img {
      display: block !important;
      width: 100%;
    }

    .phrase-flex {
      display: flex;
      max-width: 100%;
      width: 100%;
      position: absolute;
      top: 32%;
    }

    .phrase {
      margin-left: 8%;
    }

    .main-text {
      font: normal normal normal 2.1rem/2.6rem Source Han Sans JP;
      letter-spacing: 1.7px;
      color: #0E317A;
      opacity: 1;
    }

    .text-space-r90 {
      margin-right: 0px;
    }

    .sub-phrase {
      margin-top: 32px;
      width: 100%;
    }

    .sub-text {
      text-align: left;
      font: normal normal normal 0.75rem/1.1rem Source Han Sans JP;
      letter-spacing: 0.6px;
      color: #333333;
      opacity: 1;
    }

    .sub-text-size {
      text-align: left;
      font: normal normal normal 0.87rem/1.5rem Source Han Sans JP;
      letter-spacing: 0.7px;
      color: #333333;
    }

    .sub-text-color {
      text-align: left;
      font: normal normal 600 1.3rem/1.68rem Lato;
      letter-spacing: 2.1px;
      color: #BC1823;
    }

    .catch-phrase {
      margin-top: 60px;
      width: 100%;
      opacity: 1;
    }

    .catch-text {
      text-align: left;
      font: normal normal normal 0.68rem/1rem Source Han Sans JP;
      letter-spacing: 1.1px;
      color: #333333;
      opacity: 1;
      height: 83px;
      background: #FFFFFF 0% 0% no-repeat padding-box;
      border-radius: 6px;
      width: 92%;
      padding-top: 7%;
      padding-left: 7%;
    }

    .text-space-r10 {
      margin-right: 0px;
    }

    .sp-text-line {
      display: block;
    }

    .catch-text-color {
      text-align: center;
      font: normal normal normal 1.3rem/2.3rem Source Han Sans JP;
      letter-spacing: 2px;
      color: #BC1823;
      opacity: 1;
    }

    .contact-button {
      position: absolute;
      margin-left: 10%;
      display: flex;
      width: 82%;
      height: 61px;
      margin-top: -33%;
      border: none;
      border-radius: 10px;
      background: rgb(38, 79, 255);
      background: linear-gradient(90deg, rgba(38, 79, 255, 1) 0%, rgba(28, 59, 191, 1) 24%, rgba(16, 39, 139, 1) 100%);
      opacity: 1;
    }

    .contact-icon-img {
      display: none !important;
    }

    .sp-contact-icon-img {
      display: block !important;
      margin: auto;
      max-width: 100%;
    }

    .contact-text {
      margin: auto auto auto 0;
      font: normal normal normal 0.8rem/1rem Source Han Sans JP;
      letter-spacing: 0.65px;
      color: #F4F4F4;
      opacity: 1;
    }

    .scroll {
      display: none;
    }

    .scroll-sign {
      display: none;
    }

    .sign {
      display: none;
    }

    .point {
      position: relative;
      padding-top: 84px;
      margin-top: 0;
      margin-left: 0;
      opacity: 1;
    }

    .point-phrase-background {
      width: 90%;
      margin: 0 auto;
      height: 1.1rem;
      transform: matrix(1, -0.09, 0.09, 1, 0, 0);
      background: #FFFFFF 0% 0% no-repeat padding-box;
    }

    .point-text {
      position: absolute;
      top: 60px;
      font: normal normal normal 1.25rem/1.4rem Source Han Sans JP;
      letter-spacing: 1px;
      color: #0E317A;
      margin: auto;
      width: 100%;
      text-align: center;
    }

    .number-text {
      text-align: left;
      font: normal normal normal 2.6rem/3.3rem Source Han Sans JP;
      letter-spacing: 2.1px;
      color: #BC1823;
    }

    .sub-point-text {
      margin-top: 22px;
      font: normal normal normal 0.8rem/0.8rem Source Han Sans JP;
      letter-spacing: 1.6px;
      color: #707070;
      width: 100%;
      text-align: center;
    }

    .sub-point-text-color {
      font: normal normal 600 1rem/0.9rem Lato;
      letter-spacing: 2px;
      color: #BC1823;
    }

    /*=============== secondブロック ===============*/
    .second {
      display: none;
    }

    .sp-second {
      position: relative;
      width: 100%;
      height: auto;
    }

    .number-group {
      margin-top: 71px;
      display: flex;
      flex-direction: column;
      align-items: center;
    }

    .number-1 {
      display: flex;
      gap: 5%;
      width: 80%;
    }

    .number {
      text-align: center;
      font: normal normal bold 4.3rem/5.3rem Source Han Sans JP;
      letter-spacing: 3.45px;
      color: #0D3179;
      opacity: 0.48;
    }

    .number1-text {
      text-align: left;
      font: normal normal normal 1.1rem/1.9rem Source Han Sans JP;
      letter-spacing: 0.9px;
      color: #0E317A;
      opacity: 1;
      z-index: 98;
      margin: auto;
    }

    .number-1-img {
      border-radius: 50%;
      width: 70%;
      background: #FFFFFF 0% 0% no-repeat padding-box;
      margin-bottom: 74px;
    }

    .number-2-img {
      border-radius: 50%;
      width: 70%;
      background: #FFFFFF 0% 0% no-repeat padding-box;
      margin-bottom: 74px;
    }

    .number-3-img {
      border-radius: 50%;
      width: 70%;
      background: #FFFFFF 0% 0% no-repeat padding-box;
    }

    .number-img-norepeat {
      background: transparent 0% 0% no-repeat padding-box;
      width: 100%;
    }

    /*=============== thirdブロック ===============*/
    .third {
      position: relative;
      width: 100%;
      height: auto;
    }

    .appeal {
      position: relative;
      width: 100%;
      opacity: 1;
    }

    .appeal-border {
      height: 1.1rem;
      background: #FFFFFF 0% 0% no-repeat padding-box;
      width: 85%;
      margin: auto;
      margin-top: 122px;
    }

    .appeal-text {
      font: normal normal normal 1.75rem/1.75rem Source Han Sans JP;
      letter-spacing: 1.4px;
      color: #0E317A;
      text-align: center;
      margin-top: -30px;
    }

    .appeal-img {
      display: none;
    }

    .sp-appeal-img {
      margin-top: -50px;
    }

    .sp-appeal-worries {
      max-width: 100%;
    }

    .sp-ppeal-group {
      display: flex;
      flex-direction: column;
      align-items: center;
    }

    .appeal-worries1 {
      position: relative;
      margin-top: 44px;
      opacity: 1;
    }

    .worriees-img {
      display: none;
    }

    .sp-worriees-img {
      max-width: 100%;
    }

    .worries1-text {
      position: absolute;
      top: 20px;
      left: 5%;
      font: normal normal normal 1rem/1.8rem Source Han Sans JP;
      letter-spacing: 1.6px;
      opacity: 1;
    }

    .worriest-text-color {
      color: #BC1823;
    }

    .sp-line {
      display: block;
    }

    .appeal-worries2 {
      position: relative;
      margin-top: 18px;
      opacity: 1;
    }

    .worries2-text {
      position: absolute;
      top: 20px;
      left: 5%;
      font: normal normal normal 0.8rem/1.8rem Source Han Sans JP;
      letter-spacing: 1.6px;
      opacity: 1;
    }

    .appeal-worries3 {
      position: relative;
      margin-top: 18px;
      opacity: 1;
    }

    .worries3-text {
      position: absolute;
      top: 20px;
      left: 5%;
      text-align: left;
      font: normal normal normal 1rem/1.8rem Source Han Sans JP;
      letter-spacing: 1.6px;
      opacity: 1;
    }

    .appeal-worries4 {
      position: relative;
      margin-top: 18px;
      opacity: 1;
    }

    .worries4-text {
      position: absolute;
      top: 20px;
      left: 5%;
      font: normal normal normal 1rem/1.8rem Source Han Sans JP;
      letter-spacing: 1.6px;
      opacity: 1;
    }

    .merit {
      position: relative;
      margin-top: 80px;
      text-align: center;
    }

    .merit-background {
      width: 85%;
      height: 0.8rem;
      transform: matrix(1, -0.03, 0.03, 1, 0, 0);
      background: #FFFFFF 0% 0% no-repeat padding-box;
      opacity: 1;
      margin: auto;
    }

    .merit-text {
      position: absolute;
      font: normal normal normal 1.25rem/1.4rem Source Han Sans JP;
      letter-spacing: 1px;
      color: #BC1823;
      opacity: 1;
      width: 100%;
      margin: 0 auto;
      top: -14px;
    }

    .merit-text-color {
      margin-top: 6px;
      color: #163376;
    }

    .sub-merit-text {
      margin-top: 46px;
      font: normal normal normal 0.8rem/1.25rem Source Han Sans JP;
      letter-spacing: 1.3px;
      color: #333333;
      opacity: 1;
    }

    .merit-point {
      display: flex;
      justify-content: center;
      margin-top: 18px;
      margin-right: auto;
      margin-bottom: 0px;
      margin-left: auto;
      width: 85%;
      background: #FFFFFF 0% 0% no-repeat padding-box;
      border-radius: 15px;
      opacity: 1;
    }

    .merit-point-left {
      margin-top: 15%;
      width: 5%;
    }

    .sp-check-img1 {
      width: 20px;
      margin-bottom: 111px;
    }

    .sp-check-img2 {
      width: 20px;
      margin-bottom: 6rem;
    }

    .sp-check-img3 {
      width: 20px;
    }

    .merit-point-right {
      font-size: 0.8rem;
      margin-top: 13%;
      margin-left: 9%;
      font: normal normal normal 1.1rem/1.8rem Source Han Sans JP;
      letter-spacing: 0.06rem;
      color: #333333;
      opacity: 1;
    }

    .merit-point-text {
      margin-bottom: 20%;
    }

    /*=============== fourthブロック ===============*/
    .fourth {
      position: relative;
      width: 100%;
      height: auto;
    }

    .ama-achievement {
      margin-top: 108px;
      opacity: 1;
      text-align: center;
      align-items: center;
    }

    .ama-img {
      display: none;
    }

    .sp-ama-img {
      max-width: 100%;
    }

    .achievement-text {
      top: 12%;
      position: absolute;
      font: normal normal normal 1.8rem/3.8rem Source Han Sans JP;
      letter-spacing: 1.5px;
      color: #FFFFFF;
      opacity: 1;
      width: 100%;
    }

    .achievement-appeal {
      position: absolute;
      width: 80%;
      height: 8.5rem;
      top: 41%;
      left: 50%;
      transform: translateY(-50%) translateX(-50%);
      background: #FFFFFF 0% 0% no-repeat padding-box;
      border-radius: 13px;
      opacity: 1;
    }

    .achievement-appeal-text {
      font: normal normal normal 0.9rem/1.4rem Source Han Sans JP;
      letter-spacing: 1.5px;
      color: #0E317A;
      opacity: 1;
      padding: 30px 0px;
    }

    .appeal-text-color {
      font: normal normal normal 1.3rem/2.3rem Source Han Sans JP;
      letter-spacing: 2.1px;
      color: #BC1823;
    }

    .sub-achievement-text {
      position: absolute;
      top: 61%;
      width: 100%;
      font: normal normal normal 0.9rem/1.8rem Source Han Sans JP;
      letter-spacing: 0.75px;
      color: #FFFFFF;
      opacity: 1;
    }

    /*=============== fifthブロック ===============*/
    .fifth {
      position: relative;
      width: 100%;
      height: auto;
    }

    .q-and-a {
      margin-top: 95px;
      margin-bottom: 18px;
      font: normal normal medium 2.1remx/29px Lato;
      letter-spacing: 0.1rem;
      color: #0E317A;
      opacity: 1;
      text-align: center;
    }

    .qa {
      width: 100%;
      display: flex;
      flex-direction: column;
      align-items: center;
      margin-bottom: 80px;
    }

    .qa-background {
      width: 75%;
      height: 1.06rem;
      transform: matrix(1, -0.09, 0.09, 1, 0, 0);
      background: #FFFFFF 0% 0% no-repeat padding-box;
      opacity: 1;
    }

    .qa-text {
      position: absolute;
      top: 30px;
      font: normal normal normal 1.75rem/2.75rem Source Han Sans JP;
      letter-spacing: 1.4px;
      color: #0E317A;
      opacity: 1;
    }

    .question {
      width: 88%;
      margin-top: 45px;
    }

    .l-accordion input {
      display: none;
    }

    .question-icon1 {
      position: absolute;
      margin-top: -48px;
      margin-left: 7%;
      opacity: 1;
      width: 5%;
    }

    .l-accordion-inside {
      margin-left: 35px;
      margin-bottom: 20px;
    }

    .l-accordion .l-accordion-inside {
      height: 0;
      opacity: 0;
      transition: 0.5s;
    }

    .l-accordion input:checked~.l-accordion-inside {
      height: auto;
      opacity: 1;
    }

    .l-accordion .l-accordion-switch {
      position: relative;
      display: block;
      cursor: pointer;
      margin-bottom: 2%;
      background: #FFFFFF 0% 0% no-repeat padding-box;
      font: normal normal normal 0.7rem/1.6rem Source Han Sans JP;
      color: #333333;
      letter-spacing: 0.75px;
      border-radius: 40px;
      opacity: 1;
      height: 3rem;
      padding: 3.5% 20%;
    }

    .l-accordion .l-accordion-switch::before,
    .l-accordion .l-accordion-switch::after {
      content: '';
      position: absolute;
      display: block;
      width: 14px;
      height: 3px;
      background: #163376;
      top: 50%;
      right: 10px;
      transform: translateY(-50%);
    }

    .l-accordion .l-accordion-switch::after {
      transform: translateY(-50%) rotate(90deg);
      transition: 0.5s;
    }

    .l-accordion input:checked~.l-accordion-switch::after {
      transform: rotate(0);
      transition: 0.5s;
    }

    /*=============== sixthブロック ===============*/
    .sixth {
      position: relative;
      width: 100%;
      height: auto;
    }

    .demo-request {
      display: none;
    }

    .sp-demo-request {
      display: flex;
      position: relative;
      width: 100%;
      background: #FFFFFF 0% 0% no-repeat padding-box;
      flex-direction: column;
      align-items: center;
    }

    .demo-title {
      margin-top: 15%;
    }

    .title-text {
      text-align: left;
      font: normal normal normal 1.1rem/2.75rem Source Han Sans JP;
      letter-spacing: 0.9px;
      color: #BC1823;
      opacity: 1;
      margin-left: 6%;
    }

    .request-text {
      font: normal normal normal 1.75rem/2.75rem Source Han Sans JP;
      letter-spacing: 1.4px;
      color: #0E317A;
      opacity: 1;
      text-align: center;
    }

    .request-text-color {
      text-align: left;
      font: normal normal normal 1.75rem/4rem Source Han Sans JP;
      letter-spacing: 1.4px;
      color: #BC1823;
      opacity: 1;
    }

    .request-flex {
      display: flex;
      justify-content: center;
    }

    .decoration-bar {
      width: 0px;
      margin-right: 5%;
      border: 1px solid #AD2C2B;
      opacity: 1;
    }

    .sub-request-text {
      font: normal normal normal 0.9rem/1.25rem Source Han Sans JP;
      letter-spacing: 1.5px;
      color: #333333;
      opacity: 1;
    }

    .contact-btn {
      border: none;
      background-color: #FFFFFF;
      margin-top: 4%;
      margin-bottom: 20%;
    }

    .demo-contact-img {
      max-width: 90%;
    }

    .display {
      margin-bottom: 10%;
      margin-top: 7%;
      text-align: center;
    }

    .demo-display-img {
      max-width: 100%;
    }

    /*=============== seventhブロック ===============*/
    .seventh {
      position: relative;
      width: 100%;
    }

    .concept {
      width: 100%;
    }

    .concept-img {
      display: none;
    }

    .sp-concept-img {
      max-width: 100%;
      padding: 15px 25px;
      margin-top: 10%;
    }

    .concept-title {
      width: 100%;
      margin-top: -21%;
      padding-left: 10%;
      font: normal normal normal 1.4rem/3rem Source Han Sans JP;
      letter-spacing: 1.15px;
      color: #333333;
      opacity: 1;
    }

    .concept-title-color1 {
      transform: matrix(-1, 0, 0, -1, 0, 0);
      text-align: left;
      font: normal normal normal 1.8rem/6.3rem Source Han Sans JP;
      letter-spacing: 1.5px;
      color: #BC1823;
      opacity: 1;
    }

    .concept-title-color2 {
      text-align: left;
      font: normal normal normal 1.8rem/6.3rem Source Han Sans JP;
      letter-spacing: 1.5px;
      color: #BC1823;
      opacity: 1;
    }

    .concept-text {
      width: 100%;
      margin-top: 55px;
      padding-left: 10%;
      font: normal normal normal 0.9rem/1.6rem Source Han Sans JP;
      letter-spacing: 1.5px;
      color: #333333;
      opacity: 1;
    }

    .concept-text-color {
      font: normal normal normal 1.1rem/1.56rem Source Han Sans JP;
      letter-spacing: 1.8px;
      color: #0E317A;
      opacity: 1;
    }

    .text-line-height {
      display: block;
      margin-bottom: 25px;
    }

    /*=============== eighthブロック ===============*/
    .eighth {
      position: relative;
      width: 100%;
    }

    .contact {
      position: relative;
      padding-top: 50px;
      width: 100%;
    }

    .contact-img {
      display: none;
    }

    .sp-contact-img {
      width: 100%;
    }

    .contact-form {
      position: absolute;
      left: 5%;
      top: 44%;
      width: 90%;
      height: 5rem;
      border-radius: 10px;
      border: none;
      background: linear-gradient(90deg, rgba(175, 0, 12, 1) 0%, rgba(189, 0, 13, 1) 45%, rgba(255, 2, 19, 1) 100%);
      opacity: 1;
    }

    .contact-form-text {
      font: normal normal normal 1.1rem/1.75rem Source Han Sans JP;
      letter-spacing: 0.9px;
      color: #F4F4F4;
      opacity: 1;
    }

    /*=============== フッタ ===============*/
    footer {
      width: 100%;
    }

    .main-footer {
      position: relative;
      height: 4.2rem;
      margin-top: -2%;
      background: #0E317A 0% 0% no-repeat padding-box;
      opacity: 1;
    }

    .nexus-logo-img {
      display: none;
    }

    .sp-nexus-logo-img {
      margin-top: 5%;
      margin-left: 6%;
      opacity: 1;
      max-width: 45%;
    }

    .company-name {
      position: absolute;
      left: 58%;
      top: 34%;
      font: normal normal normal 0.6rem/1.4rem Source Han Sans JP;
      letter-spacing: 0.5px;
      color: #BABABA;
      opacity: 1;
    }
  }