    body {
      background: #c4a3bf;
      font-family: "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont,
        "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    }

    .wrap {
      max-width: 900px;
    }

    .kicker {
      letter-spacing: .05em;
    }

    .note {
      font-size: .9rem;
      color: #6c757d;
    }

    .variety-name {
      font-size: 1.4rem;
    }

    .badge-soft {
      background: #f8f9fa;
      border: 1px solid #e9ecef;
      color: #212529;
    }

    .hr-half {
       width: 50%;
       margin: 1em auto;
       color: #6c757d;
      }

    /* 画像は正方形トリミング済み前提：切らずに全体表示 */
    .variety-img {
      aspect-ratio: 1 / 1;
      object-fit: contain;
      /* ← cover から contain に変更 */
      object-position: center;
      /* 位置調整（基本は中央でOK） */
      background: #f1f1f1;
      /* 余白が出た場合の違和感防止 */
    }

    section[id] {
      scroll-margin-top: 16px;
    }

    .subhead {
      display: flex;
      align-items: center;
      gap: .5rem;
      padding: .55rem .75rem;
      border: 1px solid #e9ecef;
      border-radius: .75rem;
      background: #f8f9fa;
    }

    .subhead::before {
      content: "";
      width: .5rem;
      height: 1.25rem;
      border-radius: 999px;
      background: #212529;
    }

    .back-to-top {
      position: fixed;
      right: 16px;
      bottom: 16px;
      width: 44px;
      height: 44px;
      border-radius: 50%;
      background: #212529;
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 18px;
      opacity: 0;
      pointer-events: none;
      transition: opacity .3s ease;
      z-index: 1000;
    }

    .back-to-top:hover {
      background: #000;
    }

    .back-to-top.show {
      opacity: 0.85;
      pointer-events: auto;
    }

    /* スマホ用メニュー */
    .mobile-menu-btn {
      position: fixed;
      top: 12px;
      right: 12px;
      width: 44px;
      height: 44px;
      border-radius: 50%;
      border: none;
      background: #212529;
      color: #fff;
      font-size: 22px;
      z-index: 1100;
    }

    .mobile-menu {
      position: fixed;
      top: 0;
      right: 0;
      width: 70%;
      max-width: 260px;
      height: 100%;
      background: #fff;
      box-shadow: -4px 0 12px rgba(0, 0, 0, .15);
      padding: 60px 20px;
      transform: translateX(100%);
      transition: transform .3s ease;
      z-index: 1050;
    }

    .mobile-menu a {
      display: block;
      padding: 10px 0;
      color: #212529;
      text-decoration: none;
      font-weight: 500;
      border-bottom: 1px solid #eee;
    }

    /* 表示状態 */
    .mobile-menu.show {
      transform: translateX(0);
    }

    /* ========================================
   キャラクター紹介ページ用 追記CSS（整理版）
   ======================================== */
    /* プロフィール（1カラム） */
    .character-page .profile-lead {
      line-height: 1.9;
      color: var(--sp-text);
    }

    .character-page .profile-list-tight dt,
    .character-page .profile-list-tight dd {
      padding-top: 0.25rem;
      padding-bottom: 0.5rem;
      margin-bottom: 0;
    }

    .character-page .profile-list-tight dt {
      font-weight: 700;
    }

    .character-page .profile-list-tight dd {
      border-bottom: 1px solid #eadfd5;
    }

    .character-page .profile-list-tight dd:last-of-type {
      border-bottom: none;
    }

    @media (max-width: 575.98px) {
      .character-page .profile-list-tight dt {
        padding-bottom: 0.1rem;
      }

      .character-page .profile-list-tight dd {
        padding-top: 0;
        padding-bottom: 0.8rem;
        margin-bottom: 0.4rem;
      }
    }

    .kodawari-icon {
      font-size: 2rem;
      margin-bottom: .75rem;
      line-height: 1;
    }

    .instagram-link {
      transition: color 0.2s ease;
    }

    .instagram-link:hover {
      color: #E1306C !important;
    }