@charset "UTF-8";

/* ========================================
   TOP
======================================== */

.p-top {
  --top-max: 2000px;
  --top-content-max: 1200px;
  --top-bg: #f0f0f0;
  overflow: clip;
  color: #090909;
  background: var(--top-bg);
}

.p-top a {
  color: inherit;
  text-decoration: none;
}

/* ========================================
   FV / INTRO
======================================== */

.p-top-intro {
  position: relative;
  width: min(100%, var(--top-max));
  margin-inline: auto;
  background: var(--top-bg);
}

.p-top-kv {
  --top-kv-sticky-top: 0px;

  position: sticky;
  top: var(--top-kv-sticky-top);
  z-index: 1;

  width: 100%;
  aspect-ratio: 1045 / 754;
  background: #f4f4f4;
}

.p-top-kv__canvas {
  position: absolute;
  inset: 0;
  container-type: inline-size;
}

.p-top-kv__collage {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: #f4f4f4;
}

.p-top-kv__collage {
  transition: none;
}

.p-top-kv__collage.is-disabled {
  pointer-events: none;
}

.p-top-kv__item {
  position: absolute;
  box-sizing: border-box;
  font-family: var(--font-ryo-gothic, "Noto Sans JP", sans-serif);
}

.p-top-kv__image {
  display: block;
  width: 100%;
  height: auto;
}

.p-top-kv__copy {
  min-width: 0;
}
.p-top-kv__copy--vertical {
  writing-mode: vertical-rl;
}
.p-top-kv__title,
.p-top-kv__eyebrow,
.p-top-kv__text {
  margin: 0;
}

.p-top-kv__title {
  font-family: var(--font-ryo-display, serif);
  font-size: clamp(12px, 1.32cqw, 26px);
  font-weight: 700;
  line-height: 1.1;
}

.p-top-kv__title--founder {
  margin-top: 0.05em;
  font-size: clamp(25px, 3.05cqw, 61px);
}

.p-top-kv__eyebrow {
  font-family: var(--font-ryo-display, serif);
  font-size: clamp(10px, 1.05cqw, 21px);
  font-weight: 700;
}

.p-top-kv__text {
  margin-top: 0.5em;
  font-size: clamp(6px, 0.62cqw, 12.5px);
  font-weight: 700;
  line-height: 1.48;
}

.p-top-kv__arrow {
  position: absolute;
  right: 0.2cqw;
  bottom: 0;
  z-index: 3;
  font-size: clamp(14px, 1.55cqw, 31px);
  line-height: 1;
}

/* ========================================
   FV positions
======================================== */

/* ========================================
   FV - SHOP / 夢の国へ
======================================== */

.p-top-kv__item--shop {
  top: 2.2432cqw; /* 26.9185px */
  left: 3.1139cqw; /* 37.3669px */

  display: flex;
  align-items: flex-start;
  gap: 0.8333cqw; /* 10px */

  width: max-content;
}

/* 店舗画像 */
.p-top-kv__item--shop > .p-top-kv__image {
  flex: 0 0 auto;

  width: 24.2084cqw; /* 290.5009px */
  height: 10.9036cqw; /* 130.8426px */

  object-fit: cover;
}

/* 右側テキスト群 */
.p-top-kv__item--shop .p-top-kv__copy {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  writing-mode: horizontal-tb;
}

/* 「夢の国へ」 */
.p-top-kv__item--shop .p-top-kv__title {
  margin: 0;

  writing-mode: vertical-rl;
  text-orientation: upright;

  /*
   * Illustrator：KochoStd
   * Webフォントとしては使用せず、
   * 現状の和文Display系で代替
   */
  font-family: var(--font-ryo-display, serif);
  font-size: 1.3333cqw; /* 16px */
  font-weight: 700;
  line-height: 1.25;
}

/* 「1983年テーマパーク内で〜」 */
.p-top-kv__item--shop .p-top-kv__text {
  margin: 0;

  writing-mode: vertical-rl;
  text-orientation: upright;

  font-family: var(--font-ryo-gothic, "Noto Sans JP", sans-serif);
  font-size: 0.8333cqw; /* 10px */
  font-weight: 400;
  line-height: 1.4;
}

/* ========================================
   FV - FOUNDER / 創始者 山田昭
======================================== */

.p-top-kv__item--founder {
  position: absolute;
  top: 15.0494cqw;
  left: 6.2538cqw;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.4cqw;
  width: 25.8733cqw;
  height: auto;
}

/* HTML構造：人物＋縦見出し / 本文 */
.p-top-kv__founder-main {
  display: flex;
  align-items: flex-start;
  gap: 1cqw;
  width: 100%;
}

/* PC: 見出しの直下に本文を置く右カラム */
.p-top-kv__founder-content {
  display: flex;
  flex: 1;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
}

/* 人物画像 */
.p-top-kv__item--founder .p-top-kv__founder-main > .p-top-kv__image {
  display: block;
  flex: 0 0 auto;

  width: 8.9262cqw; /* 107.1145px */
  height: 10.1641cqw; /* 121.9694px */

  object-fit: contain;
}

/* 右側テキスト */
.p-top-kv__item--founder .p-top-kv__copy--founder {
  flex: 1;
  min-width: 0;
}

/* * 創始者 */
.p-top-kv__item--founder .p-top-kv__eyebrow {
  position: relative;
  margin: 0;

  font-family: "Noto Serif JP", serif;
  font-size: 1.6667cqw; /* 20px */
  font-weight: 700;
  line-height: 1;
}

.p-top-kv__item--founder .p-top-kv__founder-star {
  position: absolute;
  top: 0;
  left: 5.4167cqw; /* 1200px時 65px */

  font-family: "Limelight", serif;
  font-size: 2cqw;
  font-weight: 400;
  line-height: 1;
}

.p-top-kv__item--founder .p-top-kv__arrow--founder {
  position: absolute;
  right: 0.25cqw;
  bottom: 4.75cqw;
  width: 1.35cqw;
  height: 1.35cqw;
}

.p-top-kv__item--founder .p-top-kv__arrow--founder img {
  display: block;
  width: 100%;
  height: 100%;
}

/* 山田 昭 */
.p-top-kv__item--founder .p-top-kv__title {
  margin: 0.25cqw 0 0;

  font-family: "Noto Serif JP", serif;
  font-size: 3.3333cqw; /* 40px */
  font-weight: 700;
  line-height: 1.15;

  font-feature-settings: "palt";
}

/* 本文 */
.p-top-kv__item--founder .p-top-kv__text {
  width: 100%;
  margin: 0.4cqw 0 0;

  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.8333cqw; /* 10px */
  font-weight: 400;
  line-height: 1.4;

  font-feature-settings: "palt";
}

/* ========================================
   FV - SEAMONKEY
======================================== */

.p-top-kv__item--seamonkey {
  top: 4.2863cqw; /* 51.4361px */
  left: 35.5224cqw; /* 426.2682px */

  display: block;

  width: 28.7871cqw; /* 345.4457px */
  height: 13.4089cqw; /* 160.9065px */
}

/* メイン画像 */
.p-top-kv__item--seamonkey > .p-top-kv__image {
  display: block;

  width: 28.7871cqw; /* 345.4457px */
  height: 13.4089cqw; /* 160.9065px */

  object-fit: contain;
}

/* 画像右下に続くテキスト */
.p-top-kv__item--seamonkey .p-top-kv__copy {
  position: absolute;
  top: 7.6667cqw; /* 92px */
  right: -0.4167cqw; /* -5px */
  width: 13.1858cqw; /* 158.229px */
  margin-top: 0;
}

/* シーモンキー */
.p-top-kv__item--seamonkey .p-top-kv__title {
  margin: 0;

  font-family: var(--font-ryo-display, serif);
  font-size: 1.3333cqw; /* 16px */
  font-weight: 700;
  line-height: 1.25;

  writing-mode: horizontal-tb;
}

/* 昭和40年代に〜 */
.p-top-kv__item--seamonkey .p-top-kv__text {
  margin: 0.35em 0 0;

  font-family: var(--font-ryo-gothic, "Noto Sans JP", sans-serif);
  font-size: 0.8333cqw; /* 10px */
  font-weight: 400;
  line-height: 1.5;

  writing-mode: horizontal-tb;
}

/* ========================================
   FV - TARBELL COURSE
======================================== */

.p-top-kv__item--tarbell {
  position: absolute;

  top: 20.6829cqw; /* 248.1953px */
  left: 35.6003cqw; /* 427.204px */

  width: 28.8077cqw; /* 345.6925px */
  height: 4.6957cqw; /* 56.3481px */

  display: flex;
  align-items: flex-start;
  gap: 0.757cqw; /* 9.0844px */
}

/* テキスト側 */
.p-top-kv__item--tarbell .p-top-kv__copy {
  min-width: 0;
  flex: 1;
}

/* ターベルコース */
.p-top-kv__item--tarbell .p-top-kv__title {
  margin: 0;

  font-family: "Noto Serif JP", serif;
  font-size: 1.3333cqw; /* 16px */
  font-weight: 700;
  line-height: 1.2;
}

/* 世界的な手品百科事典〜 */
.p-top-kv__item--tarbell .p-top-kv__text {
  margin: 0.35em 0 0;

  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.8333cqw; /* 10px */
  font-weight: 400;
  line-height: 1.4;

  font-feature-settings: "palt";
}

/* 右側画像 */
.p-top-kv__item--tarbell > .p-top-kv__image {
  display: block;
  flex: 0 0 auto;

  width: 9.1169cqw; /* 109.4028px */
  height: 4.6957cqw; /* 56.3481px */

  object-fit: contain;
}

/* ========================================
   FV - BACKGAMMON
======================================== */

