/* ============ ガンバルNINJA — styles ============ */
/* 日本寄りパステル × ニンジャ墨 × ポップなネオ・ブルータル */

@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,700;12..96,800&family=Zen+Kaku+Gothic+New:wght@400;500;700;900&family=Zen+Maru+Gothic:wght@400;500;700;800;900&display=swap');

:root {
  /* ===== Sanrio調パステルパレット =====
     Primary  : ソフトピンク  (cherry blossom pink)
     Accent   : スカイブルー  (sky blue)
     Base     : 温かいホワイト (warm white)
     Line/Text: ダークラベンダー (dark lavender)
  */
  --shu:       #FF85A1;   /* ソフトピンク（メインアクセント） */
  --shu-2:     #FFF0F5;   /* 薄ピンク */
  --asagi:     #7EC8E3;   /* スカイブルー */
  --asagi-2:   #EAF6FB;   /* 薄ブルー */
  --sumi:      #3D3060;   /* ダークラベンダー（文字・枠線） */
  --sumi-2:    #7060A0;   /* ミディアムラベンダー */

  --paper:     #FFFAFC;   /* 温かいホワイト */
  --cream:     #FFF5F8;   /* ペールピンク */

  /* カラーエイリアス */
  --sakura:    #FFB7CE;   /* パステルピンク */
  --sakura-2:  #FFF0F5;
  --matcha:    #B8E8C8;   /* パステルミント */
  --matcha-2:  #EDFAF5;
  --yamabuki:  #FFE080;   /* パステルイエロー */
  --yamabuki-2:#FFFAE8;
  --fuji:      #C8B4F0;   /* パステルラベンダー */
  --fuji-2:    #F5EFFE;
  --kohaku:    var(--shu);
  --ink:       var(--sumi);
  --ink-2:     var(--sumi-2);
  --line:      var(--sumi);
  --shuriken:  var(--sumi);

  --radius:    20px;
  --radius-lg: 30px;
  --shadow:    0 3px 10px rgba(0,0,0,0.07);
  --shadow-lg: 0 5px 16px rgba(0,0,0,0.09);
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: 'Zen Kaku Gothic New', 'Plus Jakarta Sans', system-ui, sans-serif;
  font-weight: 500;
  color: var(--ink);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
  line-height: 1.65;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; border: 0; background: transparent; color: inherit; }
img, svg { display: block; max-width: 100%; }

.jp-display {
  font-family: 'Zen Maru Gothic', 'Zen Kaku Gothic New', system-ui, sans-serif;
  font-weight: 900;
  letter-spacing: 0.02em;
  line-height: 1.1;
}
.en-display {
  font-family: 'Bricolage Grotesque', 'Zen Maru Gothic', system-ui, sans-serif;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.container { max-width: 1200px; margin: 0 auto; padding: 0 28px; }

/* ===================== BACKGROUND TEXTURE ===================== */
body::before {
  content: '';
  position: fixed; inset: 0;
  background-image:
    radial-gradient(circle at 1px 1px, rgba(31,29,46,.06) 1px, transparent 0);
  background-size: 22px 22px;
  pointer-events: none; z-index: 0;
}
main, header, footer, section { position: relative; z-index: 1; }

