﻿:root {
        --blue: #5aaddc;
        --orange: #f07a28;
        --blue-dim: rgba(90, 173, 220, 0.12);
        --bg: #060e1c;
        --bg-2: #0b1628;
        --bg-card: #0f1c32;
        --text: #e4edf8;
        --text-sub: #7a9bbf;
        --text-dim: #4a6080;
        --white: #ffffff;
        --border: rgba(255, 255, 255, 0.07);
      }
      *, *::before, *::after {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
      }
      html {
        scroll-behavior: smooth;
      }
      body {
        font-family: "Noto Sans JP", sans-serif;
        background: var(--bg);
        color: var(--text);
        line-height: 1.7;
        overflow-x: hidden;
        cursor: none;
      }
      a {
        text-decoration: none;
        color: inherit;
        cursor: none;
      }
      ul {
        list-style: none;
      }
      .cursor {
        position: fixed;
        width: 8px;
        height: 8px;
        background: var(--blue);
        border-radius: 50%;
        pointer-events: none;
        transform: translate(-50%, -50%);
        z-index: 10000;
        transition: width 0.15s, height 0.15s, background 0.15s;
      }
      .cursor-follower {
        position: fixed;
        width: 36px;
        height: 36px;
        border: 1.5px solid var(--orange);
        border-radius: 50%;
        pointer-events: none;
        transform: translate(-50%, -50%);
        z-index: 9999;
        opacity: 0.55;
        transition: width 0.2s, height 0.2s, opacity 0.2s;
      }
      .cursor.hover {
        width: 44px;
        height: 44px;
        background: rgba(90, 173, 220, 0.18);
      }
      .cursor-follower.hover {
        width: 52px;
        height: 52px;
        opacity: 0.35;
      }
      body::before {
        content: "";
        position: fixed;
        inset: 0;
        background-image: linear-gradient(rgba(90, 173, 220, 0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(90, 173, 220, 0.03) 1px, transparent 1px);
        background-size: 40px 40px;
        pointer-events: none;
        z-index: 0;
      }
      header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0 48px;
     height: 90px;
        position: sticky;
        top: 0;
        background: rgba(6, 14, 28, 0.92);
        backdrop-filter: blur(16px);
        border-bottom: 1px solid var(--border);
        z-index: 1000;
      }
      .logo {
        font-family: "Syne", sans-serif;
        font-size: 22px;
        font-weight: 800;
        color: var(--white);
        letter-spacing: 1px;
      }
      .logo span {
        color: var(--blue);
      }
      nav ul {
        display: flex;
        gap: 32px;
        align-items: center;
      }
      nav ul li a {
        font-size: 13px;
        font-weight: 500;
        color: var(--text-sub);
        letter-spacing: 0.5px;
        transition: color 0.25s;
      }
      nav ul li a:hover {
        color: var(--blue);
      }
      .btn-nav {
        background: transparent;
        border: 1.5px solid var(--orange);
        color: var(--orange) !important;
        padding: 7px 22px;
        border-radius: 4px;
        font-size: 13px;
        font-weight: 700;
        transition: background 0.25s, color 0.25s !important;
      }
      .btn-nav:hover {
        background: var(--orange) !important;
        color: var(--bg) !important;
      }
      .page-header {
        padding: 80px 48px 40px;
        text-align: center;
        position: relative;
        z-index: 1;
      }
      .page-title {
        font-size: 34px;
        font-weight: 900;
        color: var(--white);
        line-height: 1.2;
        margin-bottom: 16px;
      }
      .page-title span {
        color: var(--blue);
      }
      .page-desc {
        font-size: 15px;
        color: var(--text-sub);
      }
      .contact-wrap {
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 48px 100px;
        position: relative;
        z-index: 1;
      }
      .form-container {
        background: var(--bg-card);
        border: 1px solid var(--border);
        border-radius: 8px;
        padding: 60px;
      }
      .confirm-item {
        display: grid;
        grid-template-columns: 200px 1fr;
        gap: 24px;
        padding: 24px 0;
        border-bottom: 1px solid var(--border);
      }
      .confirm-item:first-child {
        padding-top: 0;
      }
      .item_label {
        font-size: 15px;
        font-weight: 700;
        color: var(--white);
      }
      .confirm-item__value {
        font-size: 15px;
        color: var(--text-sub);
        line-height: 1.8;
        word-break: break-all;
      }
      .confirm-item__value.mf-confirm--multiline {
        white-space: pre-wrap;
      }
      .confirm-actions {
        display: flex;
        gap: 16px;
        justify-content: center;
        margin-top: 48px;
      }
      .btn_asset {
        display: inline-block;
        min-width: 200px;
        background: var(--orange);
        color: var(--bg);
        font-weight: 700;
        font-size: 15px;
        padding: 18px 32px;
        border: none;
        border-radius: 4px;
        cursor: none;
        transition: opacity 0.2s, transform 0.2s;
        text-align: center;
      }
      .btn_asset:hover {
        opacity: 0.88;
        transform: translateY(-2px);
      }
      .wpcf7-previous {
        background: transparent;
        border: 1px solid var(--border);
        color: var(--text-sub);
      }
      .wpcf7-previous:hover {
        border-color: var(--blue);
        color: var(--blue);
        background: var(--blue-dim);
      }
      .wpcf7-spinner {
        display: none;
      }
      footer {
        background: var(--bg-2);
        border-top: 1px solid var(--border);
        position: relative;
        z-index: 1;
      }
      .footer-cta {
        max-width: 1200px;
        margin: 0 auto;
        padding: 80px 48px;
        display: grid;
        grid-template-columns: 1fr auto;
        gap: 60px;
        align-items: center;
      }
      .footer-cta-text p:first-child {
        font-size: 13px;
        color: var(--text-sub);
        margin-bottom: 12px;
      }
      .footer-cta-text h3 {
        font-size: 30px;
        font-weight: 900;
        color: var(--white);
        display: flex;
        align-items: center;
      }
      .footer-logo {
        font-family: "Syne", sans-serif;
        font-weight: 800;
        letter-spacing: 1px;
        display: inline-flex;
        align-items: center;
      }
      .footer-logo span {
        color: var(--blue);
      }
      .footer-btn {
        display: inline-block;
        background: var(--orange);
        color: var(--bg);
        font-weight: 700;
        font-size: 15px;
        padding: 18px 48px;
        border-radius: 4px;
        white-space: nowrap;
        transition: opacity 0.2s, transform 0.2s;
        cursor: none;
      }
      .footer-btn:hover {
        opacity: 0.88;
        transform: translateY(-2px);
      }
      .footer-bottom {
        max-width: 1200px;
        margin: 0 auto;
        padding: 24px 48px;
        border-top: 1px solid var(--border);
        display: flex;
        justify-content: space-between;
        align-items: center;
      }
      .footer-links {
        display: flex;
        gap: 28px;
      }
      .footer-links a {
        font-size: 12px;
        color: var(--text-dim);
        transition: color 0.2s;
      }
      .footer-links a:hover {
        color: var(--blue);
      }
      .copyright {
        font-size: 12px;
        color: var(--text-dim);
      }
      @media (max-width: 768px) {
        header { padding: 0 20px; }
        nav ul { display: none; }
        .page-header { padding: 60px 20px 30px; }
        .contact-wrap { padding: 0 20px 80px; }
        .form-container { padding: 32px 20px; }
        .confirm-item { grid-template-columns: 1fr; gap: 8px; padding: 20px 0; }
        .confirm-actions { flex-direction: column-reverse; }
        .btn_asset { width: 100%; }
        .footer-cta { grid-template-columns: 1fr; gap: 32px; padding: 60px 20px; }
        .footer-bottom { flex-direction: column; gap: 16px; padding: 24px 20px; }
      }
