* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
  
  body {
    height: 300vh;
    font-family: 'Helvetica Neue', sans-serif;
    background: #000;
    color: #fff;
    overflow-x: hidden;
  }
  
  .world {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    transition: transform 0.2s ease;
    width: 90%;
    max-width: 100%;
  }
  
  /* モバイルファースト: 基本スタイル（小さい画面用） */
  h1 {
    font-size: 2rem;
    letter-spacing: 0.1em;
    transition: all 0.2s ease;
    word-break: break-word;
  }
  
  p {
    margin-top: 15px;
    opacity: 0.7;
    letter-spacing: 0.05em;
    font-size: 0.9rem;
    padding: 0 10px;
  }
  
  /* タブレット用（768px以上） */
  @media (min-width: 768px) {
    h1 {
      font-size: 3rem;
      letter-spacing: 0.15em;
    }
    
    p {
      font-size: 1rem;
      margin-top: 20px;
      letter-spacing: 0.08em;
    }
  }
  
  /* デスクトップ用（1024px以上） */
  @media (min-width: 1024px) {
    h1 {
      font-size: 4rem;
      letter-spacing: 0.2em;
    }
    
    p {
      font-size: 1.1rem;
      letter-spacing: 0.1em;
    }
    
    .world {
      width: auto;
    }
  }
  