* {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
      }

      body {
        font-family:
          "Inter",
          -apple-system,
          BlinkMacSystemFont,
          "Segoe UI",
          Roboto,
          sans-serif;
        line-height: 1.6;
        color: #000;
        background: #fff;
        overflow-x: hidden;
      }

      .container {
        max-width: 1440px;
        margin: 0 auto;
        padding: 0 80px;
      }

      @media (max-width: 1024px) {
        .container {
          padding: 0 40px;
        }
      }

      @media (max-width: 768px) {
        .container {
          padding: 0 20px;
        }
      }

      /* Header */
      .header {
        background: #f7f7f7;
        height: 88px;
        margin: 0 auto;
        overflow: hidden;
      }

      .header-content {
        height: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
      }

      .header-left {
        display: flex;
        align-items: center;
        gap: 16px;
      }

      .logo-absolute {
        margin-left: 0;
        padding-left: 0;
      }

      .company-buttons {
        display: flex;
        padding-left: 24px;
        gap: 26px;
      }

      .btn {
        padding: 15px 25px;
        border: none;
        border-radius: 8px;
        font-size: 14px;
        font-weight: 500;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        display: inline-flex;
        align-items: center;
        justify-content: center;
      }

      .btn-secondary {
        background: #454545;
        color: #fff;
      }

      .btn-secondary:hover {
        background: #333;
      }

      .btn-primary {
        background: #0c69d2;
        color: #f7f7f7;
        font-size: 16px;
        font-weight: 500;
        padding: 14px 24px;
      }

      .btn-primary:hover {
        background: #814ed9;
      }

      .nav-menu {
        display: flex;
        align-items: center;
        gap: 48px;
        padding-right: 40px;
      }

      .nav-link {
        color: #000;
        text-decoration: none;
        font-size: 20px;
        font-weight: 500;
        transition: color 0.2s;
      }

      .nav-link:hover {
        color: #666;
      }

      /* Hero Section */
      .hero-body {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 32px;
        flex-wrap: wrap;
        text-align: center;
      }

      .hero-text p {
        font-size: 24px;
        font-weight: 600;
        color: #ffffff;
        margin-bottom: 8px;
        line-height: 1.6;
      }

      .hero-section {
        background: #fff;
        padding: 48px 0;
      }

      .hero-content {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 40px;
      }

      .hero-left {
        flex: 2;
      }

      .hero-title {
        font-size: 40px;
        font-weight: 700;
        color: #ffffff;
        margin-bottom: 24px;
        letter-spacing: -0.8px;
        text-align: center;
      }

      .logo-placeholder {
        filter: brightness(0) invert(1);
        max-width: 300px;
        height: auto;
        display: flex;
        align-items: center;
        justify-content: center;
      }

      /* Blue Gradient Section */
      .gradient-section {
        background: linear-gradient(135deg, #000274 0%, #0004da 100%);
        padding: 40px 0 0 0;
        text-align: center;
      }

      .main-placeholder{
        max-width:780px;
        height: auto;
        margin-top: 5px;
        display: center;
        align-items: center;
        justify-content: center;
      }

      .main-title {
        font-size: 64px;
        font-weight: 700;
        color: #fff;
        letter-spacing: -1.72px;
        line-height: 1.2;
        padding: 40px 0 40px 0;
      }

      .main-text{
        font-size: 24px;
        font-weight: 400;
        color: #fff;
        padding: 40px 80px;
        text-align: center;
      }        

      /* Demo Section */
      .demo-section {
        background: #fff;
        padding: 80px 0;
      }

      .demo-video {
        position: relative;
        width: 100%;
        max-width: 1112px;
        aspect-ratio: 16 / 9;
        background: #000;
        border: 1px solid #000;
        border-radius: 8px;
        margin: 0 auto 32px;
        overflow: hidden;
      }

      .demo-video iframe {
        width: 100%;
        height: 100%;
        border: none;
        display: block;
      }

      .demo-text{
        font-size: 24px;
        font-weight: 400;
        color: #000000;
        padding: 20px 80px;
        text-align: center;
      }    

      .section-title {
        font-size: 48px;
        font-weight: 600;
        letter-spacing: -0.96px;
        margin-bottom: 48px;
      }

      /* Service Section */
      .service-section {
        background: linear-gradient(135deg, #000274 0%, #0004da 100%);
        padding: 80px 0;
      }

      .service-title {
        color: #fff;
      }

      .service-cards {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
        gap: 48px;
      }

      .service-card {
        background: transparent;
      }

      .service-image {
        width: 90%;
        height: auto;
        margin: 24px auto 24px;
        display: block;
        align-items: center;
        justify-content: center;
        border-radius:9px;
        background-color: #ffffff;
      }

      .service-card-title {
        font-size: 32px;
        font-weight: 700;
        color: #fffdfd;
        margin-bottom: 4px;
        line-height: 1.5;
        text-align: center;
      }

      .service-card-desc {
        font-size: 24px;
        color: #d7d2d2;
        line-height: 1.5;
      }

      /* Brand Story Section */
      .brand-story-section {
        background: #fff;
        padding: 80px 0;
      }

      .brand-story-content {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 80px;
        align-items: start;
      }

      .story-items {
        display: flex;
        flex-direction: column;
        gap: 24px;
        margin-bottom: 48px;
      }

      .story-item h3 {
        font-size: 18px;
        font-weight: 500;
        color: #000;
        margin-bottom: 8px;
        line-height: 1.5;
      }

      .story-item p {
        font-size: 24px;
        color: #828282;
        line-height: 1.5;
      }

      .story-buttons {
        display: flex;
        gap: 16px;
      }

      .btn-large {
        padding: 12px 24px;
        font-size: 24px;
        border-radius: 8px;
      }

      .btn-gray {
        background: #e6e6e6;
        color: #000;
      }

      .person-image {
        width: auto;
        height: 480px;
        display: flex;
        border-radius:9px;
      }

      /* Team Section */
      .team-section {
        background: linear-gradient(135deg, #000274 0%, #0004da 100%);
        padding: 80px 0;
      }

      .team-title {
        color: #fff;
      }

      .team-cards {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
        gap: 32px;
      }

      .team-card-image {
        width: 100%;
        height: 341px;
        background: #666;
        border-radius: 8px;
        margin-bottom: 32px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;
      }

      .team-card-title {
        font-size: 32px;
        font-weight: 500;
        color: #fff;
        margin-bottom: 8px;
        line-height: 1.5;
      }

      .team-card-desc {
        font-size: 24px;
        color: #d7d2d2;
        line-height: 1.5;
      }

      /* Customer Voice Section */
      .customer-voice-section {
        background: linear-gradient(135deg, #000274 0%, #0004da 100%);
        padding: 80px 0;
      }

      .customer-voice-content {
        text-align: center;
      }

      .customer-voice-title {
        font-size: 32px;
        font-weight: 600;
        color: #fff8f8;
        letter-spacing: -0.96px;
        padding-bottom: 24px;
      }

      .customer-buttons {
        gap: 24px;
      }

      .btn-white {
        background: #e6e6e6;
        color: rgba(0, 0, 0, 0.9);
      }

      /* SNS Section */
      .sns-section {
        background: #fff;
        padding: 80px 0;
      }

      .testimonial-cards {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: 32px;
      }

      .testimonial-card {
        border: 1px solid #e6e6e6;
        border-radius: 12px;
        padding: 32px;
        background: #fff;
      }

      .testimonial-quote {
        font-size: 24px;
        color: #000;
        margin-bottom: 48px;
        line-height: 1.5;
      }

      .testimonial-author {
        display: flex;
        align-items: center;
        gap: 16px;
      }

      .avatar {
        width: 45px;
        height: 45px;
        border-radius: 50%;
        background: #d9d9d9;
      }

      .author-name {
        font-size: 16px;
        font-weight: 500;
        color: #000;
        margin-bottom: 2px;
      }

      .author-desc {
        font-size: 16px;
        color: #828282;
      }

      /* Footer */
      .footer {
        background: #fff;
        padding: 48px 0;
        border-top: 1px solid #e6e6e6;
      }

      .footer-content {
        display: grid;
        grid-template-columns: 1fr 2fr;
        gap: 48px;
      }

      .footer-left h3 {
        font-size: 24px;
        color: #000;
        margin-bottom: 32px;
      }

      .footer-company-info {
        display: flex;
        align-items: center;
        gap: 24px;
      }

      .footer-logo {
        width: 80px;
        height: auto;
      }

      .footer-contact {
        text-align: center;
        margin-top: 24px;
      }

      .btn-footer {
        padding: 12px 24px;
        font-size: 14px;
        font-weight: 500;
        border-radius: 6px;
        background: #3133c7;
        color: #fff;
        text-decoration: none;
        display: inline-block;
        transition: background 0.3s;
      }

      .btn-footer:hover {
        background: #0c69d2;
      }

      .company-text {
        display: flex;
        flex-direction: column;
      }

      .company-name {
        font-size: 16px;
        font-weight: 600;
        color: #444;
      }

      .company-address {
        font-size: 14px;
        color: #777;
      }

      .social-icons {
        display: flex;
        gap: 8px;
      }

      .footer h6{
        color: #848282;
        padding: 48px 0;
        text-align: center;
      }

      .social-icon {
        width: 40px;
        height: 40px;
        background: #f0f0f0;
        border-radius: 4px;
        display: flex;
        align-items: center;
        justify-content: center;
      }

      .footer-nav {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 48px;
      }

      .footer-nav h4 {
        font-size: 16px;
        font-weight: 500;
        color: #000;
        margin-bottom: 24px;
      }

      .footer-nav ul {
        list-style: none;
      }

      .footer-nav li {
        margin-bottom: 24px;
      }

      .footer-nav a {
        color: #454545;
        text-decoration: none;
        font-size: 16px;
      }

      .footer-nav a:hover {
        color: #000;
      }

      /* Responsive Design */
      @media (max-width: 1024px) {
        .main-title {
          font-size: 60px;
        }

        .section-title {
          font-size: 36px;
        }

        .hero-content {
          flex-direction: column;
        }

        .brand-story-content {
          display: flex;
          flex-direction: column;
          gap: 40px;
        }

        .person-image {
          width: auto;
          max-height: 480px;
          object-fit: contain;
          display: block; /* 中央揃えには block 要 */
          margin: 0 auto;  /* 中央揃え */
          border-radius: 9px;
        }

        .nav-menu {
          display: none;
        }

        .main-placeholder{
          width:60%;
        }
      }

      @media (max-width: 768px) {
        .main-title {
          font-size: 36px;
        }

        .hero-title {
          font-size: 28px;
        }

        .logo-placeholder {
          width: 100%;
          height: 200px;
        }

        .service-cards {
          grid-template-columns: 1fr;
        }

        .team-cards {
          grid-template-columns: 1fr;
        }

        .testimonial-cards {
          grid-template-columns: 1fr;
        }

        .customer-voice-content {
          flex-direction: column;
          gap: 32px;
          text-align: center;
        }

        .customer-buttons {
          flex-direction: column;
        }

        .footer-content {
          grid-template-columns: 1fr;
        }

        .footer-nav {
          grid-template-columns: 1fr;
        }

          .footer-company-info {
          flex-direction: column;
          align-items: flex-start;
          gap: 16px;
        }

        .footer-logo {
          width: 60px;
        }

        .company-name, .company-address {
          text-align: left;
        }
      }

        .company-buttons {
          display: none;
        }