/* ==============================================================
   THE ONE 2026 LP — 統合スタイルシート
   グローバル定義 + 01〜10 各セクションCSS（フラグメント改変なし）
   ============================================================== */

/* ===== global ===== */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{overflow-x:hidden}
body{background:#fff;font-family:'Zen Kaku Gothic New',sans-serif;-webkit-font-smoothing:antialiased}
img{display:block}
a{color:inherit;text-decoration:none}
.sec-wrap{position:relative}
.sec-wrap{scroll-margin-top:80px}
@media (min-width:768px){
  /* SPフラグメント側の display:flex 等より優先させるため !important */
  .sp-only{display:none !important}
  /* Figmaのセクション間ギャップ（PC=70px、フッター前=79px） */
  #prize,#entry,#judges,#guideline,#award,#archive{margin-top:70px}
  .sec-footer-pc{margin-top:79px}
}
@media (max-width:767px){
  .pc-only{display:none !important}
  .sec-wrap{scroll-margin-top:60px}
  /* Figmaのセクション間ギャップ（SP=30px、About前=86px、フッター前=54px） */
  #about{margin-top:86px}
  #prize,#entry,#judges,#guideline,#award,#archive{margin-top:30px}
  .sec-footer-sp{margin-top:54px}
}

/* ===== 01 header ===== */
/* ==============================================================
   01 HEADER — サイトヘッダー PC (62:5635) / SP (108:1603)
              + SP ハンバーガーメニューオーバーレイ (108:1955)
   ============================================================== */

/* ---------- THE ONE 三角ロゴ 共通（子4グループはFigmaのinset%そのまま） ---------- */
.header-pc-logo,
.header-sp-logo {
  position: absolute;
  display: block;
  overflow: hidden;
}
.header-pc-logo img,
.header-sp-logo img {
  position: absolute;
  display: block;
}
.header-logo-g1 { top: 26.01%; right: 6.47%;  bottom: 0;      left: 6.67%; }
.header-logo-g2 { top: 4.92%;  right: 13.41%; bottom: 12.24%; left: 0; }
.header-logo-g3 { top: 0;      right: 0;      bottom: 22.51%; left: 6.6%; }
.header-logo-g4 { top: 24.85%; right: 27.26%; bottom: 35.52%; left: 31.36%; }

/* ==============================================================
   PC ヘッダー (1440×80)
   ============================================================== */
.site-header-pc {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  height: 80px;
}
.header-pc-inner {
  position: relative;
  width: 1440px;
  height: 80px;
  margin: 0 auto;
}

/* 背景 (62:5201 ダークグラス / 62:5197 白) */
.header-pc-bg-dark {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: min(calc(50% - 540px), calc(100% - 1260px)); /* 1440未満ではコンテンツ(左寄せ1440px)の1260px位置に境界を固定し、Instagramへの白被りを防止 */
  background: rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}
.header-pc-bg-white {
  position: absolute;
  top: 0;
  bottom: 0;
  left: max(calc(50% + 540px), 1260px); /* 1440未満ではコンテンツの1260px位置に固定（Instagram被り防止）。以上では中央+540px */
  right: 0;
  background: #FFFFFF;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}

/* 縦仕切り線 (62:5218) / 下端の線 (62:5231) — 白1px CSS描画 */
.header-pc-vline {
  position: absolute;
  left: 1175.328px; /* 81.62% of 1440 */
  top: 0;
  width: 1px;
  height: 80px;
  background: #FFFFFF;
}
.header-pc-bottomline {
  position: absolute;
  left: 0;
  right: 0;
  top: 79px;
  height: 1px;
  background: #FFFFFF;
}

/* THE ONE ロゴ (108:1014) */
.header-pc-logo {
  left: 101px;
  top: 10px;
  width: 56px;
  height: 62px;
}

/* グローバルナビ (102:185) — ロゴ(101+56)+gap40 = x197、62px行内で垂直センター → top19 */
.header-pc-nav {
  position: absolute;
  left: 197px;
  top: 19px;
  width: 779px;
  height: 44px;
}
.header-pc-nav-en {
  position: absolute;
  top: 0;
  font-family: 'Oswald', sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 21px;
  letter-spacing: 1.2px;
  color: #FFFFFF;
  text-decoration: none;
  white-space: nowrap;
}
.header-pc-nav-en--about  { left: 60px; }
.header-pc-nav-en--prize  { left: 210px; }
.header-pc-nav-en--entry  { left: 342px; }
.header-pc-nav-en--judges { left: 454px; }
.header-pc-nav-en--award  { left: 563px; }
.header-pc-nav-en--past   { left: 671px; }

/* 和文ナビ行 (62:5202) — Figmaのauto-layout(gap30, items-end)をflexで再現 */
.header-pc-nav-row {
  position: absolute;
  left: 0;
  top: 23px;
  width: 779px;
  height: 21px;
  display: flex;
  align-items: flex-end;
  gap: 30px;
}
.header-pc-nav-jp {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 21px;
  color: #FFFFFF;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
}
/* 項目間の縦仕切り (62:5203ほか) — 白1px×20px CSS描画（Figma上はwidth0のline） */
.header-pc-nav-sep {
  position: relative;
  width: 0;
  height: 20px;
  flex-shrink: 0;
}
.header-pc-nav-sep::before {
  content: '';
  position: absolute;
  left: -0.5px;
  top: 0;
  width: 1px;
  height: 20px;
  background: #FFFFFF;
}

/* 言語セレクタ (62:5449) — 枠111×28 at (1020,34) */
.header-pc-lang {
  position: absolute;
  left: 1020px;
  top: 34px;
  width: 111px;
  height: 28px;
  border: 1px solid #FFFFFF;
  box-sizing: border-box;
}
.header-pc-lang-globe {
  position: absolute;
  left: 4px;  /* 1024-1020 */
  top: 4px;   /* 38-34 */
  width: 24px;
  height: 24px;
  display: block;
}
.header-pc-lang-label {
  position: absolute;
  left: 70px; /* 1090-1020 */
  top: 3px;   /* 37-34 */
  transform: translateX(-50%);
  margin: 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 12px;
  line-height: 21px;
  color: #FFFFFF;
  text-align: center;
  white-space: nowrap;
}
.header-pc-lang-chevron {
  position: absolute;
  left: 95px; /* 1115-1020 */
  top: 11px;  /* 45-34 */
  width: 9px;
  height: 6px;
  display: block;
}

/* Instagram (108:1141) */
.header-pc-instagram {
  position: absolute;
  left: 1205.712px;
  top: 28px;
  width: 23.904px;
  height: 24px;
  display: block;
}
.header-pc-instagram img {
  display: block;
  width: 100%;
  height: 100%;
}

/* U25 解放区 ロゴ (105:267) */
.header-pc-kaihoku {
  position: absolute;
  left: 1318px;
  top: 11px;
  width: 64px;
  height: 60px;
  display: block;
}
.header-pc-kaihoku img {
  display: block;
  width: 100%;
  height: 100%;
}

/* ==============================================================
   SP ヘッダー (390×60)
   ============================================================== */
.site-header-sp {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  height: 60px;
}
.header-sp-inner {
  position: relative;
  width: 390px;
  height: 60px;
  margin: 0 auto;
}

/* 背景ダークグラス (108:913 / 108:2048) */
.header-sp-bg {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}

/* THE ONE ロゴ 47×52 中央 (108:1084 / 108:2049) — left: calc(50% + 0.5px) の中央基準 */
.header-sp-logo {
  left: 172px; /* 195.5 - 47/2 */
  top: 4px;
  width: 47px;
  height: 52px;
}

/* 縦仕切り線 (108:1102 / 108:2066) — 白1px CSS描画 */
.header-sp-vline {
  position: absolute;
  left: 330px; /* 84.62% of 390 */
  top: 0;
  width: 1px;
  height: 60px;
  background: #FFFFFF;
}

/* 下端の線 (108:1149 / 108:2068) — 白1px CSS描画 */
.header-sp-bottomline {
  position: absolute;
  left: 0;
  right: 0;
  top: 59px;
  height: 1px;
  background: #FFFFFF;
}

/* Instagram (108:1145 / 108:2067) */
.header-sp-instagram {
  position: absolute;
  left: 348px;
  top: 18px;
  width: 24px;
  height: 24px;
  display: block;
}
.header-sp-instagram img {
  display: block;
  width: 100%;
  height: 100%;
}

/* ハンバーガー (108:1181) — 白2px線×2本 CSS描画 */
.header-sp-hamburger {
  position: absolute;
  left: 20px;
  top: 23px;
  width: 28px;
  height: 12px;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
}
.header-sp-hamburger span {
  position: absolute;
  left: 0;
  width: 28px;
  height: 2px;
  background: #FFFFFF;
}
.header-sp-hamburger span:nth-child(1) { top: 0; }
.header-sp-hamburger span:nth-child(2) { top: 10px; }

/* ==============================================================
   SP ハンバーガーメニュー オーバーレイ (108:1955)
   初期非表示 / .is-open で表示（開閉JSは統合時に実装）
   ============================================================== */
.sp-menu-overlay {
  position: fixed;
  inset: 0;
  z-index: 1100;
  display: none;
}
.sp-menu-overlay.is-open {
  display: block;
}

/* 全画面ディム (108:2042) */
.header-ov-dim {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.2);
}

.header-ov-inner {
  position: relative;
  width: 390px;
  height: 100%;
  margin: 0 auto;
}

/* トップバー (108:2046) — SPヘッダーと同構成、Xボタン付き */
.header-ov-topbar {
  position: absolute;
  left: 0;
  top: 0;
  width: 390px;
  height: 60px;
}

/* 閉じるX (108:2069 / 210:1709) — 白2px線×2本 CSS描画 */
.header-ov-close {
  position: absolute;
  left: 23px;
  top: 18px;
  width: 22px;
  height: 22px;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
}
.header-ov-close span {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 28px;
  height: 2px;
  background: #FFFFFF;
}
.header-ov-close span:nth-child(1) { transform: translate(-50%, -50%) rotate(45deg); }
.header-ov-close span:nth-child(2) { transform: translate(-50%, -50%) rotate(-45deg); }

/* メニューパネル (108:2030) 170×497 at (0,59) */
.header-ov-panel {
  position: absolute;
  left: 0;
  top: 59px;
  width: 170px;
  height: 497px;
}
/* パネル背景 (108:1534) — 左に-4.71%(≒8px)はみ出して左枠線を画面外へ */
.header-ov-panel-bg {
  position: absolute;
  left: 0; /* 修正: 枠を下部白エリア(170px)と同幅に。Figmaの-8pxはみ出しを除去 */
  right: 0;
  top: 0;
  bottom: 0;
  border: 1px solid #FFFFFF;
  box-sizing: border-box;
  background: rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}
/* パネル下部の白ボックス (108:1994) + 解放区ロゴ (150:2185) */
.header-ov-panel-white {
  position: absolute;
  left: 0;
  top: 428px;
  width: 170px;
  height: 69px;
  background: #FFFFFF;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}
.header-ov-kaihoku {
  position: absolute;
  left: 53px;
  top: 4px;
  width: 64px;
  height: 60px;
  display: block;
}

/* メニュー項目 (108:1938) — flex column gap10 at (21,85) w130 */
.header-ov-nav {
  position: absolute;
  left: 21px;
  top: 85px;
  width: 130px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}
.header-ov-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  width: 100%;
  text-decoration: none;
}
.header-ov-item-en {
  font-family: 'Oswald', sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 21px;
  letter-spacing: 1.2px;
  color: #FFFFFF;
  width: 100%;
}
.header-ov-item-jp {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 21px;
  color: #FFFFFF;
  width: 100%;
}
/* 項目下線 (108:1953ほか) — 白1px CSS描画（Figma上はheight0のline、上方向に1px描画） */
.header-ov-navline {
  position: relative;
  width: 130px;
  height: 0;
  flex-shrink: 0;
}
.header-ov-navline::before {
  content: '';
  position: absolute;
  left: 0;
  top: -1px;
  width: 100%;
  height: 1px;
  background: #FFFFFF;
}

/* 言語セレクタ (108:2031) at (298,75) */
.header-ov-lang {
  position: absolute;
  left: 298px;
  top: 75px;
  width: 78px;
}
.header-ov-lang-jp {
  position: absolute;
  left: 0;
  top: 0;
  width: 78px;
  height: 28px;
  border: 1px solid #FFFFFF;
  box-sizing: border-box;
}
.header-ov-lang-globe {
  position: absolute;
  left: 6px;
  top: 7px;
  width: 14px;
  height: 14px;
  display: block;
}
.header-ov-lang-chevron {
  position: absolute;
  left: 62px;
  top: 11px;
  width: 9px;
  height: 6px;
  display: block;
}
.header-ov-lang-en,
.header-ov-lang-cn {
  position: absolute;
  left: 0;
  width: 78px;
  height: 28px;
  background: #FFFFFF;
  text-decoration: none;
  display: block;
}
.header-ov-lang-en { top: 28px; } /* (298,103) */
.header-ov-lang-cn { top: 56px; } /* (298,131) */
.header-ov-lang-label {
  position: absolute;
  right: 27px; /* テキスト右端 x=51（枠78の内側） */
  top: 3px;
  width: 30px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 12px;
  line-height: 21px;
  color: #FFFFFF;
  text-align: right;
}
.header-ov-lang-label--dark {
  color: #000000;
}
/* EN/CN間の仕切り線 (108:1172) — スクショから薄グレーと判断し rgba(0,0,0,0.2) で描画 */
.header-ov-lang-sep {
  position: absolute;
  left: 0;
  top: 55px; /* y=131 の上方向1px */
  width: 78px;
  height: 1px;
  background: rgba(0, 0, 0, 0.2);
}

/* ===== 02 hero ===== */
/* ============================================================
   02 HERO — PC (親フレーム 62:5119 / コンテンツ 62:5124)
   ============================================================ */

.sec-hero-pc {
  position: relative;
  width: 1440px;
  height: 900px;
  margin: 0 auto;
  overflow: visible; /* 背景1722pxを下のABOUT背後まではみ出させる */
}

/* 背景テクスチャ (102:184) 1440×1722 y=0 */
.hero-pc-bg {
  /* 追加修正: ファーストビュー背景をビューポート固定・フルスクリーンに */
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: 0;
  pointer-events: none;
}
.hero-pc-bg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ヒーローコンテンツ Frame 7 (62:5124) 1440×820 y=80 */
.hero-pc-content {
  position: absolute;
  left: 0;
  top: 80px;
  width: 1440px;
  height: 820px;
  z-index: 1;
}

/* タイトルロゴ群 Frame 8 (62:5125) x=518 y=193 403.29×513.32 / column gap 120 */
.hero-pc-title-group {
  position: absolute;
  left: 518px;
  top: 193px;
  width: 403.29px;
  height: 513.32px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 120px;
}

/* Group 9 (62:5126) 403.29×324.32 */
.hero-pc-logo-block {
  position: relative;
  width: 403.29px;
  height: 324.32px;
  flex-shrink: 0;
}

/* ひらめきに価値を。(62:5127) x=94 y=0 w=216 */
.hero-pc-tagline {
  position: absolute;
  left: 94px;
  top: 0;
  width: 216px;
  margin: 0;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 500;
  font-size: 22px;
  line-height: 21px;
  letter-spacing: 2.2px;
  color: #ffffff;
  text-align: center;
  white-space: nowrap;
}

/* タイトルロゴ _編集モード (62:5128) x=0 y=91 403.29×233.32 */
.hero-pc-logo {
  position: absolute;
  left: 0;
  top: 91px;
  width: 403.29px;
  height: 233.32px;
  display: block;
}

/* エントリーボタン (73:5689) 301.775×69 / padding 20px 40px / gap 10px */
.hero-pc-cta {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 301.775px;
  height: 69px;
  padding: 20px 40px;
  background: #000000;
  border: 1px solid #d42e2e;
  border-radius: 6px;
  overflow: hidden;
  text-decoration: none;
  flex-shrink: 0;
}
.hero-pc-cta-text {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: normal;
  color: #ffffff;
  white-space: nowrap;
}
.hero-pc-cta-arrow {
  display: block;
  width: 11.775px;
  height: 20px;
  flex-shrink: 0;
}

/* エントリーバッジ Frame 119 (150:3229) x=1120 y=581(Frame7基準) 157.38×181.73 */
.hero-pc-badge {
  /* 追加修正: スクロールしても画面上の位置に固定 */
  position: fixed;
  left: auto;
  right: 100px; /* 画面右端から100px */
  top: 661px;   /* 高さはそのまま */
  width: 157.38px;
  height: 181.73px;
  display: block;
  text-decoration: none;
  z-index: 900; /* ヘッダー(1000)の下、コンテンツの上 */
}
.hero-pc-badge-tri {
  position: absolute;
  left: 0;
  top: 0;
  width: 157.38px;
  height: 181.73px;
  display: block;
  overflow: visible; /* 回転時にはみ出す角を切らない */
}
/* 追加修正: 背景の三角形のみゆっくり時計回りに回転（文字・矢印は固定） */
.badge-tri-spin {
  transform-box: fill-box;
  transform-origin: center;
  animation: badge-tri-spin 14s linear infinite;
}
@keyframes badge-tri-spin {
  to { transform: rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
  .badge-tri-spin { animation: none; }
}
/* ENTRY (150:3233) x=7 y=52 w=68 */
.hero-pc-badge-entry {
  position: absolute;
  left: 17.53px; /* 矢印と同じ+10.53pxシフト */
  top: 52px;
  width: 68px;
  margin: 0;
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 24px;
  line-height: normal;
  letter-spacing: 2.4px;
  color: #ffffff;
  text-align: center;
  white-space: nowrap;
}
/* 今すぐエントリーする (150:3234) x=7 y=97 */
.hero-pc-badge-note {
  position: absolute;
  left: 17.53px; /* 矢印と同じ+10.53pxシフト */
  top: 97px;
  margin: 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  font-size: 11px;
  line-height: normal;
  color: #ffffff;
  white-space: nowrap;
}

/* 装飾矢印 _レイヤー_1 (150:3237) — セクションルート(62:5119)基準 x=1225 y=681 92×7 */
.hero-pc-badge-arrow {
  position: absolute;
  left: 1225px;
  top: 681px;
  width: 92px;
  height: 7px;
  z-index: 2;
  display: block;
  pointer-events: none;
}

/* ============================================================
   02 HERO — SP (親フレーム 122:236 / SP-Hero 122:238 / CTA 150:2472)
   ============================================================ */

.sec-hero-sp {
  position: relative;
  width: 390px;
  height: 699px; /* ヘッダー下 y=59〜699 (SP-Hero 59〜629 + CTAバー 629〜699) */
  margin: 0 auto;
  overflow: visible; /* 背景844pxを下へはみ出させる */
}

/* 背景テクスチャ Group 33 (108:1858) 390×844 y=0 */
.hero-sp-bg {
  /* SP修正: 背景をビューポート固定・フルスクリーンに */
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: 0;
  pointer-events: none;
}
.hero-sp-bg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* SP-Hero (122:238) y=59 390×570 */
.hero-sp-content {
  position: absolute;
  left: 0;
  top: 59px;
  width: 390px;
  height: 570px;
  z-index: 1;
}

/* Frame 8 (123:243) x=39 y=111.656 312×396.688 / column gap 92.836 */
.hero-sp-title-group {
  position: absolute;
  left: 39px;
  top: 111.656px;
  width: 312px;
  height: 396.688px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 92.836px;
}

/* Group 9 (123:244) 312×250.906 */
.hero-sp-logo-block {
  position: relative;
  width: 312px;
  height: 250.906px;
  flex-shrink: 0;
}

/* ひらめきに価値を。(123:245) x=73 y=0 w=167 */
.hero-sp-tagline {
  position: absolute;
  left: 73px;
  top: 0;
  width: 167px;
  margin: 0;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 500;
  font-size: 17.02px;
  line-height: 16.246px;
  letter-spacing: 1.702px;
  color: #ffffff;
  text-align: center;
  white-space: nowrap;
}

/* タイトルロゴ _編集モード (123:246) x=0 y=70.401 312×180.505（PC用SVGを縮小共用） */
.hero-sp-logo {
  position: absolute;
  left: 0;
  top: 70.401px;
  width: 312px;
  height: 180.505px;
  display: block;
}

/* エントリーボタン (123:308) 233.737×52.945 / padding 15.473px 30.945px / gap 7.736px */
.hero-sp-cta {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7.736px;
  width: 233.737px;
  height: 52.945px;
  padding: 15.473px 30.945px;
  background: #000000;
  border: 0.774px solid #d42e2e;
  border-radius: 4.642px;
  overflow: hidden;
  text-decoration: none;
  flex-shrink: 0;
}
.hero-sp-cta-text {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  font-size: 15.473px;
  line-height: normal;
  color: #ffffff;
  white-space: nowrap;
}
.hero-sp-cta-arrow {
  display: block;
  width: 9.11px;
  height: 15.473px;
  flex-shrink: 0;
}

/* CTAバー Frame 118 (150:2472) y=629 390×70 */
.hero-sp-ctabar {
  /* SP修正: 常に画面下に固定 */
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  top: auto;
  bottom: 0;
  width: 390px;
  height: 70px;
  z-index: 940; /* ヘッダー/オーバーレイより下 */
  display: block;
  text-decoration: none;
}
/* 赤半透明背景 (I150:2381;150:2121) */
.hero-sp-ctabar-bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 390px;
  height: 70px;
  background: rgba(198, 0, 0, 0.6);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}
/* 上端ライン Line 22 (I150:2381;150:2250) */
.hero-sp-ctabar-line {
  position: absolute;
  left: 0;
  top: -1px;
  width: 390px;
  height: 1px;
  display: block;
}
/* 白ボックス (I150:2381;150:2149) 中心 calc(50%+121px) → x=242 148×70 */
.hero-sp-ctabar-white {
  position: absolute;
  left: 242px;
  top: 0;
  width: 148px;
  height: 70px;
  background: #ffffff;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  z-index: 2; /* 白エリアは独立リンク（under25）として前面に */
  display: block;
}
.hero-sp-ctabar-mainlink {
  position: absolute;
  inset: 0;
  z-index: 1; /* 赤い部分全体のエントリーリンク */
}
/* U25 解放区ロゴ (I150:2381;150:2216) 白ボックス内 x=42 y=5 64×60 */
.hero-sp-ctabar-logo {
  position: absolute;
  left: 42px;
  top: 5px;
  width: 64px;
  height: 60px;
  display: block;
}
/* 矢印 (I150:2381;150:2248) x=197.74 y=27.26 9.11×15.473 */
.hero-sp-ctabar-arrow {
  position: absolute;
  left: 197.74px;
  top: 27.26px;
  width: 9.11px;
  height: 15.473px;
  display: block;
}
/* ENTRY (150:2423) 中心 x=62 y=8 */
.hero-sp-ctabar-entry {
  position: absolute;
  left: 62px;
  top: 8px;
  margin: 0;
  transform: translateX(-50%);
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 24px;
  line-height: normal;
  letter-spacing: 2.4px;
  color: #ffffff;
  text-align: center;
  white-space: nowrap;
}
/* 今すぐエントリーする (150:2425) x=28 y=42 */
.hero-sp-ctabar-note {
  position: absolute;
  left: 28px;
  top: 42px;
  margin: 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  font-size: 12px;
  line-height: normal;
  color: #ffffff;
  white-space: nowrap;
}

/* ===== 03 about ===== */
/* ============================================================
   03 ABOUT — PC (Figma 62:5233 / Frame 18, 1440x1298, page y=900)
   セクション背景は透過。ヒーローから続く背景テクスチャの上に
   62:5234 の暗色オーバーレイ (mix-blend-multiply) が重なる設計。
   ============================================================ */
.sec-about-pc {
  position: relative;
  width: 1440px;
  height: 1298px;
  margin: 0 auto;
  background: transparent;
}

/* オーバーレイ 62:5234: 1120x1300, rgba(0,0,0,0.7), backdrop-blur 2px, multiply */
.about-pc-overlay {
  position: absolute;
  left: 60px; /* 拡幅: 160-100 */ /* (1440-1120)/2 中央寄せ */
  top: 0;
  width: 1320px; /* 拡幅: 1120+200 */
  height: 1300px;
  background: rgba(0, 0, 0, 0.7);
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
  mix-blend-mode: multiply;
}

/* コンテンツ枠 62:5236: 760x1182, top 116, 水平中央 */
.about-pc-inner {
  position: absolute;
  left: 50%;
  top: 116px;
  transform: translateX(-50%);
  width: 760px;
  height: 1182px;
}

/* 見出し+リード 62:5238: w751, 中央-0.5px, gap 80 */
.about-pc-intro {
  position: absolute;
  left: calc(50% - 0.5px);
  top: 0;
  transform: translateX(-50%);
  width: 751px;
  display: flex;
  flex-direction: column;
  gap: 80px;
  align-items: center;
  color: #ffffff;
}

/* 見出しブロック 62:5239 */
.about-pc-head {
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-items: center;
  width: 177px;
  text-align: center;
  line-height: 21px;
}

/* ABOUT 62:5240 */
.about-pc-title {
  margin: 0;
  min-width: 100%;
  height: 33px;
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 50px;
  line-height: 21px;
  letter-spacing: 5px;
}

/* コンテストについて 62:5241 */
.about-pc-subtitle {
  margin: 0;
  width: 223px;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 21px;
  letter-spacing: 3.6px;
}

/* リード文 62:5242 */
.about-pc-lead {
  width: 499px;
  height: 504px;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 1.6px;
  white-space: pre-wrap;
}
.about-pc-lead p {
  margin: 0;
  line-height: 28px;
}

/* 特徴ブロック共通 (62:5244 / 62:5268 / 62:5252 / 62:5260) */
.about-pc-feat {
  position: absolute;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-start;
  color: #ffffff;
}
.about-pc-feat1 { left: 0;     top: 773px; width: 330.069px; height: 125px; } /* 2つの応募部門 62:5244 */
.about-pc-feat2 { left: 424px; top: 773px; width: 343.735px; height: 125px; } /* 作品形式を統合 62:5268 */
.about-pc-feat3 { left: 0;     top: 938px; width: 330px;     height: 154px; } /* 「6つの視点」62:5252 */
.about-pc-feat4 { left: 424px; top: 938px; width: 344px;     height: 171px; } /* 賞の構成 62:5260 */

.about-pc-feat-head {
  display: flex;
  gap: 12px;
  align-items: center;
}
.about-pc-feat-icon {
  display: block;
  width: 28px;
  height: 25.565px;
}
.about-pc-feat-title {
  margin: 0;
  height: 33px;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 700;
  font-size: 22px;
  line-height: 26px;
  letter-spacing: 2.2px;
}
.about-pc-feat1-title { width: 180px; }
.about-pc-feat2-title { width: 207px; }
.about-pc-feat3-title { width: 339px; } /* Figma上 親幅330より広い（Figmaの値どおり） */
.about-pc-feat4-title { width: 157px; }

.about-pc-feat-body,
.about-pc-feat-body p {
  margin: 0;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 26px;
  letter-spacing: 1.6px;
}
.about-pc-feat1-body { width: 100%; height: 69px; }   /* 62:5251 */
.about-pc-feat2-body { width: 321px; height: 69px; }  /* 62:5275 */
.about-pc-feat3-body { width: 100%; height: 111px; }  /* 62:5259 */
.about-pc-feat4-body { width: 327px; height: 128px; } /* 62:5267 */

/* ============================================================
   03 ABOUT — SP (Figma 122:239 / SP-About, 390x1458, page y=785)
   SPはセクション自体に rgba(0,0,0,0.7) + backdrop-blur 2px
   （Figma上 mix-blend 指定なし）
   ============================================================ */
.sec-about-sp {
  position: relative;
  width: 390px;
  height: 1458px;
  margin: 0 auto;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 50px;
  align-items: center;
  justify-content: center;
  padding: 56px 24px;
  background: rgba(0, 0, 0, 0.7);
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
}

/* 見出し 125:236 */
.about-sp-head {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  text-align: center;
  color: #ffffff;
  white-space: nowrap;
}
.about-sp-title {
  margin: 0;
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 40px;
  line-height: normal;
  letter-spacing: 4px;
}
.about-sp-subtitle {
  margin: 0;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 700;
  font-size: 13px;
  line-height: normal;
  letter-spacing: 2.6px;
}

/* リード文 125:239 */
.about-sp-lead {
  width: 100%;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 500;
  font-size: 15px;
  color: #e0e0e0;
  word-break: break-word;
}
.about-sp-lead p {
  margin: 0;
  line-height: 2; /* Figma値: leading 2 (=30px) */
}

/* 特徴ブロック群 125:240 */
.about-sp-features {
  display: flex;
  flex-direction: column;
  gap: 30px;
  align-items: flex-start;
  width: 100%;
}
.about-sp-feat {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
  width: 100%;
}
.about-sp-feat-head {
  display: flex;
  gap: 8px;
  align-items: center;
  width: 100%;
}
.about-sp-feat-icon {
  display: block;
  width: 21.905px;
  height: 20px;
  flex-shrink: 0;
}
.about-sp-feat-title {
  margin: 0;
  flex: 1 0 0;
  min-width: 1px;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: normal;
  color: #ffffff;
  word-break: break-word;
}
.about-sp-feat-body,
.about-sp-feat-body p {
  margin: 0;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 500;
  font-size: 14px;
  color: #ffffff;
  word-break: break-word;
}
.about-sp-feat-body { width: 100%; }
.about-sp-feat-body--loose,
.about-sp-feat-body--loose p { line-height: 1.7; } /* 125:246 / 125:252 */
.about-sp-feat-body--tracked,
.about-sp-feat-body--tracked p { line-height: 26px; letter-spacing: 1.4px; } /* 125:258 / 125:264 */

/* ===== 04 prize ===== */
/* ============================================================
   04 PRIZE — 部門・賞金
   PC: Figma 62:5276 (1440×2118) / SP: Figma 122:240 (390×1820)
   ============================================================ */

/* ---------- PC ---------- */

.sec-prize-pc {
  position: relative;
  width: 1440px;
  height: 2118px;
  margin: 0 auto;
}

/* 中央の黒パネル（1120px、乗算 + 背景ぼかし） */
.prize-pc-panel {
  position: absolute;
  left: 60px; /* 拡幅: 160-100 */
  top: 0;
  width: 1320px; /* 拡幅: 1120+200 */
  height: 2118px;
  background: rgba(0, 0, 0, 0.7);
  mix-blend-mode: multiply;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}

/* 見出し */
.prize-pc-title {
  position: absolute;
  left: 340px;
  top: 100px;
  width: 723px;
  height: 43px;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 50px;
  line-height: 21px;
  letter-spacing: 5px;
  color: #ffffff;
  text-align: center;
}

.prize-pc-subtitle {
  position: absolute;
  left: 340px;
  top: 157px;
  width: 723px;
  margin: 0;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 21px;
  letter-spacing: 3.6px;
  color: #ffffff;
  text-align: center;
}

.prize-pc-lead {
  position: absolute;
  left: 340px;
  top: 258px;
  width: 723px;
  height: 52px;
  margin: 0;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 28px;
  letter-spacing: 1.8px;
  color: #ffffff;
  text-align: center;
}

/* PROFESSIONAL */
.prize-pc-pro-heading {
  position: absolute;
  left: 340px;
  top: 401px;
  width: 760px;
  height: 33px;
  margin: 0;
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 36px;
  line-height: 21px;
  letter-spacing: 3.6px;
  color: #e40080;
  text-align: center;
}

/* バッジ（総合／各特別賞） */
.prize-pc-badge {
  position: absolute;
  width: 120px;
  height: 42px;
  box-sizing: border-box;
  border: 1px solid #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 700;
  font-size: 18px;
  letter-spacing: 1.8px;
  color: #ffffff;
  white-space: nowrap;
}

.prize-pc-badge-sogo {
  left: 660px;
  top: 474px;
}

.prize-pc-badge-special {
  left: 660px;
  top: 714px;
}

/* 賞金行 */
.prize-pc-row {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 50px;
  white-space: nowrap;
}

.prize-pc-row-gp {
  left: 340px;
  top: 546px;
  width: 760px;
  height: 59px;
}

.prize-pc-row-semi {
  left: 340px;
  top: 621px;
  width: 760px;
}

.prize-pc-row-sp1 {
  left: 340px;
  top: 786px;
  width: 337px;
}

.prize-pc-row-sp2 {
  left: 707px;
  top: 786px;
  width: 337px;
}

.prize-pc-row-label {
  margin: 0;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: normal;
  color: #ffffff;
}

.prize-pc-amount {
  margin: 0;
  font-family: 'Oswald', sans-serif;
  font-weight: 700;
  font-size: 36px;
  line-height: normal;
  color: #ffffff;
}

.prize-pc-amount-lg {
  font-size: 40px;
}

/* 特別賞カード */
.prize-pc-card {
  position: absolute;
  width: 366px;
  box-sizing: border-box;
  border: 1px solid #ccd1d9;
  border-radius: 10px;
  padding: 24px 22px;
}

.prize-pc-card-personal  { left: 340px; top: 899px;  height: 138px; }
.prize-pc-card-souzou    { left: 734px; top: 899px;  height: 138px; }
.prize-pc-card-hair      { left: 340px; top: 1067px; height: 166px; }
.prize-pc-card-makeup    { left: 734px; top: 1067px; height: 166px; }
.prize-pc-card-viewpoint { left: 340px; top: 1263px; }
.prize-pc-card-shikisai  { left: 734px; top: 1263px; }

.prize-pc-card-title {
  margin: 0 0 12px;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: normal;
  color: #ffffff;
  white-space: pre-wrap;
}

.prize-pc-card-desc {
  margin: 0;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 24px;
  color: #ffffff;
}

/* PROFESSIONAL エントリーフィー */
.prize-pc-divider-pink {
  position: absolute;
  left: 340px;
  top: 1459px;
  width: 723px;
  height: 1px;
  background: #e40080;
}

.prize-pc-fee-pro {
  position: absolute;
  left: 340px;
  top: 1480px;
  width: 760px;
  margin: 0;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: normal;
  color: #e40080;
  text-align: center;
}

/* STUDENT */
.prize-pc-stu-heading {
  position: absolute;
  left: 340px;
  top: 1587px;
  width: 760px;
  height: 33px;
  margin: 0;
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 36px;
  line-height: 21px;
  letter-spacing: 3.6px;
  color: #00b2e2;
  text-align: center;
}

.prize-pc-stu-label {
  position: absolute;
  left: 340px;
  top: 1680px;
  margin: 0;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: normal;
  color: #ffffff;
  white-space: nowrap;
}

.prize-pc-stu-text {
  position: absolute;
  left: 500px;
  top: 1680px;
  width: 522px;
  margin: 0;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: normal;
  color: #ffffff;
}

.prize-pc-stu-annot {
  position: absolute;
  left: 937px;
  top: 1686px;
  width: 129px;
  margin: 0;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: normal;
  color: #ffffff;
}

/* STUDENT エントリーフィー */
.prize-pc-divider-cyan {
  position: absolute;
  left: 340px;
  top: 1769px;
  width: 760px;
  height: 1px;
  background: rgba(0, 178, 226, 0.55);
}

.prize-pc-fee-stu {
  position: absolute;
  left: 340px;
  top: 1790px;
  width: 760px;
  margin: 0;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 700;
  color: #00b2e2;
  text-align: center;
  line-height: normal;
}

.prize-pc-fee-stu-label {
  font-size: 18px;
}

.prize-pc-fee-stu-free {
  font-size: 24px;
}

/* 主催者特別賞 注記（Figma 150:5013、ページ側の別ノード） */
.prize-pc-org-note {
  position: absolute;
  left: 351px;
  top: 1890px;
  width: 739px;
  height: 20px;
  margin: 0;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: normal;
  color: #ffffff;
  text-align: center;
}

/* CTA ボタン */
.prize-pc-cta {
  position: absolute;
  left: calc(50% - 0.11px);
  top: 1990px;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 20px 40px;
  box-sizing: border-box;
  background: #000000;
  border: 1px solid #d42e2e;
  border-radius: 6px;
  text-decoration: none;
  white-space: nowrap;
}

.prize-pc-cta-text {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: normal;
  color: #ffffff;
}

.prize-pc-cta-arrow {
  display: block;
  width: 11.775px;
  height: 20px;
  flex-shrink: 0;
}

/* ---------- SP ---------- */

.sec-prize-sp {
  position: relative;
  width: 390px;
  height: 1820px;
  margin: 0 auto;
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}

.prize-sp-title {
  position: absolute;
  left: 0;
  top: 56px;
  width: 390px;
  margin: 0;
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 40px;
  line-height: normal;
  letter-spacing: 4px;
  color: #ffffff;
  text-align: center;
  white-space: nowrap;
}

.prize-sp-subtitle {
  position: absolute;
  left: 0;
  top: 123px;
  width: 390px;
  margin: 0;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 700;
  font-size: 13px;
  line-height: normal;
  letter-spacing: 1.3px;
  color: #ffffff;
  text-align: center;
  white-space: nowrap;
}

.prize-sp-lead {
  position: absolute;
  left: 24px;
  top: 164px;
  width: 342px;
  height: 130px;
  margin: 0;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.85;
  color: #ffffff;
  text-align: center;
}

.prize-sp-pro-heading {
  position: absolute;
  left: 0;
  top: 316px;
  width: 390px;
  margin: 0;
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 30px;
  line-height: normal;
  letter-spacing: 4px;
  color: #e40080;
  text-align: center;
  white-space: nowrap;
}

/* バッジ */
.prize-sp-badge {
  position: absolute;
  height: 31px;
  box-sizing: border-box;
  border: 1px solid #999999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px 18px;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 500;
  font-size: 13px;
  line-height: normal;
  color: #ffffff;
  white-space: nowrap;
}

.prize-sp-badge-sogo {
  left: 164px;
  top: 382px;
  width: 62px;
}

.prize-sp-badge-special {
  left: 151px;
  top: 557px;
  width: 88px;
}

/* 賞金行 */
.prize-sp-row {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 16px;
  white-space: nowrap;
}

.prize-sp-row-gp {
  left: 74px;
  top: 435px;
  width: 242px;
  height: 39px;
}

.prize-sp-row-semi {
  left: 75px;
  top: 496px;
  width: 240px;
  height: 39px;
}

.prize-sp-row-label {
  margin: 0;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 500;
  font-size: 15px;
  line-height: normal;
  color: #ffffff;
}

.prize-sp-amount {
  margin: 0;
  font-family: 'Oswald', sans-serif;
  font-weight: 700;
  font-size: 26px;
  line-height: normal;
  color: #ffffff;
}

.prize-sp-row-special {
  position: absolute;
  left: 26.5px;
  top: 610px;
  width: 337px;
  height: 39px;
  display: flex;
  align-items: flex-start;
  gap: 24px;
  white-space: nowrap;
}

.prize-sp-row-special-group {
  display: flex;
  align-items: center;
  gap: 16px;
}

.prize-sp-row-label-sm {
  margin: 0;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 500;
  font-size: 13px;
  line-height: normal;
  color: #ffffff;
}

/* 特別賞カード */
.prize-sp-card {
  position: absolute;
  left: 24px;
  width: 342px;
  height: 101px;
  box-sizing: border-box;
  border: 1px solid #ccd1d9;
  border-radius: 4px;
  padding: 16px;
}

.prize-sp-card1 { top: 671px; }
.prize-sp-card2 { top: 784px; }
.prize-sp-card3 { top: 897px; }
.prize-sp-card4 { top: 1010px; }
.prize-sp-card5 { top: 1123px; }
.prize-sp-card6 { top: 1236px; }

.prize-sp-card-title {
  margin: 0 0 6px;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: normal;
  color: #ffffff;
}

.prize-sp-card-desc {
  margin: 0;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 500;
  font-size: 12px;
  line-height: 1.7;
  color: #ffffff;
}

/* PROFESSIONAL エントリーフィー */
.prize-sp-divider-pink {
  position: absolute;
  left: 24px;
  top: 1359px;
  width: 342px;
  height: 1px;
  background: #e40080;
}

.prize-sp-fee-pro {
  position: absolute;
  left: 24px;
  top: 1382px;
  width: 342px;
  height: 56px;
  margin: 0;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: normal;
  color: #e40080;
  text-align: center;
  white-space: pre-wrap;
}

/* STUDENT */
.prize-sp-stu-heading {
  position: absolute;
  left: 0;
  top: 1460px;
  width: 390px;
  margin: 0;
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 30px;
  line-height: normal;
  letter-spacing: 4px;
  color: #00b2e2;
  text-align: center;
  white-space: nowrap;
}

.prize-sp-stu-label {
  position: absolute;
  left: 24px;
  top: 1526px;
  width: 342px;
  margin: 0;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: normal;
  color: #ffffff;
  text-align: center;
}

.prize-sp-stu-text {
  position: absolute;
  left: 24px;
  top: 1557px;
  width: 342px;
  margin: 0;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.75;
  color: #ffffff;
  text-align: center;
}

/* STUDENT エントリーフィー */
.prize-sp-divider-cyan {
  position: absolute;
  left: 24px;
  top: 1629px;
  width: 342px;
  height: 1px;
  background: rgba(0, 178, 226, 0.55);
}

.prize-sp-fee-stu {
  position: absolute;
  left: 115px;
  top: 1652px;
  width: 160px;
  height: 26px;
  display: flex;
  align-items: center;
  gap: 12px;
  white-space: nowrap;
}

.prize-sp-fee-stu-label {
  margin: 0;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: normal;
  color: #00b2e2;
}

.prize-sp-fee-stu-free {
  margin: 0;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: normal;
  color: #00b2e2;
}

/* 注記 */
.prize-sp-org-note {
  position: absolute;
  left: 24px;
  top: 1700px;
  width: 342px;
  margin: 0;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 500;
  font-size: 11px;
  line-height: normal;
  color: #ffffff;
  text-align: center;
}

/* CTA ボタン */
.prize-sp-cta {
  position: absolute;
  left: 74px;
  top: 1738px;
  width: 242px;
  height: 50px;
  box-sizing: border-box;
  background: #000000;
  border: 1.5px solid #d42e2e;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  font-size: 15px;
  line-height: normal;
  color: #ffffff;
  text-decoration: none;
  white-space: nowrap;
}

/* ===== 05 entry ===== */
/* ============================================================
   05 ENTRY 応募概要 — PC (73:5694 Frame 20, 1440x2024)
   ============================================================ */
.sec-entry-pc {
  position: relative;
  width: 1440px;
  height: 2024px;
  margin: 0 auto;
}

/* 背景オーバーレイ (73:5695) */
.entry-pc-overlay {
  position: absolute;
  left: 60px; /* 拡幅: 160-100 */
  top: 0;
  width: 1320px; /* 拡幅: 1120+200 */
  height: 2024px;
  background: rgba(0, 0, 0, 0.7);
  mix-blend-mode: multiply;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}

/* --- 見出し (73:5699) --- */
.entry-pc-head {
  position: absolute;
  left: 359px;
  top: 100px;
  width: 723px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  text-align: center;
}
.entry-pc-title {
  margin: 0;
  width: 535px;
  height: 43px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 50px;
  line-height: 21px;
  letter-spacing: 5px;
  color: #ffffff;
}
.entry-pc-subtitle {
  margin: 0;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 21px;
  letter-spacing: 3.6px;
  color: #ffffff;
}

/* --- 本文コンテナ (77:144) left:340 top:294 w:760 --- */
.entry-pc-body {
  position: absolute;
  left: 340px;
  top: 294px;
  width: 760px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 80px;
}

/* --- 部門カード 2枚 (73:6129) --- */
.entry-pc-cards {
  display: flex;
  align-items: center;
  gap: 60px;
  width: 760px;
}
.entry-pc-card {
  position: relative;
  width: 350px;
  height: 376px;
  flex-shrink: 0;
}
.entry-pc-card-cond {
  margin: 0;
  position: absolute;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 500;
  font-size: 20px;
  line-height: normal;
  color: #ffffff;
  text-align: center;
}
.entry-pc-card-cond--pro { left: 26px; top: 0; width: 300px; }
.entry-pc-card-cond--stu {
  left: 0;
  top: 0;
  width: 350px;
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
}
/* タブ状フィルタ（フォト/ムービー） (73:6107 / 73:6117) */
.entry-pc-tabs {
  position: absolute;
  left: 67px;
  top: 85px;
  display: flex;
  align-items: center;
  gap: 19px;
}
.entry-pc-tab {
  border: 1px solid #ffffff;
  box-sizing: border-box;
  padding: 6px 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 500;
  font-size: 20px;
  line-height: normal;
  color: #ffffff;
  text-align: center;
  white-space: nowrap;
}
/* 下向き三角 (73:6106 / 73:6122) — インラインSVG描画 */
.entry-pc-tri {
  position: absolute;
  left: 151px;
  top: 143px;
  width: 49.5px;
  height: 22px;
  display: block;
}
/* 白パネル (73:6105 / 73:6108) */
.entry-pc-panel {
  position: absolute;
  left: 0;
  top: 188px;
  width: 350px;
  height: 188px;
  background: #ffffff;
  border-radius: 10px;
  mix-blend-mode: screen;
}
/* 部門名 (73:6081 PROFESSIONAL / 73:6111 STUDENT) */
.entry-pc-cat {
  margin: 0;
  position: absolute;
  left: 175.5px;
  transform: translateX(-50%);
  top: 214px;
  width: 231px;
  height: 33px;
  font-family: 'Oswald', sans-serif;
  font-size: 32px;
  line-height: 21px;
  letter-spacing: 3.2px;
  text-align: center;
}
.entry-pc-cat--pro { font-weight: 500; color: #e40080; }
.entry-pc-cat--stu { font-weight: 400; color: #00b2e2; }
/* に応募 (73:6083 / 73:6110) */
.entry-pc-apply {
  margin: 0;
  position: absolute;
  left: 175.5px;
  transform: translateX(-50%);
  top: 250px;
  width: 221px;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: normal;
  color: #000000;
  text-align: center;
}
/* カード内区切り線 (73:6087 / 73:6116) — CSS描画 */
.entry-pc-card-divider {
  position: absolute;
  left: 62px;
  top: 293px;
  width: 226px;
  height: 1px;
  background: #6b7380;
}
/* エントリーフィー表記 (73:6085 / 73:6109) */
.entry-pc-fee {
  margin: 0;
  position: absolute;
  left: 175px;
  transform: translateX(-50%);
  top: 306px;
  width: 234px;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: normal;
  color: #000000;
  text-align: center;
}

/* --- 応募情報 (73:6128) --- */
.entry-pc-infowrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 40px;
  width: 100%;
}
.entry-pc-info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 40px;
  width: 444px;
}
.entry-pc-block {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  width: 100%;
}
.entry-pc-h {
  margin: 0;
  width: 336px;
  height: 29px;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: normal;
  color: #ffffff;
}
.entry-pc-li {
  margin: 0;
  display: flex;
  align-items: flex-start;
  line-height: normal;
  color: #ffffff;
}
.entry-pc-bullet {
  flex-shrink: 0;
  display: inline-block;
  width: 14px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: normal;
}
.entry-pc-li--point .entry-pc-bullet { width: auto; margin-right: 8px; }
.entry-pc-li-text {
  width: 526px;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 500;
  font-size: 15px;
  line-height: normal;
}
.entry-pc-li--point .entry-pc-li-text { width: auto; flex: 1 0 0; }
.entry-pc-note-line {
  margin: 0;
  width: 526px;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 500;
  font-size: 15px;
  line-height: normal;
  color: #ffffff;
}
.entry-pc-period {
  margin: 0;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 500;
  font-size: 15px;
  line-height: normal;
  letter-spacing: 1.5px;
  color: #ffffff;
}

/* --- エントリーフィー表 (73:6127 / 73:6040) --- */
.entry-pc-feewrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  width: 100%;
}
.entry-pc-feetable {
  position: relative;
  width: 760px;
  height: 120px;
  border: 1px solid #ffffff;
  box-sizing: border-box;
}
.entry-pc-feerow {
  position: absolute;
  left: 1px;
  width: 728px;
  padding: 0 30px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.entry-pc-feerow1 { top: 17px; }
.entry-pc-feerow2 { top: 76px; }
.entry-pc-feecell-name {
  margin: 0;
  width: 228px;
  height: 29px;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: normal;
  color: #ffffff;
}
.entry-pc-feecell-price {
  margin: 0;
  width: 147px;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: normal;
  color: #ffffff;
}
/* 表の罫線 (73:6066 / 73:6067) — CSS描画 */
.entry-pc-feetable-vline {
  position: absolute;
  left: 485px;
  top: 0;
  width: 1px;
  height: 118px;
  background: #ffffff;
}
.entry-pc-feetable-hline {
  position: absolute;
  left: 0;
  top: 59px;
  width: 758px;
  height: 1px;
  background: #ffffff;
}

/* --- エントリーの流れ (77:143) --- */
.entry-pc-flow {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  width: 100%;
}
.entry-pc-steps {
  display: flex;
  align-items: center;
  gap: 10px;
}
.entry-pc-step {
  width: 144px;
  height: 220px;
  background: #ffffff;
  border-radius: 10px;
  padding: 18px 16px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  overflow: hidden;
  flex-shrink: 0;
}
.entry-pc-step-num {
  width: 36px;
  height: 36px;
  background: #0f0f12;
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: normal;
  color: #ffffff;
}
.entry-pc-step-title {
  margin: 0;
  width: 100%;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 23px;
  color: #121721;
}
.entry-pc-step-title--sm { font-size: 16px; }
.entry-pc-step-desc {
  margin: 0;
  width: 100%;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 400;
  font-size: 13px;
  line-height: 19px;
  color: #393939;
}
.entry-pc-flownote {
  margin: 0;
  width: 100%;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 13px;
  line-height: 20px;
  color: #ffffff;
}

/* --- CTAボタン (73:5689) --- */
.entry-pc-btn {
  position: absolute;
  left: 719.89px;
  top: 1840px;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 20px 40px;
  background: #000000;
  border: 1px solid #d42e2e;
  box-sizing: border-box;
  border-radius: 6px;
  overflow: hidden;
  text-decoration: none;
}
.entry-pc-btn-label {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: normal;
  color: #ffffff;
  white-space: nowrap;
}
.entry-pc-btn-arrow {
  width: 11.775px;
  height: 20px;
  display: block;
  flex-shrink: 0;
}

/* ============================================================
   05 ENTRY 応募概要 — SP (122:241 SP-Entry, 390x2026)
   ============================================================ */
.sec-entry-sp {
  position: relative;
  width: 390px;
  height: 2026px;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 56px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 24px;
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}

/* --- 見出し (127:236) --- */
.entry-sp-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-align: center;
}
.entry-sp-title {
  margin: 0;
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 40px;
  line-height: normal;
  letter-spacing: 4px;
  color: #ffffff;
  white-space: nowrap;
}
.entry-sp-subtitle {
  margin: 0;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 700;
  font-size: 13px;
  line-height: normal;
  letter-spacing: 2.6px;
  color: #ffffff;
  white-space: nowrap;
}

