    /* 基本スタイル：最初はスクロール禁止 */
    body,
    html {
      margin: 0;
      padding: 0;
      background-color: #000;
      width: 100%;
      height: 100%;

      overflow: visible;
      overflow-x: hidden;
      font-family: 'Helvetica Neue', Arial, sans-serif;
    }

    body.is-locked {
      overflow: hidden;
      height: 100vh;
    }


    body.is-scrollable {
      overflow-y: auto !important;
      overflow-x: hidden !important;
      height: auto !important;
    }

    header ul li a {
      color: #fff;
      text-decoration: none;
    }

    header ul li a:hover {
      color: #FFE600
    }

    .floating-banner {
      position: fixed;
      right: 10px;
      bottom: 24px;
      z-index: 1000;
      display: flex;
      align-items: center;
      justify-content: center;
      width: 300px;
      height: 60px;
      box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
      transition:
        transform .3s ease,
        box-shadow .3s ease,
        opacity .6s ease;

      opacity: 0;
      pointer-events: none;
    }




    body.page .floating-banner,
    .floating-banner.is-visible {
      opacity: 1;
      pointer-events: auto;
    }

    .floating-banner img {
      width: 100%;
      height: auto;
      display: block;
    }

    .floating-banner:hover {
      transform: translateY(-4px);
      box-shadow: 0 12px 28px rgba(0, 0, 0, 0.25);
    }

    .intro-container {
      position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      z-index: 1000;
      display: flex;
      justify-content: center;
      align-items: center;
      pointer-events: none;
      background: #000;
      transition: background 1s ease;
    }

    .intro-container.is-ready {
      background: transparent;
    }

    .final-video {
      /* position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      z-index: 1;
      opacity: 0;
      transition: opacity 1.2s ease-in;
      background: #0a0a0a; */
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      min-width: 100%;
      min-height: 100%;
      object-fit: cover;
      z-index: 1;
      opacity: 0;
      transition: opacity 1.2s ease-in;
      background: url("/img/main_mov_bg_img.jpg") center center / cover no-repeat;
    }

    .video-overlay {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.4);
      z-index: 2;
      opacity: 0;
      transition: opacity 1s;
    }

    .typing-text {
      position: relative;
      z-index: 100;
      font-family: 'Share Tech Mono', monospace;
      font-size: 2rem;
      color: #fff;
      text-shadow: 0 0 10px #3072F6, 0 0 20px #3072F6;
      margin: 0;
      text-align: center;
      transition: opacity 0.5s;
    }

    .logo-wrapper {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      z-index: 50;
      opacity: 0;
      transform: scale(0.8);
      transition: opacity 0.8s, transform 1.8s cubic-bezier(0.65, 0, 0.35, 1);
    }

    .logo-video {
      width: 100%;
      height: 100%;
      object-fit: cover;
      background: #111;
    }

    .logo-text {
      position: absolute;
      font-family: 'Arial Black', sans-serif;
      font-size: 25vw;
      font-weight: 900;
      width: 100%;
      height: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      background: #000;
      color: #fff;
      mix-blend-mode: multiply;
      margin: 0;
    }

    .is-active {
      opacity: 1;
      transform: scale(1);
    }

    .is-zoomed {
      transform: scale(60);
      opacity: 0;
    }

    .is-visible {
      opacity: 1 !important;
      visibility: visible !important;
    }

    .main-content {
      position: relative;
      width: 100%;
      z-index: 500;
      opacity: 0;
      visibility: hidden;
      transition: opacity 1.5s ease;
    }

    .main-content.is-visible {
      opacity: 1;
      visibility: visible;
    }

    header {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      padding: 30px 50px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      color: #fff;
      box-sizing: border-box;
      z-index: 10;
      transition: background-color .2s ease, box-shadow .2s ease, padding .2s ease;
    }

    header ul {
      display: flex;
      gap: 20px;
      list-style: none;
      margin: 0;
      padding: 0;
      align-items: center;
    }

    .contact-label {
      display: inline-block;
      padding: 10px 20px;
      background: linear-gradient(135deg, #0a4f78, #0fb3c4);
      color: #ffffff;
      cursor: pointer;
      text-align: center;
    }

    .contact-label.recruit {
      display: none;
    }

    /* ===== Header Sticky ===== */
    header.is-sticky {
      position: fixed;
      top: 0;
      left: 0;
      z-index: 999;
      background: rgba(0, 0, 0, 0.78);
      backdrop-filter: blur(10px);
      box-shadow: 0 10px 24px rgba(0, 0, 0, 0.25);
    }

    body.has-sticky-header {
      padding-top: var(--header-offset, 0px);
    }

    .hero-section {
      width: 100%;
      height: 100vh;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      color: #fff;
      text-align: center;
      box-sizing: border-box;
    }

    .sub-title {
      font-size: 1.8rem;
      margin-bottom: 40px;
      line-height: 2.0;
      text-align: left;
      width: 820px;
    }

    .cta-container {
      display: flex;
      gap: 100px;
      width: 820px;
    }

    .about-button {
      position: relative;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 360px;
      height: 80px;
      border: 2px solid #0a4f78;
      text-decoration: none;
      background-color: #fff;
      transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1);
      overflow: hidden;
    }

    .about-button__text {
      font-size: 18px;
      color: #333;
      font-weight: 700;
      letter-spacing: 0.1em;
      z-index: 2;
    }

    .about-button__arrow {
      position: absolute;
      right: 0;
      bottom: 0;
      width: 40px;
      height: 40px;
      background: linear-gradient(135deg, #0a4f78, #0fb3c4);
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .about-button:hover {
      transform: translateY(-5px);
    }

    .next-section {
      position: relative;
      background-color: #ffffff;
      color: #1a1a1a;
      padding: 120px 20px;
      display: flex;
      flex-direction: column;
      z-index: 600;
      align-items: center;
    }

    .next-section h2 {
      font-size: 2.5rem;
      margin-bottom: 40px;
    }

    .rt-mainTitle {
      font-family: 'Roboto', sans-serif;
      font-size: 60px;
      font-weight: 700;
      letter-spacing: 0.08em;
      color: #222;
      margin: 0;
    }

    .rdTitle {
      color: #FF0200;
    }

    .top-mainTitle_text {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 20px;
      font-weight: 500;
      text-align: center;
      line-height: 1.9;
      color: #333;
      margin-bottom: 60px;
    }

    .section-gray {
      background-color: #FAFAFA;
      padding: 80px 0;
    }

    .section-inner {
      max-width: 1000px;
      margin: 0 auto;
      padding: 0 20px;
      width: 100%;
      box-sizing: border-box;
      text-align: center;
    }

    @media (max-width: 600px) {
      .section-inner {
        max-width: 94%;
        padding: 0 0px;
      }
    }

    .block-heading {
      margin-bottom: 100px;
      text-align: left;
    }

    .block-heading.news,
    .block-heading.contact {
      margin-bottom: 0;
      text-align: left;
    }

    .block-heading__label {
      font-size: 14px;
      color: #333;
      display: flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 12px;
    }

    .block-heading__label.contact {
      color: #fff;
    }

    .block-heading__dot {
      width: 8px;
      height: 8px;
      background-color: #e60012;
      border-radius: 50%;
    }

    .block-heading__en {
      font-family: 'Roboto', sans-serif;
      font-size: 48px;
      font-weight: 700;
      line-height: 1.2;
      color: #222;
      margin-top: 0;
    }

    .block-heading__en.contact {
      color: #fff;
    }

    .service-cards {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 30px;
      width: 100%;
      margin: 0 auto;
      margin-bottom: 60px;
    }

    .service-card {
      display: flex;
      position: relative;
      flex-direction: column;
      justify-content: space-between;
      text-align: center;
      background-color: #fff;
      padding: 40px 32px 56px;
      text-decoration: none;
      color: #333;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
      transition: transform .3s ease, box-shadow .3s ease;
    }

    .service-card__icon img {
      display: block;
      margin: 0 auto;
      margin-bottom: 30px;
      max-height: 120px;
      width: auto;
    }

    .service-card__title {
      font-size: 18px;
      font-weight: 700;
      margin-bottom: 24px;
    }

    .service-card__text {
      font-size: 14px;
      line-height: 1.8;
      margin-top: auto;
      text-align: left;
    }

    .service-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
    }

    .section-button {
      text-align: center;
    }

    /* 強み */
    .strengths-card {
      display: flex;
      align-items: center;
      gap: 48px;
      height: 210px;
      margin-bottom: 60px;
      position: relative;
      padding: 20px;
      background: #fff;
      border: 2px solid #093D5D;
      box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
      text-align: left;
    }

    .strengths-card__image {
      position: relative;
      flex-shrink: 0;
    }

    .strengths-card__image img {
      width: 260px;
      height: auto;
      position: relative;
      top: -40px;
    }

    .strengths-card__content {
      max-width: 640px;
    }

    .strengths-card__title {
      font-size: 24px;
      font-weight: bold;
      color: #093D5D;
      margin-bottom: 16px;
    }

    .strengths-card__text {
      font-size: 16px;
      line-height: 1.8;
      color: #333;
    }

    /* ニアショア */
    .section-nearshore {
      padding: 160px 24px;
      background-color: #fff;
      text-align: center;
      background-image: url(img/top-nearshore_bg.png);
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain;
      background-origin: content-box;
    }

    .nearshore-text {
      font-size: 20px;
      line-height: 1.8;
      font-weight: 700;
      margin-bottom: 64px;
    }

    .nearshore-feature-list {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      margin-bottom: 60px;
      list-style: none;
      padding: 0;
    }

    .nearshore-feature {
      position: relative;
      z-index: 2;
      margin: 0;
      padding: 0;
    }

    .nearshore-feature img {
      width: 100%;
      display: block;
    }

    .nearshore-feature p {
      margin-top: 12px;
      font-size: 16px;
      font-weight: bold;
      color: #093D5D;
    }

    .fade-up {
      opacity: 0;
      transform: translateY(40px);
      transition: opacity 0.6s ease, transform 0.6s ease;
    }

    .fade-up.is-show {
      opacity: 1;
      transform: translateY(0);
    }

    .delay-1 {
      transition-delay: 0.1s;
    }

    .delay-2 {
      transition-delay: 0.3s;
    }

    .delay-3 {
      transition-delay: 0.5s;
    }

    .delay-4 {
      transition-delay: 0.7s;
    }

    /* 採用 */
    .section-recruit {
      position: relative;
      padding: 60px;
      background: url(../img/top-recruitment-bg.jpg) no-repeat center / cover;
      text-align: center;
      margin-bottom: 60px;
    }

    .recruit-inner {
      max-width: 1000px;
      margin: 0 auto;
      padding: 80px 40px;
      background: rgba(255, 255, 255, 0.9);
    }

    .recruit-heading {
      margin-bottom: 40px;
      position: relative;
      text-align: center;
    }

    .recruit-heading__en {
      position: absolute;
      top: -48px;
      left: 50%;
      transform: translateX(-50%);
      font-family: 'Roboto';
      font-weight: bold;
      font-size: 74px;
      color: #066FFF;
      opacity: 0.34;
      line-height: 1;
      pointer-events: none;
    }

    .recruit-heading__jp {
      position: relative;
      margin-top: 28px;
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 22px;
      font-weight: 700;
      color: #222;
    }

    .recruit-lead {
      font-size: 20px;
      font-weight: 700;
      line-height: 1.8;
      margin-bottom: 32px;
    }

    .recruit-text {
      font-size: 16px;
      line-height: 2;
      margin-bottom: 48px;
    }

    /* news */
    section.next-section.section-news {
      padding: 20px 0;
    }

    .section-inner.section-news_inner {
      padding: 60px 0;
      display: flex;
      justify-content: space-between;
    }

    a.about-button.news {
      width: 145px;
      height: 72px;
    }

    .top-news-list {
      width: 70%;
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .top-news-item {
      border-bottom: 1px solid #ccc;
      position: relative;
    }

    .top-news-link {
      display: flex;
      align-items: center;
      padding: 24px 0;
      text-decoration: none;
      color: #333;
      transition: background-color 0.3s;
    }

    .top-news-date {
      font-size: 16px;
      color: #888;
      width: 120px;
      flex-shrink: 0;
    }

    .top-news-text {
      flex-grow: 1;
      font-size: 14px;
      margin: 0 40px 0 20px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    /* コンタクト */
    .section-contact {
      padding: 40px 24px 10px;
      background: url(img/top-contact-bg.jpg) no-repeat center / cover;
      color: #fff;
    }

    .section-contact_inner {
      margin: 0 auto;
      display: flex;
      justify-content: space-between;
      align-items: stretch;
      gap: 40px;
    }

    .block-heading__dot.contact {
      background-color: #03BBD5;
    }

    .contact-left {
      width: 55%;
    }

    .top-contact-lead {
      font-size: 18px;
      line-height: 1.8;
      text-align: left;
    }

    .contact-right {
      width: 40%;
      display: flex;
      flex-direction: column;
      gap: 24px;
    }

    a.about-button.contact {
      background-color: rgba(255, 255, 255, 0.75);
    }

    /* フッター */
    .footer {
      position: relative;
      z-index: 600;
      align-items: center;
      background-color: #1a3050;
      color: #fff;
      padding: 80px 24px 40px;
    }

    .footer__inner {
      max-width: 1100px;
      margin: 0 auto;
      display: flex;
      justify-content: space-between;
      padding-bottom: 60px;
    }

    .footer__logo img {
      width: 300px;
      margin-bottom: 25px;
    }

    .footer__address {
      font-size: 13px;
      line-height: 2;
      color: #cbd5e0;
    }

    .footer__address .company-name {
      font-size: 15px;
      font-weight: bold;
      color: #fff;
      margin-bottom: 10px;
    }

    .footer__nav {
      display: flex;
      gap: 100px;
    }

    .footer__nav-list {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .footer__nav-list li {
      margin-bottom: 15px;
    }

    .footer__nav-list a {
      color: #fff;
      text-decoration: none;
      font-size: 14px;
      transition: color 0.3s;
    }

    .footer__nav-list a:hover {
      color: #55acee;
    }

    .footer__copyright {
      text-align: center;
      border-top: 1px solid rgba(255, 255, 255, 0.1);
      padding-top: 30px;
    }

    .footer__copyright small {
      font-size: 12px;
      color: #cbd5e0;
    }

    .sponly {
      display: none;
    }









    @media (max-width: 768px) {
      .footer__inner {
        flex-direction: column;
        gap: 50px;
        padding-bottom: 10px;
      }

      .footer {
        padding: 80px 3% 80px;
      }

      .footer__nav {
        gap: 40px;
      }
    }

    /* ===== Mega Menu (PC) ===== */
    .mega-menu {
      position: absolute;
      top: 100%;
      left: 0;
      width: 100%;
      z-index: 999;
      background: rgba(255, 255, 255, 0.98);
      box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
      opacity: 0;
      visibility: hidden;
      transform: translateY(-8px);
      transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
    }

    .mega-menu.is-open {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }

    .mega-menu__inner {
      max-width: 1100px;
      margin: 0 auto;
      padding: 24px 50px;
      box-sizing: border-box;
      display: flex;
      gap: 40px;
    }

    .mega-panel {
      display: none;
      width: 100%;
    }

    .mega-panel.is-active {
      display: block;
    }

    .mega-links {
      list-style: none;
      padding: 0;
      margin: 0;
      display: flex;
      gap: 15px 5%;
      justify-content: center;
    }

    .mega-links li {
      width: calc(100% / 4);
    }

    .mega-links a {
      padding: 10px 12px;
      border-radius: 6px;
      text-decoration: none;
      color: #093D5D;
      font-weight: 700;
      background: #bbe2f1;
      transition: transform .15s ease, background-color .15s ease;
      text-align: center;
      white-space: nowrap;
      display: inline-block;
      min-width: 260px;

      font-size: clamp(12px, 1vw, 16px);
      white-space: nowrap;
    }

    .mega-links a:hover {
      transform: translateY(-2px);
      background: #eaf2ff;
      color: #333;
    }

    /* ===== SP Hamburger & Overlay (<=600px) ===== */
    .hamburger-btn {
      display: none;
      border: none;
      background: transparent;
      padding: 8px;
      cursor: pointer;
      line-height: 0;
      -webkit-tap-highlight-color: transparent;
    }

    /* ===== 通常時（ハンバーガー表示） ===== */
    .hamburger-btn .bar {
      height: 2px;
      background: #fff;
      transition: transform .2s ease, opacity .2s ease, width .2s ease;
      margin: 4px 0;
    }

    /* 1本目：通常 */
    .hamburger-btn .bar:nth-child(1) {
      width: 28px;
    }

    /* 2本目：80%幅・右寄せ */
    .hamburger-btn .bar:nth-child(2) {
      width: 22px;
      /* 28px × 0.8 */
      margin-left: auto;
    }

    /* 3本目は非表示 */
    .hamburger-btn .bar:nth-child(3) {
      display: none;
    }



    /* ===== クリック後（×表示） ===== */
    .hamburger-btn[aria-expanded="true"] .bar:nth-child(1) {
      width: 28px;
      transform: translateY(4px) rotate(45deg);
    }

    .hamburger-btn[aria-expanded="true"] .bar:nth-child(2) {
      width: 28px;
      margin-left: 0;
      transform: translateY(-4px) rotate(-45deg);
    }

    /* クリック後も3本目は使わない */
    .hamburger-btn[aria-expanded="true"] .bar:nth-child(3) {
      display: none;
    }

    /* SP Overlay */
    .sp-overlay {
      position: fixed;
      inset: 0;
      z-index: 2000;
      background: rgba(0, 0, 0, 0.88);
      opacity: 0;
      visibility: hidden;
      transition: opacity .2s ease, visibility .2s ease;
      overflow: hidden;
    }

    .sp-overlay.is-open {
      opacity: 1;
      visibility: visible;
    }

    .sp-overlay__inner {
      height: 100%;
      overflow-y: auto;
      padding: 96px 20px 40px;
      box-sizing: border-box;
    }

    /* オーバーレイ上の×ボタン（最前面） */
    .sp-overlay__close {
      position: fixed;
      top: 18px;
      right: 16px;
      z-index: 2100;
      width: 44px;
      height: 44px;
      border: none;
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.10);
      cursor: pointer;
      display: none;
      align-items: center;
      justify-content: center;
      -webkit-tap-highlight-color: transparent;
    }

    .sp-overlay.is-open .sp-overlay__close {
      display: inline-flex;
    }

    .sp-overlay__close .bar {
      width: 22px;
      height: 2px;
      background: #fff;
      position: absolute;
      margin: 0;
    }

    .sp-overlay__close .bar:nth-child(1) {
      transform: rotate(45deg);
    }

    .sp-overlay__close .bar:nth-child(2) {
      opacity: 0;
    }

    .sp-overlay__close .bar:nth-child(3) {
      transform: rotate(-45deg);
    }

    .sp-menu {
      list-style: none;
      padding: 0;
      margin: 0;
      display: grid;
      gap: 10px;
    }

    .sp-menu__item {
      border: 1px solid rgba(255, 255, 255, 0.85);
      border-radius: 10px;
      overflow: hidden;
      background: rgba(255, 255, 255, 0.85);
    }

    .sp-menu__trigger {
      width: 100%;
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 16px 14px;
      text-decoration: none;
      color: #333;
      font-weight: 700;
      background: transparent;
      border: none;
      cursor: pointer;
      font-size: 16px;
      text-align: left;
    }

    .sp-menu__chev {
      font-size: 18px;
      opacity: .9;
      transition: transform .2s ease;
    }

    .sp-menu__item.is-open .sp-menu__chev {
      transform: rotate(180deg);
    }

    .sp-accordion {
      max-height: 0;
      overflow: hidden;
      transition: max-height .25s ease;
      background: rgba(0, 0, 0, 0.20);
    }

    .sp-menu__item.is-open .sp-accordion {
      max-height: 600px;
    }


    .sp-menu .sp-menu__item:nth-child(5) {
      margin-bottom: 30px;
    }

    .sp-menu .sp-menu__item:last-child .sp-menu__trigger {
      background: linear-gradient(#0D58BE, #056FFF);
      color: #fff;
    }



    .sp-accordion ul {
      list-style: none;
      padding: 8px 14px 14px;
      margin: 0;
      display: flex;
      gap: 8px;
      flex-flow: column;
    }

    .sp-accordion ul li {
      width: 100%;
    }

    .sp-accordion a {
      display: block;
      padding: 12px 12px;
      border-radius: 8px;
      text-decoration: none;
      color: #fff;
      background: rgba(255, 255, 255, 0.8);
      font-weight: 600;
      color: #333;
      font-size: clamp(0.8rem, 3vw, 1rem);
    }

    /* SP時：headerは流用しつつ、メニューはオーバーレイへ */
    @media (max-width: 600px) {


      .is-zoomed {
        transform: scale(20);
      }

      header {
        padding: 18px 16px;
        gap: 12px;
      }

      header ul {
        gap: 10px;
      }

      /* menu01-04はヘッダー上からは隠す（オーバーレイで出す） */
      header ul li:has(a.menu01),
      header ul li:has(a.menu02),
      header ul li:has(a.menu03),
      header ul li:has(a.menu04) {
        display: none;
      }

      .contact-label {
        padding: 8px 12px;
        font-size: 13px;
        white-space: nowrap;
      }


      .hamburger-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        /* 3本線を縦に積む */
        align-items: center;
        justify-content: center;
      }

      /* PCメガメニューはSPでは完全停止 */
      .mega-menu {
        display: none !important;
      }

      .sub-title {
        width: calc(100% - 32px);
        font-size: 1.2rem;
      }

      .cta-container {
        width: calc(100% - 32px);
        gap: 16px;
        flex-direction: column;
      }

      .about-button {
        width: 100%;
      }

    }


    @media (max-width: 600px) {

      .sponly {
        display: block;
      }

      .pconly {
        display: none;
      }


      .section-inner.section-news_inner {
        flex-flow: column;
        padding: 0;
      }

      .top-mainTitle_text {
        font-size: 18px;
        text-align: left;
      }

      .service-cards {
        display: flex;
        flex-flow: column;
      }

      .service-card {
        padding: 20px;
      }

      .top-news-list {
        width: 100%;
      }

      .top-news-link {
        flex-flow: column;
        justify-content: start;
      }

      .block-heading.news .section-button {
        display: none;
      }

      .top-news-date {
        margin-bottom: 10px;
        padding: 0;
        width: auto;
        text-align: left;
        display: block;
        width: 100%;
      }

      .top-news-text {
        padding: 0 11% 0 0;
        text-align: left;
        white-space: unset;
        margin: 0;
        width: 80%;
      }

      .next-section h2 {
        margin-bottom: 20px;
      }

      .block-heading {
        margin-bottom: 20px;
      }

      .next-section {
        padding: 50px 0px;
      }

      .strengths-card {
        height: auto;
        padding: 30px 20px 30px 20px;
        flex-flow: column;
        gap: 0px;
      }

      .strengths-card__image img {
        width: auto;
        height: auto;
        top: 0;
        max-height: 200px;
      }

      .next-section.section-nearshore h2 {
        display: flex;
        flex-flow: column;
      }

      .nearshore-text {
        font-size: 17px;
        margin-bottom: 40px;
      }

      .nearshore-feature-list {
        grid-template-columns: repeat(2, 1fr);
        margin-bottom: 40px;
      }

      .section-recruit {
        padding: 0;
      }

      .recruit-heading__en {
        font-size: 45px;
      }

      .recruit-inner {
        max-width: unset;
        margin: 0 auto;
        padding: 80px 0px 0px;
      }

      .recruit-lead,
      .recruit-text {
        text-align: left;
      }

      .section-contact_inner {
        flex-flow: column;
      }



      .contact-right,
      .contact-left {
        width: 100%;
      }

      .block-heading__en.contact {
        margin: 0;
      }

      .section-contact {
        padding: 40px 30px;
      }

      .footer__nav {
        display: none;
      }

      .floating-banner {
        right: 0;
        bottom: 0;
        width: 100%;
        height: auto;
        background: linear-gradient(#0D58BE, #056FFF);
        color: #fff;
        text-decoration: none;
        /*border-top-left-radius:10px;
border-top-right-radius:10px;*/
        padding: 20px 0
      }



    }







    /*採用用*/


    .floating-circle-entry {
      position: fixed;
      right: 24px;
      bottom: 24px;
      display: flex;
      flex-direction: column;
      gap: 20px;
      z-index: 1000;
    }

    .circle-entry {
      position: relative;
      width: 100px;
      height: 100px;
      border-radius: 50%;
      text-decoration: none;
      overflow: hidden;
    }

    .circle-entry.blue {
      background: #066FFF;
    }

    .circle-entry.purple {
      background: #9D4EDD;
    }



    .circle-center {
      position: absolute;
      inset: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      color: #fff;
      font-weight: 700;
      text-align: center;
      z-index: 2;
    }

    .circle-center small {
      font-size: 10px;
      letter-spacing: 0.1em;
      opacity: 0.85;
    }


    .sp-entry-bar {
      display: none;
    }

    @media (max-width: 768px) {

      .final-video {
        left: 0;
        right: 0;
      }



      .floating-circle-entry {
        display: none;
      }

      .sp-entry-bar {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 56px;
        display: flex;
        z-index: 1000;
      }

      .sp-entry-btn {
        flex: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: 700;
        font-size: 14px;
        color: #fff;
        text-decoration: none;
        letter-spacing: 0.04em;
      }

      .sp-entry-btn.new {
        background-color: #066FFF;
      }

      /* 中途 */
      .sp-entry-btn.career {
        background-color: #9D4EDD;
      }

      header ul li.recruit {
        display: none;
      }

      .about-button__text {
        font-size: 16px;
      }

      .footer__info {
        width: 80%;
        margin: 0 auto;
      }







    }