

  /*=============== 1440pxベース ===============*/
  @media screen and (min-width:768px) {

    .text-line {
      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: 2%;
      margin-left: 4%;
    }

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

    .sp-logo-img {
      display: none !important;
    }

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

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

    .openbtn span {
      display: inline-block;
      transition: all .4s;
      position: absolute;
      left: 14px;
      height: 3px;
      border: 4px solid #BC1823;
      width: 60%;
      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: 16px;
      left: 13px;
      transform: translateY(6px) rotate(-45deg);
      width: 60%;
    }

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

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

    #g-nav {
      position: fixed;
      z-index: 999;
      width: 100%;
      top: -120%;
      max-width: 1440px;
      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: fixed;
      z-index: 999;
      width: 100%;
      max-width: 1440px;
      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: block !important;
      max-width: 100%;
    }

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

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

    .phrase {
      margin-left: 8%;
    }

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

    .sub-phrase {
      margin-top: 2rem;
      margin-left: 2rem;
      width: 100%;
    }

    .sub-text {
      text-align: left;
      font: normal normal normal 18px/30px Source Han Sans JP;
      letter-spacing: 0.9px;
      color: #333333;
      opacity: 1;
    }

    .sub-text-size {
      text-align: left;
      font: normal normal normal 21px/36px Source Han Sans JP;
      letter-spacing: 1.05px;
      color: #333333;
    }

    .sub-text-color {
      text-align: left;
      font: normal normal 600 28px/35px Lato;
      letter-spacing: 2.8px;
      color: #BC1823;
    }

    .catch-phrase {
      margin-top: 2rem;
      width: 100%;
      opacity: 1;
    }

    .catch-text {
      text-align: center;
      font: normal normal normal 14px/25px Source Han Sans JP;
      letter-spacing: 1.4px;
      color: #333333;
      opacity: 1;
      line-height: 54px;
      background: #FFFFFF 0% 0% no-repeat padding-box;
      border-radius: 6px;
      width: 80%;
      margin-left: 2rem;
    }

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

    .contact-button {
      position: absolute;
      margin-left: 61%;
      display: flex;
      width: 36%;
      height: 99px;
      margin-top: -32%;
      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: block !important;
      max-width: 100%;
      margin: auto;
    }

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

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

    .scroll {
      position: absolute;
      top: 64%;
      width: 10%;
    }

    .scroll-sign {
      margin-left: 72px;
      margin-right: 1367px;
      height: 22vw;
      max-height: 298px;
      border-right: 2px solid #BC1823;
      opacity: 1;
    }

    .sign {
      top: 3px;
      left: 50px;
      height: 67px;
      position: absolute;
      transform: matrix(0, -1, 1, 0, 0, 0);
      text-align: left;
      font: normal normal medium 16px/20px Lato;
      letter-spacing: 1.6px;
      color: #BC1823;
      opacity: 1;
    }

    .point {
      position: relative;
      margin-top: -30px;
      margin-left: 8%;
      opacity: 1;
    }

    .point-phrase-background {
      width: 37%;
      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: -35px;
      text-align: left;
      font: normal normal normal 1.8rem/35px Source Han Sans JP;
      letter-spacing: 1.4px;
      color: #0E317A;
    }

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

    .sub-point-text {
      margin-top: 25px;
      text-align: left;
      font: normal normal normal 1rem/20px Source Han Sans JP;
      letter-spacing: 1.6px;
      color: #707070;
    }

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

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

    .sp-second {
      display: none;
    }

    .number-group {
      position: relative;
      display: flex;
      gap: 6%;
      margin-left: 8%;
      margin-top: 4%;
      z-index: 99;
    }

    .number-1 {
      display: flex;
      gap: 2%;
      width: 25%;
    }

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

    .number1-text {
      text-align: left;
      font: normal normal normal 1.3rem/36px Source Han Sans JP;
      letter-spacing: 0.06rem;
      color: #0E317A;
      opacity: 1;
      z-index: 98;
    }

    .number-img {
      display: flex;
      gap: 10%;
      margin-top: -2%;
      margin-left: 13%;
      opacity: 1;
      z-index: 95;
    }

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

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

    .number-3-img {
      border-radius: 50%;
      width: 21%;
      height: 21%;
      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;
    }

    .optimal {
      /* position: relative; */
    }

    .appeal {
      position: relative;
      width: 100%;
      opacity: 1;
      margin-top: 15%;
    }

    .appeal-border {
      height: 1.1rem;
      background: #FFFFFF 0% 0% no-repeat padding-box;
      width: 34.5%;
      position: absolute;
      left: 50%;
      transform: translate(-50%, -50%);
    }

    .appeal-text {
      position: absolute;
      left: 48%;
      top: -2%;
      transform: translate(-50%, -50%);
      font: normal normal normal 35px/64px Source Han Sans JP;
      letter-spacing: 1.75px;
      color: #0E317A;
    }

    .appeal-img {
      text-align: center;
      padding-top: 10%;
    }

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

    .sp-appeal-img {
      display: none;
    }

    .appeal-worries1 {
      position: absolute;
      top: 20%;
      right: 55%;
      opacity: 1;
    }

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

    .sp-worriees-img {
      display: none;
    }

    .worries1-text {
      position: absolute;
      top: 28%;
      left: 6.7%;
      text-align: left;
      font: normal normal normal 1rem/20px Source Han Sans JP;
      letter-spacing: 0.1rem;
      opacity: 1;
    }

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

    .appeal-worries2 {
      position: absolute;
      top: 15%;
      left: 54%;
      opacity: 1;
    }

    .worries2-text {
      position: absolute;
      top: 16.5%;
      left: 10%;
      text-align: left;
      font: normal normal normal 1rem/20px Source Han Sans JP;
      letter-spacing: 0.1rem;
      opacity: 1;
    }

    .appeal-worries3 {
      position: absolute;
      top: 50%;
      right: 60%;
      opacity: 1;
    }

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

    .appeal-worries4 {
      position: absolute;
      top: 45%;
      left: 60%;
      opacity: 1;
    }

    .worries4-text {
      position: absolute;
      top: 16%;
      left: 15.8%;
      text-align: left;
      font: normal normal normal 0.8rem/20px Source Han Sans JP;
      letter-spacing: 0.1rem;
      opacity: 1;
    }

    .merit {
      position: relative;
      margin-left: 8%;
      margin-top: 10%;
    }

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

    .merit-text {
      position: absolute;
      margin-top: -20px;
      font: normal normal normal 1.75rem/35px Source Han Sans JP;
      letter-spacing: 0.08rem;
      color: #BC1823;
      opacity: 1;
    }

    .merit-text-color {
      color: #163376;
    }

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

    .merit-point {
      display: flex;
      justify-content: center;
      margin: 2% auto 0;
      width: 74%;
      background: #FFFFFF 0% 0% no-repeat padding-box;
      border-radius: 15px;
      opacity: 1;
    }

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

    .check-img {
      margin-bottom: 95%;
    }

    .merit-point-right {
      margin-top: 6%;
      margin-left: 3%;
      font: normal normal normal 1.1rem/36px Source Han Sans JP;
      letter-spacing: 0.06rem;
      color: #333333;
      opacity: 1;
    }

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

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

    .ama-achievement {
      margin-top: 10%;
      opacity: 1;
    }

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

    .sp-ama-img {
      display: none;
    }

    .achievement-text {
      top: 18%;
      padding-left: 9%;
      position: absolute;
      text-align: left;
      font: normal normal normal 3.1rem/61px Source Han Sans JP;
      letter-spacing: 0.15rem;
      color: #FFFFFF;
      opacity: 1;
    }

    .achievement-appeal {
      position: absolute;
      top: 43%;
      height: 14%;
      left: 7%;
      right: 35%;
      background: #FFFFFF 0% 0% no-repeat padding-box;
      border-radius: 13px;
      opacity: 1;
    }

    .achievement-appeal-text {
      text-align: center;
      margin-top: 2.5%;
      font: normal normal normal 0.7rem/24px Source Han Sans JP;
      letter-spacing: 0.1rem;
      color: #0E317A;
      opacity: 1;
    }

    .appeal-text-color {
      font: normal normal normal 0.9rem/24px Source Han Sans JP;
      letter-spacing: 0.12rem;
      color: #BC1823;
    }

    .sub-achievement-text {
      position: absolute;
      top: 67%;
      left: 8.3%;
      font: normal normal normal 1rem/25px Source Han Sans JP;
      letter-spacing: 0.1rem;
      color: #FFFFFF;
      opacity: 1;
    }

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

    .q-and-a {
      margin-top: 8%;
      padding-left: 8.3%;
      font: normal normal medium 2.1remx/29px Lato;
      letter-spacing: 0.1rem;
      color: #0E317A;
      opacity: 1;
    }

    .qa {
      width: 100%;
      display: flex;
      justify-content: space-between;
    }

    .qa-background {
      margin-top: 2%;
      margin-left: 7%;
      width: 30%;
      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;
      left: 8.3%;
      font: normal normal normal 1.5rem/64px Source Han Sans JP;
      letter-spacing: 0.12rem;
      color: #0E317A;
      opacity: 1;
    }

    .question {
      width: 46.8%;
      margin-right: 7%;
    }

    .l-accordion input {
      display: none;
    }

    .question-icon1 {
      position: absolute;
      margin-top: -72px;
      margin-left: 2%;
      opacity: 1;
    }

    .l-accordion-inside {
      margin-left: 70px;
      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;
      padding: 0.5rem;
      cursor: pointer;
      margin-bottom: 2%;
      background: #FFFFFF 0% 0% no-repeat padding-box;
      font: normal normal normal 1.25rem/64px Source Han Sans JP;
      color: #333333;
      letter-spacing: 0.06rem;
      border-radius: 40px;
      opacity: 1;
      height: 5rem;
      padding-top: 2%;
      padding-left: 15%;
    }

    .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: flex;
      position: relative;
      margin-top: 7%;
      width: 100%;
      background: #FFFFFF 0% 0% no-repeat padding-box;
      padding-top: 5%;
      padding-bottom: 5%;
      gap: 10%;
    }

    .sp-demo-request {
      display: none;
    }

    .demo-title {
      margin-left: 8.3%;
    }

    .title-text {
      text-align: left;
      font: normal normal normal 1rem/64px Source Han Sans JP;
      letter-spacing: 0.05rem;
      color: #BC1823;
      opacity: 1;
    }

    .request-text {
      margin-bottom: 3%;
      font: normal normal normal 2.5rem/64px Source Han Sans JP;
      letter-spacing: 0.1rem;
      color: #0E317A;
      opacity: 1;
    }

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

    .request-flex {
      display: flex;
      height: 4rem;
    }

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

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

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

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

    .display {
      margin-top: 4.5%;
    }

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

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

    .concept {
      width: 100%;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
    }

    .concept-img {
      max-width: 100%;
      position: absolute;
      top: 30%;
      left: 50%;
      transform: translate(-50%, -50%);
    }

    .sp-concept-img {
      display: none;
    }

    .concept-title {
      text-align: center;
      margin-top: 5%;
      font: normal normal normal 1.3rem/43px Source Han Sans JP;
      letter-spacing: 0.08rem;
      color: #333333;
      opacity: 1;
    }

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

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

    .concept-text {
      text-align: center;
      font: normal normal normal 1rem/25px Source Han Sans JP;
      letter-spacing: 0.1rem;
      color: #333333;
      opacity: 1;
    }

    .concept-text-color {
      font: normal normal normal 18px/25px 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 {
      margin-top: 146px;
      width: 100%;
    }

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

    .sp-contact-img {
      display: none;
    }

    .contact-form {
      position: absolute;
      width: 50%;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      height: 8rem;
      border-radius: 10px;
      border: none;
      background: rgb(175, 0, 12);
      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.75rem/36px Source Han Sans JP;
      letter-spacing: 0.08rem;
      color: #F4F4F4;
      opacity: 1;
    }

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

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

    .nexus-logo-img {
      position: absolute;
      top: 30%;
      left: 5%;
      opacity: 1;
      max-width: 100%;
    }

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

    .company-name {
      position: absolute;
      right: 5%;
      top: 37%;
      font: normal normal normal 1rem/30px Source Han Sans JP;
      letter-spacing: 0.05rem;
      color: #BABABA;
      opacity: 1;
    }
  }