/* --- 部門ブロック (127:239 / 127:253) --- */
.entry-sp-group {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
.entry-sp-cond {
  margin: 0;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.6;
  color: #ffffff;
  text-align: center;
}
.entry-sp-tabs {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.entry-sp-tab {
  border: 1px solid #ffffff;
  box-sizing: border-box;
  padding: 6px 16px;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: normal;
  color: #ffffff;
  white-space: nowrap;
}
.entry-sp-tri {
  width: 49.5px;
  height: 22px;
  display: block;
  flex-shrink: 0;
}
.entry-sp-card {
  width: 342px;
  background: #ffffff;
  border-radius: 4px;
  box-sizing: border-box;
  padding: 22px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  overflow: hidden;
}
.entry-sp-card-title {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
.entry-sp-cat {
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 24px;
  line-height: normal;
}
.entry-sp-cat--pro { color: #e40080; }
.entry-sp-cat--stu { color: #00b2e2; }
.entry-sp-apply {
  align-self: flex-end;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 700;
  font-size: 13px;
  line-height: normal;
  color: #000000;
}
.entry-sp-card-divider {
  width: 100%;
  height: 1px;
  background: #6b7380;
}
.entry-sp-fee {
  margin: 0;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 700;
  font-size: 15px;
  line-height: normal;
  color: #000000;
  text-align: center;
  white-space: nowrap;
}

/* --- 応募情報 (128:236) --- */
.entry-sp-info {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
}
.entry-sp-block {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}
.entry-sp-h {
  margin: 0;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: normal;
  color: #ffffff;
  white-space: nowrap;
}
.entry-sp-lines {
  width: 100%;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 500;
  font-size: 13px;
  color: #ffffff;
}
.entry-sp-lines p {
  margin: 0;
  line-height: 1.85;
  white-space: pre-wrap; /* コンテナに適用するとタグ間改行が空行化するためpのみ */
}
.entry-sp-period {
  margin: 0;
  width: 100%;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.85;
  letter-spacing: 1.6px;
  color: #ffffff;
}

/* エントリーフィー表 (128:246) */
.entry-sp-feeblock { gap: 12px; }
.entry-sp-h--fee { font-size: 15px; }
.entry-sp-feetable {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.entry-sp-feerow {
  width: 100%;
  display: flex;
  align-items: stretch;
}
.entry-sp-feecell {
  border: 1px solid rgba(153, 153, 153, 0.5);
  box-sizing: border-box;
  padding: 14px 16px;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.entry-sp-feecell p {
  margin: 0;
  font-size: 14px;
  line-height: normal;
  color: #ffffff;
  white-space: nowrap;
  font-family: 'Zen Kaku Gothic New', sans-serif;
}
.entry-sp-feecell-name { flex: 1 0 0; min-width: 1px; }
.entry-sp-feecell-name p { font-weight: 500; }
.entry-sp-feecell-price { width: 130px; flex-shrink: 0; }
.entry-sp-feecell-price p { font-weight: 700; }

/* --- エントリーの流れ (129:236〜) --- */
.entry-sp-flowtitle {
  margin: 0;
  width: 100%;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: normal;
  color: #ffffff;
}
.entry-sp-steps {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}
.entry-sp-step {
  width: 100%;
  background: #ffffff;
  border-radius: 6px;
  box-sizing: border-box;
  padding: 16px;
  display: flex;
  align-items: center;
  gap: 14px;
  overflow: hidden;
}
.entry-sp-step-num {
  width: 30px;
  height: 30px;
  background: #000000;
  border-radius: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 13px;
  line-height: normal;
  color: #ffffff;
}
.entry-sp-step-body {
  flex: 1 0 0;
  min-width: 1px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}
.entry-sp-step-title {
  margin: 0;
  width: 100%;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: normal;
  color: #000000;
}
.entry-sp-step-desc {
  margin: 0;
  width: 100%;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 500;
  font-size: 13px;
  line-height: 1.6;
  color: #595959;
}
.entry-sp-flownote {
  margin: 0;
  width: 100%;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: normal;
  color: #ffffff;
}

/* --- CTAボタン (129:269) --- */
.entry-sp-btn {
  display: flex;
  align-items: center;
  padding: 16px 40px;
  background: #000000;
  border: 1.5px solid #d42e2e;
  box-sizing: border-box;
  overflow: hidden;
  text-decoration: none;
}
.entry-sp-btn-label {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  font-size: 15px;
  line-height: normal;
  color: #ffffff;
  white-space: nowrap;
}

/* ===== 06 judges ===== */
/* ============================================
   06 JUDGES — PC (Figma 81:145 / 1440x1151)
   ============================================ */
.sec-judges-pc {
  position: relative;
  width: 1440px;
  height: 1151px;
  margin: 0 auto;
}
.sec-judges-pc p {
  margin: 0;
}

/* 半透明オーバーレイ (81:146) */
.judges-pc-overlay {
  position: absolute;
  left: 60px; /* 拡幅: 160-100 */
  top: 0;
  width: 1320px; /* 拡幅: 1120+200 */
  height: 1151px;
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  mix-blend-mode: multiply;
}

/* 見出し (81:149) */
.judges-pc-title {
  position: absolute;
  left: 0.5px;
  top: 100px;
  width: 1440px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  text-align: center;
  color: #fff;
}
.judges-pc-title-en {
  height: 43px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 50px;
  letter-spacing: 5px;
  line-height: 21px;
}
.judges-pc-title-ja {
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 700;
  font-size: 18px;
  letter-spacing: 3.6px;
  line-height: 21px;
}

/* 写真 (マスク済み書き出しPNG 224x224) */
.judges-pc-photo {
  position: absolute;
  display: block;
  object-fit: cover;
}
/* 1段目 (81:341: y=322) */
.judges-pc-photo-uda    { left: 340.07px; top: 322px; width: 223.857px; height: 224px; }
.judges-pc-photo-shindo { left: 607.93px; top: 322px; width: 224px;     height: 224px; }
.judges-pc-photo-nara   { left: 875.93px; top: 322px; width: 224px;     height: 224px; }
/* 2段目 (81:342: y=718.96) */
.judges-pc-photo-hideka { left: 474px;    top: 718.96px; width: 224px;  height: 224px; }
.judges-pc-photo-sawai  { left: 742px;    top: 718.96px; width: 224px;  height: 224px; }

/* 肩書き+名前ブロック */
.judges-pc-card {
  position: absolute;
  width: 224px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  text-align: center;
  color: #fff;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 500;
}
/* 1段目 (y = 452 + 100) */
.judges-pc-card-uda    { left: 340px; top: 552px; height: 89px; }
.judges-pc-card-shindo { left: 609px; top: 552px; }
.judges-pc-card-nara   { left: 876px; top: 552px; }
/* 2段目 (y = 849 + 100) */
.judges-pc-card-hideka { left: 474px; top: 949px; height: 89px; }
.judges-pc-card-sawai  { left: 742px; top: 949px; height: 89px; }

.judges-pc-role {
  display: flex;
  flex-direction: column;
  justify-content: center;
  line-height: normal;
  white-space: nowrap; /* 肩書は<br>指定行のまま折り返さない（文字落ち防止） */
}
.judges-pc-role-14 {
  flex: 1 0 0;
  min-height: 1px;
  font-size: 14px;
  letter-spacing: 1.4px;
}
.judges-pc-role-12 {
  height: 54px;
  font-size: 12px;
  letter-spacing: 1.2px;
}
.judges-pc-name {
  font-size: 20px;
  letter-spacing: 2px;
  line-height: normal;
}

/* ============================================
   06 JUDGES — SP (Figma 122:242 / 390x1071)
   ============================================ */
.sec-judges-sp {
  position: relative;
  width: 390px;
  height: 1071px;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 56px 24px;
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 28px;
}
.sec-judges-sp p {
  margin: 0;
}

/* 見出し (130:236) */
.judges-sp-title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  color: #fff;
  text-align: center;
}
.judges-sp-title-en {
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 40px;
  letter-spacing: 4px;
  line-height: normal;
}
.judges-sp-title-ja {
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 2.6px;
  line-height: normal;
}

/* カードグリッド (130:240) */
.judges-sp-grid {
  display: flex;
  flex-direction: column;
  gap: 22px;
  width: 100%;
}
.judges-sp-row {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  width: 100%;
}
.judges-sp-card {
  flex: 1 0 0;
  min-width: 1px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  color: #fff;
  text-align: center;
}
.judges-sp-photo {
  width: 100%;
  height: 164px;
  overflow: hidden;
}
.judges-sp-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.judges-sp-role {
  width: auto; /* nowrapの長い行をカード中心基準で両側に均等はみ出しさせ、画面内(390px)に収める */
  align-self: center;
  max-width: none;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 500;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap; /* 肩書は<br>指定行のまま折り返さない（文字落ち防止） */
}
.judges-sp-name {
  width: 100%;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: normal;
}

/* ===== 07 guideline ===== */
/* ============================================
   07 GUIDELINE 応募規定 — PC (node 87:371, 1440x2400)
   ============================================ */
.sec-guideline-pc{
  position:relative;
  width:1440px;
  height:2400px;
  margin:0 auto;
}
/* 半透明黒オーバーレイ (87:372) 1120x2400 中央 */
.guideline-pc-overlay{
  position:absolute;
  left: 60px; /* 拡幅: 160-100 */
  top:0;
  width: 1320px; /* 拡幅: 1120+200 */
  height:2400px;
  background:rgba(0,0,0,0.7);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
  mix-blend-mode:multiply;
}
/* コンテンツ枠 (87:374) 760x2300 中央 top100 */
.guideline-pc-inner{
  position:absolute;
  left:50%;
  top:100px;
  transform:translateX(-50%);
  width:760px;
  height:2300px;
}
/* 見出しブロック (87:375) */
.guideline-pc-head{
  position:absolute;
  left:calc(50% + 0.5px);
  top:0;
  transform:translateX(-50%);
  width:723px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  text-align:center;
  color:#ffffff;
}
.guideline-pc-title-en{
  margin:0;
  width:100%;
  height:43px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Oswald',sans-serif;
  font-weight:500;
  font-size:50px;
  letter-spacing:5px;
  line-height:21px;
}
.guideline-pc-title-ja{
  margin:0;
  width:100%;
  font-family:'Zen Kaku Gothic New',sans-serif;
  font-weight:700;
  font-size:18px;
  letter-spacing:3.6px;
  line-height:21px;
}
/* 本文カラム (87:636) left:0 top:188 w:760 */
.guideline-pc-body{
  position:absolute;
  left:0;
  top:188px;
  width:760px;
  display:flex;
  flex-direction:column;
  color:#ffffff;
}
.guideline-pc-block{
  display:flex;
  flex-direction:column;
  gap:8px;
  width:100%;
}
.guideline-pc-mb60{margin-bottom:60px;}
.guideline-pc-mb40{margin-bottom:40px;}
/* ブロック見出し (h:29px 固定) */
.guideline-pc-h{
  margin:0;
  height:29px;
  font-size:20px;
  line-height:normal;
  color:#ffffff;
}
.guideline-pc-h-ja{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:700;}
.guideline-pc-h-en{font-family:'Oswald',sans-serif;font-weight:700;}
/* 段落テキスト */
.guideline-pc-text{
  margin:0;
  font-family:'Zen Kaku Gothic New',sans-serif;
  font-weight:500;
  font-size:15px;
  line-height:normal;
  color:#ffffff;
}
.guideline-pc-track{letter-spacing:1.5px;}
.guideline-pc-w756{width:756px;}
/* 箇条書き行: ● + テキスト */
.guideline-pc-li{
  display:flex;
  align-items:flex-start;
  gap:8px;
  width:100%;
}
.guideline-pc-dot{
  flex-shrink:0;
  font-family:'Noto Sans JP',sans-serif;
  font-weight:700;
  font-size:14px;
  line-height:normal;
  color:#ffffff;
  white-space:nowrap;
}
.guideline-pc-litext{
  flex:1 0 0;
  min-width:1px;
  font-family:'Zen Kaku Gothic New',sans-serif;
  font-weight:500;
  font-size:15px;
  line-height:normal;
  color:#ffffff;
}
/* CTAボタン (73:5689) top:2113 中央 */
.guideline-pc-cta{
  position:absolute;
  left:calc(50% - 0.11px);
  top:2113px;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:20px 40px;
  background:#000000;
  border:1px solid #d42e2e;
  border-radius:6px;
  box-sizing:border-box;
  overflow:hidden;
  text-decoration:none;
}
.guideline-pc-cta-label{
  font-family:'Noto Sans JP',sans-serif;
  font-weight:700;
  font-size:20px;
  line-height:normal;
  color:#ffffff;
  white-space:nowrap;
}
.guideline-pc-cta-arrow{
  display:block;
  width:11.775px;
  height:20px;
  flex-shrink:0;
}

/* ============================================
   07 GUIDELINE 応募規定 — SP (node 122:243, 390x2404)
   ============================================ */
.sec-guideline-sp{
  position:relative;
  width:390px;
  height:2404px;
  margin:0 auto;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:26px;
  padding:56px 24px;
  background:rgba(0,0,0,0.7);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
  color:#ffffff;
}
.guideline-sp-head{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
}
.guideline-sp-title-en{
  margin:0;
  font-family:'Oswald',sans-serif;
  font-weight:500;
  font-size:36px;
  letter-spacing:3.6px;
  line-height:normal;
  white-space:nowrap;
}
.guideline-sp-title-ja{
  margin:0;
  font-family:'Zen Kaku Gothic New',sans-serif;
  font-weight:700;
  font-size:13px;
  letter-spacing:2.6px;
  line-height:normal;
  text-align:center;
  white-space:nowrap;
}
.guideline-sp-body{
  display:flex;
  flex-direction:column;
  gap:24px;
  width:100%;
}
/* 見出し+本文ブロック (gap10) */
.guideline-sp-block{
  display:flex;
  flex-direction:column;
  gap:10px;
  width:100%;
}
/* PROFESSIONAL / STUDENT カテゴリブロック (gap12) */
.guideline-sp-cat{
  display:flex;
  flex-direction:column;
  gap:12px;
  width:100%;
}
/* 【写真/動画の場合】サブブロック (gap6) */
.guideline-sp-sub{
  display:flex;
  flex-direction:column;
  gap:6px;
  width:100%;
}
.guideline-sp-h{
  margin:0;
  font-family:'Zen Kaku Gothic New',sans-serif;
  font-weight:700;
  font-size:16px;
  line-height:normal;
  white-space:nowrap;
}
.guideline-sp-h-en{
  margin:0;
  font-family:'Oswald',sans-serif;
  font-weight:500;
  font-size:18px;
  letter-spacing:1px;
  line-height:normal;
  white-space:nowrap;
}
.guideline-sp-subh{
  margin:0;
  font-family:'Zen Kaku Gothic New',sans-serif;
  font-weight:700;
  font-size:13px;
  line-height:normal;
  white-space:nowrap;
}
.guideline-sp-text{
  font-family:'Zen Kaku Gothic New',sans-serif;
  font-weight:500;
  font-size:13px;
  width:100%;
}
.guideline-sp-text p{
  margin:0;
  line-height:1.85;
}
/* ●の後の2スペースを保持 */
.guideline-sp-pre p{white-space:pre-wrap;} /* コンテナに適用するとタグ間改行が空行化するためpのみ */
/* CTAボタン (131:268) */
.guideline-sp-cta{
  flex-shrink:0; /* 数pxの端数超過でCTAが潰れないように */
  display:flex;
  align-items:center;
  padding:16px 40px;
  background:#000000;
  border:1.5px solid #d42e2e;
  box-sizing:border-box;
  overflow:hidden;
  text-decoration:none;
}
.guideline-sp-cta-label{
  font-family:'Noto Sans JP',sans-serif;
  font-weight:700;
  font-size:15px;
  line-height:18px; /* Figma: text h18 + pad16*2 = CTA高50px */
  color:#ffffff;
  white-space:nowrap;
}

/* ===== 08 award ===== */
/* ============================================
   08 AWARD 授賞式 — PC (Figma 87:637 / 1440x720)
   ============================================ */
.sec-award-pc{
  position:relative;
  width:1440px;
  height:720px;
  margin:0 auto;
}

/* 半透明黒オーバーレイ (87:638) — 背景写真の上に乗る前提 */
.award-pc-overlay{
  position:absolute;
  left: 60px; /* 拡幅: 160-100 */
  top:0;
  width: 1320px; /* 拡幅: 1120+200 */
  height:720px;
  background:rgba(0,0,0,0.7);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
  mix-blend-mode:multiply;
}

/* AWARD (87:645) Oswald Medium 50px / lh21 / ls5 */
.award-pc-title{
  position:absolute;
  left:453px;
  top:100px;
  width:535px;
  height:43px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  font-family:'Oswald',sans-serif;
  font-weight:500;
  font-size:50px;
  line-height:21px;
  letter-spacing:5px;
  text-align:center;
  color:#ffffff;
}

/* 授賞式 (87:646) Zen Kaku Gothic New Bold 18px / lh21 / ls3.6 */
.award-pc-subtitle{
  position:absolute;
  left:505px;
  top:157px;
  width:431px;
  margin:0;
  font-family:'Zen Kaku Gothic New',sans-serif;
  font-weight:700;
  font-size:18px;
  line-height:21px;
  letter-spacing:3.6px;
  text-align:center;
  color:#ffffff;
}

/* 2026.11.16 (87:684) Oswald Medium 32px / lh21 / ls3.2 */
.award-pc-date{
  position:absolute;
  left:340px;
  top:287px;
  width:760px;
  height:33px;
  margin:0;
  font-family:'Oswald',sans-serif;
  font-weight:500;
  font-size:32px;
  line-height:21px;
  letter-spacing:3.2px;
  text-align:center;
  color:#ffffff;
}

/* 会場名 (87:700) Zen Kaku Gothic New Medium 20px / lh normal / ls2 */
.award-pc-venue{
  position:absolute;
  left:454px;
  top:360px;
  width:533px;
  margin:0;
  font-family:'Zen Kaku Gothic New',sans-serif;
  font-weight:500;
  font-size:20px;
  line-height:normal;
  letter-spacing:2px;
  text-align:center;
  color:#ffffff;
  white-space:pre-wrap;
}

/* 会場マップ (87:704) */
.award-pc-map{
  position:absolute;
  left:621px;
  top:477px;
  width:188px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  text-decoration:none;
  cursor:pointer;
}
.award-pc-map-pin{
  display:block;
  width:38px;
  height:48px;
}
.award-pc-map-label{
  display:block;
  width:100%;
  height:29px;
  font-family:'Zen Kaku Gothic New',sans-serif;
  font-weight:700;
  font-size:16px;
  line-height:normal;
  text-align:center;
  color:#ffffff;
}

/* ============================================
   08 AWARD 授賞式 — SP (Figma 122:244 / 390x452)
   ============================================ */
.sec-award-sp{
  position:relative;
  width:390px;
  height:452px;
  margin:0 auto;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:24px;
  padding:56px 24px;
  background:rgba(0,0,0,0.7);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
  /* mix-blend-mode:multiply は削除: セクション自体に掛かると内包する白文字まで乗算されて沈むため（他SPセクションと同じ通常合成に統一） */
}

/* 見出しグループ (132:236) gap8 */
.award-sp-heading{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  text-align:center;
}
/* AWARD (132:237) Oswald Medium 38px / ls3.8 */
.award-sp-title{
  margin:0;
  font-family:'Oswald',sans-serif;
  font-weight:500;
  font-size:38px;
  line-height:normal;
  letter-spacing:3.8px;
  color:#ffffff;
  white-space:nowrap;
}
/* 授賞式 (132:238) Zen Kaku Gothic New Bold 13px / ls2.6 */
.award-sp-subtitle{
  margin:0;
  font-family:'Zen Kaku Gothic New',sans-serif;
  font-weight:700;
  font-size:13px;
  line-height:normal;
  letter-spacing:2.6px;
  color:#ffffff;
  white-space:nowrap;
}

/* 2026.11.16 (132:239) Oswald Medium 30px / ls2 */
.award-sp-date{
  margin:0;
  font-family:'Oswald',sans-serif;
  font-weight:500;
  font-size:30px;
  line-height:normal;
  letter-spacing:2px;
  text-align:center;
  color:#ffffff;
  white-space:nowrap;
}

/* 会場名 (132:240) Zen Kaku Gothic New Medium 14px / lh1.8 */
.award-sp-venue{
  margin:0;
  font-family:'Zen Kaku Gothic New',sans-serif;
  font-weight:500;
  font-size:14px;
  line-height:1.8;
  text-align:center;
  color:#ffffff;
  white-space:nowrap;
}

/* 会場マップ (108:1845) */
.award-sp-map{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  width:188px;
  text-decoration:none;
  cursor:pointer;
}
.award-sp-map-pin{
  display:block;
  width:38px;
  height:48px;
}
.award-sp-map-label{
  display:block;
  width:100%;
  height:29px;
  font-family:'Zen Kaku Gothic New',sans-serif;
  font-weight:700;
  font-size:16px;
  line-height:normal;
  text-align:center;
  color:#ffffff;
}

/* ===== 09 archive ===== */
/* ============================================
   09 ARCHIVE — 過去の開催
   PC: Figma 108:355 (Frame 24, 1440x614)
   SP: Figma 122:245 (SP-Archive, 390x391)
   ============================================ */

/* ---------- PC ---------- */
.sec-archive-pc {
  position: relative;
  width: 1440px;
  height: 614px;
  margin: 0 auto;
}

/* 108:356 半透明黒オーバーレイ（中央 1120px, blur 2px, multiply） */
.archive-pc-overlay {
  position: absolute;
  left: 60px; /* 拡幅: 160-100 */
  top: 0;
  width: 1320px; /* 拡幅: 1120+200 */
  height: 614px;
  background: rgba(0, 0, 0, 0.7);
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
  mix-blend-mode: multiply;
}

/* 108:363 ARCHIVE */
.archive-pc-title {
  position: absolute;
  left: 0;
  top: 100px;
  width: 1440px;
  height: 43px;
  margin: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 50px;
  line-height: 21px;
  letter-spacing: 5px;
  color: #ffffff;
  text-align: center;
}

/* 108:364 過去の開催 */
.archive-pc-subtitle {
  position: absolute;
  left: 0;
  top: 157px;
  width: 1440px;
  height: 21px;
  margin: 0;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 21px;
  letter-spacing: 3.6px;
  color: #ffffff;
  text-align: center;
}

/* 108:366 年号リンク列（2022→2023→2024→2025, gap 20px） */
.archive-pc-years {
  position: absolute;
  left: 340px;
  top: 287px;
  width: 760px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
}

/* 108:367 / 108:395 / 108:397 / 108:399 */
.archive-pc-year {
  display: block;
  width: 100%;
  height: 33px;
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 24px;
  line-height: 21px;
  letter-spacing: 2.4px;
  color: #ffffff;
  text-align: center;
  text-decoration: underline;
  text-decoration-thickness: from-font;
  text-underline-position: from-font;
}

/* ---------- SP ---------- */
.sec-archive-sp {
  position: relative;
  width: 390px;
  height: 391px;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 56px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 28px;
  background: rgba(0, 0, 0, 0.7);
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
  text-align: center;
}

/* 132:245 見出しグループ（gap 8px） */
.archive-sp-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

/* 132:246 ARCHIVE */
.archive-sp-title {
  margin: 0;
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 38px;
  line-height: normal;
  letter-spacing: 3.8px;
  color: #ffffff;
  white-space: nowrap;
}

/* 132:247 過去の開催 */
.archive-sp-subtitle {
  margin: 0;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 700;
  font-size: 13px;
  line-height: normal;
  letter-spacing: 2.6px;
  color: #ffffff;
  white-space: nowrap;
}

/* 132:248 年号リンク列（gap 16px） */
.archive-sp-years {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

/* 132:249〜132:252 */
.archive-sp-year {
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 20px;
  line-height: normal;
  letter-spacing: 2px;
  color: #ffffff;
  text-decoration: underline;
  text-decoration-thickness: from-font;
  text-underline-position: from-font;
  white-space: nowrap;
}

/* ===== 10 footer ===== */
/* ============================================
   10-footer — フッター（CTA帯含む）
   PC: Figma 102:159 (Frame 87, 1440x620)
   SP: Figma 122:246 (SP-Footer, 390x448)
   ============================================ */

/* ---------- PC ---------- */
.sec-footer-pc {
  position: relative;
  width: 1440px;
  height: 620px;
  margin: 79px auto 0;
  background: #000000;
}

/* CTAタイトル 102:161 (x=404.5 y=120 w=631) */
.footer-pc-title {
  position: absolute;
  left: 404.5px;
  top: 120px;
  width: 631px;
  margin: 0;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 500;
  font-size: 32px;
  line-height: 21px; /* Figma値: font-size より小さい点に注意 */
  letter-spacing: 3.2px;
  text-align: center;
  color: #ffffff;
  white-space: nowrap; /* Figma実測: 1行 (w631 h21) — Chromeの末尾字間による折返し防止 */
}

/* CTAボタン 73:5689 (y=211, 中央配置, Figma実寸 約301.775x69) */
.footer-pc-cta {
  position: absolute;
  left: 50%;
  top: 211px;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  /* Figma: padding 40/20 + stroke 1px(内側) → border-box で 39/19 + border 1px */
  padding: 19px 39px;
  border: 1px solid #d42e2e;
  border-radius: 6px;
  background: #000000;
  box-sizing: border-box;
  text-decoration: none;
  overflow: hidden;
}

.footer-pc-cta-text {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: normal;
  color: #ffffff;
  white-space: nowrap;
}

/* 矢印 62:5192 (11.775x20) */
.footer-pc-cta-arrow {
  display: block;
  width: 11.775px;
  height: 20px;
  flex-shrink: 0;
}

/* Instagramアイコン 108:351 (x=700 y=360 40x40) */
.footer-pc-instagram {
  position: absolute;
  left: 700px;
  top: 360px;
  width: 40px;
  height: 40px;
  display: block;
}

.footer-pc-instagram img {
  display: block;
  width: 100%;
  height: 100%;
}

/* フッターリンク 108:352 (x=160 y=430 w=1120) */
.footer-pc-links {
  position: absolute;
  left: 160px;
  top: 430px;
  width: 1120px;
  margin: 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 13px;
  line-height: 20px;
  text-align: center;
  color: #ffffff;
}

.footer-pc-links a {
  color: #ffffff;
  text-decoration: none;
}

/* コピーライト 108:353 (x=160 y=480 w=1120) */
.footer-pc-copyright {
  position: absolute;
  left: 160px;
  top: 480px;
  width: 1120px;
  margin: 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 13px;
  line-height: 20px;
  text-align: center;
  color: #ffffff;
}

/* ---------- SP ---------- */
/* Figma auto-layout (column, gap28, py72 px24, 中央寄せ) を flex で忠実再現 */
.sec-footer-sp {
  position: relative;
  width: 390px;
  height: 448px;
  margin: 54px auto 0;
  background: #000000;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 28px;
  padding: 72px 24px;
  box-sizing: border-box;
}

/* CTAタイトル 133:236 (w=342) */
.footer-sp-title {
  width: 100%;
  margin: 0;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 700;
  font-size: 19px;
  line-height: 1.6;
  letter-spacing: 1px;
  text-align: center;
  color: #ffffff;
}

/* CTAボタン 133:237 (border 1.5 #d42e2e, 角丸なし) */
.footer-sp-cta {
  display: flex;
  align-items: center;
  /* Figma: padding 44/16 + stroke 1.5px(内側) → 42.5/14.5 + border 1.5px */
  padding: 14.5px 42.5px;
  border: 1.5px solid #d42e2e;
  background: #000000;
  box-sizing: border-box;
  text-decoration: none;
  overflow: hidden;
}

.footer-sp-cta-text {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  font-size: 15px;
  line-height: normal;
  color: #ffffff;
  white-space: nowrap;
}

/* Instagramアイコン 133:239 (30x30) */
.footer-sp-instagram {
  width: 30px;
  height: 30px;
  display: block;
  flex-shrink: 0;
}

.footer-sp-instagram img {
  display: block;
  width: 100%;
  height: 100%;
}

/* フッターリンク 133:242 (w=342, 2行に折返し) */
.footer-sp-links {
  width: 100%;
  margin: 0;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 500;
  font-size: 11px;
  line-height: 1.6;
  text-align: center;
  color: #b8b8b8;
  white-space: pre-wrap;
}

.footer-sp-links a {
  color: #b8b8b8;
  text-decoration: none;
}

/* コピーライト 133:243 */
.footer-sp-copyright {
  margin: 0;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 500;
  font-size: 11px;
  line-height: normal;
  text-align: center;
  color: #b8b8b8;
  white-space: nowrap;
}

/* ==============================================================
   中間幅PC(768〜1439px)の zoom スケーリング補正
   script.js が html に zoom と --pc-zoom を設定する。
   vw/vh 指定のフルブリード要素は zoom の影響を受けないため割り戻す。
   ============================================================== */
@media (min-width: 768px) {
  .hero-pc-bg {
    width: calc(100vw / var(--pc-zoom, 1));
    height: calc(100vh / var(--pc-zoom, 1));
  }
}
