body {
  text-align: center;
  transition: filter 0.3s ease;
  background-color: white;
  color: #111;
  font-family: "MS PGothic","MS Gothic",system-ui,sans-serif;
  line-height: 1.6;
  margin: 0;
  padding: 16px 0 40px;
}

a { color: inherit; }
a:hover { text-decoration: underline; }

img { -webkit-user-drag: none; }

/* ロゴはPCで見栄えする最大幅に */
body > img:first-of-type {
  width: 420px;
  max-width: 92vw; /* PCでもウィンドウ小さい時の保険 */
  height: auto;
  display: block;
  margin: 0 auto 10px;
}

/* テーブルメニュー（構造はそのまま） */
table { border-collapse: collapse; margin: 0 auto; }
.menuwrap { width: 100%; margin: 10px 0 18px; }
.menu { width: 720px; max-width: 92vw; }
.menu td {
  border: 1px solid #000;
  padding: 10px;
  text-align: center;
  width: 33%;
}
.menu a {
  display: block;
  padding: 6px 0;
  text-decoration: none;
  font-weight: 700;
  letter-spacing: .06em;
}

/* キャラ表示ブロック */
.image-text { position: relative; }

/* 吹き出し画像サイズ（元の雰囲気維持） */
img.big {
  width: 720px;
  max-width: 92vw; /* いちおう保険 */
  height: auto;
  display: block;
  margin: 0 auto;
}

/* 吹き出しの中の文字：読みやすさだけ改善 */
.image-text .text {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 560px;        /* PCで読みやすい固定幅 */
  transform: translate(-50%, -50%);
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
}

/* 立ち絵を前面に */
.image-pair {
  display: flex;
  justify-content: center;
  position: relative;
  margin: 18px 0;
}
.image-pair img { margin: 0; }

img.move-front {
  position: absolute;
  z-index: 1;
  width: 360px;   /* PC向けに固定で安定 */
  height: auto;
}

/* 位置は元の指定を維持 */
img.move-right { left: 60%; top: 0; }
img.move-left  { left: 10%; top: 0; }
/* 立ち絵の共通：中央基準 */
img.move-front{
  position: absolute;
  z-index: 1;
  top: 0;
}

/* ふぃ（右側）：中央から +px */
img.move-right{
  left: 50%;
  transform: translateX(120px);  /* ★右へ。数値で調整 */
}

/* サラダ（左側）：中央から -px */
img.move-left{
  left: 50%;
  transform: translateX(-470px); /* ★左へ。数値で調整 */
}
/* ブラウザ標準カーソル抹殺（カカポだけ表示） */
html, body, * { cursor: none !important; }

#custom-cursor{
  position: fixed;
  left: 0; top: 0;
  width: 40px;
  height: auto;
  pointer-events: none;
  display: none;
  z-index: 1000000;
}