.p-top-kv__item--backgammon {
  position: absolute;

  top: 4.1681cqw; /* 50.017px */
  left: 66.9226cqw; /* 809.0716px */

  width: 5.6883cqw; /* 68.2594px */
  height: 21.3119cqw; /* 255.7422px */

  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

/* 縦書きテキスト群 */
.p-top-kv__item--backgammon .p-top-kv__copy--backgammon {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;

  width: 100%;
}

/* 右：バックギャモン */
.p-top-kv__item--backgammon .p-top-kv__title {
  margin: 0;

  writing-mode: vertical-rl;
  text-orientation: upright;

  font-family: "Noto Serif JP", serif;
  font-size: 1.3333cqw; /* 16px */
  font-weight: 700;
  line-height: 1.25;
}

/* 左：1973年販売〜 */
.p-top-kv__item--backgammon .p-top-kv__text {
  margin: 0;

  writing-mode: vertical-rl;
  text-orientation: upright;

  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.8333cqw; /* 10px */
  font-weight: 400;
  line-height: 1.4;
}

/* 下の商品画像 */
.p-top-kv__item--backgammon > .p-top-kv__image {
  display: block;

  width: 5.6253cqw; /* 67.5032px */
  height: 9.798cqw; /* 117.5753px */

  margin-top: auto;

  object-fit: contain;
}

/* ========================================
   FV - KEYS / 驚きをつくる3つの鍵
======================================== */

.p-top-kv__item--keys {
  top: 4.2863cqw;
  left: 75.0841cqw;

  width: 21.7777cqw; /* 261.3325px */
  height: 21.1669cqw; /* 254.0032px */

  display: block;
}

/* 鍵画像 */
.p-top-kv__item--keys .p-top-kv__image--key {
  position: absolute;
  top: 0;
  left: 0;

  width: 13.7637cqw; /* 165.1643px */
  height: 9.4824cqw; /* 113.789px */

  object-fit: cover;
}

/* Originality〜の3項目 */
.p-top-kv__item--keys .p-top-kv__keys {
  position: absolute;
  top: 10.6491cqw;
  left: 0;
  width: 14.7637cqw;
}

.p-top-kv__item--keys .p-top-kv__keys p {
  margin: 0 0 0.65cqw;
}

.p-top-kv__item--keys .p-top-kv__keys strong {
  display: block;

  font-family: "Limelight", serif;
  font-size: 1.5cqw; /* 18px */
  font-weight: 400;
  line-height: 1;
}

.p-top-kv__item--keys .p-top-kv__keys span {
  display: block;
  margin-top: 0.25cqw;

  font-family: var(--font-ryo-gothic, "Noto Sans JP", sans-serif);
  font-size: 0.8333cqw;
  font-weight: 400;
  line-height: 1.35;

  font-feature-settings: "palt";
}

/* 右側縦タイトル */
.p-top-kv__item--keys .p-top-kv__keys-title {
  position: absolute;
  top: 0;
  right: 0;

  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;

  font-family: var(--font-ryo-display, serif);
  font-size: 2.75cqw; /* 33px */
  font-weight: 700;
  line-height: 1.05;
}

/* 「*驚きをつくる」 */
.p-top-kv__keys-title-main {
  position: relative;
  writing-mode: vertical-rl;
  text-orientation: upright;
}

/* アスタリスクだけLimelight */
.p-top-kv__keys-title-star {
  position: absolute;
  top: -1.3cqw;
  right: -0.85cqw;
  font-family: "Limelight", serif;
  font-size: 2.25cqw;
  font-weight: 400;
  line-height: 1;
}

/* 「3つの鍵」 */
.p-top-kv__keys-title-sub {
  writing-mode: vertical-rl;
  text-orientation: upright;
}

/* 矢印 */
.p-top-kv__item--keys .p-top-kv__arrow {
  position: absolute;
  right: 3.75cqw; /* 1200px時 45px */
  bottom: 5cqw; /* 1200px時 60px */
  width: 1.35cqw;
  height: 1.35cqw;
}

.p-top-kv__item--keys .p-top-kv__arrow img {
  display: block;
  width: 100%;
  height: 100%;
}

/* ========================================
   FV - PLAPUZZLE
======================================== */

.p-top-kv__item--plapuzzle {
  position: absolute;

  top: 28.2203cqw; /* 338.6432px */
  left: 6.2538cqw;

  width: 8.256cqw; /* 99.0716px */
  height: 21.405cqw; /* 256.8601px */

  display: block;
}

/* 商品画像 */
.p-top-kv__item--plapuzzle > .p-top-kv__image {
  display: block;

  width: 8.256cqw; /* 99.0716px */
  height: 16.5119cqw; /* 198.1432px */

  object-fit: contain;
}

/* プラパズル */
.p-top-kv__item--plapuzzle .p-top-kv__title {
  margin: 1cqw 0 0; /* 画像から12px */

  font-family: "Noto Serif JP", serif;
  font-size: 1.3333cqw; /* 16px */
  font-weight: 700;
  line-height: 1.2;

  font-feature-settings: "palt";
}

/* 1963年ロングセラー〜 */
.p-top-kv__item--plapuzzle .p-top-kv__text {
  margin: 0.35cqw 0 0;

  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.8333cqw; /* 10px */
  font-weight: 400;
  line-height: 1.4;

  font-feature-settings: "palt";
}

/* ========================================
   FV - HISTORY
======================================== */

.p-top-kv__item--history {
  position: absolute;

  top: 27.7203cqw; /* 322.4819px */
  left: 18.0277cqw; /* 216.3329px */

  display: flex;
  align-items: flex-start;
  gap: 0.6042cqw; /* 約7.25px */

  width: 15.3318cqw; /* 183.9813px */
  height: 22.2569cqw; /* 267.083px */
}

/* 左側：history画像＋縦コピー */
.p-top-kv__history-main {
  position: relative;

  display: flex;
  flex-direction: column;
  align-items: flex-start;

  width: 6.4668cqw; /* 77.6018px */
}

/* history画像 */
.p-top-kv__item--history .p-top-kv__image--history {
  position: static;

  display: block;

  width: 6.4668cqw; /* 77.6018px */
  height: 3.2855cqw; /* 39.4262px */

  object-fit: contain;
}

/* 画像の6px下からコピー */
.p-top-kv__item--history .p-top-kv__history-copy {
  position: relative;

  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;

  gap: 0.35cqw;
  margin-top: 0.8cqw; /* 6px */

  writing-mode: horizontal-tb;
}

/* *History */
.p-top-kv__item--history .p-top-kv__history-en {
  position: relative;

  writing-mode: vertical-rl;
  text-orientation: mixed;

  font-family: "Limelight", serif;
  font-size: 2.3333cqw; /* 28px */
  font-weight: 400;
  line-height: 1;
}

/* *だけabsolute */
.p-top-kv__item--history .p-top-kv__history-star {
  position: absolute;

  top: -2.2cqw;
  right: 0;

  font-family: "Limelight", serif;
  font-size: 2.3333cqw; /* 28px */
  font-weight: 400;
  line-height: 1;
}

/* 天洋奇術研究所 */
.p-top-kv__item--history .p-top-kv__history-ja {
  writing-mode: vertical-rl;
  text-orientation: upright;

  font-family: "Noto Serif JP", serif;
  font-size: 2.5cqw; /* 30px */
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0.05em;
}

/* Rabbit */
.p-top-kv__item--history .p-top-kv__image--rabbit {
  position: static;

  display: block;

  width: 8.2608cqw; /* 99.1297px */
  height: 8.9945cqw; /* 107.9339px */

  object-fit: contain;
}

/* 左グループ右下のリンク矢印 */
.p-top-kv__item--history .p-top-kv__arrow--history {
  position: absolute;
  right: 1.3333cqw; /* 1200px時 16px */
  bottom: 0.6667cqw; /* 1200px時 8px */

  width: 1.35cqw;
  height: 1.35cqw;
}

.p-top-kv__item--history .p-top-kv__arrow--history img {
  display: block;
  width: 100%;
  height: 100%;
}

/* ========================================
   FV - ARTBANK
======================================== */

.p-top-kv__item--artbank {
  position: absolute;

  top: 27.9411cqw; /* 335.2937px */
  left: 67.5377cqw; /* 810.4523px */

  display: flex;
  align-items: center;
  gap: 1.3333cqw; /* 16px */

  width: 15.596cqw; /* 187.1519px */
  height: 6.9983cqw; /* 83.98px */
}

/* 画像 */
.p-top-kv__item--artbank .p-top-kv__image {
  display: block;
  flex: 0 0 auto;

  width: 6.2301cqw; /* 74.761px */
  height: 6.9983cqw; /* 83.98px */

  object-fit: contain;
}

/* コピー */
.p-top-kv__item--artbank .p-top-kv__copy--artbank {
  flex: 1;
  min-width: 0;
}

/* アートバンク */
.p-top-kv__item--artbank .p-top-kv__title {
  margin: 0;

  font-family: "Noto Serif JP", serif;
  font-size: 1.3333cqw; /* 16px */
  font-weight: 700;
  line-height: 1.2;

  font-feature-settings: "palt";
}

/* 本文 */
.p-top-kv__item--artbank .p-top-kv__text {
  margin: 0.35cqw 0 0;

  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.8333cqw; /* 10px */
  font-weight: 400;
  line-height: 1.4;

  font-feature-settings: "palt";
}

/* ========================================
   FV - 3D ART
======================================== */

.p-top-kv__item--3dart {
  position: absolute;

  top: 27.8773cqw; /* 334.5277px */
  left: 86.1553cqw; /* 1033.8637px */

  width: 10.9086cqw; /* 130.9034px */
  height: 14.9434cqw; /* 179.3202px */
}

/* 画像 */
.p-top-kv__item--3dart .p-top-kv__image {
  display: block;

  width: 10.9002cqw; /* 130.8028px */
  height: 8.5743cqw; /* 102.8915px */

  margin-bottom: 1cqw; /* 12px */

  object-fit: contain;
}

/* 3Dアート */
.p-top-kv__item--3dart .p-top-kv__title {
  margin: 0;

  font-family: "Noto Serif JP", serif;
  font-size: 1.3333cqw; /* 16px */
  font-weight: 700;
  line-height: 1.2;

  font-feature-settings: "palt";
}

/* 本文 */
.p-top-kv__item--3dart .p-top-kv__text {
  margin: 0.35cqw 0 0;

  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.8333cqw; /* 10px */
  font-weight: 400;
  line-height: 1.4;

  font-feature-settings: "palt";
}

/* ========================================
   FV - MICROBANK
======================================== */

.p-top-kv__item--microbank {
  position: absolute;

  top: 46.1296cqw; /* 553.5546px */
  left: 86.1553cqw;

  display: flex;
  flex-direction: column;
  gap: 0.6667cqw; /* 8px */

  width: 10.7881cqw; /* 129.4575px */
  height: 12.8185cqw; /* 153.822px */
}

/* 上段：画像＋縦タイトル */
.p-top-kv__item--microbank .p-top-kv__microbank-main {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 100%;
}

/* 画像 */
.p-top-kv__item--microbank .p-top-kv__image {
  display: block;
  flex: 0 0 auto;

  width: 6.3973cqw; /* 76.768px */
  height: 8.6755cqw; /* 104.1064px */

  object-fit: contain;
}

/* ミクロバンク */
.p-top-kv__item--microbank .p-top-kv__title {
  margin: 0;

  writing-mode: vertical-rl;
  text-orientation: upright;

  font-family: "Noto Serif JP", serif;
  font-size: 1.3333cqw; /* 16px */
  font-weight: 700;
  line-height: 1.2;

  font-feature-settings: "palt";
}

/* 本文 */
.p-top-kv__item--microbank .p-top-kv__text {
  margin: 0;

  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.8333cqw; /* 10px */
  font-weight: 400;
  line-height: 1.4;

  text-align: justify;
  text-align-last: left;

  font-feature-settings: "palt";
}

/* ========================================
   FV - METALLIC NANO PUZZLE
======================================== */

.p-top-kv__item--metal {
  position: absolute;
  top: 53.5605cqw;
  left: 2.7985cqw;
  display: flex;
  align-items: flex-start;
  gap: 1.6667cqw;
  width: 21.2098cqw;
  height: 11.4155cqw;
}

/* 商品画像 */
.p-top-kv__item--metal > .p-top-kv__image {
  display: block;
  flex: 0 0 auto;

  width: 11.69cqw; /* 140.2805px */
  height: 11.4155cqw; /* 136.9854px */

  object-fit: contain;
}

/* 右側テキスト */
.p-top-kv__item--metal .p-top-kv__copy {
  flex: 0 0 auto;

  width: 7.6723cqw; /* 92.0674px */
}

/* メタリックナノパズル */
.p-top-kv__item--metal .p-top-kv__title {
  margin: 0;

  font-family: "Noto Serif JP", serif;
  font-size: 1.3333cqw; /* 16px */
  font-weight: 700;
  line-height: 1.2;

  font-feature-settings: "palt";
}

/* エッチングとレーザーによる〜 */
.p-top-kv__item--metal .p-top-kv__text {
  margin: 0.45cqw 0 0;

  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.8333cqw; /* 10px */
  font-weight: 400;
  line-height: 1.45;

  text-align: justify;
  text-align-last: left;

  font-feature-settings: "palt";
}

/* ========================================
   FV - RECRUIT
======================================== */

.p-top-kv__item--recruit {
  position: absolute;

  top: 38.7255cqw; /* 445.5064px */
  left: 76.8158cqw; /* 933.79px */

  width: 5.5999cqw; /* 67.1987px */
  height: 21.3822cqw; /* 256.5864px */
}

/* 縦書きコピー */
.p-top-kv__item--recruit .p-top-kv__recruit-copy {
  position: relative;

  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;

  margin: 0;

  writing-mode: horizontal-tb;
}

/* Recruitment */
.p-top-kv__item--recruit .p-top-kv__recruit-en {
  position: relative;

  writing-mode: vertical-rl;
  text-orientation: mixed;

  font-family: "Limelight", serif;
  font-size: 2.3333cqw; /* 28px */
  font-weight: 400;
  line-height: 1;
}

/* *のみabsolute */
.p-top-kv__item--recruit .p-top-kv__recruit-star {
  position: absolute;

  top: -1cqw;
  right: 0;

  font-family: "Limelight", serif;
  font-size: 2.3333cqw; /* 28px */
  font-weight: 400;
  line-height: 1;
}

/* 驚きをつくる仕事 */
.p-top-kv__item--recruit .p-top-kv__recruit-ja {
  writing-mode: vertical-rl;
  text-orientation: upright;

  font-family: "Noto Serif JP", serif;
  font-size: 2.5cqw; /* 30px */
  font-weight: 700;
  line-height: 1.1;
}

/* リンク矢印 */
.p-top-kv__item--recruit .p-top-kv__arrow--recruit {
  position: absolute;
  right: 0.5833cqw; /* 1200px時 7px */
  bottom: 1.8333cqw; /* 1200px時 22px */

  width: 1.35cqw;
  height: 1.35cqw;
}

.p-top-kv__item--recruit .p-top-kv__arrow--recruit img {
  display: block;
  width: 100%;
  height: 100%;
}

/* ========================================
   FV - MAGIC
======================================== */

.p-top-kv__item--magic {
  position: absolute;

  top: 53.5605cqw;
  left: 26.4743cqw; /* 317.6914px */

  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.6667cqw; /* 20px */

  width: 16.1017cqw; /* 193.22px */
  height: 18.5604cqw; /* 222.7247px */
}

/* 画像 */
.p-top-kv__item--magic > .p-top-kv__image {
  display: block;

  width: 16.1017cqw; /* 193.22px */
  height: 8.764cqw; /* 105.1675px */

  object-fit: contain;
}

/* 下側コピー */
.p-top-kv__item--magic .p-top-kv__copy--magic {
  position: relative;
  width: 100%;
  padding-left: 0.4167cqw; /* 1200px時 5px */
}

/* テンヨーマジックグッズ */
.p-top-kv__item--magic .p-top-kv__title {
  position: relative;

  margin: 0;

  font-family: "Noto Serif JP", serif;
  font-size: 2.5cqw; /* 30px */
  font-weight: 700;
  line-height: 1.05;

  font-feature-settings: "palt";
}

/* *だけLimelight */
.p-top-kv__item--magic .p-top-kv__magic-star {
  position: absolute;
  top: 0.1667cqw; /* 1200px時 2px */
  left: -1.0833cqw; /* 1200px時 -13px */

  font-family: "Limelight", serif;
  font-size: 2.75cqw;
  font-weight: 400;
  line-height: 1;
}

/* 200種類以上〜 */
.p-top-kv__item--magic .p-top-kv__text {
  margin: 0.45cqw 0 0;

  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.8333cqw; /* 10px */
  font-weight: 400;
  line-height: 1.4;

  font-feature-settings: "palt";
}

/* リンク矢印：copy右上 */
.p-top-kv__item--magic .p-top-kv__arrow--magic {
  position: absolute;

  top: 0;
  right: 0;

  width: 1.35cqw;
  height: 1.35cqw;
}

.p-top-kv__item--magic .p-top-kv__arrow--magic img {
  display: block;
  width: 100%;
  height: 100%;
}

/* ========================================
   FV - PUZZLE
======================================== */

.p-top-kv__item--puzzle {
  position: absolute;

  top: 53.5605cqw;
  left: 45.3283cqw; /* 543.9391px */

  display: flex;
  flex-direction: column-reverse;
  align-items: flex-start;
  gap: 1.3333cqw; /* 16px */

  width: 13.0895cqw; /* 157.0738px */
  height: 18.5606cqw; /* 225.1274px */
}

/* 画像 */
.p-top-kv__item--puzzle > .p-top-kv__image {
  display: block;

  width: 13.0895cqw; /* 157.0738px */
  height: 10.7139cqw; /* 128.5668px */

  object-fit: contain;
}

/* コピー */
.p-top-kv__item--puzzle .p-top-kv__copy--puzzle {
  width: 100%;
}

/* 永久に遊べるパズル */
.p-top-kv__item--puzzle .p-top-kv__title {
  margin: 0;

  font-family: "Noto Serif JP", serif;
  font-size: 1.3333cqw; /* 16px */
  font-weight: 700;
  line-height: 1.2;

  font-feature-settings: "palt";
}

/* 本文 */
.p-top-kv__item--puzzle .p-top-kv__text {
  margin: 0.35cqw 0 0;

  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.8333cqw; /* 10px */
  font-weight: 400;
  line-height: 1.4;

  font-feature-settings: "palt";
}

/* ========================================
   FV - WOW
======================================== */

.p-top-kv__wow {
  position: absolute;

  top: 53.0605cqw;
  left: 61.0849cqw; /* 1200px時 733.0183px */

  width: 13.0895cqw; /* 157.0738px */
  height: 7.4123cqw; /* 88.9477px */
}

.p-top-kv__wow-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* ========================================
   FV - JIGSAW
======================================== */

.p-top-kv__item--jigsaw {
  position: absolute;

  right: 0;
  bottom: 0;

  display: flex;
  align-items: flex-start;

  width: 39.0646cqw; /* 468.7754px */
  height: 8.9891cqw; /* 107.8693px */
}

/* 左側コピー */
.p-top-kv__item--jigsaw .p-top-kv__copy--jigsaw {
  position: relative;
  flex: 1;
  min-width: 0;
  height: 100%;

  padding-top: 0.5cqw; /* 1200px時 6px */
  padding-left: 0.6667cqw; /* 1200px時 8px */
}

/* テンヨージグソーパズル */
.p-top-kv__item--jigsaw .p-top-kv__title {
  position: relative;

  margin: 0;

  font-family: "Noto Serif JP", serif;
  font-size: 2.5cqw; /* 30px */
  font-weight: 700;
  line-height: 1.05;

  font-feature-settings: "palt";
}

/* アスタリスク */
.p-top-kv__item--jigsaw .p-top-kv__jigsaw-star {
  position: absolute;

  top: 0;
  left: -1cqw;

  font-family: "Limelight", serif;
  font-size: 2.75cqw; /* 33px */
  font-weight: 400;
  line-height: 1;
}

/* 200種類以上〜 */
.p-top-kv__item--jigsaw .p-top-kv__text {
  margin: 0.45cqw 0 0;

  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.8333cqw; /* 10px */
  font-weight: 400;
  line-height: 1.4;

  font-feature-settings: "palt";
}

/* 右側画像 */
.p-top-kv__item--jigsaw > .p-top-kv__image {
  display: block;
  flex: 0 0 auto;

  width: 20.0493cqw; /* 240.5911px */
  height: 8.9891cqw; /* 107.8693px */

  object-fit: contain;
}

/* copy右上のリンク矢印 */
.p-top-kv__item--jigsaw .p-top-kv__arrow--jigsaw {
  position: absolute;
  top: 0.8333cqw; /* 1200px時 4px */
  right: 1.6667cqw; /* 1200px時 20px */

  width: 1.35cqw;
  height: 1.35cqw;
}

.p-top-kv__item--jigsaw .p-top-kv__arrow--jigsaw img {
  display: block;
  width: 100%;
  height: 100%;
}

/* gradients */
.p-top-kv__gradient {
  position: absolute;
  z-index: -1;
  pointer-events: none;
}
.p-top-kv__gradient--left {
  left: 0;
  top: 15.0494cqw;
  width: 2.7985cqw;
  height: 34.4316cqw;
}

.p-top-kv__gradient--bottom {
  left: 0;
  bottom: -0.2564cqw;
  width: 24.4585cqw;
  height: 4.0431cqw;
}

.p-top-kv__gradient--right {
  right: 0;
  top: 0;
  width: 1.9252cqw;
  height: 22.9086cqw;
}

/* ========================================
   Central headline
======================================== */

.p-top-kv__headline {
  position: absolute;
  top: 28.9192cqw; /* 347.03px */
  left: 50%;
  width: 46.5403cqw; /* 558.48px */
  height: 20.0483cqw; /* 240.58px */
  z-index: 5;

  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5cqw;
}

/* Tenyoロゴ */
.p-top-kv__logo {
  display: block;
  width: 21.0092cqw; /* 252.11px */
  height: 8.5636cqw; /* 102.76px */
  object-fit: contain;
  flex: 0 0 auto;
}

/* Make Wonder. */
.p-top-kv__main-en {
  font-family: "Limelight", serif;
  font-size: 6.1667cqw; /* 74px */
  line-height: 1;
  text-align: center;
  white-space: nowrap;
}

/* 「驚き」をつくる */
.p-top-kv__main-ja {
  font-family: var(--font-ryo-display);
  font-size: 4.1667cqw; /* 50px */
  font-weight: 900;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
}

.p-top-kv__veil {
  position: absolute;
  inset: 0;
  z-index: 2;
  opacity: 0;
  pointer-events: none;

  background: rgba(248, 248, 248, 0.72);

  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}

/* ========================================
   Story
   FVの固定はCSS stickyに任せる。
   ScrollTriggerによるpin / pin-spacerは使用しない。
======================================== */

.p-top-story {
  position: relative;
  z-index: 4;

  /*
   * FV headlineと同じcqw基準を維持。
   * Story側には複製headlineを置かず、
   * この幅を本文前のスペース計算にも使う。
   */
  container-type: inline-size;

  pointer-events: none;
}

.p-top-story__inner {
  /*
   * 旧duplicate headlineが通常フロー上で持っていた高さを
   * padding-topとして確保する。
   *
   * 20.0483cqw = headline高
   * 4.1667cqw  = 1200px時50px
   */
  min-height: 168svh;
  padding: calc(20.0483cqw + 4.1667cqw) 20px 26svh;
  text-align: center;
}

.p-top-story__body {
  position: relative;
  z-index: 4;

  width: min(760px, calc(100% - 40px));
  margin-inline: auto;

  font-family: var(--font-ryo-display, serif);
  font-size: clamp(15px, 1.02vw, 20px);
  font-weight: 500;
  line-height: 2.15;
}

.p-top-story__body p {
  margin: 0 0 3.35em;
}

.p-top-story__last {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.45em;
  font-weight: 700;
}

/* ========================================
   Section titles
======================================== */

.p-top-section-title {
  margin: 0;
  font-family: "Limelight", Georgia, serif;
  font-size: clamp(34px, 3.8vw, 76px);
  font-weight: 400;
  letter-spacing: 0.02em;
}

.p-top-section-title--vertical {
  writing-mode: vertical-rl;
}

.p-top-products,
.p-top-about,
.p-top-pending {
  width: min(100%, var(--top-content-max));
  margin-inline: auto;
  container-type: inline-size;
}

/* ========================================
   PRODUCTS
======================================== */

.p-top-products {
  position: relative;
  padding: clamp(110px, 9vw, 180px) 8.5% clamp(120px, 10vw, 210px);
  background: var(--top-bg);
}

/* PRODUCTS heading */
.p-top-products__heading {
  position: absolute;
  top: 8%;
  left: 0;

  display: flex;
  align-items: flex-start;
  gap: 1.2cqw;

  width: 11.0824cqw; /* 1200px時 132.9886px */
  height: 23.4252cqw; /* 1200px時 281.1023px */
}

.p-top-products__heading-image {
  display: block;
  flex: 0 0 auto;

  width: 5.9854cqw; /* 1200px時 71.8247px */
  height: 23.4252cqw; /* 1200px時 281.1023px */

  object-fit: cover;
}

.p-top-products__heading .p-top-section-title {
  margin: 0;

  font-family: "Limelight", serif;
  font-size: 4.1667cqw; /* 1200px時 50px */
  font-weight: 400;
  line-height: 1;

  writing-mode: vertical-rl;
  text-orientation: mixed;

  letter-spacing: -0.01em;
}

/* PRODUCTS main column */
.p-top-products__inner {
  width: 72.8867cqw;
  margin-left: 9.1667cqw; /* 1200px時 110px */
  margin-right: 0;
}

/* Row */
.p-top-products__row {
  position: relative;

  display: grid;
  grid-template-columns: 22.2997cqw 1fr;
  column-gap: 2.25cqw; /* 1200px時 27px */

  width: 72.8867cqw; /* 1200px時 874.6407px */
  height: 22.8147cqw; /* 1200px時 273.7761px */

  padding: 2.0833cqw 0 2.0833cqw 4.3333cqw;

  border: 0;
  background: #fff;

  box-sizing: border-box;
}

.p-top-products__row--magic {
  grid-template-columns: 1fr 22.2997cqw;
  padding: 2.0833cqw 2.8333cqw 2.0833cqw 0;
}

.p-top-products__row--other {
  padding: 2.0833cqw 0 2.0833cqw 4.3333cqw;
}

.p-top-products__brand {
  position: relative;

  width: 22.2997cqw; /* 1200px時 267.5961px */
  height: 16.6048cqw; /* 1200px時 199.2579px */

  align-self: center;
}

.p-top-products__brand-logo {
  display: block;

  width: 22.2997cqw;
  height: 7.0774cqw; /* 1200px時 84.9284px */

  object-fit: contain;
  object-position: left center;
}

.p-top-products__brand-logo--magic {
  width: 19.389cqw; /* 1200px時 232.668px */
  height: 9.3845cqw; /* 1200px時 112.6141px */
}

.p-top-products__brand p {
  margin: 2cqw 0 0;

  font-family: var(--font-ryo-gothic, "Noto Sans JP", sans-serif);
  font-size: 1cqw; /* 1200px時 12px */
  font-weight: 400;
  line-height: 1.55;

  font-feature-settings: "palt";
}

.p-top-products__row--magic .p-top-products__brand p {
  margin-top: 1.1667cqw; /* 1200px時 14px */
}

.p-top-products__brand-link {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.6667cqw;

  width: 100%;
  margin-top: 3cqw; /* 1200px時 36px */

  font-family: var(--font-ryo-gothic, "Noto Sans JP", sans-serif);
  font-size: 1cqw;
  font-weight: 500;
  line-height: 1;

  text-align: right;
}

.p-top-products__brand-link > span {
  position: relative;
  text-decoration: none;
}

.p-top-products__brand-link > span::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -0.2em;
  left: 0;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.p-top-products__brand-link img {
  display: block;
  flex: 0 0 auto;

  width: 1.35cqw;
  height: 1.35cqw;
}

@media (hover: hover) and (pointer: fine) {
  .p-top-products__row:hover .p-top-products__brand-link > span::after {
    transform: scaleX(1);
  }
}

.p-top-products__row:focus-visible .p-top-products__brand-link > span::after {
  transform: scaleX(1);
}

/* Other Items heading */
.p-top-products__other-head {
  width: 22.2997cqw;
}

.p-top-products__other-logo {
  display: block;

  width: 8.0782cqw; /* 1200px時 96.9386px */
  height: auto;
}

.p-top-products__other-title {
  display: block;

  width: 22.8333cqw; /* 1200px時 274px */
  height: auto;

  margin-top: 0.8333cqw; /* 1200px時 10px */
}

/* Visual / infinite slider */
.p-top-products__visual {
  position: relative;

  min-width: 0;
  height: 80%;

  overflow: hidden;
}

/* 通常行：左側を斜めにマスク */
.p-top-products__visual::before {
  content: "";

  position: absolute;
  top: 0;
  left: -5.5833cqw;
  z-index: 5;

  width: 14cqw;
  height: 100%;

  background: #fff;

  clip-path: polygon(0 0, 100% 0, 40% 100%, 0 100%);
  pointer-events: none;
}

/* 通常行：マスク境界の斜線 */
.p-top-products__visual::after {
  content: "";

  position: absolute;
  top: 0.9167cqw;
  left: 7.9cqw;
  z-index: 6;

  width: 1px;
  height: 14.4167cqw;

  background: #000;

  transform: rotate(29.5deg);
  transform-origin: top center;

  pointer-events: none;
}

/* Magic：Visual / mask / line を左右反転 */
.p-top-products__row--magic .p-top-products__visual {
  grid-column: 1;
  grid-row: 1;
}

.p-top-products__row--magic .p-top-products__brand {
  grid-column: 2;
  grid-row: 1;
}

.p-top-products__row--magic .p-top-products__visual::before {
  right: -5.5833cqw;
  left: auto;

  clip-path: polygon(0 0, 100% 0, 100% 100%, 60% 100%);
}

.p-top-products__row--magic .p-top-products__visual::after {
  right: 7.9cqw;
  left: auto;

  transform: rotate(-30deg);
  transform-origin: top center;
}

.p-top-products__slider {
  position: absolute;
  inset: 0;

  display: flex;
  align-items: center;

  padding-left: 0;
  overflow: hidden;
}

.p-top-products__track {
  display: flex;
  align-items: center;

  width: max-content;

  animation: top-products-loop 24s linear infinite;
  will-change: transform;
}

.p-top-products__image {
  display: block;
  flex: 0 0 auto;

  width: auto;
  height: clamp(90px, 9vw, 180px);

  margin-right: clamp(18px, 1.8vw, 36px);

  object-fit: contain;
}

@keyframes top-products-loop {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

.p-top-products__visual--disney .p-top-products__track,
.p-top-products__visual--magic .p-top-products__track,
.p-top-products__visual--other .p-top-products__track {
  animation-duration: 10s;
}

/* Catch copy */
.p-top-products__catch {
  position: absolute;
  right: 2.5cqw;
  bottom: 2.1667cqw;

  margin: 0;

  font-family: var(--font-ryo-display, "Noto Serif JP", serif);
  font-size: 2.5cqw;
  font-weight: 900;
  line-height: 1.25;

  font-feature-settings: "palt";
  white-space: nowrap;
}

.p-top-products__catch--left {
  right: auto;
  left: 2.5cqw;
  text-align: left;
}

.p-top-about {
  width: min(100%, var(--top-content-max));
  margin-inline: auto;
  position: relative;
  padding: clamp(90px, 7vw, 150px) 8.5% clamp(130px, 10vw, 220px);
  background: var(--top-bg);
}
.p-top-section-title {
  position: relative;
  display: flex;
  align-items: center;
  background-repeat: no-repeat;
  background-position: left center;
}

.p-top-section-title--about {
  padding-left: 84px;
  background-image: url("../img/top/heading-about.webp");
  background-size: 70px 40px;
  margin-bottom: 3.3333cqw;
}

.p-top-section-title--about h2 {
  font-size: 4.1667cqw;
}

.p-top-about__grid {
  position: relative;
  margin-left: 0.7843cqw; /* 1200px時 約9.41px：右端ガイドをPRODUCTSと整列 */
  width: 72%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.p-top-about__card {
  position: relative;
  min-height: clamp(300px, 28vw, 560px);
  padding: 5.5%;
  overflow: hidden;
  color: #fff !important;
  background:
    radial-gradient(circle at 75% 65%, rgba(0, 55, 150, 0.55), transparent 35%),
    linear-gradient(135deg, #1a0c06, #000 60%, #00132d);
  border-right: 1px solid rgba(255, 255, 255, 0.8);
  border-bottom: 1px solid rgba(255, 255, 255, 0.8);
  transform-origin: center;
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.p-top-about__card.is-top-about-measuring {
  transition: none !important;
  transform: none !important;
}

@media (hover: hover) and (pointer: fine) {
  .p-top-about__card:hover {
    z-index: 4;
    transform: translate(
        var(--top-about-hover-x, 0),
        var(--top-about-hover-y, 0)
      )
      scale(
        var(--top-about-hover-scale-x, 1.03),
        var(--top-about-hover-scale-y, 1.03)
      );
  }
}

.p-top-about__card:focus-visible {
  z-index: 4;
  transform: translate(var(--top-about-hover-x, 0), var(--top-about-hover-y, 0))
    scale(
      var(--top-about-hover-scale-x, 1.03),
      var(--top-about-hover-scale-y, 1.03)
    );
}

@media (prefers-reduced-motion: reduce) {
  .p-top-about__card {
    transition-duration: 0.01ms;
  }
}
.p-top-about__en {
  font-family: Georgia, serif;
  font-size: clamp(22px, 2.4vw, 48px);
  font-weight: 700;
  color: rgba(255, 255, 255, 0.35);
}
.p-top-about__desc {
  margin: 1.4cqw 0 0;

  font-family: var(--font-ryo-display, serif);
  font-size: 1.3333cqw;
  font-weight: 500;
  line-height: 1.55;
  text-align: justify;
}
.p-top-about__title {
  position: absolute;
  left: 6%;
  bottom: 7%;
  margin: 0;
  font-family: var(--font-ryo-display, serif);
  font-size: clamp(25px, 3vw, 60px);
  font-weight: 700;
  line-height: 1.07;
}
.p-top-about__title--right {
  right: 5%;
  left: auto;
  writing-mode: vertical-rl;
}
.p-top-about__arrow {
  position: absolute;
  right: 5%;
  bottom: 5%;
  font-size: clamp(24px, 2.5vw, 50px);
}

/* ========================================
   KV responsive image switch
   item-specific image rules have higher specificity than .u-*-only,
   so the component itself owns the PC/SP display state.
======================================== */

.p-top-kv__item > .p-top-kv__image--pc {
  display: block;
}

.p-top-kv__item > .p-top-kv__image--sp {
  display: none;
}

/* ========================================
   TOP CONTENT DESKTOP CAP
   FV / STORYは従来どおり可変。
   PRODUCTS以降は1200px時点のサイズで拡大を停止する。
======================================== */
@media (min-width: 1200px) {
  .p-top-products {
    padding-top: 110px;
  }

  .p-top-products__image {
    height: 108px; /* clamp(90px, 9vw, 180px) の1200px時 */
    margin-right: 21.6px; /* clamp(18px, 1.8vw, 36px) の1200px時 */
  }

  .p-top-products + .p-top-about {
    margin-top: 70px;
  }

  .p-top-about {
    padding-bottom: 130px;
  }
}

@media (min-width: 2000px) {
  .p-top {
    background: var(--top-bg);
  }
}

/* SP KV typography: 390px design baseline; font sizes scale with viewport width. */
@media (max-width: 767px) {
  .p-top-kv__item > .p-top-kv__image--pc {
    display: none;
  }

  .p-top-kv__item > .p-top-kv__image--sp {
    display: block;
  }

  .p-top-kv {
    min-width: 980px;
    left: 50%;
    transform: translateX(-50%);
  }
  .p-top-products,
  .p-top-about {
    padding-left: 20px;
    padding-right: 20px;
  }
  .p-top-products__inner,
  .p-top-about__grid {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  .p-top-products__heading {
    position: static;
    width: auto;
    height: auto;
    margin-bottom: 30px;
  }

  .p-top-products__heading-image {
    display: none;
  }

  .p-top-products__heading .p-top-section-title {
    font-size: 42px;
    writing-mode: horizontal-tb;
  }
  .p-top-products__row,
  .p-top-about__grid {
    min-width: 920px;
  }
}

/* PRODUCTS -> ABOUT spacing
   1200px時点でセクション実体間を70pxに統一 */
.p-top-products {
  padding-bottom: 0;
}

.p-top-products + .p-top-about {
  margin-top: 10.4333cqw; /* 1200px時 70px */
  padding-top: 0;
}

/* ========================================
   ABOUT
   1200px基準
======================================== */

.p-top-about__grid {
  display: grid;
  margin-left: 0.7843cqw; /* 1200px時 約9.41px */
  grid-template-columns: repeat(2, 39.75cqw);
  column-gap: 1.8333cqw; /* 1200px時 22px */
  row-gap: 2.1667cqw; /* 1200px時 26px */

  width: 81.3028cqw; /* 1200px時 975.6337px */
}

.p-top-about__card {
  position: relative;

  width: 39.75cqw; /* 1200px時 477px */
  height: 37.1667cqw; /* 1200px時 446px */
  min-height: 0;
  padding: 3.75cqw; /* 1200px時 45px */

  overflow: hidden;
  box-sizing: border-box;

  color: #fff !important;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

/* 共通テキスト */
.p-top-about__en {
  display: block;
  margin: 0;

  font-family: "Limelight", serif;
  font-size: 4.1667cqw; /* 1200px時 50px */
  font-weight: 400;
  line-height: 1;
}

.p-top-about__desc {
  margin: 2.5cqw 0 0; /* 1200px時 30px */

  font-family: var(--font-ryo-display, serif);
  font-size: 1.3333cqw; /* 1200px時 16px */
  font-weight: 500;
  line-height: 1.55;
  text-align: justify;
}

.p-top-about__title {
  margin: 0;
}

.p-top-about__image {
  display: block;
  max-width: 100%;
  height: auto;
}

/* 共通リンク矢印 */
.p-top-about__arrow {
  position: absolute;
  right: 3.5cqw; /* 1200px時 42px */
  bottom: 3.5cqw; /* 1200px時 42px */
  z-index: 3;
}

.p-top-about__arrow img {
  display: block;
  width: 2.3333cqw; /* 1200px時 28px */
  height: 2.3333cqw; /* 1200px時 28px */
}

/* ----------------------------------------
   History
---------------------------------------- */

.p-top-about__card--history {
  background-image: url("../img/top/about-history.webp");
}

.p-top-about__card--history .p-top-about__desc {
  width: 100%;
}

.p-top-about__card--history .p-top-about__title {
  position: absolute;
  left: 3.75cqw;
  bottom: 3.75cqw;

  font-family: var(--font-ryo-display, serif);
  font-size: 4.1667cqw; /* 1200px時 50px */
  font-weight: 800;
  line-height: 1.15;
}

.p-top-about__image--history {
  position: absolute;
  right: 5.25cqw;
  bottom: 6.75cqw;

  width: 8.75cqw;
}

/* ----------------------------------------
   Creat
---------------------------------------- */

.p-top-about__card--create {
  background-image: url("../img/top/about-create.webp");
}

.p-top-about__card--create .p-top-about__desc {
  width: 25.7431cqw;
}

.p-top-about__card--create .p-top-about__title {
  position: absolute;
  top: 3.75cqw; /* 1200px時 45px */
  right: 2.5cqw; /* 1200px時 30px */
  left: auto;

  font-family: var(--font-ryo-display, serif);
  font-size: 4.5cqw; /* 1200px時 54px */
  font-weight: 800;
  line-height: 1.1;

  writing-mode: vertical-rl;
  text-orientation: upright;
}

.p-top-about__image--create {
  position: absolute;
  left: 3.75cqw;
  bottom: 3.75cqw; /* 1200px時 45px */

  width: 25.7431cqw;
  height: 15.4261cqw;
}

/* ----------------------------------------
   Legend
---------------------------------------- */

.p-top-about__card--legend {
  background-image: url("../img/top/about-legend.webp");
}

.p-top-about__legend-main {
  display: flex;
  align-items: flex-end;
  gap: 2.5cqw;

  margin-top: 3.1cqw;
}

.p-top-about__image--legend {
  flex: 0 0 auto;
  width: 9.75cqw;
}

.p-top-about__card--legend .p-top-about__title {
  position: static;
  flex: 1;
  min-width: 0;

  font-family: "KochoStd", var(--font-ryo-display, serif);
  font-size: 5.3333cqw; /* 1200px時 64px */
  font-weight: 400;
  line-height: 1.05;
}

.p-top-about__card--legend .p-top-about__title-small {
  display: block;
  margin-bottom: 0.35em;

  font-family: "KochoStd", var(--font-ryo-display, serif);
  font-size: 2.6667cqw; /* 1200px時 32px */
  line-height: 1.1;
}

/* ----------------------------------------
   Recruitment
---------------------------------------- */

.p-top-about__card--recruit {
  background-image: url("../img/top/about-recruit.webp");
}

.p-top-about__recruit-main {
  display: flex;
  align-items: flex-start;
  gap: 2cqw;

  margin-top: 2.5cqw;
}

.p-top-about__recruit-main .p-top-about__desc {
  flex: 1;
  min-width: 0;
  margin-top: 0;
}

.p-top-about__image--recruit {
  flex: 0 0 auto;
  width: 13.5cqw; /* 1200px時 162px */
  height: 10.8057cqw; /* 1200px時 129.668px */
}

.p-top-about__card--recruit .p-top-about__title {
  position: absolute;
  left: 3.3333cqw; /* 1200px時 40px */
  bottom: 4.1667cqw; /* 1200px時 50px */

  width: 32.7162cqw; /* 1200px時 392.594px */
  height: 9.2461cqw; /* 1200px時 110.9531px */
  margin: 0;

  font-family: var(--font-ryo-display, serif);
  font-size: 4.0667cqw;
  font-weight: 800;
  line-height: 1.15;
  font-feature-settings: "palt";
}

/* ========================================
   DESKTOP FIXED 1200 TRUE SCALE
   1200px時点で調整したcqw値をそのまま再現し、
   1200px以上では拡大させない。

   重要:
   container-type を section 自身に設定すると、
   padding-inline がコンテナのcontent-box幅を縮め、
   1cqw < 12px になってしまう。
   そのためPC幅では左右paddingを0にし、
   元の8.5%分のオフセットを子要素側へ移す。
======================================== */
@media (min-width: 1200px) {
  .p-top-products,
  .p-top-about,
  .p-top-pending {
    width: 1200px;
    max-width: 1200px;
    margin-inline: auto;
    container-type: inline-size;
  }

  /* PRODUCTS
     元: section padding-left 8.5%(102px) + inner margin-left 110px
     = 212px
     sectionのcontent-boxを1200px確保するため、212pxをinner側で再現 */
  .p-top-products {
    padding-left: 0;
    padding-right: 0;
  }

  .p-top-products__inner {
    margin-left: 17.6667cqw; /* 1200px時 212px */
    margin-right: 0;
  }

  /* ABOUT
     元の左右padding 8.5%(102px)を、
     見出しとgridのオフセットへ移して1200px時の位置を維持 */
  .p-top-about {
    padding-left: 0;
    padding-right: 0;
  }

  .p-top-section-title--about {
    margin-left: 8.5cqw; /* 1200px時 102px */
  }

  .p-top-about__grid {
    margin-left: 9.2843cqw; /* 102px + 9.4116px = 約111.41px */
  }
}

/* ========================================
   TOP FV / SP PROVISIONAL LAYOUT
   390pxデザイン基準の仮組み。
   PC版の座標系を縮小表示せず、SPではFVを縦長キャンバスとして再配置する。
======================================== */
@media (max-width: 767px) {
  .p-top-kv {
    position: sticky;
    left: auto;
    width: 100%;
    min-width: 0;
    height: 456.4103cqw;
    aspect-ratio: auto;
    transform: none;
  }

  .p-top-kv__canvas,
  .p-top-kv__collage {
    width: 100%;
    height: 100%;
  }

  .p-top-kv__title {
    font-size: 4.1026cqw;
  }

  .p-top-kv__eyebrow {
    font-size: 2.8205cqw;
  }

  .p-top-kv__text {
    font-size: 2.5641cqw;
    line-height: 1.5;
  }

  /* 1段目：創始者 / プラパズル */
  .p-top-kv__item--founder {
    top: 4.319vw;
    left: 4.792vw;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.8vw;
    width: 32.4521vw; /* 390px時 126.563px */
    height: 43.4657vw; /* 390px時 169.5162px */
  }

  .p-top-kv__item--founder .p-top-kv__founder-main {
    position: relative;
    display: grid;
    grid-template-columns: 18.3666vw minmax(0, 1fr);
    align-items: start;
    column-gap: 2.3vw;
    row-gap: 1.8vw;
    width: 100%;
  }

  /* SPでは画像＋縦見出しを1段目、本文を2段目いっぱいに配置 */
  .p-top-kv__item--founder .p-top-kv__founder-content {
    display: contents;
  }

  .p-top-kv__item--founder .p-top-kv__founder-main > .p-top-kv__image {
    grid-column: 1;
    grid-row: 1;
    width: 18.3666vw; /* 390px時 71.6299px */
    height: auto;
    object-fit: contain;
  }

  .p-top-kv__item--founder .p-top-kv__copy--founder {
    position: relative;
    grid-column: 3;
    grid-row: 1;
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0.8vw;
    width: fit-content;
    min-width: 0;
  }

  .p-top-kv__item--founder .p-top-kv__eyebrow {
    margin: 0;
    font-size: 2.8205vw; /* 390px時 約11px */
    line-height: 1.1;
    writing-mode: vertical-rl;
    text-orientation: upright;
  }

  .p-top-kv__item--founder .p-top-kv__founder-star {
    position: absolute;
    top: -0.7vw;
    right: -3.5vw;
    display: block;
    margin: 0;
    font-size: 4.1026vw;
    line-height: 1;
  }

  .p-top-kv__item--founder .p-top-kv__title {
    margin: 0;
    font-size: 5.641vw; /* 390px時 22px */
    line-height: 1;
    writing-mode: vertical-rl;
    text-orientation: upright;
  }

  .p-top-kv__item--founder .p-top-kv__text--founder {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    margin: 0;
    font-size: 2.3077vw; /* 390px時 約9px */
    line-height: 1.55;
    writing-mode: horizontal-tb;
    text-align: justify;
  }

  .p-top-kv__item--founder .p-top-kv__arrow--founder {
    right: -0.7vw;
    bottom: 0;
  }

  .p-top-kv__item--plapuzzle {
    top: 4.319cqw;
    right: 5.3434cqw; /* 390px時 20.8391px */
    left: auto;

    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 1.2cqw;

    width: 53.173cqw;
    height: 16.6582cqw;
  }

  .p-top-kv__item--plapuzzle > .p-top-kv__image--sp {
    display: block;
    flex: 0 0 auto;
    order: 1;

    width: 33.2703cqw; /* 390px時 129.7542px */
    height: 16.6165cqw; /* 390px時 64.8045px */

    object-fit: contain;
  }

  .p-top-kv__item--plapuzzle .p-top-kv__title {
    order: 3;
    flex: 0 0 auto;

    margin: 0;
    font-size: 3.0769cqw; /* 390px時 12px */
    line-height: 1.2;
    text-align: left;

    writing-mode: vertical-rl;
    text-orientation: upright;
  }

  .p-top-kv__item--plapuzzle .p-top-kv__text {
    order: 2;
    flex: 0 0 auto;

    margin: 0;
    font-size: 2.5641cqw; /* 390px時 10px */
    line-height: 1.4;
    text-align: left;

    writing-mode: vertical-rl;
    text-orientation: upright;
  }

  /* 2段目：ターベル / History */
  .p-top-kv__item--tarbell {
    top: 27.7265cqw; /* 390px時 108.1332px */
    left: 46.5647cqw; /* 390px時 181.6025px */

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3.0769cqw; /* 390px時 12px */

    width: 28.2145cqw; /* 390px時 110.0365px */
    height: 52.1611cqw; /* 390px時 203.4283px */
  }

  .p-top-kv__item--tarbell > .p-top-kv__image {
    order: 1;
    flex: 0 0 auto;

    width: 28.052cqw; /* 390px時 109.4028px */
    height: 14.4482cqw; /* 390px時 56.3481px */

    object-fit: contain;
  }

  .p-top-kv__item--tarbell .p-top-kv__copy {
    order: 2;
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-start;
    gap: 1.2cqw;

    width: auto;
    min-width: 0;
    flex: 0 0 auto;
  }

  .p-top-kv__item--tarbell .p-top-kv__title {
    margin: 0;

    font-size: 3.0769cqw; /* 390px時 12px */
    line-height: 1.2;

    writing-mode: vertical-rl;
    text-orientation: upright;
  }

  .p-top-kv__item--tarbell .p-top-kv__text {
    margin: 0;

    font-size: 2.5641cqw; /* 390px時 10px */
    line-height: 1.4;

    writing-mode: vertical-rl;
    text-orientation: upright;
  }

  .p-top-kv__item--history {
    top: 29.7436cqw;
    right: 2.0513cqw;
    width: 19.4872cqw;
    height: 63.0769cqw;
  }

  /* 3段目：シーモンキー / 夢の国へ */
  .p-top-kv__item--seamonkey {
    top: 53.8462cqw;
    left: 4.6154cqw;
    width: 42.5641cqw;
    height: 52.3077cqw;
  }

  .p-top-kv__item--seamonkey > .p-top-kv__image {
    width: 42.5641cqw;
    height: 24.6154cqw;
    object-fit: contain;
  }

  .p-top-kv__item--seamonkey .p-top-kv__copy {
    position: static;
    width: 100%;
    margin-top: 1.7949cqw;
  }

  .p-top-kv__item--seamonkey .p-top-kv__title {
    font-size: 3.3333cqw;
  }

  .p-top-kv__item--seamonkey .p-top-kv__text {
    margin-top: 1.0256cqw;
    font-size: 2.3077cqw;
  }

  .p-top-kv__item--shop {
    top: 90.2564cqw;
    right: 4.6154cqw;
    left: auto;
    width: 43.5897cqw;
    gap: 1.2821cqw;
  }

  .p-top-kv__item--shop > .p-top-kv__image {
    width: 42.0513cqw;
    height: 22.5641cqw;
  }

  .p-top-kv__item--shop .p-top-kv__title {
    font-size: 3.0769cqw;
  }

  .p-top-kv__item--shop .p-top-kv__text {
    font-size: 2.0513cqw;
  }

  /* 中央コピー */
  .p-top-kv__headline {
    top: 128.2051cqw;
    left: 50%;
    width: 89.7436cqw;
    height: auto;
    gap: 1.2821cqw;
  }

  .p-top-kv__logo {
    width: 35.8974cqw;
    height: auto;
  }

  .p-top-kv__main-en {
    font-size: 11.0256cqw;
  }

  .p-top-kv__main-ja {
    font-size: 7.4359cqw;
  }

  /* 驚きをつくる3つの鍵 */
  .p-top-kv__item--keys {
    top: 180.5128cqw;
    left: 50%;
    width: 87.6923cqw;
    height: 43.0769cqw;
    transform: translateX(-50%);
  }

  /* 下段コラージュ */
  .p-top-kv__item--backgammon {
    top: 226.6667cqw;
    left: 4.6154cqw;
    width: 42.5641cqw;
    height: 45.6410cqw;
  }

  .p-top-kv__item--artbank {
    top: 226.6667cqw;
    right: 4.6154cqw;
    left: auto;
    width: 40.5128cqw;
    height: 26.6667cqw;
  }

  .p-top-kv__item--recruit {
    top: 256.4103cqw;
    right: 4.6154cqw;
    left: auto;
    width: 40.5128cqw;
    height: 21.5385cqw;
  }

  .p-top-kv__item--3dart {
    top: 276.4103cqw;
    left: 4.6154cqw;
    width: 42.5641cqw;
    height: 47.1795cqw;
  }

  .p-top-kv__item--microbank {
    top: 280.5128cqw;
    right: 4.6154cqw;
    left: auto;
    width: 40.5128cqw;
    height: 42.0513cqw;
  }

  .p-top-kv__item--metal {
    top: 327.1795cqw;
    left: 4.6154cqw;
    width: 42.5641cqw;
    height: 41.5385cqw;
  }

  .p-top-kv__item--magic {
    top: 326.1538cqw;
    right: 4.6154cqw;
    left: auto;
    width: 44.6154cqw;
    height: 46.1538cqw;
  }

  .p-top-kv__item--puzzle {
    top: 374.8718cqw;
    left: 50%;
    width: 87.6923cqw;
    height: 39.4872cqw;
    display: grid;
    grid-template-columns: 42.0513cqw minmax(0, 1fr);
    align-items: center;
    gap: 3.0769cqw;
    transform: translateX(-50%);
  }

  .p-top-kv__item--puzzle > .p-top-kv__image {
    width: 43.5897cqw;
    height: 25.1282cqw;
    object-fit: contain;
  }

  .p-top-kv__item--puzzle .p-top-kv__copy--puzzle {
    width: auto;
  }

  .p-top-kv__item--puzzle .p-top-kv__title {
    font-size: 3.3333cqw;
  }

  .p-top-kv__item--puzzle .p-top-kv__text {
    font-size: 2.3077cqw;
  }

  .p-top-kv__item--jigsaw {
    top: 415.8974cqw;
    right: 4.6154cqw;
    bottom: auto;
    width: 87.6923cqw;
    height: 37.4359cqw;
    align-items: center;
  }

  .p-top-kv__item--jigsaw .p-top-kv__copy--jigsaw {
    width: 28.7179cqw;
    flex: 0 0 28.7179cqw;
    height: auto;
    padding: 0;
  }

  .p-top-kv__item--jigsaw .p-top-kv__title {
    font-size: 4.6154cqw;
  }

  .p-top-kv__item--jigsaw .p-top-kv__jigsaw-star {
    left: -2.5641cqw;
    font-size: 4.6154cqw;
  }

  .p-top-kv__item--jigsaw .p-top-kv__text {
    margin-top: 1.2821cqw;
    font-size: 2.0513cqw;
  }

  .p-top-kv__item--jigsaw > .p-top-kv__image {
    width: 53.8462cqw;
    height: 32.8205cqw;
    object-fit: contain;
  }

  .p-top-kv__item--jigsaw .p-top-kv__arrow--jigsaw {
    top: 2.0513cqw;
    right: -1.0256cqw;
    width: 3.0769cqw;
    height: 3.0769cqw;
  }

  .p-top-kv__wow {
    display: none;
  }

  /* SPでは装飾グラデーションも390pxキャンバス内に収める */
  .p-top-kv__gradient--left {
    top: 276.9231cqw;
    left: 0;
    width: 2.5641cqw;
    height: 56.4103cqw;
  }

  .p-top-kv__gradient--bottom {
    top: 368.7179cqw;
    bottom: auto;
    left: auto;
    right: 0;
    width: 48.7179cqw;
    height: 4.6154cqw;
  }

  .p-top-kv__gradient--right {
    top: 181.0256cqw;
    right: 0;
    width: 2.5641cqw;
    height: 56.4103cqw;
  }

  /* FVリンク矢印：390px時 9.056px角、画面幅に比例 */
  .p-top-kv .p-top-kv__arrow {
    width: 2.3221vw;
    height: 2.3221vw;
  }

  .p-top-kv .p-top-kv__arrow img {
    display: block;
    width: 100%;
    height: 100%;
  }
}
/* ========================================
   PRODUCTS / SP - Step 1
   390pxデザイン基準
   PC版の指定は維持し、SPのみ縦積みに変更
======================================== */
@media (max-width: 767px) {
  .p-top-products__row {
    display: flex;
    flex-direction: column;
    width: 83.6246vw; /* 390px時 326.1359px */
    min-width: 0;
    height: auto;
  }

  /* SPではbrandラッパーをレイアウト上だけ展開し、
     logo/text/visual/catch/link をrow直下相当として並べる */
  .p-top-products__brand {
    display: contents;
  }

  .p-top-products__brand-logo,
  .p-top-products__other-head {
    order: 1;
  }

  .p-top-products__brand > p {
    order: 2;
  }

  .p-top-products__visual {
    order: 3;
  }

  .p-top-products__catch {
    order: 4;
  }

  .p-top-products__brand-link {
    order: 5;
  }
}

/* ========================================
   PRODUCTS / SP - Step 2
   390pxデザイン基準
   row / guide / brand / slider / catch / link
======================================== */
@media (max-width: 767px) {
  .p-top-products__inner {
    width: 100%;
    margin-inline: 0;
  }

  .p-top-products__row,
  .p-top-products__row--magic,
  .p-top-products__row--other {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 83.6246vw; /* 390px時 326.1359px */
    min-width: 0;
    height: auto;
    margin-inline: auto;
    padding: 6.4103vw 5.1282vw;
    box-sizing: border-box;
  }

  .p-top-products__brand {
    display: contents;
  }

  .p-top-products__brand-logo {
    order: 1;
    display: block;
    align-self: flex-start;
    width: 57.5801vw; /* 390px時 224.5625px */
    height: 18.2745vw; /* 390px時 71.2706px */
    margin: 0;
    object-fit: contain;
    object-position: left center;
  }

  .p-top-products__brand-logo--magic {
    width: 46.1068vw; /* 390px時 179.8166px */
    height: 22.3163vw; /* 390px時 87.0334px */
  }

  .p-top-products__other-head {
    order: 1;
    align-self: flex-start;
  }

  .p-top-products__brand > p {
    order: 2;
    width: 100%;
    margin: 3.0769vw 0 0;
    font-size: 3.0769vw; /* 390px時 12px */
    line-height: 1.55;
  }

  .p-top-products__row--magic .p-top-products__brand p {
    margin-top: 3.0769vw;
  }

  .p-top-products__visual,
  .p-top-products__row--magic .p-top-products__visual {
    order: 3;
    position: relative;
    grid-column: auto;
    grid-row: auto;
    width: 100%;
    height: 23.0769vw; /* 390px時 90px */
    margin-top: 5.1282vw;
    overflow: hidden;
  }

  .p-top-products__slider {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    overflow: hidden;
  }

  .p-top-products__track {
    display: flex;
    align-items: center;
    width: max-content;
  }

  .p-top-products__image {
    flex: 0 0 auto;
    width: auto;
    height: 23.0769vw; /* 390px時 90px */
    margin-right: 4.6154vw;
    object-fit: contain;
  }

  .p-top-products__visual::before {
    top: 0;
    left: -10.2564vw;
    width: 25.641vw;
    height: 100%;
  }

  .p-top-products__visual::after {
    top: 0;
    left: 12.8205vw;
    width: 1px;
    height: 25.641vw;
  }

  .p-top-products__row--magic .p-top-products__visual::before {
    right: -10.2564vw;
    left: auto;
  }

  .p-top-products__row--magic .p-top-products__visual::after {
    right: 12.8205vw;
    left: auto;
  }

  .p-top-products__catch,
  .p-top-products__catch--left {
    order: 4;
    position: static;
    width: 100%;
    margin: 5.1282vw 0 0;
    font-size: 4.6154vw; /* 390px時 18px */
    line-height: 1.35;
    white-space: normal;
    text-align: left;
  }

  .p-top-products__brand-link {
    order: 5;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    align-self: stretch;
    width: 100%;
    margin-top: 3.0769vw;
    font-size: 3.0769vw; /* 390px時 12px */
    line-height: 1;
    text-align: right;
  }

  .p-top-products__brand-link img {
    width: 2.3221vw;
    height: 2.3221vw;
  }
}

/* ========================================
   PRODUCTS / SP - Step 5
   visual mask / diagonal line
   390pxデザイン基準
======================================== */
@media (max-width: 767px) {
  /*
   * スライダー本体は .p-top-products__slider 側でクリップするため、
   * visual自体は斜線が画像エリアより上下へ伸びられるよう visible にする。
   */
  .p-top-products__visual,
  .p-top-products__row--magic .p-top-products__visual {
    overflow: visible;
  }

  .p-top-products__slider {
    overflow: hidden;
  }

  /*
   * 左側の白マスク
   * 390px時：
   * left -20px / width 70px / height 90px
   */
  .p-top-products__visual::before {
    top: 0;
    left: -5.1282vw; /* -20px */
    right: auto;

    width: 17.9487vw; /* 70px */
    height: 23.0769vw; /* 90px */

    clip-path: polygon(0 0, 100% 0, 34% 100%, 0 100%);
  }

  /*
   * マスク境界の斜線。
   * マスクより上下に長く見せる。
   * 390px時：
   * top -15px / left 50px / height 120px
   */
  .p-top-products__visual::after {
    top: -3.8462vw; /* -15px */
    left: 12.8205vw; /* 50px */
    right: auto;

    width: 1px;
    height: 30.7692vw; /* 120px */

    transform: rotate(26.5deg);
    transform-origin: top center;
  }

  /* Magic行は左右反転 */
  .p-top-products__row--magic .p-top-products__visual::before {
    right: -5.1282vw;
    left: auto;

    clip-path: polygon(0 0, 100% 0, 100% 100%, 66% 100%);
  }

  .p-top-products__row--magic .p-top-products__visual::after {
    top: -3.8462vw;
    right: 12.8205vw;
    left: auto;

    height: 30.7692vw;

    transform: rotate(-26.5deg);
    transform-origin: top center;
  }
}

/* ========================================
   PRODUCTS / SP - Step 6
   visual mask / diagonal line fine tuning
   Magic is exact horizontal mirror
======================================== */
@media (max-width: 767px) {
  .p-top-products__visual::before {
    top: -2px;
    left: -4.1282vw;
    right: auto;

    width: 15.9487vw;
    height: 24.0769vw;

    clip-path: polygon(0 0, 100% 0, 34% 100%, 0 100%);
  }

  .p-top-products__visual::after {
    top: -2.8462vw;
    left: 12.8205vw;
    right: auto;

    width: 1px;
    height: 30.7692vw;

    transform: rotate(24.25deg);
    transform-origin: top center;
  }

  .p-top-products__row--magic .p-top-products__visual::before {
    top: -2px;
    right: -4.1282vw;
    left: auto;

    width: 15.9487vw;
    height: 24.0769vw;

    clip-path: polygon(0 0, 100% 0, 100% 100%, 66% 100%);
  }

  .p-top-products__row--magic .p-top-products__visual::after {
    top: -2.8462vw;
    right: 12.8205vw;
    left: auto;

    width: 1px;
    height: 30.7692vw;

    transform: rotate(-24.25deg);
    transform-origin: top center;
  }
}

/* ========================================
   PRODUCTS / ABOUT SP heading
   390px design baseline
   SP image assets:
   - products-heading-gradient-sp.webp
   - about-heading-gradient-sp.webp
======================================== */

/* Desktop */
.p-top-products__heading-image--pc {
  display: block;
}

.p-top-products__heading-image--sp,
.p-top-about__heading-image--sp {
  display: none;
}

@media (max-width: 767px) {
  /*
   * PRODUCTS / ABOUT共通タイトル
   * 390px時 30px
   */
  .p-top-products__heading .p-top-section-title,
  .p-top-section-title--about h2 {
    font-size: 7.6923vw;
    line-height: 1;
    writing-mode: horizontal-tb;
    text-orientation: mixed;
  }

  /* PRODUCTS heading */
  .p-top-products__heading {
    position: static;
    display: flex;
    align-items: center;
    gap: 3.8462vw; /* 390px時 15px */
    width: auto;
    height: auto;
  }

  .p-top-products__heading-image--pc {
    display: none;
  }

  .p-top-products__heading-image--sp {
    display: block;
    flex: 0 0 auto;
    width: auto;
    height: auto;
    max-width: none;
    object-fit: contain;
  }

  /*
   * ABOUT heading
   * PCでは既存 heading-about.webp のbackgroundを維持。
   * SPのみ専用書き出し画像へ切り替える。
   */
  .p-top-section-title--about {
    display: flex;
    align-items: center;
    gap: 3.8462vw; /* 390px時 15px */
    padding-left: 0;
    background-image: none;
  }

  .p-top-about__heading-image--sp {
    display: block;
    flex: 0 0 auto;
    width: auto;
    height: auto;
    max-width: none;
    object-fit: contain;
  }

  .p-top-section-title--about h2 {
    margin: 0;
    font-family: "Limelight", Georgia, serif;
    font-weight: 400;
    letter-spacing: -0.01em;
  }
}

/* SP heading gradient image size
 * 390px時: 39.6504px × 23.9441px
 */
@media (max-width: 767px) {
  .p-top-products__heading-image--sp,
  .p-top-about__heading-image--sp {
    width: 10.1668vw;
    height: 6.1395vw;
    object-fit: cover;
  }
}

/* ========================================
   PRODUCTS SP - Other Items / Magic link
   390px design baseline
======================================== */
@media (max-width: 767px) {
  /* 390px時: 75.1119px × 30.6164px */
  .p-top-products__other-logo {
    width: 19.2595vw;
    height: 7.8504vw;
    object-fit: contain;
  }

  /* 390px時: 212.3389px × 30.0825px */
  .p-top-products__other-title {
    width: 54.4459vw;
    height: 7.7135vw;
  }

  /* Magic側にもDisney側と同様の下線を付与 */
  .p-top-products__row--magic .p-top-products__brand-link span {
    text-decoration: none;
  }
}

/* ========================================
   PRODUCTS SP - Other Items size correction
   390px design baseline
   親幅・object-fitの影響で画像が縮んで見えないよう固定
======================================== */
@media (max-width: 767px) {
  .p-top-products__other-head {
    width: 54.4459vw; /* title幅に合わせる：390px時 212.3389px */
    max-width: none;
    flex: 0 0 auto;
  }

  .p-top-products__other-logo {
    display: block;
    flex: 0 0 auto;

    width: 19.2595vw; /* 390px時 75.1119px */
    height: 7.8504vw; /* 390px時 30.6164px */
    max-width: none;

    object-fit: fill;
  }

  .p-top-products__other-title {
    display: block;
    flex: 0 0 auto;

    width: 54.4459vw; /* 390px時 212.3389px */
    height: 7.7135vw; /* 390px時 30.0825px */
    max-width: none;

    object-fit: fill;
  }

  .p-top-products__row--magic .p-top-products__brand-link span {
    text-decoration: none;
  }
}

@media (max-width: 767px) {
  .p-top-about {
    width: 100%;
    padding-inline: 0;
    padding: 0 0 7.6923cqw;
  }

  .p-top-section-title--about {
    width: 89.7436vw;
    margin-inline: auto;
  }

  /* PC 2列を1列にするだけ。カード自体の縦横比は477:446を維持 */
  .p-top-about__grid {
    position: relative;
    display: flex;
    flex-direction: column;

    /* PRODUCTSのガイド外幅と揃える */
    width: 89.7436vw; /* 390px時 350px */
    min-width: 0;
    margin-inline: auto;
    gap: 0;
  }

  .p-top-about__card {
    flex: 0 0 auto;
    align-self: center;
    width: 83.6246vw; /* 390px時 326.1359px */
    height: 78.1899vw; /* PC 477:446を維持 → 約304.94px */
    min-height: 0;
    padding: 7.8891vw; /* PC 45pxを同比率縮尺 → 約30.77px */
    box-sizing: border-box;
  }

  /* PC版のカード内部タイポグラフィを同比率縮尺 */
  .p-top-about__en {
    font-size: 8.7657vw; /* 約34.19px */
  }

  .p-top-about__desc {
    margin-top: 5.2594vw; /* 約20.51px */
    font-size: 2.805vw; /* 約10.94px */
  }

  .p-top-about__arrow {
    right: 7.3632vw;
    bottom: 7.3632vw;
  }

  .p-top-about__arrow img {
    width: 4.9088vw;
    height: 4.9088vw;
  }

  /* History */
  .p-top-about__card--history .p-top-about__title {
    left: 7.8891vw;
    bottom: 7.8891vw;
    font-size: 8.7657vw;
  }

  .p-top-about__image--history {
    right: 11.0448vw;
    bottom: 14.2004vw;
    width: 18.4079vw;
  }

  /* Creat */
  .p-top-about__card--create .p-top-about__desc {
    width: 54.1574vw;
  }

  .p-top-about__card--create .p-top-about__title {
    top: 7.8891vw;
    right: 5.2594vw;
    font-size: 9.4669vw;
  }

  .p-top-about__image--create {
    left: 7.8891vw;
    bottom: 7.8891vw;
    width: 54.1574vw;
    height: 32.4529vw;
  }

  /* Legend */
  .p-top-about__legend-main {
    gap: 5.2594vw;
    margin-top: 6.5217vw;
  }

  .p-top-about__image--legend {
    width: 20.5117vw;
  }

  .p-top-about__card--legend .p-top-about__title {
    font-size: 11.2201vw;
  }

  .p-top-about__card--legend .p-top-about__title-small {
    font-size: 5.61vw;
  }

  /* Recruitment */
  .p-top-about__recruit-main {
    gap: 4.2075vw;
    margin-top: 5.2594vw;
  }

  .p-top-about__image--recruit {
    width: 28.4008vw;
    height: 22.7326vw;
  }

  .p-top-about__card--recruit .p-top-about__title {
    left: 7.0125vw;
    bottom: 8.7657vw;
    width: 68.8271vw;
    height: 19.4516vw;
    font-size: 8.5554vw;
  }
}

/* ========================================
   FV / KV 2026-09 latest layout
   PC/SP share the same text content; artwork is switched with <picture>.
======================================== */

.p-top-kv {
  aspect-ratio: 1200 / 906;
}

.p-top-kv__block {
  position: absolute;
  z-index: 1;
  box-sizing: border-box;
  font-family: var(--font-ryo-gothic, "Noto Sans JP", sans-serif);
}

.p-top-kv__block .p-top-kv__media,
.p-top-kv__block .p-top-kv__media img {
  display: block;
  width: 100%;
  height: auto;
}

.p-top-kv__block .p-top-kv__copy {
  min-width: 0;
}

.p-top-kv__block .p-top-kv__title,
.p-top-kv__block .p-top-kv__eyebrow,
.p-top-kv__block .p-top-kv__text {
  margin: 0;
}

.p-top-kv__block .p-top-kv__title,
.p-top-kv__history-copy strong,
.p-top-kv__keys-title strong,
.p-top-kv__recruit-copy strong {
  font-family: var(--font-ryo-display, "Noto Serif JP", serif);
  font-size: 1.3333cqw;
  font-weight: 700;
  line-height: 1.18;
  font-feature-settings: "palt";
}

.p-top-kv__block .p-top-kv__text {
  margin-top: 0.35cqw;
  font-family: var(--font-ryo-gothic, "Noto Sans JP", sans-serif);
  font-size: 0.8333cqw;
  font-weight: 400;
  line-height: 1.48;
  font-feature-settings: "palt";
}

.p-top-kv__block .p-top-kv__arrow {
  width: 1.35cqw;
  height: 1.35cqw;
}

.p-top-kv__block .p-top-kv__arrow img {
  display: block;
  width: 100%;
  height: 100%;
}

/* PC: マジックグッズ全米発売
 * 1200px design baseline: 315px × 132px
 */
.p-top-kv__block--magic-us {
  top: 2cqw;
  left: 5.65cqw;
  display: flex;
  gap: 0.9cqw;
  width: 26.25cqw; /* 1200px時 315px */
  height: 11cqw; /* 1200px時 132px */
}

.p-top-kv__block--magic-us .p-top-kv__media {
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
}

.p-top-kv__copy--vertical-pc {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  gap: 0.35cqw;
  writing-mode: horizontal-tb;
}

.p-top-kv__copy--vertical-pc .p-top-kv__title,
.p-top-kv__copy--vertical-pc .p-top-kv__text {
  writing-mode: vertical-rl;
  text-orientation: upright;
  margin: 0;
}

.p-top-kv__block--magic-us .p-top-kv__copy {
  flex: 0 0 8.75cqw; /* 1200px時 105px */
  width: 8.75cqw;
}

/* PC: 英字（TVCM）を1語扱いで次列へ送らず、デザイン同様に縦組み内で自然に折り返す */
.p-top-kv__block--magic-us .p-top-kv__text {
  word-break: break-all;
  overflow-wrap: anywhere;
}

/* PC: 創始者 */
.p-top-kv__block--founder {
  top: 13.1cqw;
  left: 5.7cqw;
  display: grid;
  grid-template-columns: 15.8333cqw 8.2cqw;
  column-gap: 1.6667cqw; /* 1200px時 20px */
  width: 25.7cqw;
}

.p-top-kv__block--founder .p-top-kv__media {
  grid-column: 2;
  grid-row: 1 / span 2;
  width: 8.2cqw;
}

.p-top-kv__block--founder .p-top-kv__copy {
  grid-column: 1;
  grid-row: 1;
  align-self: start;
}

.p-top-kv__block--founder .p-top-kv__eyebrow {
  font-family: var(--font-ryo-display, "Noto Serif JP", serif);
  font-size: 1.6667cqw; /* 1200px時 20px */
  font-weight: 700;
  line-height: 1;
}

.p-top-kv__block--founder .p-top-kv__title--founder {
  margin-top: 0.25cqw;
  font-size: 3.3333cqw; /* 1200px時 40px */
  line-height: 1;
}

.p-top-kv__block--founder .p-top-kv__text {
  grid-column: 1;
  margin-top: 0.85cqw;
  width: 15.8333cqw; /* arrowをタイトル横へ移動した分、本文幅を拡張 */
}

.p-top-kv__block--founder .p-top-kv__arrow {
  top: 3.55cqw; /* 「山田 昭」の横 */
  right: 9.05cqw;
  bottom: auto;
}

/* PC: シーモンキー */
.p-top-kv__block--seamonkey {
  top: 2.55cqw;
  left: 35.5cqw;
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 0.85cqw;
  width: 28.5cqw;
}

.p-top-kv__block--seamonkey .p-top-kv__media {
  flex: 0 0 22.84475vw;
  width: 22.84475vw;
  height: 14.4469166667vw; /* 173.363px @ 1200px */
  max-width: none;
}

.p-top-kv__block--seamonkey .p-top-kv__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-top-kv__block--seamonkey .p-top-kv__title {
  font-size: 1.3333333333vw; /* 16px @ 1200px */
}

.p-top-kv__block--seamonkey .p-top-kv__text {
  font-size: 0.8333333333vw; /* 10px @ 1200px */
}

.p-top-kv__block--seamonkey > .c-guide-point--tr {
  top: -0.5cqw;
  right: -1.4cqw;
}

.p-top-kv__block--seamonkey > .c-guide-point--br {
  right: -1.4cqw;
}

/* PC: 貯金本 */
.p-top-kv__block--savingsbook {
  top: 18.9cqw;
  left: 35.8cqw;
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 0.75cqw;
  width: 24.3cqw;
}

.p-top-kv__block--savingsbook .p-top-kv__media {
  flex: 0 0 11.5cqw;
  width: 11.5cqw;
}

/* PC: キャンディーバブル */
.p-top-kv__block--candybubble {
  top: 3.9cqw;
  left: 62.2cqw;
  display: flex;
  align-items: flex-start;
  gap: 0.75cqw;
  width: 10.4cqw;
}

.p-top-kv__block--candybubble .p-top-kv__media {
  flex: 0 0 5.5cqw;
  width: 5.5cqw;
}

/* PC: 3つの鍵 */
.p-top-kv__block--keys {
  top: 3.5cqw;
  left: 75.4cqw;
  width: 21.1cqw;
  min-height: 20.1cqw;
}

.p-top-kv__block--keys .p-top-kv__media {
  position: absolute;
  top: 0;
  left: 0;
  width: 13cqw;
}

.p-top-kv__keys-title {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  align-items: flex-start;
  gap: 0.25cqw;
  writing-mode: vertical-rl;
}

.p-top-kv__keys-title > span {
  font-family: "Limelight", serif;
  font-size: 2.2cqw;
  line-height: 1;
}

.p-top-kv__keys-title strong {
  position: relative;
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-size: 2.75cqw; /* 1200px時 33px */
  line-height: 1.1;
}

.p-top-kv__keys-list {
  position: absolute;
  top: 10.6cqw;
  left: 0;
  width: 14.4cqw;
}

.p-top-kv__keys-list p {
  margin: 0 0 0.55cqw;
}

.p-top-kv__keys-list strong {
  display: block;
  font-family: "Limelight", serif;
  font-size: 1.5cqw; /* 1200px時 18px */
  font-weight: 400;
  line-height: 1;
  white-space: nowrap;
}

.p-top-kv__keys-list span {
  display: block;
  margin-top: 0.2cqw;
  font-size: 0.833333cqw; /* 1200px時 10px */
  line-height: 1.35;
  white-space: nowrap;
  font-feature-settings: "palt";
}

.p-top-kv__keys-last-char {
  position: relative;
}

.p-top-kv__block--keys .p-top-kv__keys-last-char > .p-top-kv__arrow {
  left: -2.35cqw;
  top: 50%;
  right: auto;
  bottom: auto;
  width: 1.35cqw;
  height: 1.35cqw;
  transform: translateY(-50%);
}

/* PC: History */
.p-top-kv__block--history {
  top: 26.3cqw;
  left: 3cqw;
  width: 31.6cqw;
  height: 9.7cqw;
}

.p-top-kv__history-copy {
  position: absolute;
  top: 1.1cqw;
  left: 1.6cqw;
  z-index: 2;
}

.p-top-kv__history-en {
  display: block;
  font-family: "Limelight", serif;
  font-size: 1.55cqw;
  line-height: 1;
}

.p-top-kv__history-copy strong {
  display: block;
  margin-top: 0.55cqw;
  font-size: 2.7cqw;
  line-height: 1;
}

.p-top-kv__block--history .p-top-kv__media--history {
  position: absolute;
  top: 1cqw;
  left: 13.4cqw;
  width: 4.3cqw;
}

.p-top-kv__block--history .p-top-kv__media--rabbit {
  position: absolute;
  right: 2.1cqw;
  bottom: 0.8cqw;
  width: 7.2cqw;
}

.p-top-kv__block--history .p-top-kv__arrow {
  right: 8.9cqw;
  bottom: 1.5cqw;
}

/* PC: プラパズル */
.p-top-kv__block--plapuzzle {
  top: 36.2cqw;
  left: 3cqw;
  display: grid;
  grid-template-columns: 10.2cqw 8.4cqw;
  gap: 1.15cqw;
  width: 20.5cqw;
}

.p-top-kv__block--plapuzzle .p-top-kv__media {
  width: 10.2cqw;
}

/* PC: マジック大全 */
.p-top-kv__block--magic-daizen {
  top: 35.4cqw;
  left: 25.7cqw;
  display: flex;
  flex-direction: column;
  gap: 0.8cqw;
  width: 10.8cqw;
}

.p-top-kv__block--magic-daizen .p-top-kv__media {
  width: 8.9cqw;
  margin-left: 0;
}

/* PC: アートバンク */
.p-top-kv__block--artbank {
  top: 27.0cqw;
  left: 66.7cqw;
  display: grid;
  grid-template-columns: 7.1cqw 8.4cqw;
  gap: 1.1cqw;
  width: 16.8cqw;
}

/* PC: アートバンク 微調整 */
.p-top-kv__block--artbank .p-top-kv__media {
  flex: 0 0 6.85915vw;
  width: 6.85915vw; /* 1200px時 82.3098px */
  height: 6.85915vw; /* 1200px時 82.3098px */
  max-width: none;
}

.p-top-kv__block--artbank .p-top-kv__title {
  font-size: 1.333333cqw; /* 1200px時 16px */
}

.p-top-kv__block--artbank .p-top-kv__text {
  font-size: 0.833333cqw; /* 1200px時 10px */
}

.p-top-kv__block--artbank > .c-guide-point--tr {
  top: -1.75cqw; /* -21px */
  right: -1.4166667cqw; /* -17px */
}

.p-top-kv__block--artbank > .c-guide-point--bl {
  bottom: -1.75cqw; /* -21px */
  left: -1.5cqw; /* -18px */
}

/* PC: ジガゾーパズル */
.p-top-kv__block--jigazo {
  top: 26.3cqw;
  left: 86cqw;
  display: flex;
  flex-direction: column;
  width: 11cqw;
}

.p-top-kv__block--jigazo .p-top-kv__media {
  width: 9cqw;
  margin-inline: 0 auto;
  margin-bottom: 0.65cqw;
}

/* PC: Recruitment */
.p-top-kv__block--recruit {
  top: 37.6cqw;
  left: 77.9cqw;
  width: 5.2cqw;
  height: 21cqw;
}

.p-top-kv__recruit-copy {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  gap: 0.1cqw;
  height: 100%;
}

.p-top-kv__recruit-en {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.p-top-kv__recruit-copy .p-top-kv__recruit-en > span,
.p-top-kv__recruit-copy em,
.p-top-kv__recruit-copy strong {
  writing-mode: vertical-rl;
}

.p-top-kv__recruit-copy .p-top-kv__recruit-en > span {
  font-family: "Limelight", serif;
  font-size: 2cqw;
  line-height: 1;
}

.p-top-kv__recruit-copy em {
  font-family: "Limelight", serif;
  font-size: 2.3333333333cqw; /* 1200px時 28px */
  font-style: normal;
  line-height: 1;
}

.p-top-kv__recruit-copy strong {
  font-size: 2.5cqw; /* 1200px時 30px */
  line-height: 1.1;
}

.p-top-kv__block--recruit .p-top-kv__arrow {
  right: 0.5cqw;
  bottom: 1.6cqw;
}

.p-top-kv__block--recruit > .c-guide-point--br {
  top: -4.9cqw;
  right: -1.833333cqw;
  bottom: auto;
}

.p-top-kv__block--recruit > .c-guide-point--tl {
  top: -1.9166666667cqw;
  left: -1.333333cqw;
}

.p-top-kv__block--recruit > .c-guide-point--bl {
  left: -2cqw; /* 1200px時 -24px */
  bottom: -1.6666666667cqw; /* 1200px時 -20px */
}

/* PC: 金バッジ */
.p-top-kv__block--goldbadge {
  top: 45cqw;
  left: 87.1cqw;
  display: grid;
  grid-template-columns: 8.0153416667vw 1fr;
  grid-template-rows: 6.3049916667vw 1fr;
  column-gap: 0.8cqw;
  width: 10.743575vw; /* 1200px時 128.9229px */
  height: 12.0274333333vw; /* 1200px時 144.3292px */
}

.p-top-kv__block--goldbadge .p-top-kv__media {
  grid-column: 1;
  grid-row: 1;
  width: 8.0153416667vw; /* 1200px時 96.1841px */
  height: 6.3049916667vw; /* 1200px時 75.6599px */
  max-width: none;
}

.p-top-kv__block--goldbadge .p-top-kv__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.p-top-kv__block--goldbadge .p-top-kv__copy {
  display: contents;
}

.p-top-kv__block--goldbadge .p-top-kv__title {
  grid-column: 2;
  grid-row: 1;
  margin: 0;
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-size: 1.3333333333cqw; /* 1200px時 16px */
  line-height: 1.2;
}

.p-top-kv__block--goldbadge .p-top-kv__text {
  grid-column: 1 / -1;
  grid-row: 2;
  margin: 0.35cqw 0 0;
  font-size: 0.8333333333cqw; /* 1200px時 10px */
  line-height: 1.4;
}

.p-top-kv__block--goldbadge > .c-guide-point--tl {
  top: 0;
  left: 0;
}

.p-top-kv__block--goldbadge > .c-guide-point--bl {
  bottom: 0;
  left: 0;
}

/* PC: メタリックナノパズル */
.p-top-kv__block--metal {
  top: 51.5cqw;
  left: 3cqw;
  display: grid;
  grid-template-columns: 10.8cqw 8cqw;
  gap: 1cqw;
  width: 18.3cqw;
}

/* PC: マジックテイメント */
.p-top-kv__block--magic-entertainment {
  top: 51.4cqw;
  left: 23cqw;
  display: grid;
  grid-template-columns: 17cqw;
  gap: 0.8cqw;
  width: 17cqw;
}

.p-top-kv__block--magic-entertainment .p-top-kv__media {
  width: 17cqw;
}

.p-top-kv__block--magic-entertainment .p-top-kv__title,
.p-top-kv__block--jigsaw .p-top-kv__title {
  font-size: 2.25cqw;
  line-height: 1.05;
}

.p-top-kv__block--magic-entertainment .p-top-kv__title > span,
.p-top-kv__block--jigsaw .p-top-kv__title > span {
  margin-right: 0.3cqw;
  font-family: "Limelight", serif;
  font-weight: 400;
}

.p-top-kv__block--magic-entertainment .p-top-kv__arrow {
  right: 0;
  bottom: 4.7cqw;
}

/* PC: TENYOism */
.p-top-kv__block--tenyoism {
  top: 51.5cqw;
  left: 46cqw;
  display: grid;
  grid-template-columns: 9cqw 10.3cqw;
  grid-template-rows: auto auto;
  column-gap: 0.8cqw;
  width: 20.1cqw;
}

.p-top-kv__block--tenyoism .p-top-kv__title {
  font-family: "Limelight", serif;
  font-size: 1.4cqw;
  font-weight: 400;
}

.p-top-kv__block--tenyoism .p-top-kv__media {
  grid-column: 2;
  grid-row: 2;
  width: 9cqw;
  margin-top: 0.55cqw;
}

.p-top-kv__block--tenyoism .p-top-kv__copy {
  grid-column: 1 / -1;
  grid-row: 1;
  width: 11.2cqw;
}

/* PC: ジグソーパズル */
.p-top-kv__block--jigsaw {
  top: 51.3cqw;
  left: 67cqw;
  display: grid;
  grid-template-columns: 13.2cqw 16.2cqw;
  gap: 1.1cqw;
  width: 31.1cqw;
}

.p-top-kv__block--jigsaw .p-top-kv__media {
  width: 13.2cqw;
}

.p-top-kv__block--jigsaw .p-top-kv__arrow {
  right: 0;
  bottom: 4.8cqw;
}

/* central logo / headline latest position */
.p-top-kv__headline {
  top: 27.1cqw;
  left: 50%;
  width: 43.8cqw;
  height: auto;
  gap: 0.35cqw;
}

.p-top-kv__logo {
  width: 20.2cqw;
  height: auto;
}

.p-top-kv__main-en {
  font-size: 5.55cqw;
}

.p-top-kv__main-ja {
  font-size: 3.55cqw;
}

/* Existing gradient ornaments */
.p-top-kv__gradient--left {
  top: 2cqw;
  left: 0;
  width: 2.8cqw;
  height: 21.7cqw;
}

.p-top-kv__gradient--right {
  top: 0;
  right: 0;
  width: 2cqw;
  height: 22.1cqw;
}

.p-top-kv__gradient--bottom {
  left: 0;
  bottom: -0.2564cqw;
  width: 24.5cqw;
  height: 4cqw;
}

@media (max-width: 767px) {
  .p-top-kv {
    width: 100%;
    height: 433.5cqw;
    aspect-ratio: auto;
  }

  .p-top-kv__block .p-top-kv__title,
  .p-top-kv__history-copy strong,
  .p-top-kv__keys-title strong,
  .p-top-kv__recruit-copy strong {
    font-size: 4.1cqw;
  }

  .p-top-kv__block .p-top-kv__text {
    margin-top: 1cqw;
    font-size: 2.55cqw;
    line-height: 1.55;
  }

  .p-top-kv__block .p-top-kv__arrow {
    width: 4.2cqw;
    height: 4.2cqw;
  }

  .p-top-kv__copy--vertical-pc {
    display: block;
  }

  .p-top-kv__copy--vertical-pc .p-top-kv__title,
  .p-top-kv__copy--vertical-pc .p-top-kv__text {
    writing-mode: horizontal-tb;
  }

  /* SP: founder */
  .p-top-kv__block--founder {
    top: 4.5cqw;
    left: 4.6cqw;
    display: grid;
    grid-template-columns: 18.2cqw 25.8cqw;
    column-gap: 3cqw;
    width: 48cqw;
  }

  .p-top-kv__block--founder .p-top-kv__media {
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 18.2cqw;
  }

  .p-top-kv__block--founder .p-top-kv__copy {
    grid-column: 2;
    grid-row: 1;
  }

  .p-top-kv__block--founder .p-top-kv__eyebrow {
    font-size: 3.35cqw;
  }

  .p-top-kv__block--founder .p-top-kv__title--founder {
    margin-top: 0.7cqw;
    font-size: 7.6cqw;
  }

  .p-top-kv__block--founder .p-top-kv__text {
    grid-column: 1 / -1;
    width: 47cqw;
    margin-top: 2.2cqw;
  }

  .p-top-kv__block--founder .p-top-kv__arrow {
    right: -0.5cqw;
    bottom: 15.5cqw;
  }

  /* SP: plapuzzle, history share upper-right zone */
  .p-top-kv__block--plapuzzle {
    top: 4.2cqw;
    left: 50.4cqw;
    display: grid;
    grid-template-columns: 18cqw 8.5cqw;
    gap: 2.2cqw;
    width: 29.3cqw;
  }

  .p-top-kv__block--plapuzzle .p-top-kv__media {
    width: 18cqw;
  }

  .p-top-kv__block--plapuzzle .p-top-kv__copy {
    display: flex;
    flex-direction: row-reverse;
    gap: 1cqw;
  }

  .p-top-kv__block--plapuzzle .p-top-kv__title,
  .p-top-kv__block--plapuzzle .p-top-kv__text {
    writing-mode: vertical-rl;
    margin: 0;
  }

  .p-top-kv__block--history {
    top: 4.2cqw;
    left: 77.2cqw;
    width: 18.4cqw;
    height: 43cqw;
  }

  .p-top-kv__history-copy {
    top: 23.3cqw;
    left: 2cqw;
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-start;
    gap: 1cqw;
  }

  .p-top-kv__history-en,
  .p-top-kv__history-copy strong {
    writing-mode: vertical-rl;
  }

  .p-top-kv__history-en {
    font-size: 3.8cqw;
  }

  .p-top-kv__history-copy strong {
    margin: 0;
    font-size: 4.8cqw;
  }

  .p-top-kv__block--history .p-top-kv__media--history {
    top: 15cqw;
    left: 5.5cqw;
    width: 5.2cqw;
  }

  .p-top-kv__block--history .p-top-kv__media--rabbit {
    top: 0;
    left: 2.2cqw;
    width: 13.8cqw;
  }

  .p-top-kv__block--history .p-top-kv__arrow {
    right: 0;
    bottom: 0;
  }

  /* SP: savings book */
  .p-top-kv__block--savingsbook {
    top: 51cqw;
    left: 8.3cqw;
    display: grid;
    grid-template-columns: 29cqw 34cqw;
    gap: 3.1cqw;
    width: 67cqw;
  }

  .p-top-kv__block--savingsbook .p-top-kv__media {
    width: 29cqw;
  }

  /* SP: US launch */
  .p-top-kv__block--magic-us {
    top: 71.8cqw;
    left: 8.5cqw;
    display: grid;
    grid-template-columns: 50cqw 29cqw;
    gap: 2.2cqw;
    width: 81cqw;
  }

  .p-top-kv__block--magic-us .p-top-kv__media {
    grid-column: 2;
    grid-row: 1;
    width: 29cqw;
  }

  .p-top-kv__block--magic-us .p-top-kv__copy {
    grid-column: 1;
    grid-row: 1;
    align-self: end;
  }

  /* SP: seamonkey */
  .p-top-kv__block--seamonkey {
    top: 96.8cqw;
    left: 8.5cqw;
    display: grid;
    grid-template-columns: 52cqw 28cqw;
    gap: 2.5cqw;
    width: 83cqw;
  }

  .p-top-kv__block--seamonkey .p-top-kv__media {
    width: 52cqw;
  }

  .p-top-kv__block--seamonkey .p-top-kv__copy {
    display: flex;
    flex-direction: row-reverse;
    gap: 1.1cqw;
  }

  .p-top-kv__block--seamonkey .p-top-kv__title,
  .p-top-kv__block--seamonkey .p-top-kv__text {
    writing-mode: vertical-rl;
    margin: 0;
  }

  /* SP: central headline */
  .p-top-kv__headline {
    top: 132cqw;
    left: 50%;
    width: 90cqw;
    gap: 2.3cqw;
  }

  .p-top-kv__logo {
    width: 45cqw;
  }

  .p-top-kv__main-en {
    font-size: 11.4cqw;
  }

  .p-top-kv__main-ja {
    font-size: 7.5cqw;
  }

  /* SP: keys */
  .p-top-kv__block--keys {
    top: 184.7cqw;
    left: 4.5cqw;
    width: 91cqw;
    height: 35cqw;
    min-height: 0;
  }

  .p-top-kv__block--keys .p-top-kv__media {
    top: 17.4cqw;
    left: 3.9cqw;
    width: 27.7cqw;
    height: 13.8cqw;
  }

  .p-top-kv__block--keys .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .p-top-kv__keys-title {
    top: 3cqw;
    left: 3.8cqw;
    right: auto;
    display: block;
    writing-mode: horizontal-tb;
  }

  .p-top-kv__keys-title > span {
    position: absolute;
    right: 5cqw;
    top: 7.5cqw;
    bottom: auto;
    font-size: 4.1026cqw; /* 16px @ 390 */
    line-height: 1;
  }

  .p-top-kv__keys-title strong {
    writing-mode: horizontal-tb;
    text-orientation: mixed;
    font-size: 5.25cqw;
    line-height: 1.25;
  }

  .p-top-kv__keys-list {
    top: 3cqw;
    left: 42cqw;
    width: 45cqw;
  }

  .p-top-kv__keys-list p {
    margin-bottom: 2.1cqw;
  }

  .p-top-kv__keys-list strong {
    font-size: 4.1026cqw; /* 16px @ 390 */
    line-height: 1.05;
  }

  .p-top-kv__keys-list span {
    margin-top: 0.55cqw;
    font-size: 2.5641cqw; /* 10px @ 390 */
    line-height: 1.35;
  }

  .p-top-kv__block--keys .p-top-kv__keys-list > .p-top-kv__arrow {
    position: absolute;
    right: 1.7949cqw; /* 7px @ 390 */
    bottom: 2.5641cqw; /* 10px @ 390 */
    width: 2.5641cqw;
    height: 2.5641cqw;
  }

  .p-top-kv__block--keys > .c-guide-point--tl {
    top: 0;
    left: 0;
  }

  .p-top-kv__block--keys > .c-guide-point--tr {
    top: 0;
    right: 0;
  }

  .p-top-kv__block--keys > .c-guide-point--bl {
    bottom: 0;
    left: 0;
  }

  .p-top-kv__block--keys > .c-guide-point--br {
    right: 0;
    bottom: 0;
  }

  /* SP: recruitment */
  .p-top-kv__block--recruit {
    top: 226.5cqw;
    left: 4.5cqw;
    width: 12cqw;
    height: 36.0256cqw;
  }

  .p-top-kv__recruit-copy {
    display: grid;
    grid-template-columns: max-content max-content;
    align-items: start;
    column-gap: 0;
    direction: rtl;
  }

  .p-top-kv__recruit-en {
    position: relative;
    display: block;
    grid-column: 1;
    writing-mode: vertical-rl;
  }

  /* SP/tablet: KV内の「*」マークを16px基準で統一 */
  .p-top-kv__block--founder .p-top-kv__eyebrow span,
  .p-top-kv__keys-title > span,
  .p-top-kv__recruit-copy .p-top-kv__recruit-en > span,
  .p-top-kv__block--magic-entertainment .p-top-kv__title > span,
  .p-top-kv__block--jigsaw .p-top-kv__title > span {
    font-size: 4.1026cqw;
  }

  .p-top-kv__recruit-copy .p-top-kv__recruit-en > span {
    position: absolute;
    top: -2.5641cqw;
    left: 50%;
    transform: translateX(-50%);
    writing-mode: horizontal-tb;
    font-size: 4.1026cqw;
  }

  .p-top-kv__recruit-copy em,
  .p-top-kv__recruit-copy strong {
    font-size: 4.1026cqw; /* 16px @ 390 */
    line-height: 1.05;
  }

  .p-top-kv__recruit-copy strong {
    grid-column: 2;
    writing-mode: vertical-rl;
  }

  .p-top-kv__block--recruit .p-top-kv__arrow {
    right: 2.5cqw;
    bottom: 2.6cqw;
  }

  .p-top-kv__block--recruit > .c-guide-point--tr.u-sp-only {
    top: -6.9231cqw; /* -27px @ 390 */
    right: -1.7949cqw; /* -7px @ 390 */
  }

  .p-top-kv__block--recruit > .c-guide-point--br.u-sp-only {
    right: -1.7949cqw; /* -7px @ 390 */
    top: auto;
    bottom: -4.2897cqw;
  }

  /* SP: artbank */
  .p-top-kv__block--artbank {
    top: 223.5cqw;
    left: 22.5cqw;
    display: block;
    width: 20.9462cqw; /* 81.69px @ 390 */
    height: 41.0256cqw; /* 160px @ 390 */
  }

  .p-top-kv__block--artbank .p-top-kv__media {
    width: 20.9462cqw; /* 81.69px @ 390 */
    height: 20.2193cqw; /* 78.8553px @ 390 */
    margin: 0 auto;
  }

  .p-top-kv__block--artbank .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .p-top-kv__block--artbank .p-top-kv__copy {
    margin-top: 2cqw;
  }

  .p-top-kv__block--artbank .p-top-kv__title,
  .p-top-kv__block--artbank .p-top-kv__text {
    font-size: 2.5641cqw;
    line-height: 1.45;
  }

  .p-top-kv__block--artbank .p-top-kv__title {
    font-size: 3.0769cqw;
  }

  .p-top-kv__block--artbank > .c-guide-point--tr,
  .p-top-kv__block--artbank > .c-guide-point--bl {
    display: none;
  }

  /* SP: magic daizen */
  .p-top-kv__block--magic-daizen {
    top: 223.5cqw;
    left: 53.5cqw;
    display: grid;
    grid-template-columns: 18.3544cqw 22.2727cqw;
    gap: 1.5cqw;
    width: 42.1271cqw; /* 164.2958px @ 390 */
    height: 17.8717cqw; /* 69.6995px @ 390 */
    align-items: start;
  }

  .p-top-kv__block--magic-daizen .p-top-kv__media {
    grid-column: 2;
    grid-row: 1;
    width: 22.2727cqw; /* 86.8634px @ 390 */
    height: 17.5816cqw; /* 68.5682px @ 390 */
    margin: 0;
  }

  .p-top-kv__block--magic-daizen .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .p-top-kv__block--magic-daizen .p-top-kv__copy {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    flex-direction: row-reverse;
    gap: 1cqw;
    width: 18.3544cqw;
    height: 17.8717cqw;
    min-width: 0;
  }

  .p-top-kv__block--magic-daizen .p-top-kv__title,
  .p-top-kv__block--magic-daizen .p-top-kv__text {
    writing-mode: vertical-rl;
    height: 17.8717cqw;
    max-height: 17.8717cqw;
    margin: 0;
  }

  .p-top-kv__block--magic-daizen .p-top-kv__title {
    font-size: 3.0769cqw;
    white-space: nowrap;
  }

  .p-top-kv__block--magic-daizen .p-top-kv__text {
    font-size: 2.5641cqw;
    line-height: 1.6;
    white-space: normal;
    overflow-wrap: anywhere;
    text-orientation: upright;
    letter-spacing: 0.1em;
  }

  .p-top-kv__block--magic-daizen > .c-guide-point--tr,
  .p-top-kv__block--magic-daizen > .c-guide-point--br {
    display: none;
  }

  .p-top-kv__block--magic-daizen > .c-guide-point--tee-left.c-guide-point--bl.u-sp-only {
    left: -6.6667cqw; /* -26px @ 390 */
    bottom: -1.5385cqw; /* -6px @ 390 */
  }

  /* SP: candy bubble */
  .p-top-kv__block--candybubble {
    top: 247.0385cqw;
    left: 50.5cqw;
    display: grid;
    grid-template-columns: 10.2cqw 32cqw;
    gap: 2cqw;
    width: 45cqw;
    height: 19.4872cqw;
    align-items: start;
  }

  .p-top-kv__block--candybubble .p-top-kv__media {
    width: 10.2cqw;
    height: 16.7cqw;
  }

  .p-top-kv__block--candybubble .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .p-top-kv__block--candybubble .p-top-kv__title {
    font-size: 3.0769cqw;
  }

  .p-top-kv__block--candybubble .p-top-kv__text {
    font-size: 2.5641cqw;
    line-height: 1.45;
  }

  .p-top-kv__block--candybubble > .p-top-kv__guide--candybubble-bl {
    left: -9.7436cqw; /* -38px @ 390 */
    right: auto;
    bottom: 0;
  }

  .p-top-kv__block--candybubble .p-top-kv__copy {
    width: 29.2308cqw; /* 114px @ 390 */
    text-align: justify;
  }

  /* SP: jigazo */
  .p-top-kv__block--jigazo {
    top: 269.5cqw;
    left: 48.5cqw;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 16.917cqw 6.1538cqw;
    column-gap: 1.5cqw;
    width: 47.1515cqw;
    height: 19.7436cqw;
    align-items: start;
    text-align: justify;
  }

  .p-top-kv__block--jigazo .p-top-kv__copy {
    display: contents;
  }

  .p-top-kv__block--jigazo .p-top-kv__text {
    grid-column: 1;
    grid-row: 1;
    font-size: 2.5641cqw;
    line-height: 1.7;
    writing-mode: horizontal-tb;
    text-orientation: mixed;
    width: 100%;
    height: auto;
  }

  .p-top-kv__block--jigazo .p-top-kv__media {
    grid-column: 2;
    grid-row: 1;
    width: 16.917cqw; /* 65.9761px @ 390 */
    height: 20.4955cqw; /* 79.9326px @ 390 */
    margin: 0;
  }

  .p-top-kv__block--jigazo .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .p-top-kv__block--jigazo .p-top-kv__title {
    grid-column: 3;
    grid-row: 1;
    font-size: 3.0769cqw;
    width: 6.1538cqw; /* 24px @ 390: 2 vertical columns */
    writing-mode: vertical-rl;
    text-orientation: upright;
    white-space: nowrap;
  }

  .p-top-kv__block--jigazo > .c-guide-point--tee-left.c-guide-point--bl.u-sp-only {
    left: -5.6410cqw; /* -22px @ 390 */
    bottom: -2.5641cqw; /* -10px @ 390 */
  }

  /* SP: gold badge */
  .p-top-kv__block--goldbadge {
    top: 270cqw;
    left: 9.2cqw;
    display: flex;
    flex-direction: column;
    width: 30.0277cqw; /* 117.108px @ 390 */
    height: 42.1365cqw; /* 164.3325px @ 390 */
    align-items: flex-start;
    gap: 0;
  }

  .p-top-kv__block--goldbadge .p-top-kv__media {
    flex: 0 0 auto;
    width: 30.0277cqw; /* 117.108px @ 390 */
    height: 19.4947cqw; /* 76.0294px @ 390 */
    margin-bottom: 2.5641cqw; /* 10px @ 390 */
  }

  .p-top-kv__block--goldbadge .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .p-top-kv__block--goldbadge .p-top-kv__copy {
    margin-top: 0;
    width: 100%;
    writing-mode: horizontal-tb;
    text-orientation: mixed;
  }

  .p-top-kv__block--goldbadge .p-top-kv__title,
  .p-top-kv__block--goldbadge .p-top-kv__text {
    writing-mode: horizontal-tb;
    text-orientation: mixed;
  }

  .p-top-kv__block--goldbadge .p-top-kv__title {
    font-size: 3.0769cqw;
    margin-bottom: 1.0256cqw; /* 4px @ 390 */
  }

  .p-top-kv__block--goldbadge .p-top-kv__text {
    margin-top: 0;
    font-size: 2.5641cqw;
    line-height: 1.45;
  }

  .p-top-kv__block--goldbadge > .c-guide-point--tee-right.c-guide-point--br.u-sp-only {
    right: -3.5897cqw;
    bottom: -2.8205cqw;
  }

  /* SP: metallic nano */
  .p-top-kv__block--metal {
    top: 317.8cqw;
    left: 5cqw;
    display: grid;
    grid-template-columns: 27.7074cqw minmax(0, 1fr);
    grid-template-rows: auto 1fr;
    column-gap: 0;
    row-gap: 0;
    width: 34.4233cqw;
    height: 39.7766cqw;
    align-items: start;
  }

  .p-top-kv__block--metal .p-top-kv__media {
    grid-column: 1;
    grid-row: 1;
    width: 27.7074cqw; /* 108.0588px @ 390 */
    height: 18.9307cqw; /* 73.8298px @ 390 */
    margin-bottom: 2.5641cqw; /* 10px @ 390 */
  }

  .p-top-kv__block--metal .p-top-kv__copy {
    display: contents;
  }

  .p-top-kv__block--metal .p-top-kv__title,
  .p-top-kv__block--metal .p-top-kv__text {
    margin: 0;
  }

  .p-top-kv__block--metal .p-top-kv__title {
    grid-column: 2;
    grid-row: 1 / 3;
    justify-self: end;
    font-size: 3.0769cqw;
    writing-mode: vertical-rl;
    text-orientation: upright;
    white-space: nowrap;
  }

  .p-top-kv__block--metal .p-top-kv__text {
    grid-column: 1;
    grid-row: 2;
    width: 100%;
    font-size: 2.4641cqw;
    line-height: 1.6;
    writing-mode: vertical-rl;
    text-orientation: upright;
    text-align: start;
    letter-spacing: 0.03em;
    height: 18.7179cqw;
  }

  /* SP: magic entertainment */
  .p-top-kv__block--magic-entertainment {
    top: 328.5cqw;
    left: 48.5cqw;
    display: block;
    width: 46.5cqw;
  }

  .p-top-kv__block--magic-entertainment .p-top-kv__media {
    width: 46.5cqw;
    height: 28.5cqw;
  }

  .p-top-kv__block--magic-entertainment .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .p-top-kv__block--magic-entertainment .p-top-kv__copy {
    margin-top: 1.8cqw;
  }

  .p-top-kv__block--magic-entertainment .p-top-kv__title,
  .p-top-kv__block--jigsaw .p-top-kv__title {
    font-size: 4.1cqw;
    line-height: 1.15;
  }

  .p-top-kv__block--magic-entertainment .p-top-kv__text {
    font-size: 2.5641cqw;
    line-height: 1.45;
  }

  .p-top-kv__block--magic-entertainment .p-top-kv__arrow {
    bottom: 8cqw;
  }

  /* SP: TENYOism */
  .p-top-kv__block--tenyoism {
    top: 365cqw;
    left: 42cqw;
    display: grid;
    grid-template-columns: 28cqw 25cqw;
    gap: 2.5cqw;
    width: 53cqw;
    align-items: start;
  }

  .p-top-kv__block--tenyoism .p-top-kv__media {
    grid-column: 1;
    grid-row: 2;
    width: 28cqw;
    height: 17cqw;
    margin-top: 1.5cqw;
  }

  .p-top-kv__block--tenyoism .p-top-kv__copy {
    grid-column: 1 / -1;
    grid-row: 1;
    width: 100%;
  }

  .p-top-kv__block--tenyoism .p-top-kv__title {
    font-size: 4.2cqw;
  }

  .p-top-kv__block--tenyoism .p-top-kv__text {
    font-size: 2.5641cqw;
    line-height: 1.45;
  }

  /* SP: jigsaw */
  .p-top-kv__block--jigsaw {
    top: 389cqw;
    left: 5cqw;
    display: grid;
    grid-template-columns: 34cqw 53cqw;
    gap: 2.5cqw;
    width: 90cqw;
    align-items: start;
  }

  .p-top-kv__block--jigsaw .p-top-kv__media {
    width: 34cqw;
    height: 30cqw;
  }

  .p-top-kv__block--jigsaw .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .p-top-kv__block--jigsaw .p-top-kv__copy {
    width: 42cqw;
  }

  .p-top-kv__block--jigsaw .p-top-kv__title {
    font-size: 4.1cqw;
  }

  .p-top-kv__block--jigsaw .p-top-kv__text {
    font-size: 2.5641cqw;
    line-height: 1.45;
  }

  .p-top-kv__block--jigsaw .p-top-kv__arrow {
    bottom: 7cqw;
  }

  /* SP ornaments */
  .p-top-kv__gradient--left {
    top: auto;
    bottom: 0;
    left: 0;
    width: 3.2cqw;
    height: 31cqw;
  }

  .p-top-kv__gradient--right {
    top: 94.5cqw;
    right: 0;
    width: 5.2cqw;
    height: 22cqw;
  }

  .p-top-kv__gradient--bottom {
    display: none;
  }
}

/* 2026-09-11 PC KV fine tuning: magic-us / founder spacing */
@media (min-width: 1025px) {
.p-top-kv__block--magic-us .p-top-kv__text {
    white-space: nowrap;
  }.p-top-kv__block--magic-us > .c-guide-point {
    right: -1cqw; /* 1200px時 右へ10px */
  }.p-top-kv__block--founder {
    top: 14.5cqw; /* magic-us: top 24px + height 132px + gap 18px = 174px */
  }
}

/* 2026-09-11 PC KV fine tuning: magic-us text wrapping */
@media (min-width: 1025px) {
.p-top-kv__block--magic-us .p-top-kv__copy {
    height: 100%;
    overflow: visible;
  }.p-top-kv__block--magic-us .p-top-kv__text {
    height: 100%;
    max-height: 11cqw; /* 1200px時 132px */
    font-size: 0.666667cqw; /* 1200px時 8px：4列に収める */
    white-space: normal;
    overflow-wrap: normal;
  }
}

/* 2026-09-11 PC KV fine tuning: magic-us typography */
@media (min-width: 1025px) {
.p-top-kv__block--magic-us .p-top-kv__title {
    font-size: 1.333333cqw; /* 1200px時 16px */
  }.p-top-kv__block--magic-us .p-top-kv__text {
    font-size: 0.833333cqw; /* 1200px時 10px */
  }
}

/* 2026-09-11 PC KV fine tuning: magic-us title line-height */
@media (min-width: 1025px) {
.p-top-kv__block--magic-us .p-top-kv__title {
    line-height: 1.38;
  }
}

/* 2026-09-11 KV founder adjustment */
.p-top-kv__block--founder .p-top-kv__text {
  text-align: justify;
}

@media (min-width: 1025px) {
.p-top-kv__block--founder .p-top-kv__arrow {
    /* copy右端 = block右端 - (画像幅 8.2cqw + column-gap 1.6667cqw) */
    right: 9.8667cqw;
  }
}

/* 2026-09-11 PC KV fine tuning: history */
@media (min-width: 1025px) {
.p-top-kv__block--history .p-top-kv__history-en {
    font-size: 2.333333cqw; /* 1200px時 28px */
  }.p-top-kv__block--history .p-top-kv__history-copy strong {
    font-size: 2.5cqw; /* 1200px時 30px */
  }.p-top-kv__block--history > .c-guide-point--tr, .p-top-kv__block--history > .c-guide-point--br {
    right: 1.7cqw;
  }
}

/* 2026-09-11 PC KV fine tuning: history layout / clickable area */
@media (min-width: 1025px) {
.p-top-kv__block--history .p-top-kv__history-copy {
    top: 50%;
    transform: translateY(-50%);
  }.p-top-kv__block--history > .p-top-kv__arrow {
    top: 50%;
    left: 20cqw;
    right: auto;
    bottom: auto;
    transform: translateY(0.9cqw);
  }
}

/*
 * 中央見出しは表示レイヤーとして前面に残しつつ、
 * 下にあるKV内リンクへのポインター操作を妨げない。
 */
.p-top-kv__headline {
  pointer-events: none;
}

/* 2026-09-11 PC KV fine tuning: history link area */
@media (min-width: 1025px) {
.p-top-kv__block--history {
    width: 29.9cqw;
  }
}

/* 2026-09-11 PC KV fine tuning: history link area correction */
@media (min-width: 1025px) {
.p-top-kv__block--history {
    width: 29.9cqw;
  }.p-top-kv__block--history > .c-guide-point--tr, .p-top-kv__block--history > .c-guide-point--br {
    right: 0;
  }
}

/* 2026-09-11 PC KV fine tuning: history media / top-right cross guide */
@media (min-width: 1025px) {
.p-top-kv__block--history .p-top-kv__media--history {
    top: 2cqw;
  }.p-top-kv__block--history .p-top-kv__media--rabbit {
    right: 0.7cqw;
  }.p-top-kv__block--history > .c-guide-point--cross {
    width: 3.2cqw;
    height: 3.2cqw;
    background: none;
  }.p-top-kv__block--history > .c-guide-point--cross::before, .p-top-kv__block--history > .c-guide-point--cross::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    background: currentColor;
    transform: translate(-50%, -50%);
  }.p-top-kv__block--history > .c-guide-point--cross::before {
    width: 100%;
    height: 1px;
  }.p-top-kv__block--history > .c-guide-point--cross::after {
    width: 1px;
    height: 100%;
  }
}

/* 2026-09-11 PC KV fine tuning: history position */
@media (min-width: 1025px) {
.p-top-kv__block--history {
    top: 25.5cqw;
  }
}

/* 2026-09-11 PC KV fine tuning: plapuzzle */
@media (min-width: 1025px) {
.p-top-kv__block--plapuzzle {
    display: flex;
    flex-direction: column;
    width: 8.65225cqw; /* 1200px時 103.827px */
    height: auto;
  }.p-top-kv__block--plapuzzle .p-top-kv__media {
    width: 8.65225cqw; /* 103.827px */
    height: 12.25cqw; /* 147px */
    object-fit: contain;
  }.p-top-kv__block--plapuzzle .p-top-kv__copy {
    width: 8.65225cqw; /* 103.827px */
    min-height: 9.583333cqw; /* 115px */
  }.p-top-kv__block--plapuzzle .p-top-kv__title {
    font-size: 1.333333cqw; /* 16px */
  }.p-top-kv__block--plapuzzle .p-top-kv__text {
    font-size: 0.833333cqw; /* 10px */
  }.p-top-kv__block--plapuzzle > .c-guide-point--tr, .p-top-kv__block--plapuzzle > .c-guide-point--br {
    right: 0;
  }
}

/* 2026-09-11 PC KV fine tuning: plapuzzle media / gap */
@media (min-width: 1025px) {
.p-top-kv__block--plapuzzle {
    gap: 0.791667cqw; /* 1200px時 9.5px */
  }.p-top-kv__block--plapuzzle .p-top-kv__media {
    width: 8.65225cqw; /* 1200px時 103.827px */
    height: 7.4465cqw; /* 1200px時 89.358px */
  }
}

/* 2026-09-11 safeguard: keep History four-corner guides */
@media (min-width: 1025px) {
.p-top-kv__block--history > .c-guide-point {
    display: block;
  }.p-top-kv__block--history > .c-guide-point--tl {
    top: 0;
    left: 0;
  }.p-top-kv__block--history > .c-guide-point--tr {
    top: 0;
    right: 0;
  }.p-top-kv__block--history > .c-guide-point--bl {
    bottom: 0;
    left: 0;
  }.p-top-kv__block--history > .c-guide-point--br {
    right: 0;
    bottom: 0;
  }
}

/* 2026-09-11 PC KV fine tuning: plapuzzle content height / guide positions */
@media (min-width: 1025px) {
.p-top-kv__block--plapuzzle {
    height: auto;
    min-height: 0;
    align-self: flex-start;
  }.p-top-kv__block--plapuzzle .p-top-kv__copy {
    min-height: 0;
    height: auto;
  }.p-top-kv__block--plapuzzle > .c-guide-point--tr {
    top: 0;
    right: 0;
  }.p-top-kv__block--plapuzzle > .c-guide-point--br {
    right: 0;
    bottom: 0;
  }
}

/* 2026-09-11 PC KV fine tuning: plapuzzle guide shape / spacing */
@media (min-width: 1025px) {
.p-top-kv__block--plapuzzle {
    padding: 0;
    box-sizing: border-box;
    height: auto;
  }.p-top-kv__block--plapuzzle > .c-guide-point--tr {
    top: -1.7cqw; /* 1200px時 約20px上 */
    right: -3.25cqw; /* 1200px時 約39px右 */
  }.p-top-kv__block--plapuzzle > .c-guide-point--br {
    right: -3.25cqw; /* 1200px時 約39px右 */
    bottom: -3.25cqw; /* 1200px時 約39px下 */
  }
}

/* 2026-09-11 PC KV fine tuning: plapuzzle position / guide offsets */
@media (min-width: 1025px) {
.p-top-kv__block--plapuzzle {
    top: 36.8cqw;
  }.p-top-kv__block--plapuzzle > .c-guide-point--tr {
    top: -1.6cqw;
    right: -1.4cqw;
  }.p-top-kv__block--plapuzzle > .c-guide-point--br {
    right: -1.4cqw;
    bottom: -1.25cqw;
  }
}

/* 2026-09-11 PC KV fine tuning: magic-daizen align with plapuzzle */
@media (min-width: 1025px) {
.p-top-kv__block--magic-daizen {
    top: 36.8cqw;
    width: 8.65225cqw; /* 1200px時 103.827px */
    height: auto;
    min-height: 0;
  }.p-top-kv__block--magic-daizen .p-top-kv__media {
    width: 8.65225cqw;
    height: 7.4465cqw; /* 1200px時 89.358px */
  }.p-top-kv__block--magic-daizen .p-top-kv__copy {
    width: 8.65225cqw;
    min-height: 0;
    height: auto;
  }.p-top-kv__block--magic-daizen > .c-guide-point--tr {
    top: -1.6cqw;
    right: -1.4cqw;
  }.p-top-kv__block--magic-daizen > .c-guide-point--br {
    right: -1.4cqw;
    bottom: -1.25cqw;
  }.p-top-kv__block--magic-daizen > .c-guide-point--cross {
    width: 3.2cqw;
    height: 3.2cqw;
    background: none;
  }.p-top-kv__block--magic-daizen > .c-guide-point--cross::before, .p-top-kv__block--magic-daizen > .c-guide-point--cross::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    background: currentColor;
    transform: translate(-50%, -50%);
  }.p-top-kv__block--magic-daizen > .c-guide-point--cross::before {
    width: 100%;
    height: 1px;
  }.p-top-kv__block--magic-daizen > .c-guide-point--cross::after {
    width: 1px;
    height: 100%;
  }
}

/* 2026-09-11 PC KV fine tuning: magic-daizen position */
@media (min-width: 1025px) {
.p-top-kv__block--magic-daizen {
    left: 14.5cqw;
  }.p-top-kv__block--magic-daizen > .c-guide-point--tr {
    right: -1.6cqw;
  }.p-top-kv__block--magic-daizen > .c-guide-point--br {
    right: -1.6cqw;
  }
}

/* 2026-09-11 PC KV fine tuning: metal */
@media (min-width: 1025px) {
.p-top-kv__block--metal {
    width: 20.973833cqw; /* 1200px時 251.686px */
    height: 10.713833cqw; /* 1200px時 128.566px */
  }.p-top-kv__block--metal .p-top-kv__media {
    width: 11.5315cqw; /* 1200px時 138.378px */
    height: 10.713833cqw; /* 1200px時 128.566px */
  }.p-top-kv__block--metal .p-top-kv__title {
    font-size: 1.333333cqw; /* 1200px時 16px */
  }.p-top-kv__block--metal .p-top-kv__text {
    font-size: 0.833333cqw; /* 1200px時 10px */
  }
}

/* 2026-09-11 PC KV fine tuning: metal position / text */
@media (min-width: 1025px) {
.p-top-kv__block--metal {
    top: 52.2cqw;
  }.p-top-kv__block--metal .p-top-kv__text {
    text-align: justify;
  }
}

/* 2026-09-11 PC KV fine tuning: overall height / bottom gradient */
@media (min-width: 1025px) {
.p-top-kv {
    aspect-ratio: 1200 / 888.231;
  }
}

/* 2026-09-11 PC KV fine tuning: bottom gradient 50px below metal */
@media (min-width: 1025px) {
.p-top-kv {
    aspect-ratio: 1200 / 804.966;
  }
}

/* 2026-09-11 PC KV fine tuning: bottom gradient 100px below metal */
@media (min-width: 1025px) {
.p-top-kv {
    aspect-ratio: 1200 / 854.966;
  }
}

/* 2026-09-11 PC KV fine tuning: final KV aspect ratio */
@media (min-width: 1025px) {
.p-top-kv {
    aspect-ratio: 1200 / 823.966;
  }
}

/* 2026-09-11 PC KV fine tuning: magic-entertainment */
@media (min-width: 1025px) {
.p-top-kv__block--magic-entertainment {
    top: 52.2cqw; /* metalと上端を揃える */
    width: 19.886083cqw; /* 1200px時 238.633px */
    height: 18.55125cqw; /* 1200px時 222.615px */
  }
}

/* 2026-09-11 PC KV fine tuning: magic-entertainment typography / media / arrow / guide */
@media (min-width: 1025px) {
.p-top-kv__block--magic-entertainment .p-top-kv__media {
    width: 19.886083cqw; /* 1200px時 238.633px */
    height: 8.763917cqw; /* 1200px時 105.167px */
  }.p-top-kv__block--magic-entertainment .p-top-kv__title {
    font-size: 2.5cqw; /* 1200px時 30px */
  }.p-top-kv__block--magic-entertainment .p-top-kv__text {
    font-size: 0.833333cqw; /* 1200px時 10px */
  }.p-top-kv__block--magic-entertainment .p-top-kv__title-first-line {
    position: relative;
    display: inline-block;
  }.p-top-kv__block--magic-entertainment
    .p-top-kv__title-first-line
    > .p-top-kv__arrow {
    top: 50%;
    right: -2.1cqw;
    bottom: auto;
    transform: translateY(-50%);
  }.p-top-kv__block--magic-entertainment > .c-guide-point--tr {
    top: -1.6cqw;
    right: -1.4cqw;
  }
}

/* 2026-09-11 PC KV fine tuning: magic-entertainment layout */
@media (min-width: 1025px) {
.p-top-kv__block--magic-entertainment {
    left: 26.3cqw;
    grid-template-columns: 1fr;
  }.p-top-kv__block--magic-entertainment .p-top-kv__media {
    height: 7.463917cqw;
  }.p-top-kv__block--magic-entertainment .p-top-kv__title {
    font-size: 2.45cqw; /* 1200px時 29.4px */
    white-space: nowrap;
  }.p-top-kv__block--magic-entertainment > .c-guide-point--tr {
    top: -1.54cqw;
    right: 1.4cqw;
  }
}

/* 2026-09-11 PC KV fine tuning: magic-entertainment final block size */
@media (min-width: 1025px) {
.p-top-kv__block--magic-entertainment {
    width: 19.886083cqw; /* 1200px時 238.633px */
    height: 8.763917cqw; /* 1200px時 105.167px */
  }
}

/* 2026-09-11 PC KV: editing space */
@media (min-width: 1025px) {
.p-top-kv {
    aspect-ratio: 1200 / 893.966;
  }
}

/* 2026-09-11 PC KV: magic-entertainment exact size at 1200px viewport */
@media (min-width: 1025px) {
.p-top-kv__block--magic-entertainment {
    width: 19.8860833333vw; /* 1200px時 238.633px */
  }.p-top-kv__block--magic-entertainment .p-top-kv__media {
    width: 19.8860833333vw; /* 1200px時 238.633px */
    height: 8.7639166667vw; /* 1200px時 105.167px */
    max-width: none;
  }
}

/* 2026-09-11 PC KV fine tuning: magic-entertainment guide + tenyoism */
@media (min-width: 1025px) {
.p-top-kv__block--magic-entertainment > .c-guide-point--tr {
    right: -1.4cqw;
  }.p-top-kv__block--tenyoism {
    top: 52.2cqw; /* magic-entertainment と上端を揃える */
    width: 9.2635vw; /* 1200px時 111.162px */
    height: 18.596833vw; /* 1200px時 223.162px */
  }.p-top-kv__block--tenyoism > .c-guide-point--tr {
    top: -1.54cqw;
    right: -1.4cqw;
  }
}

/* 2026-09-11 PC KV fine tuning: tenyoism vertical layout / typography */
@media (min-width: 1025px) {
.p-top-kv__block--tenyoism {
    display: grid;
    grid-template-columns: 1fr;
    width: 9.2635vw; /* 1200px時 111.162px */
    height: 18.596833vw; /* 1200px時 223.162px */
  }.p-top-kv__block--tenyoism .p-top-kv__title {
    font-size: 1.333333vw; /* 1200px時 16px */
  }.p-top-kv__block--tenyoism .p-top-kv__text {
    font-size: 0.833333vw; /* 1200px時 10px */
  }
}

/* 2026-09-11 PC KV: tenyoism strict single-column layout */
@media (min-width: 1025px) {
.p-top-kv__block--tenyoism {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    grid-template-columns: none;
    gap: 0;
    width: 9.2635vw; /* 1200px時 111.162px */
    height: 18.596833vw; /* 1200px時 223.162px */
  }.p-top-kv__block--tenyoism .p-top-kv__copy {
    order: 1;
    width: 100%;
    flex: 0 0 auto;
  }.p-top-kv__block--tenyoism .p-top-kv__media {
    order: 2;
    display: block;
    width: 100%;
    max-width: none;
    flex: 0 0 auto;
  }.p-top-kv__block--tenyoism .p-top-kv__media img {
    display: block;
    width: 100%;
    height: auto;
  }.p-top-kv__block--tenyoism > .c-guide-point {
    order: 3;
  }
}

/* 2026-09-11 PC KV: tenyoism position */
@media (min-width: 1025px) {
.p-top-kv__block--tenyoism {
    left: 49.3cqw;
  }
}

/* PC: シーモンキー copy寸法調整 */
@media (min-width: 1025px) {
.p-top-kv__block--seamonkey .p-top-kv__copy {
    flex: 0 0 5.6139333333vw; /* 67.3672px @ 1200px */
    width: 5.6139333333vw; /* 67.3672px @ 1200px */
    height: 13.7288333333vw; /* 164.746px @ 1200px */
  }.p-top-kv__block--seamonkey .p-top-kv__text {
    height: 100%;
    max-height: 100%;
    word-break: break-all;
    overflow-wrap: anywhere;
  }
}

/* 2026-09-11 PC KV: seamonkey copy / bottom-right guide position */
@media (min-width: 1025px) {
.p-top-kv__block--seamonkey .p-top-kv__copy {
    transform: translateY(1cqw);
  }.p-top-kv__block--seamonkey > .c-guide-point--br {
    top: 12.8cqw;
    right: -1.4cqw;
  }
}

/* 2026-09-11 PC KV: candybubble single-column layout */
@media (min-width: 1025px) {
.p-top-kv__block--candybubble {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75cqw;
    width: 5.56885vw; /* 66.8262px @ 1200px */
    height: 21.5650833333vw; /* 258.781px @ 1200px */
  }.p-top-kv__block--candybubble .p-top-kv__media {
    flex: 0 0 auto;
    width: 100%;
    max-width: none;
  }.p-top-kv__block--candybubble .p-top-kv__media img {
    display: block;
    width: 100%;
    height: auto;
  }.p-top-kv__block--candybubble .p-top-kv__copy {
    flex: 1 1 auto;
    width: 100%;
    min-height: 0;
  }.p-top-kv__block--candybubble .p-top-kv__title {
    font-size: 1.3333333333vw; /* 16px @ 1200px */
  }.p-top-kv__block--candybubble .p-top-kv__text {
    height: 10vw; /* 120px @ 1200px: 36文字を3列目安で収める */
    max-height: 10vw;
    font-size: 0.8333333333vw; /* 10px @ 1200px */
    word-break: break-all;
    overflow-wrap: anywhere;
  }
}

/* 2026-09-11 PC KV: candybubble vertical spacing / position */
@media (min-width: 1025px) {
.p-top-kv__block--candybubble {
    top: 3cqw; /* 既存 3.9cqw から少し上へ */
    height: 23vw; /* 1200px時 276px：縦方向に少し余裕を追加 */
  }.p-top-kv__block--candybubble .p-top-kv__title {
    white-space: nowrap; /* タイトルを途中で折り返さない */
  }.p-top-kv__block--candybubble .p-top-kv__text {
    height: 11vw; /* 1200px時 132px：本文の縦方向を確保 */
    max-height: 11vw;
  }
}

/* 2026-09-11 PC KV: candybubble position / top-right guide */
@media (min-width: 1025px) {
.p-top-kv__block--candybubble {
    left: 66.8cqw;
  }.p-top-kv__block--candybubble > .c-guide-point--tr {
    top: -1.0833333333cqw;
    right: -1.75cqw;
  }
}

/* 2026-09-11 PC KV: candybubble bottom-right guide position */
@media (min-width: 1025px) {
.p-top-kv__block--candybubble > .c-guide-point--br {
    bottom: -1.0833333333cqw; /* -13px @ 1200px */
  }
}

/* 2026-09-11 PC KV: candybubble fine tuning */
@media (min-width: 1025px) {
.p-top-kv__block--candybubble {
    gap: 0.3333333333cqw; /* 4px @ 1200px */
    height: 21.6vw;
  }.p-top-kv__block--candybubble .p-top-kv__title {
    letter-spacing: -0.07em;
  }.p-top-kv__block--candybubble > .c-guide-point--tr {
    top: -0.888333cqw;
    right: -1.25cqw;
  }.p-top-kv__block--candybubble > .c-guide-point--br {
    bottom: -0.683333cqw;
    right: -1.25cqw;
  }
}

/* PC: ジガゾーパズル 微調整 2026-09-11 */
@media (min-width: 1025px) {
.p-top-kv__block--jigazo {
    width: 10.7816166667vw; /* 1200px時 129.3794px */
    height: 16.979325vw;
    left: 86.5cqw;
  }.p-top-kv__block--jigazo .p-top-kv__title {
    font-size: 1.3333333333cqw; /* 1200px時 16px */
  }.p-top-kv__block--jigazo .p-top-kv__text {
    font-size: 0.8333333333cqw; /* 1200px時 10px */
  }
}


/* 2026-09-11 KV goldbadge fine adjustment */
@media (min-width: 1025px) {
.p-top-kv__block--goldbadge {
    top: 46.5cqw;
    left: 86.4cqw;
  }.p-top-kv__block--goldbadge > .c-guide-point--tl {
    top: -1.75cqw; /* -21px at 1200px */
    left: -1.75cqw; /* -21px at 1200px */
  }.p-top-kv__block--goldbadge > .c-guide-point--bl {
    bottom: -1.9166666667cqw; /* -23px at 1200px */
    left: -1.75cqw; /* -21px at 1200px */
  }.p-top-kv__block .p-top-kv__text {
    line-height: 1.6;
  }
}


/* 2026-09-11 KV jigsaw adjustment */
@media (min-width: 1025px) {
.p-top-kv__block--jigsaw {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: end;
  }.p-top-kv__block--jigsaw .p-top-kv__media, .p-top-kv__block--jigsaw .p-top-kv__media img {
    width: 12.6255333333vw; /* 151.5064px at 1200px */
    height: 18.6056333333vw; /* 223.2676px at 1200px */
    max-width: none;
  }.p-top-kv__block--jigsaw .p-top-kv__title {
    font-size: 2.5cqw; /* 30px at 1200px */
  }.p-top-kv__block--jigsaw .p-top-kv__text {
    font-size: 0.8333333333cqw; /* 10px at 1200px */
  }
}


/* 2026-09-11 KV jigsaw position / arrow / guide adjustment */
@media (min-width: 1025px) {
.p-top-kv__block--jigsaw {
    top: 52.1cqw;
    left: 61.5cqw;
    gap: 1.6cqw;
    width: 35.6cqw;
  }.p-top-kv__block--jigsaw .p-top-kv__arrow {
    right: 9.1666666667cqw; /* 110px at 1200px */
    bottom: 7.5833333333cqw; /* 91px at 1200px */
  }.p-top-kv__block--jigsaw > .c-guide-point--br {
    top: 0;
    right: 0;
    bottom: auto;
  }
}


/* 2026-09-11 KV jigsaw arrow / guide fine adjustment */
@media (min-width: 1025px) {
.p-top-kv__block--jigsaw .p-top-kv__arrow {
    right: 8.166667cqw;
    bottom: 6.383333cqw;
  }.p-top-kv__block--jigsaw > .c-guide-point--br {
    right: 25.1666666667cqw; /* 302px at 1200px */
    top: -5.3333333333cqw; /* -64px at 1200px */
    bottom: auto;
  }
}


/* 2026-09-11 KV jigsaw / recruit guide fine adjustment */
@media (min-width: 1025px) {
.p-top-kv__block--jigsaw > .c-guide-point--br {
    right: 21.186667cqw;
    top: -4.433333cqw;
    bottom: auto;
  }.p-top-kv__block--recruit > .c-guide-point--tl {
    top: 11.083333cqw;
    left: -2.003333cqw;
  }
}

/* 2026-09-11 KV recruit guide / stacking adjustment */
@media (min-width: 1025px) {
.p-top-kv__block--recruit { z-index: 2; }.p-top-kv__block--jigsaw { z-index: 1; }.p-top-kv__block--recruit > .c-guide-point--tl {
    top: -1.916667cqw;
    left: -2.003333cqw;
  }
}

/* 2026-09-11 KV savingsbook adjustment */
@media (min-width: 1025px) {
.p-top-kv__block--savingsbook .p-top-kv__media, .p-top-kv__block--savingsbook .p-top-kv__media img {
    width: 11.8864666667vw; /* 142.6376px at 1200px */
    height: 5.5414083333vw; /* 66.4969px at 1200px */
    max-width: none;
  }.p-top-kv__block--savingsbook .p-top-kv__title {
    font-size: 1.3333333333cqw; /* 16px */
  }.p-top-kv__block--savingsbook .p-top-kv__text {
    font-size: 0.8333333333cqw; /* 10px */
  }
}

/* 2026-09-11 KV savingsbook block / copy size adjustment */
@media (min-width: 1025px) {
.p-top-kv__block--savingsbook {
    width: 27.8442083333vw; /* 334.1305px at 1200px */
    height: 5.5414083333vw; /* 66.4969px at 1200px */
  }.p-top-kv__block--savingsbook .p-top-kv__copy {
    width: 14.56905vw; /* 174.8286px at 1200px */
    height: 4.041525vw; /* 48.4983px at 1200px */
  }
}

/* 2026-09-11 KV savingsbook cross / seamonkey guide adjustment */
@media (min-width: 1025px) {
.p-top-kv__block--savingsbook > .c-guide-point--tr {
    top: 7.666667cqw; /* 92px @ 1200px */
    right: -1.75cqw; /* -21px @ 1200px */
  }.p-top-kv__block--seamonkey > .c-guide-point--br {
    top: 12.2cqw;
  }.p-top-kv__block--savingsbook > .c-guide-point--cross {
    width: 3.2cqw;
    height: 3.2cqw;
    background: none;
    border: 0;
  }.p-top-kv__block--savingsbook > .c-guide-point--cross::before, .p-top-kv__block--savingsbook > .c-guide-point--cross::after {
    content: "";
    position: absolute;
    background: currentColor;
    transform: none;
  }.p-top-kv__block--savingsbook > .c-guide-point--cross::before {
    top: calc(50% - 0.5px);
    left: 0;
    width: 100%;
    height: 1px;
  }.p-top-kv__block--savingsbook > .c-guide-point--cross::after {
    top: 0;
    left: calc(50% - 0.5px);
    width: 1px;
    height: 100%;
  }
}


/* 2026-09-11 KV guide crisp rendering
   ガイドの長さを偶数pxへ丸め、1px線がサブピクセルに乗りにくくする */
@media (min-width: 1025px) {
.p-top-kv .c-guide-point {
    --guide-arm-x: round(nearest, 1.5cqw, 2px);
    --guide-arm-y: round(nearest, 1.5cqw, 2px);
    --guide-line-width: 1px;
  }
}


/* 2026-09-11 KV guide crisp rendering - final
   現在のtranslate補正位置は維持し、線自体をピクセル境界へ揃える */
@media (min-width: 1025px) {
.p-top-kv .c-guide-point {
    --guide-arm-x: round(nearest, 1.5cqw, 2px);
    --guide-arm-y: round(nearest, 1.5cqw, 2px);
    --guide-line-width: 1px;
  }.p-top-kv .c-guide-point::before {
    top: 50%;
    height: 1px;
    transform: none;
  }.p-top-kv .c-guide-point::after {
    left: 50%;
    width: 1px;
    transform: none;
  }.p-top-kv .c-guide-point--cross {
    width: round(nearest, 3.2cqw, 2px);
    height: round(nearest, 3.2cqw, 2px);
    background: none;
    border: 0;
  }.p-top-kv .c-guide-point--cross::before, .p-top-kv .c-guide-point--cross::after {
    content: "";
    position: absolute;
    background: var(--guide-color, #111);
    transform: none !important;
  }.p-top-kv .c-guide-point--cross::before {
    top: 50%;
    left: 0;
    width: 100%;
    height: 1px;
  }.p-top-kv .c-guide-point--cross::after {
    top: 0;
    left: 50%;
    width: 1px;
    height: 100%;
  }
}

/* 2026-09-11 KV guide normalization
   PC 1200pxデザイン基準：ガイドの位置・長さをvwへ統一し、
   1200px時は整数pxになる値へ丸める。JSによる位置補正は使用しない。 */
@media (min-width: 1025px) {
.p-top-kv .c-guide-point {
    --guide-arm-x: 1.5vw; /* 18px @ 1200 */
    --guide-arm-y: 1.5vw; /* 18px @ 1200 */
    --guide-line-width: 1px;
    translate: none;
  }.p-top-kv .c-guide-point--cross {
    width: 3.166667vw;
    height: 3.166667vw;
    background: none;
    border: 0;
  }.p-top-kv .c-guide-point--cross::before, .p-top-kv .c-guide-point--cross::after {
    content: "";
    position: absolute;
    background: var(--guide-color, #111);
    transform: none !important;
  }.p-top-kv .c-guide-point--cross::before {
    top: 50%;
    left: 0;
    width: 100%;
    height: 1px;
  }.p-top-kv .c-guide-point--cross::after {
    top: 0;
    left: 50%;
    width: 1px;
    height: 100%;
  }.p-top-kv__block--seamonkey > .c-guide-point--tr {
    top: -0.5vw; /* -6px @ 1200 */
    right: -1.416667vw; /* -17px @ 1200 */
  }.p-top-kv__block--seamonkey > .c-guide-point--br {
    top: 12.166667vw; /* 146px @ 1200 */
    right: -1.416667vw; /* -17px @ 1200 */
  }.p-top-kv__block--artbank > .c-guide-point--tr {
    top: -1.75vw; /* -21px @ 1200 */
    right: -1.416667vw; /* -17px @ 1200 */
  }.p-top-kv__block--artbank > .c-guide-point--bl {
    bottom: -1.75vw; /* -21px @ 1200 */
    left: -1.5vw; /* -18px @ 1200 */
  }.p-top-kv__block--recruit > .c-guide-point--br {
    top: -4.916667vw; /* -59px @ 1200 */
    right: -1.833333vw; /* -22px @ 1200 */
    bottom: auto;
  }.p-top-kv__block--recruit > .c-guide-point--tl {
    top: -1.916667vw; /* -23px @ 1200 */
    left: -2vw; /* -24px @ 1200 */
  }.p-top-kv__block--recruit > .c-guide-point--bl {
    left: -2vw; /* -24px @ 1200 */
    bottom: -1.666667vw; /* -20px @ 1200 */
  }.p-top-kv__block--goldbadge > .c-guide-point--tl {
    top: -1.75vw; /* -21px @ 1200 */
    left: -1.75vw; /* -21px @ 1200 */
  }.p-top-kv__block--goldbadge > .c-guide-point--bl {
    bottom: -1.916667vw; /* -23px @ 1200 */
    left: -1.75vw; /* -21px @ 1200 */
  }.p-top-kv__block--magic-us > .c-guide-point {
    right: -1vw; /* -12px @ 1200 */
  }.p-top-kv__block--history > .c-guide-point--tl {
    top: 0;
    left: 0;
  }.p-top-kv__block--history > .c-guide-point--tr {
    top: 0;
    right: 0;
  }.p-top-kv__block--history > .c-guide-point--bl {
    bottom: 0;
    left: 0;
  }.p-top-kv__block--history > .c-guide-point--br {
    right: 0;
    bottom: 0;
  }.p-top-kv__block--plapuzzle > .c-guide-point--tr {
    top: -1.583333vw; /* -19px @ 1200 */
    right: -1.416667vw; /* -17px @ 1200 */
  }.p-top-kv__block--plapuzzle > .c-guide-point--br {
    right: -1.416667vw; /* -17px @ 1200 */
    bottom: -1.25vw; /* -15px @ 1200 */
  }.p-top-kv__block--magic-daizen > .c-guide-point--tr {
    top: -1.583333vw; /* -19px @ 1200 */
    right: -1.583333vw; /* -19px @ 1200 */
  }.p-top-kv__block--magic-daizen > .c-guide-point--br {
    right: -1.583333vw; /* -19px @ 1200 */
    bottom: -1.25vw; /* -15px @ 1200 */
  }.p-top-kv__block--magic-entertainment > .c-guide-point--tr {
    top: -1.5vw; /* -18px @ 1200 */
    right: -1.416667vw; /* -17px @ 1200 */
  }.p-top-kv__block--tenyoism > .c-guide-point--tr {
    top: -1.5vw; /* -18px @ 1200 */
    right: -1.416667vw; /* -17px @ 1200 */
  }.p-top-kv__block--candybubble > .c-guide-point--tr {
    top: -0.916667vw; /* -11px @ 1200 */
    right: -1.25vw; /* -15px @ 1200 */
  }.p-top-kv__block--candybubble > .c-guide-point--br {
    right: -1.25vw; /* -15px @ 1200 */
    bottom: -0.666667vw; /* -8px @ 1200 */
  }.p-top-kv__block--jigsaw > .c-guide-point--br {
    right: 21.166667vw; /* 254px @ 1200 */
    top: -4.416667vw; /* -53px @ 1200 */
    bottom: auto;
  }.p-top-kv__block--savingsbook > .c-guide-point--tr {
    top: 7.666667vw; /* 92px @ 1200 */
    right: -1.75vw; /* -21px @ 1200 */
  }
}

/* 2026-09-11 KV savingsbook / artbank guide fine adjustment */
@media (min-width: 1025px) {
.p-top-kv__block--savingsbook > .c-guide-point--tr {
    top: 6.5vw;
    right: -1.5vw;
  }.p-top-kv__block--artbank > .c-guide-point--bl {
    bottom: -1.75vw;
    left: -1.25vw;
  }
}

/* 2026-09-11 KV headline / aspect-ratio / sticky-top adjustment */
@media (min-width: 1025px) {
.p-top-kv {
    aspect-ratio: 1200 / 851;
    --top-kv-sticky-top: 0px;
  }.p-top-kv__headline {
    top: 29.1cqw;
  }
}

/* 2026-09-11 KV max-width 2000px cap
   2000pxまでは既存のvw/cqwで可変、2000px超ではKV内部を2000px時点で固定する。 */
@media (min-width: 2000px) {
  .p-top-intro {
    width: 2000px;
    margin-inline: auto;
  }

  .p-top-kv {
    width: 2000px;
    max-width: 2000px;
    aspect-ratio: 1200 / 851;
  }

  .p-top-kv__block--seamonkey .p-top-kv__media {
    flex: 0 0 456.895px;
    width: 456.895px;
    height: 288.938333px;
  }

  .p-top-kv__block--seamonkey .p-top-kv__title {
    font-size: 26.666667px;
  }

  .p-top-kv__block--seamonkey .p-top-kv__text {
    font-size: 16.666667px;
  }

  .p-top-kv__block--artbank .p-top-kv__media {
    flex: 0 0 137.183px;
    width: 137.183px;
    height: 137.183px;
  }

  .p-top-kv__block--goldbadge {
    grid-template-columns: 160.306833px 1fr;
    grid-template-rows: 126.099833px 1fr;
    width: 214.8715px;
    height: 240.548667px;
  }

  .p-top-kv__block--goldbadge .p-top-kv__media {
    width: 160.306833px;
    height: 126.099833px;
  }

  .p-top-kv__block--magic-entertainment {
    width: 397.721667px;
  }

  .p-top-kv__block--magic-entertainment .p-top-kv__media {
    width: 397.721667px;
    height: 175.278333px;
  }

  .p-top-kv__block--tenyoism {
    width: 185.27px;
    height: 371.93666px;
  }

  .p-top-kv__block--tenyoism {
    width: 185.27px;
    height: 371.93666px;
  }

  .p-top-kv__block--tenyoism .p-top-kv__title {
    font-size: 26.66666px;
  }

  .p-top-kv__block--tenyoism .p-top-kv__text {
    font-size: 16.66666px;
  }

  .p-top-kv__block--tenyoism {
    width: 185.27px;
    height: 371.93666px;
  }

  .p-top-kv__block--seamonkey .p-top-kv__copy {
    flex: 0 0 112.278667px;
    width: 112.278667px;
    height: 274.576667px;
  }

  .p-top-kv__block--candybubble {
    width: 111.377px;
    height: 431.301667px;
  }

  .p-top-kv__block--candybubble .p-top-kv__title {
    font-size: 26.666667px;
  }

  .p-top-kv__block--candybubble .p-top-kv__text {
    height: 200px;
    max-height: 200px;
    font-size: 16.666667px;
  }

  .p-top-kv__block--candybubble {
    height: 460px;
  }

  .p-top-kv__block--candybubble .p-top-kv__text {
    height: 220px;
    max-height: 220px;
  }

  .p-top-kv__block--candybubble {
    height: 432px;
  }

  .p-top-kv__block--jigazo {
    width: 215.632333px;
    height: 339.5865px;
  }

  .p-top-kv__block--jigsaw .p-top-kv__media,
  .p-top-kv__block--jigsaw .p-top-kv__media img {
    width: 252.510667px;
    height: 372.112667px;
  }

  .p-top-kv__block--savingsbook .p-top-kv__media,
  .p-top-kv__block--savingsbook .p-top-kv__media img {
    width: 237.729333px;
    height: 110.828167px;
  }

  .p-top-kv__block--savingsbook {
    width: 556.884167px;
    height: 110.828167px;
  }

  .p-top-kv__block--savingsbook .p-top-kv__copy {
    width: 291.381px;
    height: 80.8305px;
  }

  .p-top-kv .c-guide-point {
    --guide-arm-x: 30px;
    --guide-arm-y: 30px;
  }

  .p-top-kv .c-guide-point--cross {
    width: 63.33334px;
    height: 63.33334px;
  }

  .p-top-kv__block--seamonkey > .c-guide-point--tr {
    top: -10px;
    right: -28.33334px;
  }

  .p-top-kv__block--seamonkey > .c-guide-point--br {
    top: 243.33334px;
    right: -28.33334px;
  }

  .p-top-kv__block--artbank > .c-guide-point--tr {
    top: -35px;
    right: -28.33334px;
  }

  .p-top-kv__block--artbank > .c-guide-point--bl {
    bottom: -35px;
    left: -30px;
  }

  .p-top-kv__block--recruit > .c-guide-point--br {
    top: -98.33334px;
    right: -36.66666px;
  }

  .p-top-kv__block--recruit > .c-guide-point--tl {
    top: -38.33334px;
    left: -40px;
  }

  .p-top-kv__block--recruit > .c-guide-point--bl {
    left: -40px;
    bottom: -33.33334px;
  }

  .p-top-kv__block--goldbadge > .c-guide-point--tl {
    top: -35px;
    left: -35px;
  }

  .p-top-kv__block--goldbadge > .c-guide-point--bl {
    bottom: -38.33334px;
    left: -35px;
  }

  .p-top-kv__block--magic-us > .c-guide-point {
    right: -20px;
  }

  .p-top-kv__block--plapuzzle > .c-guide-point--tr {
    top: -31.66666px;
    right: -28.33334px;
  }

  .p-top-kv__block--plapuzzle > .c-guide-point--br {
    right: -28.33334px;
    bottom: -25px;
  }

  .p-top-kv__block--magic-daizen > .c-guide-point--tr {
    top: -31.66666px;
    right: -31.66666px;
  }

  .p-top-kv__block--magic-daizen > .c-guide-point--br {
    right: -31.66666px;
    bottom: -25px;
  }

  .p-top-kv__block--magic-entertainment > .c-guide-point--tr {
    top: -30px;
    right: -28.33334px;
  }

  .p-top-kv__block--tenyoism > .c-guide-point--tr {
    top: -30px;
    right: -28.33334px;
  }

  .p-top-kv__block--candybubble > .c-guide-point--tr {
    top: -18.33334px;
    right: -25px;
  }

  .p-top-kv__block--candybubble > .c-guide-point--br {
    right: -25px;
    bottom: -13.33334px;
  }

  .p-top-kv__block--jigsaw > .c-guide-point--br {
    right: 423.33334px;
    top: -88.33334px;
  }

  .p-top-kv__block--savingsbook > .c-guide-point--tr {
    top: 153.33334px;
    right: -35px;
  }

  .p-top-kv__block--savingsbook > .c-guide-point--tr {
    top: 130px;
    right: -30px;
  }

  .p-top-kv__block--artbank > .c-guide-point--bl {
    bottom: -35px;
    left: -25px;
  }

}

/* ========================================
   2026-09-12 SP KV phase 1
   Illustrator mobile layout: upper half / headline
   PC rules are intentionally untouched.
======================================== */
@media (max-width: 767px) {
  .p-top-kv {
    height: 433.5cqw;
    aspect-ratio: auto;
  }

  /* picture化したグラデーションを従来と同じ絶対配置レイヤーとして扱う */
  .p-top-kv__gradient {
    position: absolute;
    z-index: 0;
    display: block;
    pointer-events: none;
  }

  .p-top-kv__gradient > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: fill;
  }

  /* 創始者 */
  .p-top-kv__block--founder {
    top: 3.6cqw;
    left: 4.7cqw;
    grid-template-columns: 19cqw 25.5cqw;
    column-gap: 3.2cqw;
    width: 48.2cqw;
  }

  .p-top-kv__block--founder .p-top-kv__media {
    width: 19cqw;
  }

  .p-top-kv__block--founder .p-top-kv__eyebrow {
    font-size: 3.15cqw;
  }

  .p-top-kv__block--founder .p-top-kv__title--founder {
    margin-top: 0.5cqw;
    font-size: 7.3cqw;
    line-height: 1.08;
  }

  .p-top-kv__block--founder .p-top-kv__text {
    width: 47.5cqw;
    margin-top: 1.8cqw;
    font-size: 2.5cqw;
    line-height: 1.55;
  }

  /* プラパズル */
  .p-top-kv__block--plapuzzle {
    top: 8.4cqw;
    left: 44.7cqw;
    grid-template-columns: minmax(0, 1fr) 14.8718cqw; /* copy + 58px media @ 390 */
    gap: 1.5cqw;
    width: 28.2051cqw; /* 110px @ 390 */
    height: 36.6667cqw; /* 143px @ 390 */
    align-items: start;
  }

  .p-top-kv__block--plapuzzle .p-top-kv__copy {
    grid-column: 1;
    grid-row: 1;
    height: 36.6667cqw; /* 143px @ 390 */
  }

  .p-top-kv__block--plapuzzle .p-top-kv__media {
    grid-column: 2;
    grid-row: 1;
    width: 14.8718cqw; /* 58px @ 390 */
    height: 36.6667cqw; /* 143px @ 390 */
  }

  .p-top-kv__block--plapuzzle .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .p-top-kv__block--plapuzzle .p-top-kv__title {
    font-size: 3.0769cqw; /* 12px @ 390 */
  }

  .p-top-kv__block--plapuzzle .p-top-kv__text {
    width: 5.1282cqw; /* 20px @ 390: 2 vertical lines */
    height: 36.6667cqw; /* 143px @ 390 */
    font-size: 2.5641cqw; /* 10px @ 390 */
    line-height: 1.5;
  }

  /* History */
  .p-top-kv__block--history {
    top: 3.2cqw;
    left: 79.7cqw;
    width: 14.6154cqw; /* 57px @ 390 */
    height: 56.9231cqw; /* 222px @ 390 */
  }

  .p-top-kv__block--history .p-top-kv__media--rabbit {
    top: 0.5cqw;
    left: 0;
    width: 14.6154cqw; /* 57px @ 390 */
    height: 15.8974cqw; /* 62px @ 390 */
  }

  .p-top-kv__block--history .p-top-kv__media--rabbit img,
  .p-top-kv__block--history .p-top-kv__media--history img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .p-top-kv__block--history .p-top-kv__media--history {
    top: 15.8cqw;
    left: 0;
    width: 12.8205cqw; /* 50px @ 390 */
    height: 6.6667cqw; /* 26px @ 390 */
  }

  .p-top-kv__history-copy {
    top: 23.5cqw;
    left: 0.9cqw;
    gap: 0.7cqw;
  }

  .p-top-kv__history-en {
    font-size: 4.1026cqw; /* 16px @ 390 */
  }

  .p-top-kv__history-copy strong {
    font-size: 4.1026cqw; /* 16px @ 390 */
    line-height: 1.05;
  }

  /* 貯金本 */
  .p-top-kv__block--savingsbook {
    top: 52.6923cqw;
    left: 8.2051cqw; /* 32px @ 390 */
    grid-template-columns: 30.2564cqw 1fr; /* 118px + copy @ 390 */
    gap: 2.3077cqw; /* 9px @ 390 */
    width: 64.4cqw;
    align-items: start;
  }

  .p-top-kv__block--savingsbook .p-top-kv__media {
    width: 30.2564cqw; /* 118px @ 390 */
    height: 14.1026cqw; /* 55px @ 390 */
  }

  .p-top-kv__block--savingsbook .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .p-top-kv__block--savingsbook .p-top-kv__title {
    font-size: 3.0769cqw; /* 12px @ 390 */
  }

  .p-top-kv__block--savingsbook .p-top-kv__text {
    font-size: 2.5641cqw; /* 10px @ 390 */
  }

  .p-top-kv__block--savingsbook > .c-guide-point--bl {
    left: -2.9641cqw;
    bottom: -2.8205cqw; /* -11px @ 390 */
  }

  .p-top-kv__block--savingsbook > .c-guide-point--br {
    right: -4.4282cqw;
    bottom: -2.8205cqw; /* -11px @ 390 */
  }

  /* マジックグッズ全米発売 */
  .p-top-kv__block--magic-us {
    top: 73.8cqw;
    left: 8.2cqw;
    grid-template-columns: 50cqw 27.9487cqw; /* 195px + 109px @ 390 */
    gap: 3.8462cqw; /* 15px @ 390 */
    width: 81.7949cqw; /* 319px @ 390 */
    height: 16.4103cqw; /* 64px @ 390 */
    align-items: end;
  }

  .p-top-kv__block--magic-us .p-top-kv__copy {
    width: 50cqw; /* 195px @ 390 */
  }

  .p-top-kv__block--magic-us .p-top-kv__media {
    width: 27.9487cqw; /* 109px @ 390 */
    height: 16.4103cqw; /* 64px @ 390 */
  }

  .p-top-kv__block--magic-us .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .p-top-kv__block--magic-us .p-top-kv__title {
    font-size: 3.0769cqw; /* 12px @ 390 */
    line-height: 1.2;
  }

  .p-top-kv__block--magic-us .p-top-kv__title br {
    display: none;
  }

  .p-top-kv__block--magic-us .p-top-kv__text {
    margin-top: 1.1cqw;
    font-size: 2.5641cqw; /* 10px @ 390 */
    line-height: 1.55;
  }

  .p-top-kv__block--magic-us > .c-guide-point--corner-bl.c-guide-point--bl.u-sp-only {
    left: -3.3333cqw; /* -13px @ 390 */
    bottom: -4.6154cqw; /* -18px @ 390 */
  }

  /* シーモンキー */
  .p-top-kv__block--seamonkey {
    top: 95.2cqw;
    left: 7.4cqw;
    grid-template-columns: 53.5cqw 27cqw;
    gap: 2cqw;
    width: 82.5cqw;
  }

  .p-top-kv__block--seamonkey .p-top-kv__media {
    width: 53.5cqw;
  }

  .p-top-kv__block--seamonkey .p-top-kv__copy {
    gap: 0.7cqw;
  }

  .p-top-kv__block--seamonkey .p-top-kv__title {
    font-size: 4cqw;
  }

  .p-top-kv__block--seamonkey .p-top-kv__text {
    font-size: 2.45cqw;
    line-height: 1.5;
  }

  /* 中央ロゴ：上段ブロックとの間隔をIllustrator基準へ寄せる */
  .p-top-kv__headline {
    top: 135.5cqw;
    left: 50%;
    width: 91cqw;
    gap: 1.3cqw;
    transform: translateX(-50%);
  }

  .p-top-kv__headline > .p-top-kv__logo {
    width: 45.3846cqw;
  }

  .p-top-kv__headline > .p-top-kv__logo > img {
    width: 100%;
    height: auto;
  }

  .p-top-kv__main-en {
    margin: 0;
    font-size: 11.2821cqw;
    line-height: 0.98;
  }

  .p-top-kv__main-ja {
    margin: 0.9cqw 0 0;
    font-size: 8.2051cqw;
    line-height: 1.25;
    letter-spacing: 0.08em;
  }

  /* SP固有グラデーション。画像自体も picture/source でSP用へ切替 */
  .p-top-kv__gradient--right {
    top: 97.9cqw;
    right: 0;
    width: 4.8cqw;
    height: 27cqw;
  }

  .p-top-kv__gradient--left {
    top: 270cqw;
    bottom: auto;
    left: 0;
    width: 5.1282cqw;
    height: 42.0175cqw;
  }

  .p-top-kv__gradient--bottom {
    display: block;
    left: 0;
    bottom: -0.2564cqw;
    width: 100%;
    height: 8cqw;
  }
}

/* ========================================
   SP KV fine tuning - founder
   390px design baseline / 2026-09-12
   PC rules are intentionally untouched.
======================================== */
@media (max-width: 767px) {
  /* KV内の外部リンク矢印は390px時10px。SP〜縦タブレットでKVと同率拡大。 */
  .p-top-kv__block .p-top-kv__arrow {
    width: 2.5641cqw;  /* 10px @ 390 */
    height: 2.5641cqw; /* 10px @ 390 */
  }

  .p-top-kv__block--founder {
    /* 390px baseline: position 20px / 16px, size 126px x 171px */
    top: 4.1026cqw;  /* 16px @ 390 */
    left: 5.1282cqw; /* 20px @ 390 */
    width: 32.3077cqw;
    height: 43.8462cqw;
    display: grid;
    /* 390px baseline: media 72px / media-title gap 8px / title 22px / title-eyebrow gap 6px / eyebrow 11px */
    grid-template-columns: 18.4615cqw 2.0513cqw 5.6410cqw 1.5385cqw 2.8205cqw;
    grid-template-rows: 21.0256cqw 1fr; /* media 82px + text */
    column-gap: 0;
    row-gap: 4.1026cqw; /* 16px @ 390 */
    align-items: start;
  }

  /* Keep the PC DOM unchanged while laying out the SP founder block. */
  .p-top-kv__block--founder .p-top-kv__copy {
    display: contents;
  }

  .p-top-kv__block--founder .p-top-kv__media {
    grid-column: 1;
    grid-row: 1;
    width: 18.4615cqw;  /* 72px @ 390 */
    height: 21.0256cqw; /* 82px @ 390 */
    align-self: start;
  }

  .p-top-kv__block--founder .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .p-top-kv__block--founder .p-top-kv__eyebrow {
    position: relative;
    grid-column: 5;
    grid-row: 1;
    margin: 0;
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-size: 2.8205cqw;
    line-height: 1;
    white-space: nowrap;
  }

  .p-top-kv__block--founder .p-top-kv__eyebrow span {
    position: absolute;
    top: -1.2821cqw; /* -5px @ 390 */
    right: -2.3077cqw; /* -9px @ 390 */
    font-size: 4.1026cqw; /* 16px @ 390 */
    line-height: 1;
    writing-mode: horizontal-tb;
  }

  .p-top-kv__block--founder .p-top-kv__title--founder {
    grid-column: 3;
    grid-row: 1;
    margin: 0;
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-size: 5.6410cqw;
    line-height: 1;
    white-space: nowrap;
    transform: none;
  }

  .p-top-kv__block--founder .p-top-kv__eyebrow {
    transform: none;
  }

  .p-top-kv__block--founder .p-top-kv__text {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    margin: 0;
    writing-mode: horizontal-tb;
    font-size: 2.5641cqw;
    line-height: 1.6;
  }

  .p-top-kv__block--founder .p-top-kv__arrow {
    position: absolute;
    top: 15.8718cqw;
    left: 27.7436cqw;
    right: auto;
  }
}

/* 2026-09-12 SP KV fine tuning: savingsbook / plapuzzle */
@media (max-width: 767px) {
  .p-top-kv__block--plapuzzle {
    gap: 2.5cqw;
  }

  .p-top-kv__block--plapuzzle .p-top-kv__text {
    text-orientation: upright;
  }

  .p-top-kv__block--plapuzzle > .c-guide-point--tee-bottom.c-guide-point--bl.u-sp-only {
    left: -3.5897cqw; /* -14px @ 390 */
    bottom: -2.5641cqw; /* -10px @ 390 */
  }

  .p-top-kv__block--plapuzzle > .c-guide-point--tee-right.c-guide-point--br.u-sp-only {
    left: 26.8872cqw;
    right: auto;
    bottom: -2.5641cqw; /* -10px @ 390 */
  }

  .p-top-kv__block--plapuzzle > .c-guide-point--corner-tl.c-guide-point--tl.u-sp-only {
    left: -3.5897cqw; /* -14px @ 390 */
    top: -4.6154cqw; /* -18px @ 390 */
  }
}

/* 2026-09-12 SP KV fine tuning: history */
@media (max-width: 767px) {
  .p-top-kv__block--history {
    top: 8.2cqw;
  }

  .p-top-kv__block--history .p-top-kv__media--history {
    top: 17.8cqw;
    left: 1.0256cqw; /* 4px @ 390 */
  }

  .p-top-kv__history-copy {
    top: 26.5cqw;
    left: 2.9cqw;
    gap: 0.7cqw;
  }

  .p-top-kv__block--history .p-top-kv__arrow {
    right: 3.8462cqw; /* 15px @ 390 */
    bottom: 2.3077cqw; /* 9px @ 390 */
  }

  .p-top-kv__block--history > .c-guide-point--tee-top.c-guide-point--tl.u-sp-only {
    top: -4.8718cqw; /* -19px @ 390 */
    left: -3.0769cqw; /* -12px @ 390 */
  }

  .p-top-kv__block--history > .c-guide-point--tee-right.c-guide-point--br.u-sp-only {
    bottom: -4.8718cqw; /* -19px @ 390 */
    right: -1.2821cqw; /* -5px @ 390 */
  }
}


/* 2026-09-12 SP KV fine tuning: seamonkey */
@media (max-width: 767px) {
  .p-top-kv__block--seamonkey {
    top: 97.2cqw;
    width: 83.3333cqw;  /* 325px @ 390 */
    height: 24.8718cqw; /* 97px @ 390 */
    grid-template-columns: 53.3333cqw 28.4615cqw; /* 208px / 111px @ 390 */
    gap: 1.5385cqw; /* 6px @ 390 */
    align-items: center;
  }

  .p-top-kv__block--seamonkey .p-top-kv__media {
    width: 53.3333cqw;  /* 208px @ 390 */
    height: 25.8974cqw; /* 101px @ 390 */
  }

  .p-top-kv__block--seamonkey .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .p-top-kv__block--seamonkey .p-top-kv__copy {
    width: 28.4615cqw;  /* 111px @ 390 */
    height: 21.2821cqw; /* 83px @ 390 */
  }

  .p-top-kv__block--seamonkey .p-top-kv__title {
    font-size: 3.0769cqw; /* 12px @ 390 */
  }

  .p-top-kv__block--seamonkey .p-top-kv__text {
    height: 21.2821cqw; /* 83px @ 390: 6-line vertical copy area */
    font-size: 2.5641cqw; /* 10px @ 390 */
    line-height: 1.5;
  }

  .p-top-kv__block--seamonkey > .c-guide-point--tee-left.c-guide-point--bl.u-sp-only {
    bottom: -4.6154cqw; /* -18px @ 390 */
    left: -2.8205cqw;   /* -11px @ 390 */
  }
}




/* History PC: left-top guide uses an opening-corner shape (「). */
@media (min-width: 1025px) {
.p-top-kv__block--history > .c-guide-point--corner-open-tl::before {
    left: 50%;
    width: 50%;
  }.p-top-kv__block--history > .c-guide-point--corner-open-tl::after {
    top: 50%;
    height: 50%;
  }
}

@media (max-width: 767px) {
  .p-top-kv__block--tenyoism {
    top: 364cqw;
    left: 8cqw;
    display: grid;
    grid-template-columns: 34.0877cqw minmax(0, 1fr);
    gap: 4.1026cqw;
    width: 83.1491cqw;
    height: 18.7320cqw;
    align-items: start;
    text-align: justify;
  }

  .p-top-kv__block--tenyoism .p-top-kv__media {
    grid-column: 1;
    grid-row: 1;
    width: 34.0877cqw;
    height: 18.7320cqw;
    margin: 0;
  }

  .p-top-kv__block--tenyoism .p-top-kv__copy {
    grid-column: 2;
    grid-row: 1;
    writing-mode: horizontal-tb;
    text-orientation: mixed;
  }

  .p-top-kv__block--tenyoism .p-top-kv__title,
  .p-top-kv__block--tenyoism .p-top-kv__text {
    writing-mode: horizontal-tb;
    text-orientation: mixed;
  }

  .p-top-kv__block--tenyoism .p-top-kv__text {
    font-size: 2.5641cqw;
    line-height: 1.6;
  }

  .p-top-kv__block--tenyoism > .c-guide-point--tr {
    display: none;
  }

  .p-top-kv__block--tenyoism > .c-guide-point--tl.u-sp-only {
    top: -2.5641cqw;
    left: -2.5641cqw;
  }

  .p-top-kv__block--tenyoism > .c-guide-point--br.u-sp-only {
    right: -5.1282cqw;
    bottom: -2.5641cqw;
  }
}

@media (max-width: 767px) {
  .p-top-kv__block--jigsaw {
    display: grid;
    grid-template-columns: 23.0769cqw 48.6778cqw 9.2308cqw;
    column-gap: 3cqw;
    width: 92cqw;
    align-items: start;
    position: absolute;
  }

  /* copy wrapperをレイアウトから外し、text/titleを親Gridへ直接参加させる */
  .p-top-kv__block--jigsaw .p-top-kv__copy {
    display: contents;
  }

  .p-top-kv__block--jigsaw .p-top-kv__text {
    grid-column: 1;
    grid-row: 1;
    width: 23.0769cqw;
    height: auto;
    margin: 0;
    font-size: 2.5641cqw;
    line-height: 1.6;
    writing-mode: horizontal-tb;
    text-orientation: mixed;
    text-align: justify;
  }

  .p-top-kv__block--jigsaw .p-top-kv__media {
    grid-column: 2;
    grid-row: 1;
    width: 48.6778cqw;
    height: 27.6588cqw;
    margin: 0;
  }

  .p-top-kv__block--jigsaw .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .p-top-kv__block--jigsaw .p-top-kv__title {
    grid-column: 3;
    grid-row: 1;
    width: 9.2308cqw;
    height: 27.6588cqw;
    margin: 0;
    font-size: 4.1026cqw;
    line-height: 1.1;
    letter-spacing: -0.05em;
    writing-mode: vertical-rl;
    text-orientation: upright;
    white-space: nowrap;
  }

  .p-top-kv__block--jigsaw .p-top-kv__title > br {
    display: block;
  }

  .p-top-kv__block--jigsaw .p-top-kv__title > span {
    position: absolute;
    right: 0.8974cqw;
    top: -0.5128cqw;
    font-size: 4.1026cqw;
    line-height: 1;
  }


  .p-top-kv__block--jigsaw > .c-guide-point--br {
    display: none;
  }

  .p-top-kv__block--jigsaw .p-top-kv__arrow {
    position: absolute;
    right: 2.5641cqw;
    bottom: 1.0256cqw;
    width: 2.5641cqw;
    height: 2.5641cqw;
  }
}

@media (max-width: 767px) {
  .p-top-kv__block--magic-entertainment {
    top: 295.5cqw;
    width: 44.8488cqw;
    height: 48.6440cqw;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  .p-top-kv__block--magic-entertainment .p-top-kv__media {
    width: 44.8488cqw;
    height: 27.3921cqw;
    margin: 0;
  }

  .p-top-kv__block--magic-entertainment .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .p-top-kv__block--magic-entertainment .p-top-kv__title {
    font-size: 4.1026cqw;
  }

  .p-top-kv__block--magic-entertainment .p-top-kv__text {
    font-size: 2.5641cqw;
    line-height: 1.6;
    letter-spacing: 0.05em;
  }

  .p-top-kv__block--magic-entertainment .p-top-kv__arrow {
    bottom: 10cqw;
  }

  .p-top-kv__block--magic-entertainment > .c-guide-point--tr {
    display: none;
  }
}

@media (max-width: 767px) {
  .p-top-kv__gradient--bottom {
    position: absolute;
    top: 349.144cqw;
    left: auto;
    right: 0;
    bottom: auto;
    width: 51.4563cqw;
    height: 7.3484cqw;
  }

  .p-top-kv__block--magic-entertainment > .c-guide-point--corner-bl.c-guide-point--bl {
    bottom: -12.5641cqw;
    left: -5.8974cqw;
  }
}

/* ========================================
   Story headline duplicate
   SP / Tablet only
======================================== */
.p-top-story__headline {
  display: none;
}

@media (max-width: 1024px) {
  .p-top-story__inner {
    position: relative;
    padding-top: 52cqw;
  }

  .p-top-story__headline {
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 4;

    display: flex;
    width: 91cqw;
    height: auto;
    margin: 0;
    gap: 1.3cqw;

    transform: translateX(-50%);
  }

  .p-top-story__headline > .p-top-kv__logo {
    width: 45.3846cqw;
  }

  .p-top-story__headline > .p-top-kv__logo > img {
    width: 100%;
    height: auto;
  }

  .p-top-story__headline .p-top-kv__main-en {
    margin: 0;
    font-size: 11.2821cqw;
    line-height: 0.98;
  }

  .p-top-story__headline .p-top-kv__main-ja {
    margin: 0.9cqw 0 0;
    font-size: 8.2051cqw;
    line-height: 1.25;
    letter-spacing: 0.08em;
  }
}

@media (max-width: 1024px) {
  .p-top-story__inner {
    min-height: auto;
    padding-bottom: 12svh;
  }

  .p-top-story__body {
    width: min(760px, calc(100% - 24px));
    font-size: 14px;
    line-height: 1.7;
    letter-spacing: -0.015em;
    text-wrap: pretty;
    overflow-wrap: normal;
    word-break: normal;
    line-break: strict;
  }
}

/* ========================================
   TABLET KV
   390px SP完成形をそのまま同比率で拡大
   KV以外には適用しない
======================================== */
@media (min-width: 768px) and (max-width: 1024px) {
.p-top-kv__item > .p-top-kv__image--pc {
    display: none;
  }

.p-top-kv__item > .p-top-kv__image--sp {
    display: block;
  }

.p-top-kv {
    min-width: 980px;
    left: 50%;
    transform: translateX(-50%);
  }

.p-top-kv {
    position: sticky;
    left: auto;
    width: 100%;
    min-width: 0;
    height: 1780px;
    aspect-ratio: auto;
    transform: none;
  }

.p-top-kv__canvas, .p-top-kv__collage {
    width: 100%;
    height: 100%;
  }

.p-top-kv__title {
    font-size: 16px;
  }

.p-top-kv__eyebrow {
    font-size: 11px;
  }

.p-top-kv__text {
    font-size: 10px;
    line-height: 1.5;
  }

.p-top-kv__item--founder {
    top: 4.319vw;
    left: 4.792vw;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.8vw;
    width: 32.4521vw; /* 390px時 126.563px */
    height: 43.4657vw; /* 390px時 169.5162px */
  }

.p-top-kv__item--founder .p-top-kv__founder-main {
    position: relative;
    display: grid;
    grid-template-columns: 18.3666vw minmax(0, 1fr);
    align-items: start;
    column-gap: 2.3vw;
    row-gap: 1.8vw;
    width: 100%;
  }

.p-top-kv__item--founder .p-top-kv__founder-content {
    display: contents;
  }

.p-top-kv__item--founder .p-top-kv__founder-main > .p-top-kv__image {
    grid-column: 1;
    grid-row: 1;
    width: 18.3666vw; /* 390px時 71.6299px */
    height: auto;
    object-fit: contain;
  }

.p-top-kv__item--founder .p-top-kv__copy--founder {
    position: relative;
    grid-column: 3;
    grid-row: 1;
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0.8vw;
    width: fit-content;
    min-width: 0;
  }

.p-top-kv__item--founder .p-top-kv__eyebrow {
    margin: 0;
    font-size: 2.8205vw; /* 390px時 約11px */
    line-height: 1.1;
    writing-mode: vertical-rl;
    text-orientation: upright;
  }

.p-top-kv__item--founder .p-top-kv__founder-star {
    position: absolute;
    top: -0.7vw;
    right: -3.5vw;
    display: block;
    margin: 0;
    font-size: 4.1026vw;
    line-height: 1;
  }

.p-top-kv__item--founder .p-top-kv__title {
    margin: 0;
    font-size: 5.641vw; /* 390px時 22px */
    line-height: 1;
    writing-mode: vertical-rl;
    text-orientation: upright;
  }

.p-top-kv__item--founder .p-top-kv__text--founder {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    margin: 0;
    font-size: 2.3077vw; /* 390px時 約9px */
    line-height: 1.55;
    writing-mode: horizontal-tb;
    text-align: justify;
  }

.p-top-kv__item--founder .p-top-kv__arrow--founder {
    right: -0.7vw;
    bottom: 0;
  }

.p-top-kv__item--plapuzzle {
    top: 4.319cqw;
    right: 5.3434cqw; /* 390px時 20.8391px */
    left: auto;

    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 1.2cqw;

    width: 53.173cqw;
    height: 16.6582cqw;
  }

.p-top-kv__item--plapuzzle > .p-top-kv__image--sp {
    display: block;
    flex: 0 0 auto;
    order: 1;

    width: 33.2703cqw; /* 390px時 129.7542px */
    height: 16.6165cqw; /* 390px時 64.8045px */

    object-fit: contain;
  }

.p-top-kv__item--plapuzzle .p-top-kv__title {
    order: 3;
    flex: 0 0 auto;

    margin: 0;
    font-size: 3.0769cqw; /* 390px時 12px */
    line-height: 1.2;
    text-align: left;

    writing-mode: vertical-rl;
    text-orientation: upright;
  }

.p-top-kv__item--plapuzzle .p-top-kv__text {
    order: 2;
    flex: 0 0 auto;

    margin: 0;
    font-size: 2.5641cqw; /* 390px時 10px */
    line-height: 1.4;
    text-align: left;

    writing-mode: vertical-rl;
    text-orientation: upright;
  }

.p-top-kv__item--tarbell {
    top: 27.7265cqw; /* 390px時 108.1332px */
    left: 46.5647cqw; /* 390px時 181.6025px */

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3.0769cqw; /* 390px時 12px */

    width: 28.2145cqw; /* 390px時 110.0365px */
    height: 52.1611cqw; /* 390px時 203.4283px */
  }

.p-top-kv__item--tarbell > .p-top-kv__image {
    order: 1;
    flex: 0 0 auto;

    width: 28.052cqw; /* 390px時 109.4028px */
    height: 14.4482cqw; /* 390px時 56.3481px */

    object-fit: contain;
  }

.p-top-kv__item--tarbell .p-top-kv__copy {
    order: 2;
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-start;
    gap: 1.2cqw;

    width: auto;
    min-width: 0;
    flex: 0 0 auto;
  }

.p-top-kv__item--tarbell .p-top-kv__title {
    margin: 0;

    font-size: 3.0769cqw; /* 390px時 12px */
    line-height: 1.2;

    writing-mode: vertical-rl;
    text-orientation: upright;
  }

.p-top-kv__item--tarbell .p-top-kv__text {
    margin: 0;

    font-size: 2.5641cqw; /* 390px時 10px */
    line-height: 1.4;

    writing-mode: vertical-rl;
    text-orientation: upright;
  }

.p-top-kv__item--history {
    top: 116px;
    right: 8px;
    width: 76px;
    height: 246px;
  }

.p-top-kv__item--seamonkey {
    top: 210px;
    left: 18px;
    width: 166px;
    height: 204px;
  }

.p-top-kv__item--seamonkey > .p-top-kv__image {
    width: 166px;
    height: 96px;
    object-fit: contain;
  }

.p-top-kv__item--seamonkey .p-top-kv__copy {
    position: static;
    width: 100%;
    margin-top: 7px;
  }

.p-top-kv__item--seamonkey .p-top-kv__title {
    font-size: 13px;
  }

.p-top-kv__item--seamonkey .p-top-kv__text {
    margin-top: 4px;
    font-size: 9px;
  }

.p-top-kv__item--shop {
    top: 352px;
    right: 18px;
    left: auto;
    width: 170px;
    gap: 5px;
  }

.p-top-kv__item--shop > .p-top-kv__image {
    width: 164px;
    height: 88px;
  }

.p-top-kv__item--shop .p-top-kv__title {
    font-size: 12px;
  }

.p-top-kv__item--shop .p-top-kv__text {
    font-size: 8px;
  }

.p-top-kv__headline {
    top: 500px;
    left: 50%;
    width: 350px;
    height: auto;
    gap: 5px;
  }

.p-top-kv__logo {
    width: 140px;
    height: auto;
  }

.p-top-kv__main-en {
    font-size: 43px;
  }

.p-top-kv__main-ja {
    font-size: 29px;
  }

.p-top-kv__item--keys {
    top: 704px;
    left: 50%;
    width: 342px;
    height: 168px;
    transform: translateX(-50%);
  }

.p-top-kv__item--backgammon {
    top: 884px;
    left: 18px;
    width: 166px;
    height: 178px;
  }

.p-top-kv__item--artbank {
    top: 884px;
    right: 18px;
    left: auto;
    width: 158px;
    height: 104px;
  }

.p-top-kv__item--recruit {
    top: 1000px;
    right: 18px;
    left: auto;
    width: 158px;
    height: 84px;
  }

.p-top-kv__item--3dart {
    top: 1078px;
    left: 18px;
    width: 166px;
    height: 184px;
  }

.p-top-kv__item--microbank {
    top: 1094px;
    right: 18px;
    left: auto;
    width: 158px;
    height: 164px;
  }

.p-top-kv__item--metal {
    top: 1276px;
    left: 18px;
    width: 166px;
    height: 162px;
  }

.p-top-kv__item--magic {
    top: 1272px;
    right: 18px;
    left: auto;
    width: 174px;
    height: 180px;
  }

.p-top-kv__item--puzzle {
    top: 1462px;
    left: 50%;
    width: 342px;
    height: 154px;
    display: grid;
    grid-template-columns: 164px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    transform: translateX(-50%);
  }

.p-top-kv__item--puzzle > .p-top-kv__image {
    width: 170px;
    height: 98px;
    object-fit: contain;
  }

.p-top-kv__item--puzzle .p-top-kv__copy--puzzle {
    width: auto;
  }

.p-top-kv__item--puzzle .p-top-kv__title {
    font-size: 13px;
  }

.p-top-kv__item--puzzle .p-top-kv__text {
    font-size: 9px;
  }

.p-top-kv__item--jigsaw {
    top: 1622px;
    right: 18px;
    bottom: auto;
    width: 342px;
    height: 146px;
    align-items: center;
  }

.p-top-kv__item--jigsaw .p-top-kv__copy--jigsaw {
    width: 112px;
    flex: 0 0 112px;
    height: auto;
    padding: 0;
  }

.p-top-kv__item--jigsaw .p-top-kv__title {
    font-size: 18px;
  }

.p-top-kv__item--jigsaw .p-top-kv__jigsaw-star {
    left: -10px;
    font-size: 18px;
  }

.p-top-kv__item--jigsaw .p-top-kv__text {
    margin-top: 5px;
    font-size: 8px;
  }

.p-top-kv__item--jigsaw > .p-top-kv__image {
    width: 210px;
    height: 128px;
    object-fit: contain;
  }

.p-top-kv__item--jigsaw .p-top-kv__arrow--jigsaw {
    top: 8px;
    right: -4px;
    width: 12px;
    height: 12px;
  }

.p-top-kv__wow {
    display: none;
  }

.p-top-kv__gradient--left {
    top: 1080px;
    left: 0;
    width: 10px;
    height: 220px;
  }

.p-top-kv__gradient--bottom {
    top: 1438px;
    bottom: auto;
    left: auto;
    right: 0;
    width: 190px;
    height: 18px;
  }

.p-top-kv__gradient--right {
    top: 706px;
    right: 0;
    width: 10px;
    height: 220px;
  }

.p-top-kv .p-top-kv__arrow {
    width: 2.3221vw;
    height: 2.3221vw;
  }

.p-top-kv .p-top-kv__arrow img {
    display: block;
    width: 100%;
    height: 100%;
  }

.p-top-kv {
    width: 100%;
    height: 433.5cqw;
    aspect-ratio: auto;
  }

.p-top-kv__block .p-top-kv__title, .p-top-kv__history-copy strong, .p-top-kv__keys-title strong, .p-top-kv__recruit-copy strong {
    font-size: 4.1cqw;
  }

.p-top-kv__block .p-top-kv__text {
    margin-top: 1cqw;
    font-size: 2.55cqw;
    line-height: 1.55;
  }

.p-top-kv__block .p-top-kv__arrow {
    width: 4.2cqw;
    height: 4.2cqw;
  }

.p-top-kv__copy--vertical-pc {
    display: block;
  }

.p-top-kv__copy--vertical-pc .p-top-kv__title, .p-top-kv__copy--vertical-pc .p-top-kv__text {
    writing-mode: horizontal-tb;
  }

.p-top-kv__block--founder {
    top: 4.5cqw;
    left: 4.6cqw;
    display: grid;
    grid-template-columns: 18.2cqw 25.8cqw;
    column-gap: 3cqw;
    width: 48cqw;
  }

.p-top-kv__block--founder .p-top-kv__media {
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 18.2cqw;
  }

.p-top-kv__block--founder .p-top-kv__copy {
    grid-column: 2;
    grid-row: 1;
  }

.p-top-kv__block--founder .p-top-kv__eyebrow {
    font-size: 3.35cqw;
  }

.p-top-kv__block--founder .p-top-kv__title--founder {
    margin-top: 0.7cqw;
    font-size: 7.6cqw;
  }

.p-top-kv__block--founder .p-top-kv__text {
    grid-column: 1 / -1;
    width: 47cqw;
    margin-top: 2.2cqw;
  }

.p-top-kv__block--founder .p-top-kv__arrow {
    right: -0.5cqw;
    bottom: 15.5cqw;
  }

.p-top-kv__block--plapuzzle {
    top: 4.2cqw;
    left: 50.4cqw;
    display: grid;
    grid-template-columns: 18cqw 8.5cqw;
    gap: 2.2cqw;
    width: 29.3cqw;
  }

.p-top-kv__block--plapuzzle .p-top-kv__media {
    width: 18cqw;
  }

.p-top-kv__block--plapuzzle .p-top-kv__copy {
    display: flex;
    flex-direction: row-reverse;
    gap: 1cqw;
  }

.p-top-kv__block--plapuzzle .p-top-kv__title, .p-top-kv__block--plapuzzle .p-top-kv__text {
    writing-mode: vertical-rl;
    margin: 0;
  }

.p-top-kv__block--history {
    top: 4.2cqw;
    left: 77.2cqw;
    width: 18.4cqw;
    height: 43cqw;
  }

.p-top-kv__history-copy {
    top: 23.3cqw;
    left: 2cqw;
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-start;
    gap: 1cqw;
  }

.p-top-kv__history-en, .p-top-kv__history-copy strong {
    writing-mode: vertical-rl;
  }

.p-top-kv__history-en {
    font-size: 3.8cqw;
  }

.p-top-kv__history-copy strong {
    margin: 0;
    font-size: 4.8cqw;
  }

.p-top-kv__block--history .p-top-kv__media--history {
    top: 15cqw;
    left: 5.5cqw;
    width: 5.2cqw;
  }

.p-top-kv__block--history .p-top-kv__media--rabbit {
    top: 0;
    left: 2.2cqw;
    width: 13.8cqw;
  }

.p-top-kv__block--history .p-top-kv__arrow {
    right: 0;
    bottom: 0;
  }

.p-top-kv__block--savingsbook {
    top: 51cqw;
    left: 8.3cqw;
    display: grid;
    grid-template-columns: 29cqw 34cqw;
    gap: 3.1cqw;
    width: 67cqw;
  }

.p-top-kv__block--savingsbook .p-top-kv__media {
    width: 29cqw;
  }

.p-top-kv__block--magic-us {
    top: 71.8cqw;
    left: 8.5cqw;
    display: grid;
    grid-template-columns: 50cqw 29cqw;
    gap: 2.2cqw;
    width: 81cqw;
  }

.p-top-kv__block--magic-us .p-top-kv__media {
    grid-column: 2;
    grid-row: 1;
    width: 29cqw;
  }

.p-top-kv__block--magic-us .p-top-kv__copy {
    grid-column: 1;
    grid-row: 1;
    align-self: end;
  }

.p-top-kv__block--seamonkey {
    top: 96.8cqw;
    left: 8.5cqw;
    display: grid;
    grid-template-columns: 52cqw 28cqw;
    gap: 2.5cqw;
    width: 83cqw;
  }

.p-top-kv__block--seamonkey .p-top-kv__media {
    width: 52cqw;
  }

.p-top-kv__block--seamonkey .p-top-kv__copy {
    display: flex;
    flex-direction: row-reverse;
    gap: 1.1cqw;
  }

.p-top-kv__block--seamonkey .p-top-kv__title, .p-top-kv__block--seamonkey .p-top-kv__text {
    writing-mode: vertical-rl;
    margin: 0;
  }

.p-top-kv__headline {
    top: 132cqw;
    left: 50%;
    width: 90cqw;
    gap: 2.3cqw;
  }

.p-top-kv__logo {
    width: 45cqw;
  }

.p-top-kv__main-en {
    font-size: 11.4cqw;
  }

.p-top-kv__main-ja {
    font-size: 7.5cqw;
  }

.p-top-kv__block--keys {
    top: 184.7cqw;
    left: 4.5cqw;
    width: 91cqw;
    height: 35cqw;
    min-height: 0;
  }

.p-top-kv__block--keys .p-top-kv__media {
    top: 17.4cqw;
    left: 3.9cqw;
    width: 27.7cqw;
    height: 13.8cqw;
  }

.p-top-kv__block--keys .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

.p-top-kv__keys-title {
    top: 3cqw;
    left: 3.8cqw;
    right: auto;
    display: block;
    writing-mode: horizontal-tb;
  }

.p-top-kv__keys-title > span {
    position: absolute;
    right: 5cqw;
    top: 7.5cqw;
    bottom: auto;
    font-size: 4.1026cqw; /* 16px @ 390 */
    line-height: 1;
  }

.p-top-kv__keys-title strong {
    writing-mode: horizontal-tb;
    text-orientation: mixed;
    font-size: 5.25cqw;
    line-height: 1.25;
  }

.p-top-kv__keys-list {
    top: 3cqw;
    left: 42cqw;
    width: 45cqw;
  }

.p-top-kv__keys-list p {
    margin-bottom: 2.1cqw;
  }

.p-top-kv__keys-list strong {
    font-size: 4.1026cqw; /* 16px @ 390 */
    line-height: 1.05;
  }

.p-top-kv__keys-list span {
    margin-top: 0.55cqw;
    font-size: 2.5641cqw; /* 10px @ 390 */
    line-height: 1.35;
  }

.p-top-kv__block--keys .p-top-kv__keys-list > .p-top-kv__arrow {
    position: absolute;
    right: 1.7949cqw; /* 7px @ 390 */
    bottom: 2.5641cqw; /* 10px @ 390 */
    width: 2.5641cqw;
    height: 2.5641cqw;
  }

.p-top-kv__block--keys > .c-guide-point--tl {
    top: 0;
    left: 0;
  }

.p-top-kv__block--keys > .c-guide-point--tr {
    top: 0;
    right: 0;
  }

.p-top-kv__block--keys > .c-guide-point--bl {
    bottom: 0;
    left: 0;
  }

.p-top-kv__block--keys > .c-guide-point--br {
    right: 0;
    bottom: 0;
  }

.p-top-kv__block--recruit {
    top: 226.5cqw;
    left: 4.5cqw;
    width: 12cqw;
    height: 36.0256cqw;
  }

.p-top-kv__recruit-copy {
    display: grid;
    grid-template-columns: max-content max-content;
    align-items: start;
    column-gap: 0;
    direction: rtl;
  }

.p-top-kv__recruit-en {
    position: relative;
    display: block;
    grid-column: 1;
    writing-mode: vertical-rl;
  }

.p-top-kv__block--founder .p-top-kv__eyebrow span, .p-top-kv__keys-title > span, .p-top-kv__recruit-copy .p-top-kv__recruit-en > span, .p-top-kv__block--magic-entertainment .p-top-kv__title > span, .p-top-kv__block--jigsaw .p-top-kv__title > span {
    font-size: 4.1026cqw;
  }

.p-top-kv__recruit-copy .p-top-kv__recruit-en > span {
    position: absolute;
    top: -2.5641cqw;
    left: 50%;
    transform: translateX(-50%);
    writing-mode: horizontal-tb;
    font-size: 4.1026cqw;
  }

.p-top-kv__recruit-copy em, .p-top-kv__recruit-copy strong {
    font-size: 4.1026cqw; /* 16px @ 390 */
    line-height: 1.05;
  }

.p-top-kv__recruit-copy strong {
    grid-column: 2;
    writing-mode: vertical-rl;
  }

.p-top-kv__block--recruit .p-top-kv__arrow {
    right: 2.5cqw;
    bottom: 2.6cqw;
  }

.p-top-kv__block--recruit > .c-guide-point--tr.u-sp-only {
    top: -6.9231cqw; /* -27px @ 390 */
    right: -1.7949cqw; /* -7px @ 390 */
  }

.p-top-kv__block--recruit > .c-guide-point--br.u-sp-only {
    right: -1.7949cqw; /* -7px @ 390 */
    top: auto;
    bottom: -4.2897cqw;
  }

.p-top-kv__block--artbank {
    top: 223.5cqw;
    left: 22.5cqw;
    display: block;
    width: 20.9462cqw; /* 81.69px @ 390 */
    height: 41.0256cqw; /* 160px @ 390 */
  }

.p-top-kv__block--artbank .p-top-kv__media {
    width: 20.9462cqw; /* 81.69px @ 390 */
    height: 20.2193cqw; /* 78.8553px @ 390 */
    margin: 0 auto;
  }

.p-top-kv__block--artbank .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

.p-top-kv__block--artbank .p-top-kv__copy {
    margin-top: 2cqw;
  }

.p-top-kv__block--artbank .p-top-kv__title, .p-top-kv__block--artbank .p-top-kv__text {
    font-size: 2.5641cqw;
    line-height: 1.45;
  }

.p-top-kv__block--artbank .p-top-kv__title {
    font-size: 3.0769cqw;
  }

.p-top-kv__block--artbank > .c-guide-point--tr, .p-top-kv__block--artbank > .c-guide-point--bl {
    display: none;
  }

.p-top-kv__block--magic-daizen {
    top: 223.5cqw;
    left: 53.5cqw;
    display: grid;
    grid-template-columns: 18.3544cqw 22.2727cqw;
    gap: 1.5cqw;
    width: 42.1271cqw; /* 164.2958px @ 390 */
    height: 17.8717cqw; /* 69.6995px @ 390 */
    align-items: start;
  }

.p-top-kv__block--magic-daizen .p-top-kv__media {
    grid-column: 2;
    grid-row: 1;
    width: 22.2727cqw; /* 86.8634px @ 390 */
    height: 17.5816cqw; /* 68.5682px @ 390 */
    margin: 0;
  }

.p-top-kv__block--magic-daizen .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

.p-top-kv__block--magic-daizen .p-top-kv__copy {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    flex-direction: row-reverse;
    gap: 1cqw;
    width: 18.3544cqw;
    height: 17.8717cqw;
    min-width: 0;
  }

.p-top-kv__block--magic-daizen .p-top-kv__title, .p-top-kv__block--magic-daizen .p-top-kv__text {
    writing-mode: vertical-rl;
    height: 17.8717cqw;
    max-height: 17.8717cqw;
    margin: 0;
  }

.p-top-kv__block--magic-daizen .p-top-kv__title {
    font-size: 3.0769cqw;
    white-space: nowrap;
  }

.p-top-kv__block--magic-daizen .p-top-kv__text {
    font-size: 2.5641cqw;
    line-height: 1.6;
    white-space: normal;
    overflow-wrap: anywhere;
    text-orientation: upright;
    letter-spacing: 0.1em;
  }

.p-top-kv__block--magic-daizen > .c-guide-point--tr, .p-top-kv__block--magic-daizen > .c-guide-point--br {
    display: none;
  }

.p-top-kv__block--magic-daizen > .c-guide-point--tee-left.c-guide-point--bl.u-sp-only {
    left: -6.6667cqw; /* -26px @ 390 */
    bottom: -1.5385cqw; /* -6px @ 390 */
  }

.p-top-kv__block--candybubble {
    top: 247.0385cqw;
    left: 50.5cqw;
    display: grid;
    grid-template-columns: 10.2cqw 32cqw;
    gap: 2cqw;
    width: 45cqw;
    height: 19.4872cqw;
    align-items: start;
  }

.p-top-kv__block--candybubble .p-top-kv__media {
    width: 10.2cqw;
    height: 16.7cqw;
  }

.p-top-kv__block--candybubble .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

.p-top-kv__block--candybubble .p-top-kv__title {
    font-size: 3.0769cqw;
  }

.p-top-kv__block--candybubble .p-top-kv__text {
    font-size: 2.5641cqw;
    line-height: 1.45;
  }

.p-top-kv__block--candybubble > .p-top-kv__guide--candybubble-bl {
    left: -9.7436cqw; /* -38px @ 390 */
    right: auto;
    bottom: 0;
  }

.p-top-kv__block--candybubble .p-top-kv__copy {
    width: 29.2308cqw; /* 114px @ 390 */
    text-align: justify;
  }

.p-top-kv__block--jigazo {
    top: 269.5cqw;
    left: 48.5cqw;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 16.917cqw 6.1538cqw;
    column-gap: 1.5cqw;
    width: 47.1515cqw;
    height: 19.7436cqw;
    align-items: start;
    text-align: justify;
  }

.p-top-kv__block--jigazo .p-top-kv__copy {
    display: contents;
  }

.p-top-kv__block--jigazo .p-top-kv__text {
    grid-column: 1;
    grid-row: 1;
    font-size: 2.5641cqw;
    line-height: 1.7;
    writing-mode: horizontal-tb;
    text-orientation: mixed;
    width: 100%;
    height: auto;
  }

.p-top-kv__block--jigazo .p-top-kv__media {
    grid-column: 2;
    grid-row: 1;
    width: 16.917cqw; /* 65.9761px @ 390 */
    height: 20.4955cqw; /* 79.9326px @ 390 */
    margin: 0;
  }

.p-top-kv__block--jigazo .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

.p-top-kv__block--jigazo .p-top-kv__title {
    grid-column: 3;
    grid-row: 1;
    font-size: 3.0769cqw;
    width: 6.1538cqw; /* 24px @ 390: 2 vertical columns */
    writing-mode: vertical-rl;
    text-orientation: upright;
    white-space: nowrap;
  }

.p-top-kv__block--jigazo > .c-guide-point--tee-left.c-guide-point--bl.u-sp-only {
    left: -5.6410cqw; /* -22px @ 390 */
    bottom: -2.5641cqw; /* -10px @ 390 */
  }

.p-top-kv__block--goldbadge {
    top: 270cqw;
    left: 9.2cqw;
    display: flex;
    flex-direction: column;
    width: 30.0277cqw; /* 117.108px @ 390 */
    height: 42.1365cqw; /* 164.3325px @ 390 */
    align-items: flex-start;
    gap: 0;
  }

.p-top-kv__block--goldbadge .p-top-kv__media {
    flex: 0 0 auto;
    width: 30.0277cqw; /* 117.108px @ 390 */
    height: 19.4947cqw; /* 76.0294px @ 390 */
    margin-bottom: 2.5641cqw; /* 10px @ 390 */
  }

.p-top-kv__block--goldbadge .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

.p-top-kv__block--goldbadge .p-top-kv__copy {
    margin-top: 0;
    width: 100%;
    writing-mode: horizontal-tb;
    text-orientation: mixed;
  }

.p-top-kv__block--goldbadge .p-top-kv__title, .p-top-kv__block--goldbadge .p-top-kv__text {
    writing-mode: horizontal-tb;
    text-orientation: mixed;
  }

.p-top-kv__block--goldbadge .p-top-kv__title {
    font-size: 3.0769cqw;
    margin-bottom: 1.0256cqw; /* 4px @ 390 */
  }

.p-top-kv__block--goldbadge .p-top-kv__text {
    margin-top: 0;
    font-size: 2.5641cqw;
    line-height: 1.45;
  }

.p-top-kv__block--goldbadge > .c-guide-point--tee-right.c-guide-point--br.u-sp-only {
    right: -3.5897cqw;
    bottom: -2.8205cqw;
  }

.p-top-kv__block--metal {
    top: 317.8cqw;
    left: 5cqw;
    display: grid;
    grid-template-columns: 27.7074cqw minmax(0, 1fr);
    grid-template-rows: auto 1fr;
    column-gap: 0;
    row-gap: 0;
    width: 34.4233cqw;
    height: 39.7766cqw;
    align-items: start;
  }

.p-top-kv__block--metal .p-top-kv__media {
    grid-column: 1;
    grid-row: 1;
    width: 27.7074cqw; /* 108.0588px @ 390 */
    height: 18.9307cqw; /* 73.8298px @ 390 */
    margin-bottom: 2.5641cqw; /* 10px @ 390 */
  }

.p-top-kv__block--metal .p-top-kv__copy {
    display: contents;
  }

.p-top-kv__block--metal .p-top-kv__title, .p-top-kv__block--metal .p-top-kv__text {
    margin: 0;
  }

.p-top-kv__block--metal .p-top-kv__title {
    grid-column: 2;
    grid-row: 1 / 3;
    justify-self: end;
    font-size: 3.0769cqw;
    writing-mode: vertical-rl;
    text-orientation: upright;
    white-space: nowrap;
  }

.p-top-kv__block--metal .p-top-kv__text {
    grid-column: 1;
    grid-row: 2;
    width: 100%;
    font-size: 2.4641cqw;
    line-height: 1.6;
    writing-mode: vertical-rl;
    text-orientation: upright;
    text-align: start;
    letter-spacing: 0.03em;
    height: 18.7179cqw;
  }

.p-top-kv__block--magic-entertainment {
    top: 328.5cqw;
    left: 48.5cqw;
    display: block;
    width: 46.5cqw;
  }

.p-top-kv__block--magic-entertainment .p-top-kv__media {
    width: 46.5cqw;
    height: 28.5cqw;
  }

.p-top-kv__block--magic-entertainment .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

.p-top-kv__block--magic-entertainment .p-top-kv__copy {
    margin-top: 1.8cqw;
  }

.p-top-kv__block--magic-entertainment .p-top-kv__title, .p-top-kv__block--jigsaw .p-top-kv__title {
    font-size: 4.1cqw;
    line-height: 1.15;
  }

.p-top-kv__block--magic-entertainment .p-top-kv__text {
    font-size: 2.5641cqw;
    line-height: 1.45;
  }

.p-top-kv__block--magic-entertainment .p-top-kv__arrow {
    bottom: 8cqw;
  }

.p-top-kv__block--tenyoism {
    top: 365cqw;
    left: 42cqw;
    display: grid;
    grid-template-columns: 28cqw 25cqw;
    gap: 2.5cqw;
    width: 53cqw;
    align-items: start;
  }

.p-top-kv__block--tenyoism .p-top-kv__media {
    grid-column: 1;
    grid-row: 2;
    width: 28cqw;
    height: 17cqw;
    margin-top: 1.5cqw;
  }

.p-top-kv__block--tenyoism .p-top-kv__copy {
    grid-column: 1 / -1;
    grid-row: 1;
    width: 100%;
  }

.p-top-kv__block--tenyoism .p-top-kv__title {
    font-size: 4.2cqw;
  }

.p-top-kv__block--tenyoism .p-top-kv__text {
    font-size: 2.5641cqw;
    line-height: 1.45;
  }

.p-top-kv__block--jigsaw {
    top: 389cqw;
    left: 5cqw;
    display: grid;
    grid-template-columns: 34cqw 53cqw;
    gap: 2.5cqw;
    width: 90cqw;
    align-items: start;
  }

.p-top-kv__block--jigsaw .p-top-kv__media {
    width: 34cqw;
    height: 30cqw;
  }

.p-top-kv__block--jigsaw .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

.p-top-kv__block--jigsaw .p-top-kv__copy {
    width: 42cqw;
  }

.p-top-kv__block--jigsaw .p-top-kv__title {
    font-size: 4.1cqw;
  }

.p-top-kv__block--jigsaw .p-top-kv__text {
    font-size: 2.5641cqw;
    line-height: 1.45;
  }

.p-top-kv__block--jigsaw .p-top-kv__arrow {
    bottom: 7cqw;
  }

.p-top-kv__gradient--left {
    top: auto;
    bottom: 0;
    left: 0;
    width: 3.2cqw;
    height: 31cqw;
  }

.p-top-kv__gradient--right {
    top: 94.5cqw;
    right: 0;
    width: 5.2cqw;
    height: 22cqw;
  }

.p-top-kv__gradient--bottom {
    display: none;
  }

.p-top-kv {
    height: 433.5cqw;
    aspect-ratio: auto;
  }

.p-top-kv__gradient {
    position: absolute;
    z-index: 0;
    display: block;
    pointer-events: none;
  }

.p-top-kv__gradient > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: fill;
  }

.p-top-kv__block--founder {
    top: 3.6cqw;
    left: 4.7cqw;
    grid-template-columns: 19cqw 25.5cqw;
    column-gap: 3.2cqw;
    width: 48.2cqw;
  }

.p-top-kv__block--founder .p-top-kv__media {
    width: 19cqw;
  }

.p-top-kv__block--founder .p-top-kv__eyebrow {
    font-size: 3.15cqw;
  }

.p-top-kv__block--founder .p-top-kv__title--founder {
    margin-top: 0.5cqw;
    font-size: 7.3cqw;
    line-height: 1.08;
  }

.p-top-kv__block--founder .p-top-kv__text {
    width: 47.5cqw;
    margin-top: 1.8cqw;
    font-size: 2.5cqw;
    line-height: 1.55;
  }

.p-top-kv__block--plapuzzle {
    top: 8.4cqw;
    left: 44.7cqw;
    grid-template-columns: minmax(0, 1fr) 14.8718cqw; /* copy + 58px media @ 390 */
    gap: 1.5cqw;
    width: 28.2051cqw; /* 110px @ 390 */
    height: 36.6667cqw; /* 143px @ 390 */
    align-items: start;
  }

.p-top-kv__block--plapuzzle .p-top-kv__copy {
    grid-column: 1;
    grid-row: 1;
    height: 36.6667cqw; /* 143px @ 390 */
  }

.p-top-kv__block--plapuzzle .p-top-kv__media {
    grid-column: 2;
    grid-row: 1;
    width: 14.8718cqw; /* 58px @ 390 */
    height: 36.6667cqw; /* 143px @ 390 */
  }

.p-top-kv__block--plapuzzle .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

.p-top-kv__block--plapuzzle .p-top-kv__title {
    font-size: 3.0769cqw; /* 12px @ 390 */
  }

.p-top-kv__block--plapuzzle .p-top-kv__text {
    width: 5.1282cqw; /* 20px @ 390: 2 vertical lines */
    height: 36.6667cqw; /* 143px @ 390 */
    font-size: 2.5641cqw; /* 10px @ 390 */
    line-height: 1.5;
  }

.p-top-kv__block--history {
    top: 3.2cqw;
    left: 79.7cqw;
    width: 14.6154cqw; /* 57px @ 390 */
    height: 56.9231cqw; /* 222px @ 390 */
  }

.p-top-kv__block--history .p-top-kv__media--rabbit {
    top: 0.5cqw;
    left: 0;
    width: 14.6154cqw; /* 57px @ 390 */
    height: 15.8974cqw; /* 62px @ 390 */
  }

.p-top-kv__block--history .p-top-kv__media--rabbit img, .p-top-kv__block--history .p-top-kv__media--history img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

.p-top-kv__block--history .p-top-kv__media--history {
    top: 15.8cqw;
    left: 0;
    width: 12.8205cqw; /* 50px @ 390 */
    height: 6.6667cqw; /* 26px @ 390 */
  }

.p-top-kv__history-copy {
    top: 23.5cqw;
    left: 0.9cqw;
    gap: 0.7cqw;
  }

.p-top-kv__history-en {
    font-size: 4.1026cqw; /* 16px @ 390 */
  }

.p-top-kv__history-copy strong {
    font-size: 4.1026cqw; /* 16px @ 390 */
    line-height: 1.05;
  }

.p-top-kv__block--savingsbook {
    top: 52.6923cqw;
    left: 8.2051cqw; /* 32px @ 390 */
    grid-template-columns: 30.2564cqw 1fr; /* 118px + copy @ 390 */
    gap: 2.3077cqw; /* 9px @ 390 */
    width: 64.4cqw;
    align-items: start;
  }

.p-top-kv__block--savingsbook .p-top-kv__media {
    width: 30.2564cqw; /* 118px @ 390 */
    height: 14.1026cqw; /* 55px @ 390 */
  }

.p-top-kv__block--savingsbook .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

.p-top-kv__block--savingsbook .p-top-kv__title {
    font-size: 3.0769cqw; /* 12px @ 390 */
  }

.p-top-kv__block--savingsbook .p-top-kv__text {
    font-size: 2.5641cqw; /* 10px @ 390 */
  }

.p-top-kv__block--savingsbook > .c-guide-point--bl {
    left: -2.9641cqw;
    bottom: -2.8205cqw; /* -11px @ 390 */
  }

.p-top-kv__block--savingsbook > .c-guide-point--br {
    right: -4.4282cqw;
    bottom: -2.8205cqw; /* -11px @ 390 */
  }

.p-top-kv__block--magic-us {
    top: 73.8cqw;
    left: 8.2cqw;
    grid-template-columns: 50cqw 27.9487cqw; /* 195px + 109px @ 390 */
    gap: 3.8462cqw; /* 15px @ 390 */
    width: 81.7949cqw; /* 319px @ 390 */
    height: 16.4103cqw; /* 64px @ 390 */
    align-items: end;
  }

.p-top-kv__block--magic-us .p-top-kv__copy {
    width: 50cqw; /* 195px @ 390 */
  }

.p-top-kv__block--magic-us .p-top-kv__media {
    width: 27.9487cqw; /* 109px @ 390 */
    height: 16.4103cqw; /* 64px @ 390 */
  }

.p-top-kv__block--magic-us .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

.p-top-kv__block--magic-us .p-top-kv__title {
    font-size: 3.0769cqw; /* 12px @ 390 */
    line-height: 1.2;
  }

.p-top-kv__block--magic-us .p-top-kv__title br {
    display: none;
  }

.p-top-kv__block--magic-us .p-top-kv__text {
    margin-top: 1.1cqw;
    font-size: 2.5641cqw; /* 10px @ 390 */
    line-height: 1.55;
  }

.p-top-kv__block--magic-us > .c-guide-point--corner-bl.c-guide-point--bl.u-sp-only {
    left: -3.3333cqw; /* -13px @ 390 */
    bottom: -4.6154cqw; /* -18px @ 390 */
  }

.p-top-kv__block--seamonkey {
    top: 95.2cqw;
    left: 7.4cqw;
    grid-template-columns: 53.5cqw 27cqw;
    gap: 2cqw;
    width: 82.5cqw;
  }

.p-top-kv__block--seamonkey .p-top-kv__media {
    width: 53.5cqw;
  }

.p-top-kv__block--seamonkey .p-top-kv__copy {
    gap: 0.7cqw;
  }

.p-top-kv__block--seamonkey .p-top-kv__title {
    font-size: 4cqw;
  }

.p-top-kv__block--seamonkey .p-top-kv__text {
    font-size: 2.45cqw;
    line-height: 1.5;
  }

.p-top-kv__headline {
    top: 135.5cqw;
    left: 50%;
    width: 91cqw;
    gap: 1.3cqw;
    transform: translateX(-50%);
  }

.p-top-kv__headline > .p-top-kv__logo {
    width: 45.3846cqw;
  }

.p-top-kv__headline > .p-top-kv__logo > img {
    width: 100%;
    height: auto;
  }

.p-top-kv__main-en {
    margin: 0;
    font-size: 11.2821cqw;
    line-height: 0.98;
  }

.p-top-kv__main-ja {
    margin: 0.9cqw 0 0;
    font-size: 8.2051cqw;
    line-height: 1.25;
    letter-spacing: 0.08em;
  }

.p-top-kv__gradient--right {
    top: 97.9cqw;
    right: 0;
    width: 4.8cqw;
    height: 27cqw;
  }

.p-top-kv__gradient--left {
    top: 270cqw;
    bottom: auto;
    left: 0;
    width: 5.1282cqw;
    height: 42.0175cqw;
  }

.p-top-kv__gradient--bottom {
    display: block;
    left: 0;
    bottom: -0.2564cqw;
    width: 100%;
    height: 8cqw;
  }

.p-top-kv__block .p-top-kv__arrow {
    width: 2.5641cqw;  /* 10px @ 390 */
    height: 2.5641cqw; /* 10px @ 390 */
  }

.p-top-kv__block--founder {
    /* 390px baseline: position 20px / 16px, size 126px x 171px */
    top: 4.1026cqw;  /* 16px @ 390 */
    left: 5.1282cqw; /* 20px @ 390 */
    width: 32.3077cqw;
    height: 43.8462cqw;
    display: grid;
    /* 390px baseline: media 72px / media-title gap 8px / title 22px / title-eyebrow gap 6px / eyebrow 11px */
    grid-template-columns: 18.4615cqw 2.0513cqw 5.6410cqw 1.5385cqw 2.8205cqw;
    grid-template-rows: 21.0256cqw 1fr; /* media 82px + text */
    column-gap: 0;
    row-gap: 4.1026cqw; /* 16px @ 390 */
    align-items: start;
  }

.p-top-kv__block--founder .p-top-kv__copy {
    display: contents;
  }

.p-top-kv__block--founder .p-top-kv__media {
    grid-column: 1;
    grid-row: 1;
    width: 18.4615cqw;  /* 72px @ 390 */
    height: 21.0256cqw; /* 82px @ 390 */
    align-self: start;
  }

.p-top-kv__block--founder .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

.p-top-kv__block--founder .p-top-kv__eyebrow {
    position: relative;
    grid-column: 5;
    grid-row: 1;
    margin: 0;
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-size: 11px;
    line-height: 1;
    white-space: nowrap;
  }

.p-top-kv__block--founder .p-top-kv__eyebrow span {
    position: absolute;
    top: -1.2821cqw; /* -5px @ 390 */
    right: -2.3077cqw; /* -9px @ 390 */
    font-size: 4.1026cqw; /* 16px @ 390 */
    line-height: 1;
    writing-mode: horizontal-tb;
  }

.p-top-kv__block--founder .p-top-kv__title--founder {
    grid-column: 3;
    grid-row: 1;
    margin: 0;
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-size: 22px;
    line-height: 1;
    white-space: nowrap;
    transform: none;
  }

.p-top-kv__block--founder .p-top-kv__eyebrow {
    transform: none;
  }

.p-top-kv__block--founder .p-top-kv__text {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    margin: 0;
    writing-mode: horizontal-tb;
    font-size: 10px;
    line-height: 1.6;
  }

.p-top-kv__block--founder .p-top-kv__arrow {
    position: absolute;
    top: 15.8718cqw;
    left: 27.7436cqw;
    right: auto;
  }

.p-top-kv__block--plapuzzle {
    gap: 2.5cqw;
  }

.p-top-kv__block--plapuzzle .p-top-kv__text {
    text-orientation: upright;
  }

.p-top-kv__block--plapuzzle > .c-guide-point--tee-bottom.c-guide-point--bl.u-sp-only {
    left: -3.5897cqw; /* -14px @ 390 */
    bottom: -2.5641cqw; /* -10px @ 390 */
  }

.p-top-kv__block--plapuzzle > .c-guide-point--tee-right.c-guide-point--br.u-sp-only {
    left: 26.8872cqw;
    right: auto;
    bottom: -2.5641cqw; /* -10px @ 390 */
  }

.p-top-kv__block--plapuzzle > .c-guide-point--corner-tl.c-guide-point--tl.u-sp-only {
    left: -3.5897cqw; /* -14px @ 390 */
    top: -4.6154cqw; /* -18px @ 390 */
  }

.p-top-kv__block--history {
    top: 8.2cqw;
  }

.p-top-kv__block--history .p-top-kv__media--history {
    top: 17.8cqw;
    left: 1.0256cqw; /* 4px @ 390 */
  }

.p-top-kv__history-copy {
    top: 26.5cqw;
    left: 2.9cqw;
    gap: 0.7cqw;
  }

.p-top-kv__block--history .p-top-kv__arrow {
    right: 3.8462cqw; /* 15px @ 390 */
    bottom: 2.3077cqw; /* 9px @ 390 */
  }

.p-top-kv__block--history > .c-guide-point--tee-top.c-guide-point--tl.u-sp-only {
    top: -4.8718cqw; /* -19px @ 390 */
    left: -3.0769cqw; /* -12px @ 390 */
  }

.p-top-kv__block--history > .c-guide-point--tee-right.c-guide-point--br.u-sp-only {
    bottom: -4.8718cqw; /* -19px @ 390 */
    right: -1.2821cqw; /* -5px @ 390 */
  }

.p-top-kv__block--seamonkey {
    top: 97.2cqw;
    width: 83.3333cqw;  /* 325px @ 390 */
    height: 24.8718cqw; /* 97px @ 390 */
    grid-template-columns: 53.3333cqw 28.4615cqw; /* 208px / 111px @ 390 */
    gap: 1.5385cqw; /* 6px @ 390 */
    align-items: center;
  }

.p-top-kv__block--seamonkey .p-top-kv__media {
    width: 53.3333cqw;  /* 208px @ 390 */
    height: 25.8974cqw; /* 101px @ 390 */
  }

.p-top-kv__block--seamonkey .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

.p-top-kv__block--seamonkey .p-top-kv__copy {
    width: 28.4615cqw;  /* 111px @ 390 */
    height: 21.2821cqw; /* 83px @ 390 */
  }

.p-top-kv__block--seamonkey .p-top-kv__title {
    font-size: 3.0769cqw; /* 12px @ 390 */
  }

.p-top-kv__block--seamonkey .p-top-kv__text {
    height: 21.2821cqw; /* 83px @ 390: 6-line vertical copy area */
    font-size: 2.5641cqw; /* 10px @ 390 */
    line-height: 1.5;
  }

.p-top-kv__block--seamonkey > .c-guide-point--tee-left.c-guide-point--bl.u-sp-only {
    bottom: -4.6154cqw; /* -18px @ 390 */
    left: -2.8205cqw;   /* -11px @ 390 */
  }

.p-top-kv__block--tenyoism {
    top: 364cqw;
    left: 8cqw;
    display: grid;
    grid-template-columns: 34.0877cqw minmax(0, 1fr);
    gap: 4.1026cqw;
    width: 83.1491cqw;
    height: 18.7320cqw;
    align-items: start;
    text-align: justify;
  }

.p-top-kv__block--tenyoism .p-top-kv__media {
    grid-column: 1;
    grid-row: 1;
    width: 34.0877cqw;
    height: 18.7320cqw;
    margin: 0;
  }

.p-top-kv__block--tenyoism .p-top-kv__copy {
    grid-column: 2;
    grid-row: 1;
    writing-mode: horizontal-tb;
    text-orientation: mixed;
  }

.p-top-kv__block--tenyoism .p-top-kv__title, .p-top-kv__block--tenyoism .p-top-kv__text {
    writing-mode: horizontal-tb;
    text-orientation: mixed;
  }

.p-top-kv__block--tenyoism .p-top-kv__text {
    font-size: 2.5641cqw;
    line-height: 1.6;
  }

.p-top-kv__block--tenyoism > .c-guide-point--tr {
    display: none;
  }

.p-top-kv__block--tenyoism > .c-guide-point--tl.u-sp-only {
    top: -2.5641cqw;
    left: -2.5641cqw;
  }

.p-top-kv__block--tenyoism > .c-guide-point--br.u-sp-only {
    right: -5.1282cqw;
    bottom: -2.5641cqw;
  }

.p-top-kv__block--jigsaw {
    display: grid;
    grid-template-columns: 23.0769cqw 48.6778cqw 9.2308cqw;
    column-gap: 3cqw;
    width: 92cqw;
    align-items: start;
    position: absolute;
  }

.p-top-kv__block--jigsaw .p-top-kv__copy {
    display: contents;
  }

.p-top-kv__block--jigsaw .p-top-kv__text {
    grid-column: 1;
    grid-row: 1;
    width: 23.0769cqw;
    height: auto;
    margin: 0;
    font-size: 2.5641cqw;
    line-height: 1.6;
    writing-mode: horizontal-tb;
    text-orientation: mixed;
    text-align: justify;
  }

.p-top-kv__block--jigsaw .p-top-kv__media {
    grid-column: 2;
    grid-row: 1;
    width: 48.6778cqw;
    height: 27.6588cqw;
    margin: 0;
  }

.p-top-kv__block--jigsaw .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

.p-top-kv__block--jigsaw .p-top-kv__title {
    grid-column: 3;
    grid-row: 1;
    width: 9.2308cqw;
    height: 27.6588cqw;
    margin: 0;
    font-size: 4.1026cqw;
    line-height: 1.1;
    letter-spacing: -0.05em;
    writing-mode: vertical-rl;
    text-orientation: upright;
    white-space: nowrap;
  }

.p-top-kv__block--jigsaw .p-top-kv__title > br {
    display: block;
  }

.p-top-kv__block--jigsaw .p-top-kv__title > span {
    position: absolute;
    right: 0.8974cqw;
    top: -0.5128cqw;
    font-size: 4.1026cqw;
    line-height: 1;
  }

.p-top-kv__block--jigsaw > .c-guide-point--br {
    display: none;
  }

.p-top-kv__block--jigsaw .p-top-kv__arrow {
    position: absolute;
    right: 2.5641cqw;
    bottom: 1.0256cqw;
    width: 2.5641cqw;
    height: 2.5641cqw;
  }

.p-top-kv__block--magic-entertainment {
    top: 295.5cqw;
    width: 44.8488cqw;
    height: 48.6440cqw;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

.p-top-kv__block--magic-entertainment .p-top-kv__media {
    width: 44.8488cqw;
    height: 27.3921cqw;
    margin: 0;
  }

.p-top-kv__block--magic-entertainment .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

.p-top-kv__block--magic-entertainment .p-top-kv__title {
    font-size: 4.1026cqw;
  }

.p-top-kv__block--magic-entertainment .p-top-kv__text {
    font-size: 2.5641cqw;
    line-height: 1.6;
    letter-spacing: 0.05em;
  }

.p-top-kv__block--magic-entertainment .p-top-kv__arrow {
    bottom: 10cqw;
  }

.p-top-kv__block--magic-entertainment > .c-guide-point--tr {
    display: none;
  }

.p-top-kv__gradient--bottom {
    position: absolute;
    top: 349.144cqw;
    left: auto;
    right: 0;
    bottom: auto;
    width: 51.4563cqw;
    height: 7.3484cqw;
  }

.p-top-kv__block--magic-entertainment > .c-guide-point--corner-bl.c-guide-point--bl {
    bottom: -12.5641cqw;
    left: -5.8974cqw;
  }

  /* common.css のPC/SP utilityをKV内だけSP側へ切替 */
  .p-top-kv .u-sp-only {
    display: block;
  }

  .p-top-kv .u-pc-only {
    display: none;
  }

  /*
   * タブレットでは390pxの仮想キャンバスを丸ごと拡大する。
   * px指定を含め、SP時の全要素・余白・文字・ガイドを同比率にする。
   */
  .p-top-kv {
    --kv-tablet-scale: calc(100vw / 390px);

    left: auto;
    width: 100%;
    min-width: 0;
    /* 1690.65 / 390 = 4.335 */
    height: 433.5vw;
    aspect-ratio: auto;
    transform: none;
    overflow: hidden;
  }

  .p-top-kv__canvas {
    width: 390px;
    height: 1690.65px;
    transform: scale(var(--kv-tablet-scale));
    transform-origin: left top;
  }

  .p-top-kv__collage {
    width: 390px;
    height: 1690.65px;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .p-top-products__inner,
  .p-top-about__grid {
    margin-left: auto;
    margin-right: auto;
  }

  .p-top-section-title--about {
    margin-left: auto;
    margin-right: auto;
  }
}

/* ========================================
   TABLET KV descendant corrections
   Apply the completed SP block rules inside
   the fixed 390px tablet canvas without
   changing the canvas itself.
======================================== */
@media (min-width: 768px) and (max-width: 1024px) {
.p-top-kv__title {
    font-size: 16px;
  }

.p-top-kv__eyebrow {
    font-size: 11px;
  }

.p-top-kv__text {
    font-size: 10px;
    line-height: 1.5;
  }

.p-top-kv__gradient--left {
    top: 1080px;
    left: 0;
    width: 10px;
    height: 220px;
  }

.p-top-kv__gradient--bottom {
    top: 1438px;
    bottom: auto;
    left: auto;
    right: 0;
    width: 190px;
    height: 18px;
  }

.p-top-kv__gradient--right {
    top: 706px;
    right: 0;
    width: 10px;
    height: 220px;
  }

.p-top-kv .p-top-kv__arrow {
    width: 2.3221cqw;
    height: 2.3221cqw;
  }

.p-top-kv .p-top-kv__arrow img {
    display: block;
    width: 100%;
    height: 100%;
  }

.p-top-kv__block .p-top-kv__title, .p-top-kv__history-copy strong, .p-top-kv__recruit-copy strong {
    font-size: 4.1cqw;
  }

.p-top-kv__block .p-top-kv__text {
    margin-top: 1cqw;
    font-size: 2.55cqw;
    line-height: 1.55;
  }

.p-top-kv__block .p-top-kv__arrow {
    width: 4.2cqw;
    height: 4.2cqw;
  }

.p-top-kv__copy--vertical-pc {
    display: block;
  }

.p-top-kv__copy--vertical-pc .p-top-kv__title, .p-top-kv__copy--vertical-pc .p-top-kv__text {
    writing-mode: horizontal-tb;
  }

.p-top-kv__block--founder {
    top: 4.5cqw;
    left: 4.6cqw;
    display: grid;
    grid-template-columns: 18.2cqw 25.8cqw;
    column-gap: 3cqw;
    width: 48cqw;
  }

.p-top-kv__block--founder .p-top-kv__media {
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 18.2cqw;
  }

.p-top-kv__block--founder .p-top-kv__copy {
    grid-column: 2;
    grid-row: 1;
  }

.p-top-kv__block--founder .p-top-kv__eyebrow {
    font-size: 3.35cqw;
  }

.p-top-kv__block--founder .p-top-kv__title--founder {
    margin-top: 0.7cqw;
    font-size: 7.6cqw;
  }

.p-top-kv__block--founder .p-top-kv__text {
    grid-column: 1 / -1;
    width: 47cqw;
    margin-top: 2.2cqw;
  }

.p-top-kv__block--founder .p-top-kv__arrow {
    right: -0.5cqw;
    bottom: 15.5cqw;
  }

.p-top-kv__block--plapuzzle {
    top: 4.2cqw;
    left: 50.4cqw;
    display: grid;
    grid-template-columns: 18cqw 8.5cqw;
    gap: 2.2cqw;
    width: 29.3cqw;
  }

.p-top-kv__block--plapuzzle .p-top-kv__media {
    width: 18cqw;
  }

.p-top-kv__block--plapuzzle .p-top-kv__copy {
    display: flex;
    flex-direction: row-reverse;
    gap: 1cqw;
  }

.p-top-kv__block--plapuzzle .p-top-kv__title, .p-top-kv__block--plapuzzle .p-top-kv__text {
    writing-mode: vertical-rl;
    margin: 0;
  }

.p-top-kv__block--history {
    top: 4.2cqw;
    left: 77.2cqw;
    width: 18.4cqw;
    height: 43cqw;
  }

.p-top-kv__history-copy {
    top: 23.3cqw;
    left: 2cqw;
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-start;
    gap: 1cqw;
  }

.p-top-kv__history-copy strong {
    writing-mode: vertical-rl;
  }

.p-top-kv__history-copy strong {
    margin: 0;
    font-size: 4.8cqw;
  }

.p-top-kv__block--history .p-top-kv__media--history {
    top: 15cqw;
    left: 5.5cqw;
    width: 5.2cqw;
  }

.p-top-kv__block--history .p-top-kv__media--rabbit {
    top: 0;
    left: 2.2cqw;
    width: 13.8cqw;
  }

.p-top-kv__block--history .p-top-kv__arrow {
    right: 0;
    bottom: 0;
  }

.p-top-kv__block--savingsbook {
    top: 51cqw;
    left: 8.3cqw;
    display: grid;
    grid-template-columns: 29cqw 34cqw;
    gap: 3.1cqw;
    width: 67cqw;
  }

.p-top-kv__block--savingsbook .p-top-kv__media {
    width: 29cqw;
  }

.p-top-kv__block--magic-us {
    top: 71.8cqw;
    left: 8.5cqw;
    display: grid;
    grid-template-columns: 50cqw 29cqw;
    gap: 2.2cqw;
    width: 81cqw;
  }

.p-top-kv__block--magic-us .p-top-kv__media {
    grid-column: 2;
    grid-row: 1;
    width: 29cqw;
  }

.p-top-kv__block--magic-us .p-top-kv__copy {
    grid-column: 1;
    grid-row: 1;
    align-self: end;
  }

.p-top-kv__block--seamonkey {
    top: 96.8cqw;
    left: 8.5cqw;
    display: grid;
    grid-template-columns: 52cqw 28cqw;
    gap: 2.5cqw;
    width: 83cqw;
  }

.p-top-kv__block--seamonkey .p-top-kv__media {
    width: 52cqw;
  }

.p-top-kv__block--seamonkey .p-top-kv__copy {
    display: flex;
    flex-direction: row-reverse;
    gap: 1.1cqw;
  }

.p-top-kv__block--seamonkey .p-top-kv__title, .p-top-kv__block--seamonkey .p-top-kv__text {
    writing-mode: vertical-rl;
    margin: 0;
  }

.p-top-kv__block--keys {
    top: 184.7cqw;
    left: 4.5cqw;
    width: 91cqw;
    height: 35cqw;
    min-height: 0;
  }

.p-top-kv__block--keys .p-top-kv__media {
    top: 17.4cqw;
    left: 3.9cqw;
    width: 27.7cqw;
    height: 13.8cqw;
  }

.p-top-kv__block--keys .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

.p-top-kv__block--keys .p-top-kv__keys-list > .p-top-kv__arrow {
    position: absolute;
    right: 1.7949cqw; /* 7px @ 390 */
    bottom: 2.5641cqw; /* 10px @ 390 */
    width: 2.5641cqw;
    height: 2.5641cqw;
  }

.p-top-kv__block--keys > .c-guide-point--tl {
    top: 0;
    left: 0;
  }

.p-top-kv__block--keys > .c-guide-point--tr {
    top: 0;
    right: 0;
  }

.p-top-kv__block--keys > .c-guide-point--bl {
    bottom: 0;
    left: 0;
  }

.p-top-kv__block--keys > .c-guide-point--br {
    right: 0;
    bottom: 0;
  }

.p-top-kv__block--recruit {
    top: 226.5cqw;
    left: 4.5cqw;
    width: 12cqw;
    height: 36.0256cqw;
  }

.p-top-kv__recruit-copy {
    display: grid;
    grid-template-columns: max-content max-content;
    align-items: start;
    column-gap: 0;
    direction: rtl;
  }

.p-top-kv__block--founder .p-top-kv__eyebrow span, .p-top-kv__recruit-copy .p-top-kv__recruit-en > span, .p-top-kv__block--magic-entertainment .p-top-kv__title > span, .p-top-kv__block--jigsaw .p-top-kv__title > span {
    font-size: 4.1026cqw;
  }

.p-top-kv__recruit-copy .p-top-kv__recruit-en > span {
    position: absolute;
    top: -2.5641cqw;
    left: 50%;
    transform: translateX(-50%);
    writing-mode: horizontal-tb;
    font-size: 4.1026cqw;
  }

.p-top-kv__recruit-copy em, .p-top-kv__recruit-copy strong {
    font-size: 4.1026cqw; /* 16px @ 390 */
    line-height: 1.05;
  }

.p-top-kv__recruit-copy strong {
    grid-column: 2;
    writing-mode: vertical-rl;
  }

.p-top-kv__block--recruit .p-top-kv__arrow {
    right: 2.5cqw;
    bottom: 2.6cqw;
  }

.p-top-kv__block--recruit > .c-guide-point--tr.u-sp-only {
    top: -6.9231cqw; /* -27px @ 390 */
    right: -1.7949cqw; /* -7px @ 390 */
  }

.p-top-kv__block--recruit > .c-guide-point--br.u-sp-only {
    right: -1.7949cqw; /* -7px @ 390 */
    top: auto;
    bottom: -4.2897cqw;
  }

.p-top-kv__block--artbank {
    top: 223.5cqw;
    left: 22.5cqw;
    display: block;
    width: 20.9462cqw; /* 81.69px @ 390 */
    height: 41.0256cqw; /* 160px @ 390 */
  }

.p-top-kv__block--artbank .p-top-kv__media {
    width: 20.9462cqw; /* 81.69px @ 390 */
    height: 20.2193cqw; /* 78.8553px @ 390 */
    margin: 0 auto;
  }

.p-top-kv__block--artbank .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

.p-top-kv__block--artbank .p-top-kv__copy {
    margin-top: 2cqw;
  }

.p-top-kv__block--artbank .p-top-kv__title, .p-top-kv__block--artbank .p-top-kv__text {
    font-size: 2.5641cqw;
    line-height: 1.45;
  }

.p-top-kv__block--artbank .p-top-kv__title {
    font-size: 3.0769cqw;
  }

.p-top-kv__block--artbank > .c-guide-point--tr, .p-top-kv__block--artbank > .c-guide-point--bl {
    display: none;
  }

.p-top-kv__block--magic-daizen {
    top: 223.5cqw;
    left: 53.5cqw;
    display: grid;
    grid-template-columns: 18.3544cqw 22.2727cqw;
    gap: 1.5cqw;
    width: 42.1271cqw; /* 164.2958px @ 390 */
    height: 17.8717cqw; /* 69.6995px @ 390 */
    align-items: start;
  }

.p-top-kv__block--magic-daizen .p-top-kv__media {
    grid-column: 2;
    grid-row: 1;
    width: 22.2727cqw; /* 86.8634px @ 390 */
    height: 17.5816cqw; /* 68.5682px @ 390 */
    margin: 0;
  }

.p-top-kv__block--magic-daizen .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

.p-top-kv__block--magic-daizen .p-top-kv__copy {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    flex-direction: row-reverse;
    gap: 1cqw;
    width: 18.3544cqw;
    height: 17.8717cqw;
    min-width: 0;
  }

.p-top-kv__block--magic-daizen .p-top-kv__title, .p-top-kv__block--magic-daizen .p-top-kv__text {
    writing-mode: vertical-rl;
    height: 17.8717cqw;
    max-height: 17.8717cqw;
    margin: 0;
  }

.p-top-kv__block--magic-daizen .p-top-kv__title {
    font-size: 3.0769cqw;
    white-space: nowrap;
  }

.p-top-kv__block--magic-daizen .p-top-kv__text {
    font-size: 2.5641cqw;
    line-height: 1.6;
    white-space: normal;
    overflow-wrap: anywhere;
    text-orientation: upright;
    letter-spacing: 0.1em;
  }

.p-top-kv__block--magic-daizen > .c-guide-point--tr, .p-top-kv__block--magic-daizen > .c-guide-point--br {
    display: none;
  }

.p-top-kv__block--magic-daizen > .c-guide-point--tee-left.c-guide-point--bl.u-sp-only {
    left: -6.6667cqw; /* -26px @ 390 */
    bottom: -1.5385cqw; /* -6px @ 390 */
  }

.p-top-kv__block--candybubble {
    top: 247.0385cqw;
    left: 50.5cqw;
    display: grid;
    grid-template-columns: 10.2cqw 32cqw;
    gap: 2cqw;
    width: 45cqw;
    height: 19.4872cqw;
    align-items: start;
  }

.p-top-kv__block--candybubble .p-top-kv__media {
    width: 10.2cqw;
    height: 16.7cqw;
  }

.p-top-kv__block--candybubble .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

.p-top-kv__block--candybubble .p-top-kv__title {
    font-size: 3.0769cqw;
  }

.p-top-kv__block--candybubble .p-top-kv__text {
    font-size: 2.5641cqw;
    line-height: 1.45;
  }

.p-top-kv__block--candybubble > .p-top-kv__guide--candybubble-bl {
    left: -9.7436cqw; /* -38px @ 390 */
    right: auto;
    bottom: 0;
  }

.p-top-kv__block--candybubble .p-top-kv__copy {
    width: 29.2308cqw; /* 114px @ 390 */
    text-align: justify;
  }

.p-top-kv__block--jigazo {
    top: 269.5cqw;
    left: 48.5cqw;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 16.917cqw 6.1538cqw;
    column-gap: 1.5cqw;
    width: 47.1515cqw;
    height: 19.7436cqw;
    align-items: start;
    text-align: justify;
  }

.p-top-kv__block--jigazo .p-top-kv__copy {
    display: contents;
  }

.p-top-kv__block--jigazo .p-top-kv__text {
    grid-column: 1;
    grid-row: 1;
    font-size: 2.5641cqw;
    line-height: 1.7;
    writing-mode: horizontal-tb;
    text-orientation: mixed;
    width: 100%;
    height: auto;
  }

.p-top-kv__block--jigazo .p-top-kv__media {
    grid-column: 2;
    grid-row: 1;
    width: 16.917cqw; /* 65.9761px @ 390 */
    height: 20.4955cqw; /* 79.9326px @ 390 */
    margin: 0;
  }

.p-top-kv__block--jigazo .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

.p-top-kv__block--jigazo .p-top-kv__title {
    grid-column: 3;
    grid-row: 1;
    font-size: 3.0769cqw;
    width: 6.1538cqw; /* 24px @ 390: 2 vertical columns */
    writing-mode: vertical-rl;
    text-orientation: upright;
    white-space: nowrap;
  }

.p-top-kv__block--jigazo > .c-guide-point--tee-left.c-guide-point--bl.u-sp-only {
    left: -5.6410cqw; /* -22px @ 390 */
    bottom: -2.5641cqw; /* -10px @ 390 */
  }

.p-top-kv__block--goldbadge {
    top: 270cqw;
    left: 9.2cqw;
    display: flex;
    flex-direction: column;
    width: 30.0277cqw; /* 117.108px @ 390 */
    height: 42.1365cqw; /* 164.3325px @ 390 */
    align-items: flex-start;
    gap: 0;
  }

.p-top-kv__block--goldbadge .p-top-kv__media {
    flex: 0 0 auto;
    width: 30.0277cqw; /* 117.108px @ 390 */
    height: 19.4947cqw; /* 76.0294px @ 390 */
    margin-bottom: 2.5641cqw; /* 10px @ 390 */
  }

.p-top-kv__block--goldbadge .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

.p-top-kv__block--goldbadge .p-top-kv__copy {
    margin-top: 0;
    width: 100%;
    writing-mode: horizontal-tb;
    text-orientation: mixed;
  }

.p-top-kv__block--goldbadge .p-top-kv__title, .p-top-kv__block--goldbadge .p-top-kv__text {
    writing-mode: horizontal-tb;
    text-orientation: mixed;
  }

.p-top-kv__block--goldbadge .p-top-kv__title {
    font-size: 3.0769cqw;
    margin-bottom: 1.0256cqw; /* 4px @ 390 */
  }

.p-top-kv__block--goldbadge .p-top-kv__text {
    margin-top: 0;
    font-size: 2.5641cqw;
    line-height: 1.45;
  }

.p-top-kv__block--goldbadge > .c-guide-point--tee-right.c-guide-point--br.u-sp-only {
    right: -3.5897cqw;
    bottom: -2.8205cqw;
  }

.p-top-kv__block--metal {
    top: 317.8cqw;
    left: 5cqw;
    display: grid;
    grid-template-columns: 27.7074cqw minmax(0, 1fr);
    grid-template-rows: auto 1fr;
    column-gap: 0;
    row-gap: 0;
    width: 34.4233cqw;
    height: 39.7766cqw;
    align-items: start;
  }

.p-top-kv__block--metal .p-top-kv__media {
    grid-column: 1;
    grid-row: 1;
    width: 27.7074cqw; /* 108.0588px @ 390 */
    height: 18.9307cqw; /* 73.8298px @ 390 */
    margin-bottom: 2.5641cqw; /* 10px @ 390 */
  }

.p-top-kv__block--metal .p-top-kv__copy {
    display: contents;
  }

.p-top-kv__block--metal .p-top-kv__title, .p-top-kv__block--metal .p-top-kv__text {
    margin: 0;
  }

.p-top-kv__block--metal .p-top-kv__title {
    grid-column: 2;
    grid-row: 1 / 3;
    justify-self: end;
    font-size: 3.0769cqw;
    writing-mode: vertical-rl;
    text-orientation: upright;
    white-space: nowrap;
  }

.p-top-kv__block--metal .p-top-kv__text {
    grid-column: 1;
    grid-row: 2;
    width: 100%;
    font-size: 2.4641cqw;
    line-height: 1.6;
    writing-mode: vertical-rl;
    text-orientation: upright;
    text-align: start;
    letter-spacing: 0.03em;
    height: 18.7179cqw;
  }

.p-top-kv__block--magic-entertainment {
    top: 328.5cqw;
    left: 48.5cqw;
    display: block;
    width: 46.5cqw;
  }

.p-top-kv__block--magic-entertainment .p-top-kv__media {
    width: 46.5cqw;
    height: 28.5cqw;
  }

.p-top-kv__block--magic-entertainment .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

.p-top-kv__block--magic-entertainment .p-top-kv__copy {
    margin-top: 1.8cqw;
  }

.p-top-kv__block--magic-entertainment .p-top-kv__title, .p-top-kv__block--jigsaw .p-top-kv__title {
    font-size: 4.1cqw;
    line-height: 1.15;
  }

.p-top-kv__block--magic-entertainment .p-top-kv__text {
    font-size: 2.5641cqw;
    line-height: 1.45;
  }

.p-top-kv__block--magic-entertainment .p-top-kv__arrow {
    bottom: 8cqw;
  }

.p-top-kv__block--tenyoism {
    top: 365cqw;
    left: 42cqw;
    display: grid;
    grid-template-columns: 28cqw 25cqw;
    gap: 2.5cqw;
    width: 53cqw;
    align-items: start;
  }

.p-top-kv__block--tenyoism .p-top-kv__media {
    grid-column: 1;
    grid-row: 2;
    width: 28cqw;
    height: 17cqw;
    margin-top: 1.5cqw;
  }

.p-top-kv__block--tenyoism .p-top-kv__copy {
    grid-column: 1 / -1;
    grid-row: 1;
    width: 100%;
  }

.p-top-kv__block--tenyoism .p-top-kv__title {
    font-size: 4.2cqw;
  }

.p-top-kv__block--tenyoism .p-top-kv__text {
    font-size: 2.5641cqw;
    line-height: 1.45;
  }

.p-top-kv__block--jigsaw {
    top: 389cqw;
    left: 5cqw;
    display: grid;
    grid-template-columns: 34cqw 53cqw;
    gap: 2.5cqw;
    width: 90cqw;
    align-items: start;
  }

.p-top-kv__block--jigsaw .p-top-kv__media {
    width: 34cqw;
    height: 30cqw;
  }

.p-top-kv__block--jigsaw .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

.p-top-kv__block--jigsaw .p-top-kv__copy {
    width: 42cqw;
  }

.p-top-kv__block--jigsaw .p-top-kv__title {
    font-size: 4.1cqw;
  }

.p-top-kv__block--jigsaw .p-top-kv__text {
    font-size: 2.5641cqw;
    line-height: 1.45;
  }

.p-top-kv__block--jigsaw .p-top-kv__arrow {
    bottom: 7cqw;
  }

.p-top-kv__gradient--left {
    top: auto;
    bottom: 0;
    left: 0;
    width: 3.2cqw;
    height: 31cqw;
  }

.p-top-kv__gradient--right {
    top: 94.5cqw;
    right: 0;
    width: 5.2cqw;
    height: 22cqw;
  }

.p-top-kv__gradient--bottom {
    display: none;
  }

.p-top-kv__gradient {
    position: absolute;
    z-index: 0;
    display: block;
    pointer-events: none;
  }

.p-top-kv__gradient > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: fill;
  }

.p-top-kv__block--founder {
    top: 3.6cqw;
    left: 4.7cqw;
    grid-template-columns: 19cqw 25.5cqw;
    column-gap: 3.2cqw;
    width: 48.2cqw;
  }

.p-top-kv__block--founder .p-top-kv__media {
    width: 19cqw;
  }

.p-top-kv__block--founder .p-top-kv__eyebrow {
    font-size: 3.15cqw;
  }

.p-top-kv__block--founder .p-top-kv__title--founder {
    margin-top: 0.5cqw;
    font-size: 7.3cqw;
    line-height: 1.08;
  }

.p-top-kv__block--founder .p-top-kv__text {
    width: 47.5cqw;
    margin-top: 1.8cqw;
    font-size: 2.5cqw;
    line-height: 1.55;
  }

.p-top-kv__block--plapuzzle {
    top: 8.4cqw;
    left: 44.7cqw;
    grid-template-columns: minmax(0, 1fr) 14.8718cqw; /* copy + 58px media @ 390 */
    gap: 1.5cqw;
    width: 28.2051cqw; /* 110px @ 390 */
    height: 36.6667cqw; /* 143px @ 390 */
    align-items: start;
  }

.p-top-kv__block--plapuzzle .p-top-kv__copy {
    grid-column: 1;
    grid-row: 1;
    height: 36.6667cqw; /* 143px @ 390 */
  }

.p-top-kv__block--plapuzzle .p-top-kv__media {
    grid-column: 2;
    grid-row: 1;
    width: 14.8718cqw; /* 58px @ 390 */
    height: 36.6667cqw; /* 143px @ 390 */
  }

.p-top-kv__block--plapuzzle .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

.p-top-kv__block--plapuzzle .p-top-kv__title {
    font-size: 3.0769cqw; /* 12px @ 390 */
  }

.p-top-kv__block--plapuzzle .p-top-kv__text {
    width: 5.1282cqw; /* 20px @ 390: 2 vertical lines */
    height: 36.6667cqw; /* 143px @ 390 */
    font-size: 2.5641cqw; /* 10px @ 390 */
    line-height: 1.5;
  }

.p-top-kv__block--history {
    top: 3.2cqw;
    left: 79.7cqw;
    width: 14.6154cqw; /* 57px @ 390 */
    height: 56.9231cqw; /* 222px @ 390 */
  }

.p-top-kv__block--history .p-top-kv__media--rabbit {
    top: 0.5cqw;
    left: 0;
    width: 14.6154cqw; /* 57px @ 390 */
    height: 15.8974cqw; /* 62px @ 390 */
  }

.p-top-kv__block--history .p-top-kv__media--rabbit img, .p-top-kv__block--history .p-top-kv__media--history img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

.p-top-kv__block--history .p-top-kv__media--history {
    top: 15.8cqw;
    left: 0;
    width: 12.8205cqw; /* 50px @ 390 */
    height: 6.6667cqw; /* 26px @ 390 */
  }

.p-top-kv__history-copy {
    top: 23.5cqw;
    left: 0.9cqw;
    gap: 0.7cqw;
  }

.p-top-kv__history-copy strong {
    font-size: 4.1026cqw; /* 16px @ 390 */
    line-height: 1.05;
  }

.p-top-kv__block--savingsbook {
    top: 52.6923cqw;
    left: 8.2051cqw; /* 32px @ 390 */
    grid-template-columns: 30.2564cqw 1fr; /* 118px + copy @ 390 */
    gap: 2.3077cqw; /* 9px @ 390 */
    width: 64.4cqw;
    align-items: start;
  }

.p-top-kv__block--savingsbook .p-top-kv__media {
    width: 30.2564cqw; /* 118px @ 390 */
    height: 14.1026cqw; /* 55px @ 390 */
  }

.p-top-kv__block--savingsbook .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

.p-top-kv__block--savingsbook .p-top-kv__title {
    font-size: 3.0769cqw; /* 12px @ 390 */
  }

.p-top-kv__block--savingsbook .p-top-kv__text {
    font-size: 2.5641cqw; /* 10px @ 390 */
  }

.p-top-kv__block--savingsbook > .c-guide-point--bl {
    left: -2.9641cqw;
    bottom: -2.8205cqw; /* -11px @ 390 */
  }

.p-top-kv__block--savingsbook > .c-guide-point--br {
    right: -4.4282cqw;
    bottom: -2.8205cqw; /* -11px @ 390 */
  }

.p-top-kv__block--magic-us {
    top: 73.8cqw;
    left: 8.2cqw;
    grid-template-columns: 50cqw 27.9487cqw; /* 195px + 109px @ 390 */
    gap: 3.8462cqw; /* 15px @ 390 */
    width: 81.7949cqw; /* 319px @ 390 */
    height: 16.4103cqw; /* 64px @ 390 */
    align-items: end;
  }

.p-top-kv__block--magic-us .p-top-kv__copy {
    width: 50cqw; /* 195px @ 390 */
  }

.p-top-kv__block--magic-us .p-top-kv__media {
    width: 27.9487cqw; /* 109px @ 390 */
    height: 16.4103cqw; /* 64px @ 390 */
  }

.p-top-kv__block--magic-us .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

.p-top-kv__block--magic-us .p-top-kv__title {
    font-size: 3.0769cqw; /* 12px @ 390 */
    line-height: 1.2;
  }

.p-top-kv__block--magic-us .p-top-kv__title br {
    display: none;
  }

.p-top-kv__block--magic-us .p-top-kv__text {
    margin-top: 1.1cqw;
    font-size: 2.5641cqw; /* 10px @ 390 */
    line-height: 1.55;
  }

.p-top-kv__block--magic-us > .c-guide-point--corner-bl.c-guide-point--bl.u-sp-only {
    left: -3.3333cqw; /* -13px @ 390 */
    bottom: -4.6154cqw; /* -18px @ 390 */
  }

.p-top-kv__block--seamonkey {
    top: 95.2cqw;
    left: 7.4cqw;
    grid-template-columns: 53.5cqw 27cqw;
    gap: 2cqw;
    width: 82.5cqw;
  }

.p-top-kv__block--seamonkey .p-top-kv__media {
    width: 53.5cqw;
  }

.p-top-kv__block--seamonkey .p-top-kv__copy {
    gap: 0.7cqw;
  }

.p-top-kv__block--seamonkey .p-top-kv__title {
    font-size: 4cqw;
  }

.p-top-kv__block--seamonkey .p-top-kv__text {
    font-size: 2.45cqw;
    line-height: 1.5;
  }

.p-top-kv__gradient--right {
    top: 97.9cqw;
    right: 0;
    width: 4.8cqw;
    height: 27cqw;
  }

.p-top-kv__gradient--left {
    top: 270cqw;
    bottom: auto;
    left: 0;
    width: 5.1282cqw;
    height: 42.0175cqw;
  }

.p-top-kv__gradient--bottom {
    display: block;
    left: 0;
    bottom: -0.2564cqw;
    width: 100%;
    height: 8cqw;
  }

.p-top-kv__block .p-top-kv__arrow {
    width: 2.5641cqw;  /* 10px @ 390 */
    height: 2.5641cqw; /* 10px @ 390 */
  }

.p-top-kv__block--founder {
    /* 390px baseline: position 20px / 16px, size 126px x 171px */
    top: 4.1026cqw;  /* 16px @ 390 */
    left: 5.1282cqw; /* 20px @ 390 */
    width: 32.3077cqw;
    height: 43.8462cqw;
    display: grid;
    /* 390px baseline: media 72px / media-title gap 8px / title 22px / title-eyebrow gap 6px / eyebrow 11px */
    grid-template-columns: 18.4615cqw 2.0513cqw 5.6410cqw 1.5385cqw 2.8205cqw;
    grid-template-rows: 21.0256cqw 1fr; /* media 82px + text */
    column-gap: 0;
    row-gap: 4.1026cqw; /* 16px @ 390 */
    align-items: start;
  }

.p-top-kv__block--founder .p-top-kv__copy {
    display: contents;
  }

.p-top-kv__block--founder .p-top-kv__media {
    grid-column: 1;
    grid-row: 1;
    width: 18.4615cqw;  /* 72px @ 390 */
    height: 21.0256cqw; /* 82px @ 390 */
    align-self: start;
  }

.p-top-kv__block--founder .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

.p-top-kv__block--founder .p-top-kv__eyebrow {
    position: relative;
    grid-column: 5;
    grid-row: 1;
    margin: 0;
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-size: 11px;
    line-height: 1;
    white-space: nowrap;
  }

.p-top-kv__block--founder .p-top-kv__eyebrow span {
    position: absolute;
    top: -1.2821cqw; /* -5px @ 390 */
    right: -2.3077cqw; /* -9px @ 390 */
    font-size: 4.1026cqw; /* 16px @ 390 */
    line-height: 1;
    writing-mode: horizontal-tb;
  }

.p-top-kv__block--founder .p-top-kv__title--founder {
    grid-column: 3;
    grid-row: 1;
    margin: 0;
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-size: 22px;
    line-height: 1;
    white-space: nowrap;
    transform: none;
  }

.p-top-kv__block--founder .p-top-kv__eyebrow {
    transform: none;
  }

.p-top-kv__block--founder .p-top-kv__text {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    margin: 0;
    writing-mode: horizontal-tb;
    font-size: 10px;
    line-height: 1.6;
  }

.p-top-kv__block--founder .p-top-kv__arrow {
    position: absolute;
    top: 15.8718cqw;
    left: 27.7436cqw;
    right: auto;
  }

.p-top-kv__block--plapuzzle {
    gap: 2.5cqw;
  }

.p-top-kv__block--plapuzzle .p-top-kv__text {
    text-orientation: upright;
  }

.p-top-kv__block--plapuzzle > .c-guide-point--tee-bottom.c-guide-point--bl.u-sp-only {
    left: -3.5897cqw; /* -14px @ 390 */
    bottom: -2.5641cqw; /* -10px @ 390 */
  }

.p-top-kv__block--plapuzzle > .c-guide-point--tee-right.c-guide-point--br.u-sp-only {
    left: 26.8872cqw;
    right: auto;
    bottom: -2.5641cqw; /* -10px @ 390 */
  }

.p-top-kv__block--plapuzzle > .c-guide-point--corner-tl.c-guide-point--tl.u-sp-only {
    left: -3.5897cqw; /* -14px @ 390 */
    top: -4.6154cqw; /* -18px @ 390 */
  }

.p-top-kv__block--history {
    top: 8.2cqw;
  }

.p-top-kv__block--history .p-top-kv__media--history {
    top: 17.8cqw;
    left: 1.0256cqw; /* 4px @ 390 */
  }

.p-top-kv__history-copy {
    top: 26.5cqw;
    left: 2.9cqw;
    gap: 0.7cqw;
  }

.p-top-kv__block--history .p-top-kv__arrow {
    right: 3.8462cqw; /* 15px @ 390 */
    bottom: 2.3077cqw; /* 9px @ 390 */
  }

.p-top-kv__block--history > .c-guide-point--tee-top.c-guide-point--tl.u-sp-only {
    top: -4.8718cqw; /* -19px @ 390 */
    left: -3.0769cqw; /* -12px @ 390 */
  }

.p-top-kv__block--history > .c-guide-point--tee-right.c-guide-point--br.u-sp-only {
    bottom: -4.8718cqw; /* -19px @ 390 */
    right: -1.2821cqw; /* -5px @ 390 */
  }

.p-top-kv__block--seamonkey {
    top: 97.2cqw;
    width: 83.3333cqw;  /* 325px @ 390 */
    height: 24.8718cqw; /* 97px @ 390 */
    grid-template-columns: 53.3333cqw 28.4615cqw; /* 208px / 111px @ 390 */
    gap: 1.5385cqw; /* 6px @ 390 */
    align-items: center;
  }

.p-top-kv__block--seamonkey .p-top-kv__media {
    width: 53.3333cqw;  /* 208px @ 390 */
    height: 25.8974cqw; /* 101px @ 390 */
  }

.p-top-kv__block--seamonkey .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

.p-top-kv__block--seamonkey .p-top-kv__copy {
    width: 28.4615cqw;  /* 111px @ 390 */
    height: 21.2821cqw; /* 83px @ 390 */
  }

.p-top-kv__block--seamonkey .p-top-kv__title {
    font-size: 3.0769cqw; /* 12px @ 390 */
  }

.p-top-kv__block--seamonkey .p-top-kv__text {
    height: 21.2821cqw; /* 83px @ 390: 6-line vertical copy area */
    font-size: 2.5641cqw; /* 10px @ 390 */
    line-height: 1.5;
  }

.p-top-kv__block--seamonkey > .c-guide-point--tee-left.c-guide-point--bl.u-sp-only {
    bottom: -4.6154cqw; /* -18px @ 390 */
    left: -2.8205cqw;   /* -11px @ 390 */
  }

.p-top-kv__block--tenyoism {
    top: 364cqw;
    left: 8cqw;
    display: grid;
    grid-template-columns: 34.0877cqw minmax(0, 1fr);
    gap: 4.1026cqw;
    width: 83.1491cqw;
    height: 18.7320cqw;
    align-items: start;
    text-align: justify;
  }

.p-top-kv__block--tenyoism .p-top-kv__media {
    grid-column: 1;
    grid-row: 1;
    width: 34.0877cqw;
    height: 18.7320cqw;
    margin: 0;
  }

.p-top-kv__block--tenyoism .p-top-kv__copy {
    grid-column: 2;
    grid-row: 1;
    writing-mode: horizontal-tb;
    text-orientation: mixed;
  }

.p-top-kv__block--tenyoism .p-top-kv__title, .p-top-kv__block--tenyoism .p-top-kv__text {
    writing-mode: horizontal-tb;
    text-orientation: mixed;
  }

.p-top-kv__block--tenyoism .p-top-kv__text {
    font-size: 2.5641cqw;
    line-height: 1.6;
  }

.p-top-kv__block--tenyoism > .c-guide-point--tr {
    display: none;
  }

.p-top-kv__block--tenyoism > .c-guide-point--tl.u-sp-only {
    top: -2.5641cqw;
    left: -2.5641cqw;
  }

.p-top-kv__block--tenyoism > .c-guide-point--br.u-sp-only {
    right: -5.1282cqw;
    bottom: -2.5641cqw;
  }

.p-top-kv__block--jigsaw {
    display: grid;
    grid-template-columns: 23.0769cqw 48.6778cqw 9.2308cqw;
    column-gap: 3cqw;
    width: 92cqw;
    align-items: start;
    position: absolute;
  }

.p-top-kv__block--jigsaw .p-top-kv__copy {
    display: contents;
  }

.p-top-kv__block--jigsaw .p-top-kv__text {
    grid-column: 1;
    grid-row: 1;
    width: 23.0769cqw;
    height: auto;
    margin: 0;
    font-size: 2.5641cqw;
    line-height: 1.6;
    writing-mode: horizontal-tb;
    text-orientation: mixed;
    text-align: justify;
  }

.p-top-kv__block--jigsaw .p-top-kv__media {
    grid-column: 2;
    grid-row: 1;
    width: 48.6778cqw;
    height: 27.6588cqw;
    margin: 0;
  }

.p-top-kv__block--jigsaw .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

.p-top-kv__block--jigsaw .p-top-kv__title {
    grid-column: 3;
    grid-row: 1;
    width: 9.2308cqw;
    height: 27.6588cqw;
    margin: 0;
    font-size: 4.1026cqw;
    line-height: 1.1;
    letter-spacing: -0.05em;
    writing-mode: vertical-rl;
    text-orientation: upright;
    white-space: nowrap;
  }

.p-top-kv__block--jigsaw .p-top-kv__title > br {
    display: block;
  }

.p-top-kv__block--jigsaw .p-top-kv__title > span {
    position: absolute;
    right: 0.8974cqw;
    top: -0.5128cqw;
    font-size: 4.1026cqw;
    line-height: 1;
  }

.p-top-kv__block--jigsaw > .c-guide-point--br {
    display: none;
  }

.p-top-kv__block--jigsaw .p-top-kv__arrow {
    position: absolute;
    right: 2.5641cqw;
    bottom: 1.0256cqw;
    width: 2.5641cqw;
    height: 2.5641cqw;
  }

.p-top-kv__block--magic-entertainment {
    top: 295.5cqw;
    width: 44.8488cqw;
    height: 48.6440cqw;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

.p-top-kv__block--magic-entertainment .p-top-kv__media {
    width: 44.8488cqw;
    height: 27.3921cqw;
    margin: 0;
  }

.p-top-kv__block--magic-entertainment .p-top-kv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

.p-top-kv__block--magic-entertainment .p-top-kv__title {
    font-size: 4.1026cqw;
  }

.p-top-kv__block--magic-entertainment .p-top-kv__text {
    font-size: 2.5641cqw;
    line-height: 1.6;
    letter-spacing: 0.05em;
  }

.p-top-kv__block--magic-entertainment .p-top-kv__arrow {
    bottom: 10cqw;
  }

.p-top-kv__block--magic-entertainment > .c-guide-point--tr {
    display: none;
  }

.p-top-kv__gradient--bottom {
    position: absolute;
    top: 349.144cqw;
    left: auto;
    right: 0;
    bottom: auto;
    width: 51.4563cqw;
    height: 7.3484cqw;
  }

.p-top-kv__block--magic-entertainment > .c-guide-point--corner-bl.c-guide-point--bl {
    bottom: -12.5641cqw;
    left: -5.8974cqw;
  }
}


/* ========================================
   TABLET KV: isolate SP geometry from PC KV rules
======================================== */
@media (min-width: 768px) and (max-width: 1024px) {
  .p-top-kv .c-guide-point {
    --guide-arm-x: 12px;
    --guide-arm-y: 12px;
    --guide-line-width: 1px;
  }

  /* History: remove the desktop-only centering transform explicitly. */
  .p-top-kv__block--history .p-top-kv__history-copy {
    transform: none;
  }

  .p-top-kv__block--history > .p-top-kv__arrow {
    top: auto;
    left: auto;
    right: 3.8462cqw;
    bottom: 2.3077cqw;
    transform: none;
  }
}

/* ========================================
   TABLET KV headline centering
   Avoid double horizontal translation.
======================================== */
@media (min-width: 768px) and (max-width: 1024px) {
  .p-top-kv__headline.js-top-kv-headline {
    transform: none;
  }
}

/* ========================================
   SP / Tablet story duplicate headline
   Keep it at the top of the story, before the body text.
======================================== */
@media (max-width: 1024px) {
  .p-top-story .p-top-story__headline.p-top-kv__headline {
    position: absolute !important;
    top: 0 !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 5;

    margin: 0 !important;
    transform: translateX(-50%) !important;
  }

  .p-top-story__body {
    position: relative;
    z-index: 4;
  }
}

@media (max-width: 1024px) {
  .p-top-kv__block--magic-entertainment > .c-guide-point--corner-bl.c-guide-point--bl.u-sp-only {
    bottom: -3.8462cqw;
    left: -3.3333cqw;
  }

  .p-top-kv__block--seamonkey > .c-guide-point--tee-left.c-guide-point--bl.u-sp-only {
    bottom: -4.6154cqw;
    left: -2.1205cqw;
  }
}

@media (max-width: 1024px) {
  .p-top-kv__block--magic-entertainment > .c-guide-point--corner-bl.c-guide-point--bl.u-sp-only {
    bottom: 0.1538cqw;
    left: -0.0333cqw;
  }

  .p-top-kv__block--history > .c-guide-point--tee-right.c-guide-point--br.u-sp-only {
    bottom: -4.3718cqw;
    right: -1.2821cqw;
  }

  .p-top-kv__block--seamonkey > .c-guide-point--tee-left.c-guide-point--bl.u-sp-only {
    bottom: 0.1538cqw;
    left: -0.0333cqw;
  }
}

@media (max-width: 1024px) {
  .p-top-kv__block--magic-entertainment > .c-guide-point--corner-bl.c-guide-point--bl.u-sp-only {
    bottom: -2.8462cqw;
    left: -3.0333cqw;
  }
}

@media (max-width: 1024px) {
  .p-top-kv__block--seamonkey > .c-guide-point--corner-bl.c-guide-point--bl.u-sp-only {
    bottom: -4.6154cqw;
    left: -2.1205cqw;
  }
}


/* PC History 左上ガイド専用：before/after で中心→右・中心→下 */
@media (min-width: 1025px) {
  .p-top-kv__block--history > .c-guide-point--history-corner::before {
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    width: 50% !important;
    height: 1px !important;
    transform: none !important;
  }

  .p-top-kv__block--history > .c-guide-point--history-corner::after {
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    width: 1px !important;
    height: 50% !important;
    transform: none !important;
  }
}

/* History: SP用ガイドがPCで重ならないように明示的に非表示 */
@media (min-width: 1025px) {
  .p-top-kv__block--history > .u-sp-only {
    display: none !important;
  }
}

/* ========================================
   TOP Loading / KV first-view entrance
   ======================================== */

.p-top-loader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100dvh;
  background: #f0f0f0;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition:
    opacity 1.4s cubic-bezier(0.22, 1, 0.36, 1),
    visibility 0s linear 1.4s;
}

.p-top-loader.is-leaving {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.p-top-loader__logo {
  display: block;
  width: clamp(116px, 11vw, 160px);
  height: auto;
  opacity: 0;
  transition: opacity 0.45s ease;
}

.p-top-loader.is-logo-visible .p-top-loader__logo {
  opacity: 1;
}

.p-top-loader.is-logo-leaving .p-top-loader__logo {
  opacity: 0;
}

html.is-top-loading,
html.is-top-loading body {
  overflow: hidden;
}

/*
 * KVは位置を一切動かさず、5段階にランダム分割してopacityだけで表示。
 * JSが各ブロックへ --kv-enter-delay を設定する。
 */
html.is-top-kv-entering .p-top-kv__collage > .p-top-kv__block,
html.is-top-kv-entering .p-top-kv__gradient--left,
html.is-top-kv-entering .p-top-kv__gradient--bottom,
html.is-top-kv-entering .p-top-kv__gradient--right,
html.is-top-kv-entering .js-top-kv-headline {
  opacity: 0;
}

html.is-top-kv-entering .p-top-kv__collage > .p-top-kv__block.is-kv-enter-visible,
html.is-top-kv-entering .p-top-kv__gradient--left.is-kv-enter-visible,
html.is-top-kv-entering .p-top-kv__gradient--bottom.is-kv-enter-visible,
html.is-top-kv-entering .p-top-kv__gradient--right.is-kv-enter-visible,
html.is-top-kv-entering .js-top-kv-headline.is-kv-enter-visible {
  opacity: 1;
  transition: opacity 1.08s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: var(--kv-enter-delay, 0s);
}

@media (prefers-reduced-motion: reduce) {
  .p-top-loader {
    transition-duration: 0.01ms;
  }

  html.is-top-kv-entering .p-top-kv__collage > .p-top-kv__block,
  html.is-top-kv-entering .p-top-kv__gradient--left,
  html.is-top-kv-entering .p-top-kv__gradient--bottom,
  html.is-top-kv-entering .p-top-kv__gradient--right,
  html.is-top-kv-entering .js-top-kv-headline {
    opacity: 1;
    transition: none;
  }
}

/* ローディング中はスクロールバーを見せない。
 * ローダーがまだ不透明なうちに解除して、表示切替のガタつきを隠す。
 */
html.is-top-loading,
html.is-top-loading body {
  overflow: hidden;
}



/* ========================================
   PC KV utility visibility / typography fix
   ======================================== */
@media (min-width: 1025px) {
  /* SP専用要素が個別のKV指定に負けてPCで表示されないよう強制 */
  .p-top-kv .u-sp-only {
    display: none !important;
  }

  /* magic-entertainment の1行目は見出し用明朝を維持 */
  .p-top-kv__block--magic-entertainment .p-top-kv__title-first-line {
    font-family: var(--font-ryo-display, "Noto Serif JP", serif) !important;
    font-weight: 700;
  }

  /* 先頭のアスタリスクだけは従来どおり装飾書体 */
  .p-top-kv__block--magic-entertainment
    .p-top-kv__title-first-line
    > span:not(.p-top-kv__arrow) {
    font-family: "Limelight", serif;
    font-weight: 400;
  }
}


/* ========================================
   PC KV magic / jigsaw title alignment fix
   ======================================== */
@media (min-width: 1025px) {
  .p-top-kv__block--magic-entertainment .p-top-kv__title,
  .p-top-kv__block--jigsaw .p-top-kv__title {
    position: relative;
  }

  .p-top-kv__block--magic-entertainment .p-top-kv__title > span,
  .p-top-kv__block--jigsaw .p-top-kv__title > span {
    font-weight: 700;
  }

  .p-top-kv__block--magic-entertainment
    .p-top-kv__title-first-line
    > span[aria-hidden="true"],
  .p-top-kv__block--jigsaw
    .p-top-kv__title
    > span[aria-hidden="true"] {
    position: absolute;
    right: 100%;
    top: 0;
    margin-right: 0.08em;
    font-family: "Limelight", serif;
    font-weight: 400;
    line-height: inherit;
  }

  .p-top-kv__block--magic-entertainment
    .p-top-kv__title-first-line
    > span[aria-hidden="true"] {
    left: auto;
  }
}


/* ========================================
   PC KV magic-entertainment arrow position
   ======================================== */
@media (min-width: 1025px) {
  .p-top-kv__block--magic-entertainment .p-top-kv__title-first-line {
    position: relative;
    display: inline-block;
  }

  .p-top-kv__block--magic-entertainment
    .p-top-kv__title-first-line
    > .p-top-kv__arrow {
    position: absolute;
    left: calc(100% + 0.18em);
    right: auto;
    top: 50%;
    bottom: auto;
    width: 0.8em;
    height: 0.8em;
    transform: translateY(-42%);
    margin: 0;
  }

  .p-top-kv__block--magic-entertainment
    .p-top-kv__title-first-line
    > .p-top-kv__arrow img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
}


/* magic-entertainment: place the actual arrow span beside "テンヨー" */
@media (min-width: 1025px) {
  .p-top-kv__block.p-top-kv__block--magic-entertainment
    .p-top-kv__title
    .p-top-kv__title-first-line {
    position: relative !important;
    display: inline-block !important;
  }

  .p-top-kv__block.p-top-kv__block--magic-entertainment
    .p-top-kv__title
    .p-top-kv__title-first-line
    .p-top-kv__arrow:not(.u-sp-only) {
    position: absolute !important;
    display: block !important;
    left: calc(100% + 0.18em) !important;
    right: auto !important;
    top: 50% !important;
    bottom: auto !important;
    margin: 0 !important;
    transform: translateY(-50%) !important;
  }
}


/* ========================================
   TOPICS
   ======================================== */
.p-top-topics {
  width: min(100%, var(--top-content-max));
  margin-inline: auto;
  padding: 1.6667cqw 0 7.5cqw;
  background: var(--top-bg);
  container-type: inline-size;
}

.p-top-topics__inner {
  width: 81.3028cqw;
  margin-left: 9.2843cqw;
}

.p-top-topics__heading {
  display: flex;
  align-items: center;
  gap: 0;
  margin-bottom: 4.1667cqw;
}

.p-top-topics__heading {
  padding-left: 84px;
  background-image: url("../img/top/topics-heading-gradient.webp");
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 70px 40px;
}

.p-top-topics__heading-image--sp {
  display: none;
}

.p-top-topics__title {
  margin: 0;
  font-family: "Limelight", Georgia, serif;
  font-size: 4.1667cqw;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.01em;
}

.p-top-topics__list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-top-topics__item {
  position: relative;
  min-width: 0;
  padding: 1.3333cqw 1.1667cqw 1.5cqw;
}

.p-top-topics__card {
  display: block;
  color: inherit;
  text-decoration: none;
}

.p-top-topics__thumbnail {
  width: 100%;
  aspect-ratio: 1 / 1;
  margin: 0 0 1.1667cqw;
  overflow: hidden;
  background: #fff;
}

.p-top-topics__thumbnail img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.p-top-topics__item-title {
  margin: 0;
  font-family: var(--font-ryo-display, "Noto Serif JP", serif);
  font-size: 1.0833cqw;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: 0;
}

.p-top-topics__guide {
  --guide-arm-x: 1.5cqw;
  --guide-arm-y: 1.5cqw;
}

.p-top-topics__guide--sp {
  display: none;
}

.p-top-topics__button-wrap {
  display: flex;
  justify-content: center;
  margin-top: 2.6667cqw;
}

.p-top-topics__button {
  display: grid;
  place-items: center;
  width: 12.5cqw;
  height: 2.8333cqw;
  background: #000;
  color: #fff;
  font-family: var(--font-ryo-display, "Noto Serif JP", serif);
  font-size: 0.9167cqw;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
}

@media (hover: hover) and (pointer: fine) {
  .p-top-topics__card:hover .p-top-topics__thumbnail img {
    transform: scale(1.04);
  }

  .p-top-topics__button {
    transition: opacity 0.25s ease;
  }

  .p-top-topics__button:hover {
    opacity: 0.7;
  }
}

@media (min-width: 1200px) {
  .p-top-topics {
    width: 1200px;
    max-width: 1200px;
    margin-inline: auto;
  }
}

@media (max-width: 767px) {
  .p-top-topics {
    width: 100%;
    padding: 10.2564cqw 4.1026cqw 17.9487cqw;
    container-type: inline-size;
  }

  .p-top-topics__inner {
    width: 100%;
    margin-left: 0;
  }

  .p-top-topics__heading {
    gap: 3.8462cqw;
    padding-left: 0;
    margin-bottom: 8.2051cqw;
    background-image: none;
  }

  .p-top-topics__heading-image--sp {
    display: block;
    flex: 0 0 auto;
    width: 10.1668vw;
    height: 6.1395vw;
    max-width: none;
    object-fit: cover;
  }

  .p-top-topics__title {
    font-size: 7.6923cqw;
  }

  .p-top-topics__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .p-top-topics__item {
    padding: 4.1026cqw 3.5897cqw 4.6154cqw;
  }

  .p-top-topics__item--pc-only {
    display: none;
  }

  .p-top-topics__thumbnail {
    margin-bottom: 3.0769cqw;
  }

  .p-top-topics__item-title {
    font-size: 3.3333cqw;
    line-height: 1.45;
  }

  .p-top-topics__guide {
    --guide-arm-x: 3.0769cqw;
    --guide-arm-y: 3.0769cqw;
  }

  .p-top-topics__guide--pc {
    display: none;
  }

  .p-top-topics__guide--sp {
    display: block;
  }

  .p-top-topics__button-wrap {
    margin-top: 8.7179cqw;
  }

  .p-top-topics__button {
    width: 43.0769cqw;
    height: 9.2308cqw;
    font-size: 2.8205cqw;
  }
}


/* ========================================
   TOPICS interaction / truncation / button
   ======================================== */
.p-top-topics__thumbnail {
  transform-origin: center top;
  transition: transform 0.38s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.p-top-topics__thumbnail img {
  transition: none;
}

.p-top-topics__item-title {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
}

.p-top-topics__button {
  width: 200px !important;
  height: 44px !important;
  color: #fff !important;
  font-size: 12px !important;
}

.p-top-topics__button:visited,
.p-top-topics__button:hover,
.p-top-topics__button:focus-visible {
  color: #fff !important;
}

.p-top-topics__button > span {
  position: relative;
  display: inline-block;
  color: #fff;
  line-height: 1.2;
}

.p-top-topics__button > span::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}

@media (hover: hover) and (pointer: fine) {
  .p-top-topics__card:hover .p-top-topics__thumbnail,
  .p-top-topics__item:focus-within .p-top-topics__thumbnail {
    transform:
      translate(
        var(--guide-hover-x, 0),
        var(--guide-hover-y, 0)
      )
      scale(var(--guide-hover-scale, 1));
  }

  .p-top-topics__card:hover .p-top-topics__thumbnail img {
    transform: none;
  }

  .p-top-topics__button:hover {
    opacity: 1;
  }

  .p-top-topics__button:hover > span::after,
  .p-top-topics__button:focus-visible > span::after {
    transform: scaleX(1);
  }
}

.is-guide-hover-measuring .p-top-topics__thumbnail {
  transition: none !important;
  transform: none !important;
}

@media (max-width: 767px) {
  .p-top-topics__button {
    width: 200px !important;
    height: 44px !important;
    font-size: 12px !important;
  }
}


/* ========================================
   TOPICS refinements
   ======================================== */

/* Hover拡大時にガイド上端へ正確に揃える */
.p-top-topics__thumbnail {
  transform-origin: center center;
  margin-bottom: 1.8333cqw;
}

/* ボタンは本文系の通常フォント */
.p-top-topics__button,
.p-top-topics__button > span {
  font-family: var(--font-ryo-gothic, "Noto Sans JP", sans-serif) !important;
  font-weight: 700;
}

/* TOPICS見出しの文字流れ演出は既存heading revealを流用 */
.p-top-topics__heading.js-heading-reveal .p-top-topics__title {
  overflow: hidden;
}

@media (max-width: 767px) {
  .p-top-topics__thumbnail {
    margin-bottom: 4.6154cqw;
  }
}

/* ========================================
   INFORMATION
   ======================================== */
.p-top-information {
  width: min(100%, var(--top-content-max));
  margin-inline: auto;
  padding: 0 0 8.3333cqw;
  background: var(--top-bg);
  container-type: inline-size;
}

.p-top-information__inner {
  width: 81.3028cqw;
  margin-left: 9.2843cqw;
}

.p-top-information__heading {
  display: flex;
  align-items: flex-end;
  gap: 1.6667cqw;
  margin-bottom: 2.5cqw;
  padding-bottom: 1.5cqw;
  border-bottom: 1px solid #111;
}

.p-top-information__title {
  margin: 0;
  font-family: var(--font-ryo-gothic, "Noto Sans JP", sans-serif);
  font-size: 1.5cqw;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.12em;
}

.p-top-information__title-ja {
  margin: 0 0 0.15em;
  font-family: var(--font-ryo-gothic, "Noto Sans JP", sans-serif);
  font-size: 1.0833cqw;
  font-weight: 700;
  line-height: 1.4;
}

.p-top-information__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-top-information__item {
  border-bottom: 1px solid rgba(17, 17, 17, 0.45);
}

.p-top-information__link {
  position: relative;
  display: grid;
  grid-template-columns: 7.9167cqw 9.1667cqw minmax(0, 1fr) 1.6667cqw;
  align-items: center;
  gap: 2cqw;
  min-height: 6.1667cqw;
  padding: 1.25cqw 1.5cqw;
  color: inherit;
  text-decoration: none;
}

.p-top-information__date {
  font-family: var(--font-ryo-gothic, "Noto Sans JP", sans-serif);
  font-size: 0.9167cqw;
  line-height: 1.5;
  white-space: nowrap;
}

.p-top-information__categories {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4167cqw;
}

.p-top-information__category {
  display: grid;
  place-items: center;
  min-height: 2.1667cqw;
  padding: 0.4167cqw 0.6667cqw;
  background: #fff;
  font-family: var(--font-ryo-gothic, "Noto Sans JP", sans-serif);
  font-size: 0.8333cqw;
  font-weight: 500;
  line-height: 1.35;
  text-align: center;
  white-space: nowrap;
}

.p-top-information__item-title {
  overflow: hidden;
  min-width: 0;
  font-family: var(--font-ryo-display, "Noto Serif JP", serif);
  font-size: 1.0833cqw;
  font-weight: 700;
  line-height: 1.65;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.p-top-information__arrow {
  display: grid;
  place-items: center;
  font-family: Arial, sans-serif;
  font-size: 1.5cqw;
  line-height: 1;
  transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}

.p-top-information__button-wrap {
  display: flex;
  justify-content: center;
  margin-top: 2.6667cqw;
}

.p-top-information__button {
  display: grid;
  place-items: center;
  width: 200px;
  height: 44px;
  background: #000;
  color: #fff !important;
  font-family: var(--font-ryo-gothic, "Noto Sans JP", sans-serif);
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
}

.p-top-information__button > span {
  position: relative;
  display: inline-block;
  color: #fff;
  line-height: 1.2;
}

.p-top-information__button > span::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -4px;
  left: 0;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}

@media (hover: hover) and (pointer: fine) {
  .p-top-information__link:hover .p-top-information__arrow,
  .p-top-information__link:focus-visible .p-top-information__arrow {
    transform: translate(0.22em, -0.22em);
  }

  .p-top-information__link:hover .p-top-information__item-title,
  .p-top-information__link:focus-visible .p-top-information__item-title {
    text-decoration: underline;
    text-underline-offset: 0.28em;
  }

  .p-top-information__button:hover > span::after,
  .p-top-information__button:focus-visible > span::after {
    transform: scaleX(1);
  }
}

@media (min-width: 1200px) {
  .p-top-information {
    width: 1200px;
    max-width: 1200px;
  }
}

@media (max-width: 767px) {
  .p-top-information {
    width: 100%;
    padding: 0 4.1026cqw 17.9487cqw;
  }

  .p-top-information__inner {
    width: 100%;
    margin-left: 0;
  }

  .p-top-information__heading {
    align-items: baseline;
    gap: 3.0769cqw;
    margin-bottom: 5.1282cqw;
    padding-bottom: 3.0769cqw;
  }

  .p-top-information__title {
    font-size: 4.1026cqw;
  }

  .p-top-information__title-ja {
    font-size: 3.0769cqw;
  }

  .p-top-information__link {
    grid-template-columns: max-content minmax(0, 1fr);
    grid-template-areas:
      "date categories"
      "title title";
    gap: 2.0513cqw 3.0769cqw;
    min-height: 0;
    padding: 4.1026cqw 9.2308cqw 4.1026cqw 3.5897cqw;
  }

  .p-top-information__date {
    grid-area: date;
    font-size: 3.0769cqw;
  }

  .p-top-information__categories {
    grid-area: categories;
    gap: 1.0256cqw;
  }

  .p-top-information__category {
    min-height: 6.1538cqw;
    padding: 1.0256cqw 2.0513cqw;
    font-size: 2.8205cqw;
  }

  .p-top-information__item-title {
    grid-area: title;
    font-size: 3.5897cqw;
    white-space: normal;
  }

  .p-top-information__arrow {
    position: absolute;
    top: 50%;
    right: 3.5897cqw;
    font-size: 5.1282cqw;
    transform: translateY(-50%);
  }

  .p-top-information__button-wrap {
    margin-top: 8.7179cqw;
  }
}

/* TENYO TABLET LAYOUT FIX START 20260914 */
@media (min-width: 768px) and (max-width: 1199px) {
  .p-top-about {
    padding-left: 0;
    padding-right: 0;
  }

  .p-top-section-title--about {
    margin-left: 8.5cqw;
    margin-right: 0;
  }

  .p-top-about__grid {
    margin-left: 9.2843cqw;
    margin-right: 0;
  }
}
/* TENYO TABLET LAYOUT FIX END 20260914 */

/* TENYO PRODUCTS LOOP FIX START 20260914 */
.p-top-products__track {
  flex-shrink: 0;
}

.p-top-products__visual--reverse .p-top-products__track {
  animation-direction: reverse;
}
/* TENYO PRODUCTS LOOP FIX END 20260914 */

/* TENYO PRODUCTS LOOP SPEED FIX START 20260914 */
@media (max-width: 1024px) {
  .p-top-products__visual--disney .p-top-products__track {
    animation-duration: 48s;
  }

  .p-top-products__visual--magic .p-top-products__track {
    animation-duration: 42s;
  }

  .p-top-products__visual--other .p-top-products__track {
    animation-duration: 44s;
  }
}

@media (min-width: 1025px) and (max-width: 1199px) {
  .p-top-products__visual--disney .p-top-products__track {
    animation-duration: 37s;
  }

  .p-top-products__visual--magic .p-top-products__track {
    animation-duration: 32s;
  }

  .p-top-products__visual--other .p-top-products__track {
    animation-duration: 34s;
  }
}

@media (min-width: 1200px) {
  .p-top-products__visual--disney .p-top-products__track {
    animation-duration: 31s;
  }

  .p-top-products__visual--magic .p-top-products__track {
    animation-duration: 27s;
  }

  .p-top-products__visual--other .p-top-products__track {
    animation-duration: 28s;
  }
}
/* TENYO PRODUCTS LOOP SPEED FIX END 20260914 */

/* TENYO KV LINK HOVER START 20260914 */
.p-top-kv__block[href] {
  cursor: pointer;
}

.p-top-kv__block[href] .p-top-kv__arrow img {
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

@media (hover: hover) and (pointer: fine) {
  .p-top-kv__block[href]:hover .p-top-kv__arrow img,
  .p-top-kv__block[href]:focus-visible .p-top-kv__arrow img {
    transform: translate(3px, -3px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .p-top-kv__block[href] .p-top-kv__arrow img {
    transition: none;
  }
}
/* TENYO KV LINK HOVER END 20260914 */

/* TENYO STORY TEXT REVEAL START 20260914 */
html.is-top-story-reveal-ready .js-top-story-body p {
  opacity: 0;
  filter: blur(10px);
  transform: translateY(18px);
  transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}

html.is-top-story-reveal-ready
  .js-top-story-body p.is-top-story-visible {
  opacity: 1;
  filter: blur(0);
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  html.is-top-story-reveal-ready .js-top-story-body p {
    opacity: 1;
    filter: none;
    transform: none;
    transition: none;
  }
}
/* TENYO STORY TEXT REVEAL END 20260914 */

/* TENYO TOP STORY FINISH START 20260919 */
/* Keep decorative strips and the blur inside the sticky visual. */
.p-top-kv {
  overflow: clip;
}

@media (min-width: 1025px) {
  .p-top-kv__gradient--bottom {
    bottom: 0;
  }
}

/* This follows the veil opacity, leaving the initial collage unchanged. */
.p-top-kv__veil::after {
  content: "";
  position: absolute;
  inset: auto 0 -1px;
  height: clamp(100px, 22svh, 220px);
  background: linear-gradient(
    to bottom,
    rgba(240, 240, 240, 0) 0%,
    rgba(240, 240, 240, 0.12) 20%,
    rgba(240, 240, 240, 0.5) 50%,
    rgba(240, 240, 240, 0.88) 78%,
    var(--top-bg) 100%
  );
  pointer-events: none;
}

/* Storyの終了余白は上部のPC/SP既定値を使用する。
 * 66svhの固定余白は、本文量変更後にKV/veilの終了を遅らせるため削除。 */
/* TENYO TOP STORY FINISH END 20260919 */

/* TENYO TOP WIDE VIEWPORT SPACING FIX START 20260921 */
/*
 * PRODUCTS以降のコンテンツは1200pxで拡大を止めるため、
 * セクション間の余白も広い画面で増え続けないよう上限値へ固定する。
 */
@media (min-width: 1200px) {
  .p-top-products + .p-top-about {
    margin-top: 70px;
  }

  .p-top-information {
    padding-bottom: 100px;
  }
}

/* TOPページのコンテンツとフッターの境界を明示する。 */
.home .l-footer::before {
  content: "";
  display: block;
  width: min(calc(100% - 48px), 1200px);
  margin-inline: auto;
  border-top: 1px solid #111;
}

@media (max-width: 767px) {
  .home .l-footer::before {
    width: calc(100% - 40px);
  }
}
/* TENYO TOP WIDE VIEWPORT SPACING FIX END 20260921 */

/* TENYO TOP SECTION ALIGNMENT / ABOUT GUIDE FIX START 20260921 */
/*
 * PRODUCTSの見出し左端を基準に、ABOUT／TOPICSの装飾も同じ位置へ揃える。
 * ABOUTのガイドは2×2グリッドの全交点へ明示的に配置する。
 */
@media (min-width: 768px) {
  .p-top-section-title--about {
    margin-left: 0;
  }

  .p-top-topics__heading {
    width: calc(100% + 9.2843cqw);
    margin-left: -9.2843cqw;
  }

  .p-top-about__sp-guide {
    display: none;
  }

  .p-top-about__guide--tm {
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .p-top-about__guide--ml {
    top: 50%;
    left: 0;
    transform: translate(-50%, -50%);
  }

  .p-top-about__guide--mm {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .p-top-about__guide--mr {
    top: 50%;
    right: 0;
    transform: translate(50%, -50%);
  }

  .p-top-about__guide--bm {
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 50%);
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .p-top-section-title--about {
    margin-left: 0;
  }
}

@media (max-width: 767px) {
  .p-top-about__guide {
    display: none;
  }
}
/* TENYO TOP SECTION ALIGNMENT / ABOUT GUIDE FIX END 20260921 */

/* TENYO TOP PRODUCT COPY / TOY & HOBBY / FOUNDER 20260923 */
.p-top-products__brand > p {
  text-wrap: balance;
}
.p-top-products__other-title {
  width: auto;
  height: auto;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 3.5cqw;
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.04em;
  white-space: nowrap;
}
.p-top-about__image--legend {
  aspect-ratio: 263 / 383;
  object-fit: cover;
  object-position: center center;
}
@media (max-width: 767px) {
  .p-top-products__other-title {
    font-size: 8vw;
  }
}
/* TENYO TOP PRODUCT COPY / TOY & HOBBY / FOUNDER END 20260923 */


/* TENYO FINAL UI POLISH 20260923 */
.p-top-information__item-title {
  position: relative;
  width: fit-content;
  max-width: 100%;
}
.p-top-information__item-title::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: .08em; height: 1px;
  background: currentColor; transform: scaleX(0); transform-origin: left center;
  transition: transform .32s cubic-bezier(.22,1,.36,1);
}
@media (hover:hover) and (pointer:fine) {
  .p-top-information__link:hover .p-top-information__item-title,
  .p-top-information__link:focus-visible .p-top-information__item-title { text-decoration: none; }
  .p-top-information__link:hover .p-top-information__item-title::after,
  .p-top-information__link:focus-visible .p-top-information__item-title::after { transform: scaleX(1); }
}
.p-top-topics__item { padding: 0; }
.p-top-topics__card { padding: 1.3333cqw 1.1667cqw 1.5cqw; }
@media (max-width:767px) { .p-top-topics__card { padding: 4.1026cqw 3.5897cqw 4.6154cqw; } }
@media (min-width:768px) {
  .p-top-about__guide--tm { top: -1cqw; }
  .p-top-about__guide--ml { left: -1cqw; }
  .p-top-about__guide--mr { right: -1cqw; }
  .p-top-about__guide--bm { bottom: -1cqw; }
}

/* Information typography formerly injected by tenyo-content-refinements. */
.p-top-information__item-title { font-family: var(--font-ryo-gothic, "Noto Sans JP", sans-serif); }
