/* ============================================================
   CHIBA LOCAL MATCH — DESIGN SYSTEM
   白ベース × 千葉の海・空ブルー × 温かいコーラル
   「街を歩く。街を知る。人と出会う。」
   ※ クラス名はケイズエムズ サイトエディタの編集エンジンと共通。
     （.lp-sec / .hero__bg / .ph / .rv / .ev-modal などは変更しないこと）
   ============================================================ */

/* ---------- DESIGN TOKENS ---------- */
:root{
  /* ラブリーピンク × クリーム（女の子が参加しやすいトーン） */
  --clm-sea:#E891A8;      --clm-sea-deep:#C85A7A;   --clm-sea-soft:#FFF0F4;
  --clm-sky:#F4B8C8;      --clm-sky-deep:#E891A8;   --clm-sky-soft:#FFF7FA;
  /* 街のあかり */
  --clm-coral:#FF8FAB;    --clm-coral-deep:#F06292; --clm-coral-soft:#FFF1F5;
  --clm-pink:#FF6B9D;     --clm-pink-deep:#E84A86;  --clm-pink-soft:#FFEAF2;
  /* システム（NFC / LOVE CALL） */
  --clm-tech:#C9A0DC;     --clm-tech-deep:#A56BC7;  --clm-tech-soft:#F8F0FC;
  --clm-green:#7BC4A8;    --clm-green-deep:#4FA88A; --clm-green-soft:#F0FAF6;
  --clm-sand:#F2C063;

  --clm-ink:#4A3340;
  --clm-ink-soft:#8B6F7A;
  --clm-line:#F3D9E2;
  --clm-paper:#FFFBFC;
  --clm-paper-2:#FFF5F8;
  --clm-paper-3:#FFE8F0;

  /* セクションアクセント（data-accent で切替） */
  --acc:var(--clm-sea); --acc-deep:var(--clm-sea-deep); --acc-soft:var(--clm-sea-soft);

  --font-display:'Outfit','Zen Maru Gothic',sans-serif;
  --font-jp-head:'Zen Maru Gothic','Zen Kaku Gothic New','Noto Sans JP',sans-serif;
  --font-body:'Zen Maru Gothic','Noto Sans JP',sans-serif;

  --radius-sm:16px; --radius:24px; --radius-lg:36px;
  --header-h:74px;
  --pad-x:clamp(20px,5vw,64px);

  --sh-1:0 2px 8px rgba(21,41,59,.05);
  --sh-2:0 8px 26px rgba(21,41,59,.09);
  --sh-3:0 18px 50px rgba(21,41,59,.13);
  --sh-sea:0 14px 34px rgba(27,127,196,.20);

  /* エディタ COLORS パネル互換（変更しないこと） */
  --red:var(--clm-coral); --blue:var(--clm-sea); --green:var(--clm-green);
  --soft:var(--clm-paper-2); --ink:var(--clm-ink);
  --dp-ink:var(--clm-ink); --dp-paper:var(--clm-paper); --dp-paper-2:var(--clm-paper-2);
}
[data-accent="sea"]   {--acc:var(--clm-sea);   --acc-deep:var(--clm-sea-deep);   --acc-soft:var(--clm-sea-soft)}
[data-accent="sky"]   {--acc:var(--clm-sky);   --acc-deep:var(--clm-sky-deep);   --acc-soft:var(--clm-sky-soft)}
[data-accent="coral"] {--acc:var(--clm-coral); --acc-deep:var(--clm-coral-deep); --acc-soft:var(--clm-coral-soft)}
[data-accent="pink"]  {--acc:var(--clm-pink);  --acc-deep:var(--clm-pink-deep);  --acc-soft:var(--clm-pink-soft)}
[data-accent="tech"]  {--acc:var(--clm-tech);  --acc-deep:var(--clm-tech-deep);  --acc-soft:var(--clm-tech-soft)}
[data-accent="green"] {--acc:var(--clm-green); --acc-deep:var(--clm-green-deep); --acc-soft:var(--clm-green-soft)}
/* 旧デリパ表記の互換（構成パネルで追加したセクション用） */
[data-accent="blue"]  {--acc:var(--clm-sea);   --acc-deep:var(--clm-sea-deep);   --acc-soft:var(--clm-sea-soft)}
[data-accent="orange"]{--acc:var(--clm-coral); --acc-deep:var(--clm-coral-deep); --acc-soft:var(--clm-coral-soft)}
[data-accent="yellow"]{--acc:var(--clm-sand);  --acc-deep:#DDA43F;               --acc-soft:#FFF6E4}
[data-accent="purple"]{--acc:var(--clm-tech);  --acc-deep:var(--clm-tech-deep);  --acc-soft:var(--clm-tech-soft)}

/* ---------- BASE ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 12px)}
body{
  font-family:var(--font-body);
  font-size:clamp(.94rem,1.05vw,1.02rem);
  line-height:1.95;color:var(--clm-ink);background:var(--clm-paper);
  overflow-x:hidden;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
input,select,textarea{font-family:inherit;font-size:1rem;color:inherit}
::selection{background:var(--clm-pink-soft);color:var(--clm-pink-deep)}
h1,h2,h3,h4{font-family:var(--font-jp-head);font-weight:900;line-height:1.35;letter-spacing:.01em}
.en{font-family:var(--font-display);font-weight:600;letter-spacing:.04em}
.wrap{max-width:1160px;margin-inline:auto;padding-inline:var(--pad-x)}
.wrap-narrow{max-width:820px;margin-inline:auto;padding-inline:var(--pad-x)}
.lp-sec{position:relative}
.dp-sec-pad{padding-block:clamp(72px,9vw,124px)}
.center{text-align:center}
.hide-sp{display:initial}
.hide-pc{display:none}
.paper-2{background:var(--clm-paper-2)}

/* 編集エンジンの画像方式（背景image div） */
.ph{background-size:cover;background-position:center;background-repeat:no-repeat}

/* ---------- 見出しパーツ ---------- */
.sec-label{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-display);font-weight:700;font-size:.82rem;letter-spacing:.24em;
  color:var(--acc-deep);margin-bottom:16px;
}
.sec-label::before{content:"";width:26px;height:3px;border-radius:99px;background:var(--acc)}
.giant{font-family:var(--font-display);font-weight:700;font-size:clamp(2.2rem,6.4vw,4.6rem);line-height:1.02;letter-spacing:.01em}
.huge-jp{font-family:var(--font-jp-head);font-weight:900;font-size:clamp(1.62rem,3.9vw,2.85rem);line-height:1.45}
.mid-jp{font-family:var(--font-jp-head);font-weight:900;font-size:clamp(1.24rem,2.4vw,1.72rem);line-height:1.5}
.lead{color:var(--clm-ink-soft);font-size:clamp(.95rem,1.15vw,1.05rem)}
.marker{background:linear-gradient(transparent 64%,var(--acc-soft) 64%,var(--acc-soft) 96%,transparent 96%)}
.acc-t{color:var(--acc-deep)}
.ghost-word{
  font-family:var(--font-display);font-weight:700;
  font-size:clamp(3.6rem,13vw,10rem);line-height:1;letter-spacing:.02em;
  color:var(--acc-soft);white-space:nowrap;pointer-events:none;user-select:none;opacity:.85;
}

/* ---------- BUTTONS ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55em;
  font-family:var(--font-jp-head);font-weight:800;font-size:1rem;
  padding:.95em 1.9em;border-radius:999px;
  background:var(--clm-ink);color:#fff;border:2px solid transparent;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease;
  box-shadow:var(--sh-1);
}
.btn:hover{transform:translateY(-3px);box-shadow:var(--sh-2)}
.btn:active{transform:translateY(-1px)}
.btn .arw{transition:transform .2s}
.btn:hover .arw{transform:translateX(4px)}
.btn-acc{background:linear-gradient(135deg,var(--clm-coral),var(--clm-pink));color:#fff;box-shadow:0 12px 28px rgba(255,110,138,.32)}
.btn-acc:hover{box-shadow:0 16px 36px rgba(255,110,138,.42)}
.btn-sea{background:linear-gradient(135deg,var(--clm-sea),var(--clm-sky));color:#fff;box-shadow:var(--sh-sea)}
.btn-white{background:#fff;color:var(--clm-ink);border-color:#fff}
.btn-line{background:transparent;color:var(--clm-ink);border-color:var(--clm-line);box-shadow:none}
.btn-line:hover{border-color:var(--acc);color:var(--acc-deep)}
.btn-ghost-w{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.7);backdrop-filter:blur(6px)}
.btn-lg{font-size:1.08rem;padding:1.08em 2.3em}
.btn-sm{font-size:.86rem;padding:.62em 1.35em}
.btn-block{width:100%}
.btn[disabled]{opacity:.45;pointer-events:none}
.btn-row{display:flex;gap:14px;flex-wrap:wrap}
.btn-row.center{justify-content:center}

.pill{
  display:inline-block;font-weight:700;font-size:.76rem;letter-spacing:.06em;
  padding:.34em 1em;border-radius:999px;background:var(--acc-soft);color:var(--acc-deep);
}
.pill-line{background:transparent;border:1.5px solid var(--clm-line);color:var(--clm-ink-soft)}

/* ---------- ローディング（入場） ---------- */
.dp-intro{
  position:fixed;inset:0;z-index:5000;
  background:linear-gradient(160deg,#F4B8C8,#FF8FAB 45%,#FFE4EE);
  display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;
  transition:opacity .7s ease,visibility .7s;
}
.dp-intro.done{opacity:0;visibility:hidden}
.dp-intro .gate{font-family:var(--font-display);font-weight:700;font-size:clamp(1.4rem,4.6vw,2.9rem);letter-spacing:.14em;color:#fff}
.dp-intro .tick{font-family:var(--font-jp-head);font-weight:700;font-size:.86rem;letter-spacing:.14em;color:rgba(255,255,255,.85)}

/* ---------- HEADER ---------- */
.site-header{
  position:fixed;inset:0 0 auto 0;z-index:900;height:var(--header-h);
  display:flex;align-items:center;justify-content:space-between;
  padding-inline:clamp(16px,3vw,32px);
  transition:transform .3s,background .3s,box-shadow .3s;
}
.site-header.is-scrolled{background:rgba(255,255,255,.9);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--clm-line)}
.site-header.is-hidden{transform:translateY(-110%)}
.site-logo{display:flex;align-items:center;gap:10px;cursor:pointer}
.site-logo__mark{
  font-family:var(--font-display);font-weight:700;font-size:1.02rem;line-height:1.18;
  letter-spacing:.11em;color:var(--clm-ink);display:flex;flex-direction:column;
}
.site-header.on-dark:not(.is-scrolled) .site-logo__mark,
.site-header.on-dark:not(.is-scrolled) .site-logo__sub{color:#fff;text-shadow:0 1px 12px rgba(9,30,48,.45)}
.site-logo__mark .lg2{color:var(--clm-pink)}
.site-header.on-dark:not(.is-scrolled) .site-logo__mark .lg2{color:#FFE4EE}
.site-logo__sub{font-family:var(--font-jp-head);font-weight:700;font-size:.5rem;letter-spacing:.22em;color:var(--clm-ink-soft);display:block}
.brand-dot{width:10px;height:10px;border-radius:50%;background:var(--clm-coral);animation:dotpulse 2.6s infinite}
@keyframes dotpulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.45);opacity:.5}}
.header-contact{display:none}

.gnav{display:flex;align-items:center;gap:clamp(12px,1.9vw,26px)}
.gnav .nav-link{
  font-family:var(--font-jp-head);font-weight:800;font-size:.9rem;letter-spacing:.04em;
  position:relative;padding:6px 1px;color:var(--clm-ink);
}
.site-header.on-dark:not(.is-scrolled) .gnav .nav-link{color:#fff;text-shadow:0 1px 10px rgba(9,30,48,.4)}
.gnav .nav-link::after{
  content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;border-radius:2px;
  background:var(--u,var(--clm-sea));transform:scaleX(0);transform-origin:left;transition:transform .24s;
}
.gnav .nav-link:hover::after{transform:scaleX(1)}
.nav-cta{
  font-family:var(--font-jp-head);font-weight:800;font-size:.9rem;
  background:linear-gradient(135deg,var(--clm-coral),var(--clm-pink));color:#fff;
  padding:.7em 1.4em;border-radius:999px;box-shadow:0 8px 20px rgba(255,110,138,.35);
  transition:transform .2s,box-shadow .2s;display:inline-block;
}
.nav-cta:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(255,110,138,.45)}

.menu-toggle{
  display:none;width:48px;height:48px;border-radius:14px;
  background:var(--clm-ink);position:relative;z-index:1001;color:transparent;overflow:hidden;
}
.menu-toggle::before,.menu-toggle::after,.menu-toggle i{
  content:"";position:absolute;left:14px;right:14px;height:2px;background:#fff;border-radius:2px;transition:.3s;
}
.menu-toggle::before{top:17px}
.menu-toggle i{top:23px;display:block}
.menu-toggle::after{top:29px}
body.menu-open .menu-toggle{background:var(--clm-sea)}
body.menu-open .menu-toggle::before{top:23px;transform:rotate(45deg)}
body.menu-open .menu-toggle i{opacity:0}
body.menu-open .menu-toggle::after{top:23px;transform:rotate(-45deg)}

.mobile-menu{
  position:fixed;inset:0;z-index:1000;
  background:linear-gradient(165deg,#F4B8C8,#FF8FAB 55%,#FFD6E4);
  display:flex;flex-direction:column;justify-content:center;gap:2px;
  padding:92px var(--pad-x) 36px;
  opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s;
  overflow-y:auto;
}
body.menu-open .mobile-menu{opacity:1;visibility:visible}
.mobile-menu .mm-link{
  font-family:var(--font-jp-head);font-weight:900;font-size:clamp(1.1rem,4.2vw,1.5rem);line-height:1.5;
  display:flex;align-items:baseline;gap:12px;color:#fff;padding:.28em 0;
  border-bottom:1px solid rgba(255,255,255,.16);
  opacity:0;transform:translateY(14px);transition:.4s;
}
body.menu-open .mobile-menu .mm-link{opacity:1;transform:none}
.mobile-menu .mm-link small{font-family:var(--font-body);font-weight:400;font-size:.74rem;opacity:.8}
.mm-foot{margin-top:24px}
.mm-foot .btn{width:100%}

/* ---------- MARQUEE（街の名前流し） ---------- */
.marquee{
  overflow:hidden;white-space:nowrap;
  background:var(--mq,var(--clm-sea));color:#fff;padding-block:.62em;position:relative;z-index:4;
}
.marquee .track{display:inline-flex;animation:marq 34s linear infinite;will-change:transform}
.marquee span{font-family:var(--font-display);font-weight:600;font-size:clamp(.86rem,1.5vw,1.05rem);letter-spacing:.16em;padding-inline:1.1em}
.marquee span::after{content:"／";opacity:.45;margin-left:2.2em}
@keyframes marq{to{transform:translateX(-50%)}}

/* ---------- HERO ---------- */
.hero{
  min-height:100vh;min-height:100svh;position:relative;display:flex;align-items:center;justify-content:center;
  overflow:hidden;background:#F4B8C8;
}
.hero-media{position:absolute;inset:0}
.hero__bg,.hero-sl2,.hero-sl3,.hero-sl4{
  position:absolute;inset:0;background-size:cover;background-position:center;
  opacity:0;transform:scale(1.07);transition:opacity 1.3s ease,transform 8s linear;
}
.hero__bg.on,.hero-sl2.on,.hero-sl3.on,.hero-sl4.on{opacity:1;transform:scale(1)}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none}
.hero.has-video .hero-video{display:block}
.hero.has-video .hero__bg,.hero.has-video .hero-sl2,.hero.has-video .hero-sl3,.hero.has-video .hero-sl4{display:none}
.hero-veil{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(74,28,48,.28) 0%,rgba(255,182,193,.22) 38%,rgba(74,28,48,.55) 100%);
}
.hero-veil::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(120% 80% at 50% 40%,transparent 35%,rgba(74,28,48,.28) 100%);
}
.hero .container{position:relative;z-index:3;text-align:center;color:#fff;padding:120px var(--pad-x) 128px;width:100%;max-width:1100px}
.hero-sub{
  font-family:var(--font-display);font-weight:600;letter-spacing:.3em;font-size:clamp(.62rem,1.25vw,.78rem);
  display:inline-block;padding:.6em 1.5em;border:1px solid rgba(255,255,255,.55);border-radius:999px;
  margin-bottom:26px;backdrop-filter:blur(6px);background:rgba(255,255,255,.08);
}
.hero h1{
  font-family:var(--font-display);font-weight:700;
  font-size:clamp(2.1rem,7.4vw,5.4rem);line-height:1.03;letter-spacing:.02em;color:#fff;
}
.hero h1 .hrow{display:block;overflow:hidden}
.hero h1 .hrow i{display:inline-block;font-style:normal;transform:translateY(112%);animation:heroup 1s cubic-bezier(.2,.9,.3,1) forwards}
.hero h1 .hrow:nth-child(2) i{animation-delay:.12s;color:#FFE4EE}
@keyframes heroup{to{transform:translateY(0)}}
#heroCopy{
  font-family:var(--font-jp-head);font-weight:900;
  font-size:clamp(1.34rem,3.3vw,2.35rem);line-height:1.55;margin-top:26px;
  text-shadow:0 4px 28px rgba(74,28,48,.45);
}
.hero-words{
  margin-top:18px;display:flex;gap:.9em;justify-content:center;flex-wrap:wrap;
  font-family:var(--font-jp-head);font-weight:700;font-size:clamp(.92rem,1.75vw,1.14rem);
  color:rgba(255,255,255,.94);letter-spacing:.06em;
}
.hero-words span{position:relative;padding-left:1.15em}
.hero-words span::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--clm-coral)}
.hero-ctas{margin-top:38px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap;position:relative;z-index:3}
.hero-note{margin-top:20px;font-size:.8rem;color:rgba(255,255,255,.75)}
.scroll-cue{
  position:absolute;left:50%;bottom:74px;transform:translateX(-50%);z-index:4;
  color:rgba(255,255,255,.85);font-family:var(--font-display);font-weight:600;letter-spacing:.26em;font-size:.62rem;
  display:flex;flex-direction:column;align-items:center;gap:9px;
}
.scroll-cue .ball{width:1px;height:38px;background:linear-gradient(180deg,rgba(255,255,255,.9),transparent);animation:cuedrop 2s ease-in-out infinite}
@keyframes cuedrop{0%{transform:scaleY(.2);transform-origin:top;opacity:0}40%{opacity:1}100%{transform:scaleY(1);transform-origin:top;opacity:0}}
.hero-marquee{position:absolute;left:0;right:0;bottom:0;z-index:5}
.hero-badge{
  position:absolute;top:calc(var(--header-h) + 16px);left:50%;transform:translateX(-50%);
  z-index:4;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;
  background:rgba(255,255,255,.94);color:var(--clm-ink);
  border-radius:999px;padding:.44em 1.15em;font-weight:800;font-size:.76rem;
  box-shadow:0 8px 24px rgba(8,28,45,.28);
}
.hero-badge i{width:8px;height:8px;border-radius:50%;background:var(--clm-coral);animation:liveblink 1.4s ease-in-out infinite}
@keyframes liveblink{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.7)}}

/* ---------- スクロール表示 ---------- */
.rv,.rv-rot{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.3,1),transform .8s cubic-bezier(.2,.7,.3,1)}
.rv-rot{transform:translateY(30px) scale(.98)}
.rv.rv-in,.rv-rot.rv-in{opacity:1;transform:none}

/* ---------- コンセプト（WHAT WE DO 枠） ---------- */
.concept-head{max-width:760px}
.concept-body{margin-top:26px;max-width:720px;color:var(--clm-ink-soft);font-size:1.02rem}
.concept-body p+p{margin-top:1.1em}

.wwd-panel{
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,4vw,64px);align-items:center;
  margin-top:clamp(48px,6vw,86px);
}
.wwd-panel.is-rev{direction:rtl}
.wwd-panel.is-rev>*{direction:ltr}
.wwd-num{
  font-family:var(--font-display);font-weight:700;font-size:.86rem;letter-spacing:.2em;
  color:var(--acc-deep);display:inline-block;
}
.wwd-word{
  font-family:var(--font-display);font-weight:700;font-size:clamp(1.7rem,3.6vw,2.7rem);
  line-height:1.06;color:var(--clm-ink);margin:.1em 0 .5em;
}
.wwd-body h3{font-size:clamp(1.14rem,2vw,1.42rem);margin-bottom:.5em}
.wwd-catch{font-family:var(--font-jp-head);font-weight:800;color:var(--acc-deep);margin-bottom:.6em}
.wwd-body p{color:var(--clm-ink-soft)}
.wwd-link{margin-top:22px}
.wwd-media-wrap{position:relative}
.wwd-media{
  width:100%;aspect-ratio:4/3;border-radius:var(--radius-lg);
  box-shadow:var(--sh-3);background-size:cover;background-position:center;background-color:var(--clm-paper-3);
}
.wwd-media-wrap .sticker{
  position:absolute;left:-10px;bottom:-14px;
  background:#fff;color:var(--acc-deep);font-family:var(--font-jp-head);font-weight:800;font-size:.84rem;
  padding:.6em 1.2em;border-radius:999px;box-shadow:var(--sh-2);
}

/* ---------- 2026年版の街コン（比較） ---------- */
.cmp{display:grid;grid-template-columns:1fr auto 1fr;gap:clamp(14px,2.4vw,30px);align-items:stretch;margin-top:44px}
.cmp-col{
  background:#fff;border:1px solid var(--clm-line);border-radius:var(--radius-lg);
  padding:clamp(22px,3vw,34px);box-shadow:var(--sh-1);
}
.cmp-col.is-new{
  border-color:transparent;color:#fff;
  background:linear-gradient(150deg,#F06292,#FF8FAB 55%,#C9A0DC);
  box-shadow:0 14px 34px rgba(240,98,146,.28);
}
.cmp-era{font-family:var(--font-display);font-weight:700;font-size:.78rem;letter-spacing:.2em;color:var(--clm-ink-soft)}
.cmp-col.is-new .cmp-era{color:rgba(255,255,255,.8)}
.cmp-name{font-family:var(--font-jp-head);font-weight:900;font-size:clamp(1.06rem,1.9vw,1.34rem);margin:.3em 0 1em}
.cmp-list li{
  position:relative;padding-left:1.5em;padding-block:.3em;font-size:.94rem;
  border-bottom:1px dashed var(--clm-line);
}
.cmp-col.is-new .cmp-list li{border-bottom-color:rgba(255,255,255,.22)}
.cmp-list li::before{content:"—";position:absolute;left:0;opacity:.5}
.cmp-col.is-new .cmp-list li::before{content:"◆";color:#BFE6FA;font-size:.7em;top:.55em}
.cmp-list li:last-child{border-bottom:none}
.cmp-arrow{
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-weight:700;font-size:1.6rem;color:var(--clm-sea);
}
.cmp-foot{margin-top:34px;text-align:center;font-family:var(--font-jp-head);font-weight:800;font-size:clamp(1rem,2vw,1.3rem)}

/* ---------- 参加方法 STEP（ORGANIZER 枠） ---------- */
.step-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:44px}
.t-card{
  position:relative;background:#fff;border:1px solid var(--clm-line);border-radius:var(--radius);
  overflow:hidden;box-shadow:var(--sh-1);transition:transform .25s,box-shadow .25s,border-color .25s;
}
.t-card:hover{transform:translateY(-5px);box-shadow:var(--sh-2);border-color:var(--acc)}
.tc-media{width:100%;aspect-ratio:16/10;background-size:cover;background-position:center;background-color:var(--clm-paper-3)}
.t-num{
  position:absolute;top:12px;left:12px;z-index:2;
  font-family:var(--font-display);font-weight:700;font-size:.74rem;letter-spacing:.14em;
  background:rgba(255,255,255,.94);color:var(--clm-sea-deep);
  padding:.3em .8em;border-radius:999px;box-shadow:var(--sh-1);
}
.t-label{padding:16px 18px 20px;display:block}
.t-label b{display:block;font-family:var(--font-jp-head);font-weight:900;font-size:1.02rem;margin-bottom:.35em}
.t-label span{font-size:.85rem;color:var(--clm-ink-soft);line-height:1.75;display:block}

/* ---------- NFC × KEEP（PROJECTS 枠） ---------- */
.keep-hero{
  display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(26px,4vw,56px);align-items:center;
}
.keep-note{
  margin-top:24px;background:var(--clm-tech-soft);border-radius:var(--radius);
  padding:20px 22px;font-size:.92rem;color:var(--clm-tech-deep);font-weight:700;
}
.pj-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:46px;max-width:880px;align-items:stretch}
.pj-card{
  background:#fff;border:1px solid var(--clm-line);border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:var(--sh-1);cursor:pointer;transition:transform .25s,box-shadow .25s;
  display:flex;flex-direction:column;height:100%;
}
.pj-card:hover{transform:translateY(-6px);box-shadow:var(--sh-2)}
.pj-media{width:100%;aspect-ratio:16/10;background-size:cover;background-position:center 35%;background-color:var(--clm-paper-3);flex:0 0 auto}
.pj-body{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1}
.pj-body h3{font-size:1.1rem;margin-bottom:.5em}
.pj-body p{font-size:.9rem;color:var(--clm-ink-soft);flex:1}
.pj-more{margin-top:16px;font-family:var(--font-display);font-weight:700;font-size:.76rem;letter-spacing:.14em;color:var(--acc-deep)}

/* KEEPカード */
.keep-demo{
  position:relative;background:linear-gradient(150deg,#F4B8C8,#FF8FAB 50%,#C9A0DC);
  border-radius:var(--radius-lg);padding:clamp(26px,3.6vw,42px);color:#fff;box-shadow:var(--sh-3);
  overflow:hidden;
}
.keep-demo::before{
  content:"";position:absolute;inset:-40% -10% auto auto;width:340px;height:340px;border-radius:50%;
  background:radial-gradient(circle,rgba(108,92,231,.65),transparent 70%);
}
.keep-demo__inner{position:relative;z-index:1}
.keep-profile{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.keep-avatar{
  width:56px;height:56px;border-radius:50%;flex:0 0 56px;
  background:linear-gradient(135deg,var(--clm-sky),var(--clm-tech));
  display:flex;align-items:center;justify-content:center;font-size:1.5rem;
}
.keep-profile b{display:block;font-size:1.02rem}
.keep-profile small{color:rgba(255,255,255,.66);font-size:.8rem}
.keep-rows li{
  display:flex;justify-content:space-between;gap:12px;font-size:.88rem;
  padding:.5em 0;border-bottom:1px solid rgba(255,255,255,.14);
}
.keep-rows li span:first-child{color:rgba(255,255,255,.6)}
.keep-actions{display:flex;gap:12px;margin-top:22px}
.keep-btn{
  flex:1;border-radius:999px;padding:.85em 1em;font-family:var(--font-jp-head);font-weight:900;font-size:1rem;
  background:linear-gradient(135deg,var(--clm-pink),var(--clm-coral));color:#fff;
  box-shadow:0 10px 26px rgba(255,110,138,.4);transition:transform .2s;
}
.keep-btn:hover{transform:translateY(-2px)}
.keep-btn.is-pass{background:rgba(255,255,255,.12);color:rgba(255,255,255,.8);box-shadow:none}
.keep-hint{margin-top:16px;font-size:.78rem;color:rgba(255,255,255,.62);text-align:center}
.nfc-wave{position:absolute;right:24px;top:24px;width:44px;height:44px;opacity:.75}
.nfc-wave i{
  position:absolute;inset:0;border:2px solid rgba(191,230,250,.8);border-radius:50%;
  animation:nfcpulse 2.4s ease-out infinite;
}
.nfc-wave i:nth-child(2){animation-delay:.8s}
.nfc-wave i:nth-child(3){animation-delay:1.6s}
@keyframes nfcpulse{0%{transform:scale(.35);opacity:1}100%{transform:scale(1);opacity:0}}

/* ---------- LOVE CALL（SYSTEM 枠） ---------- */
#system{background:linear-gradient(165deg,#F4B8C8,#FF8FAB 45%,#C9A0DC);color:#fff;overflow:hidden}
#system .sec-label{color:#BFE6FA}
#system .sec-label::before{background:var(--clm-pink)}
#system .lead,#system .love-txt p{color:rgba(255,255,255,.78)}
.love-wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,70px);align-items:center}
.love-points{margin-top:28px;display:grid;gap:14px}
.love-points li{
  display:flex;gap:14px;align-items:flex-start;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);
  border-radius:var(--radius);padding:16px 18px;
}
.love-points li b{display:block;margin-bottom:.2em}
.love-points li em{display:none}
.love-points li span{font-size:.88rem;color:rgba(255,255,255,.72)}
.phone{
  width:min(310px,86vw);margin-inline:auto;background:#0E1020;border-radius:42px;
  padding:12px;box-shadow:0 30px 70px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.1);
}
.phone__screen{
  background:linear-gradient(170deg,#F7F9FC,#EAF1F8);border-radius:32px;padding:26px 20px 30px;
  min-height:470px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--clm-ink);
}
.phone__notch{width:110px;height:20px;background:#0E1020;border-radius:0 0 14px 14px;margin:-26px auto 12px;position:relative;z-index:2}
.lovecall-card{
  width:100%;background:#fff;border-radius:24px;padding:28px 22px;box-shadow:var(--sh-2);
  border:1px solid var(--clm-line);
}
.lovecall-emoji{display:none}
@keyframes lovebeat{0%,100%{transform:scale(1)}50%{transform:scale(1.14)}}
.lovecall-title{font-family:var(--font-display);font-weight:700;letter-spacing:.18em;font-size:1rem;color:var(--clm-pink-deep);margin:14px 0 10px}
.lovecall-msg{font-size:.92rem;color:var(--clm-ink-soft);line-height:1.8}
.lovecall-card .btn{margin-top:20px;width:100%}
.phone__foot{margin-top:18px;font-size:.72rem;color:var(--clm-ink-soft)}

/* ---------- 街歩き・共通チケット（FOOD 枠） ---------- */
.ticket-wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4.5vw,64px);align-items:center}
.ticket{
  position:relative;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--sh-3);
  padding:clamp(24px,3.4vw,38px);border:1px solid var(--clm-line);
}
.ticket::before,.ticket::after{
  content:"";position:absolute;width:26px;height:26px;border-radius:50%;background:var(--clm-paper-2);
  top:50%;margin-top:-13px;box-shadow:inset 0 0 0 1px var(--clm-line);
}
.ticket::before{left:-14px}
.ticket::after{right:-14px}
.ticket__top{border-bottom:2px dashed var(--clm-line);padding-bottom:22px;margin-bottom:22px}
.ticket__label{font-family:var(--font-display);font-weight:700;letter-spacing:.2em;font-size:.72rem;color:var(--clm-coral-deep)}
.ticket__name{font-family:var(--font-jp-head);font-weight:900;font-size:clamp(1.16rem,2.3vw,1.6rem);margin-top:.3em}
.ticket__items{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.ticket__items li{display:flex;align-items:center;gap:9px;font-size:.9rem;font-weight:700}
.ticket__items em{font-style:normal;font-size:1.15rem}
.ticket__note{margin-top:20px;font-size:.78rem;color:var(--clm-ink-soft)}
.shop-strip{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.shop-chip{
  display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--clm-line);
  border-radius:999px;padding:.5em 1.1em;font-size:.86rem;font-weight:700;box-shadow:var(--sh-1);
}

/* ---------- MATCH CAFE（MOMENTS 枠） ---------- */
#moments{background:linear-gradient(180deg,var(--clm-coral-soft),#fff)}
.mc-wrap{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(28px,4.5vw,64px);align-items:center}
.mc-photo{width:100%;aspect-ratio:5/4;border-radius:var(--radius-lg);box-shadow:var(--sh-3);background-size:cover;background-position:center;background-color:var(--clm-paper-3)}
.mc-features{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:26px}
.mc-features li{
  display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--clm-line);
  border-radius:var(--radius-sm);padding:12px 14px;font-size:.88rem;font-weight:700;box-shadow:var(--sh-1);
}
.mc-quote{
  margin-top:30px;font-family:var(--font-jp-head);font-weight:900;
  font-size:clamp(1.1rem,2.2vw,1.5rem);line-height:1.6;color:var(--clm-coral-deep);
}

/* ---------- イベント一覧（EVENTS 枠） ---------- */
.ev-scroller{display:grid;grid-template-columns:repeat(auto-fill,minmax(288px,1fr));gap:20px;margin-top:40px}
.ev-card{
  position:relative;background:#fff;border:1px solid var(--clm-line);border-radius:var(--radius-lg);
  overflow:hidden;box-shadow:var(--sh-1);transition:transform .25s,box-shadow .25s;display:flex;flex-direction:column;
}
.ev-card:hover{transform:translateY(-6px);box-shadow:var(--sh-2)}
.ev-media{width:100%;aspect-ratio:16/10;background-size:cover;background-position:center;background-color:var(--clm-paper-3)}
.st-badge{
  position:absolute;top:12px;left:12px;z-index:2;
  font-family:var(--font-jp-head);font-weight:800;font-size:.74rem;letter-spacing:.04em;
  padding:.34em .9em;border-radius:999px;background:#fff;color:var(--clm-ink);box-shadow:var(--sh-1);
}
.st-open  {background:var(--clm-green);color:#fff}
.st-few   {background:var(--clm-coral);color:#fff}
.st-wait  {background:var(--clm-sand);color:#4A3611}
.st-closed{background:#93A5B4;color:#fff}
.st-today {background:var(--clm-tech);color:#fff}
.ev-body{padding:20px 22px 24px;display:flex;flex-direction:column;flex:1}
.ev-area{font-family:var(--font-display);font-weight:700;font-size:.72rem;letter-spacing:.16em;color:var(--clm-sea-deep)}
.ev-body h3{font-size:1.1rem;margin:.3em 0 .7em}
.ev-meta{display:grid;gap:6px;font-size:.85rem;color:var(--clm-ink-soft);margin-bottom:14px}
.ev-meta div{display:flex;gap:8px}
.ev-meta b{color:var(--clm-ink);font-weight:700;flex:0 0 4.6em}
.ev-seats{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.ev-seat{
  font-size:.78rem;font-weight:800;border-radius:8px;padding:.28em .7em;
  background:var(--clm-sea-soft);color:var(--clm-sea-deep);
}
.ev-seat.is-f{background:var(--clm-pink-soft);color:var(--clm-pink-deep)}
.ev-actions{margin-top:auto;display:flex;gap:10px}
.ev-actions .btn{flex:1;font-size:.86rem;padding:.72em 1em}

/* ---------- 数字（NUMBERS 枠） ---------- */
#numGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:38px}
.num-item{text-align:center;padding:26px 12px;background:#fff;border:1px solid var(--clm-line);border-radius:var(--radius);box-shadow:var(--sh-1)}
.num-item b{display:block;font-family:var(--font-display);font-weight:700;font-size:clamp(1.9rem,4.4vw,3rem);line-height:1;color:var(--clm-sea)}
.num-item b .u{font-size:.42em;margin-left:.15em;color:var(--clm-ink-soft)}
.num-item span{display:block;margin-top:.7em;font-size:.84rem;font-weight:700;color:var(--clm-ink-soft)}

/* ---------- 安心・安全 ---------- */
#safety{background:var(--clm-green-soft)}
.safety-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}
.safety-item{
  background:#fff;border-radius:var(--radius);padding:22px 24px;box-shadow:var(--sh-1);
  border-left:4px solid var(--clm-green);
}
.safety-item b{display:flex;align-items:center;gap:9px;font-family:var(--font-jp-head);font-weight:900;font-size:1rem;margin-bottom:.45em}
.safety-item p{font-size:.87rem;color:var(--clm-ink-soft)}
.safety-callout{
  margin-top:34px;background:#fff;border-radius:var(--radius-lg);padding:clamp(22px,3vw,32px);
  text-align:center;box-shadow:var(--sh-1);
}
.safety-callout b{display:block;font-family:var(--font-jp-head);font-weight:900;font-size:clamp(1.04rem,2vw,1.3rem);margin-bottom:.5em}

/* ---------- FAQ ---------- */
.faq-list{margin-top:36px;display:grid;gap:12px}
.faq-item{background:#fff;border:1px solid var(--clm-line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--sh-1)}
.faq-q{
  width:100%;text-align:left;display:flex;gap:14px;align-items:flex-start;
  padding:18px 22px;font-family:var(--font-jp-head);font-weight:800;font-size:.98rem;
}
.faq-q::before{content:"Q";font-family:var(--font-display);font-weight:700;color:var(--clm-sea);flex:0 0 auto}
.faq-q::after{content:"＋";margin-left:auto;color:var(--clm-ink-soft);transition:transform .25s;flex:0 0 auto}
.faq-item.is-open .faq-q::after{transform:rotate(45deg)}
.faq-a{display:none;padding:0 22px 22px 56px;font-size:.9rem;color:var(--clm-ink-soft)}
.faq-item.is-open .faq-a{display:block}

/* ---------- NEWS ---------- */
#newsList{margin-top:26px;border-top:1px solid var(--clm-line)}
#newsList li{border-bottom:1px solid var(--clm-line)}
#newsList a,#newsList .nw{display:flex;gap:18px;align-items:baseline;padding:16px 4px;flex-wrap:wrap}
#newsList time{font-family:var(--font-display);font-weight:600;font-size:.82rem;color:var(--clm-ink-soft);flex:0 0 auto}
#newsList .nw-tag{font-size:.72rem;font-weight:800;color:var(--clm-sea-deep);background:var(--clm-sea-soft);border-radius:999px;padding:.2em .8em}
#newsList .nw-t{font-weight:700;font-size:.94rem}

/* ---------- CONTACT ---------- */
.contact-strip{
  background:linear-gradient(150deg,#F4B8C8,#FF8FAB 55%,#C9A0DC);color:#fff;position:relative;overflow:hidden;
}
.contact-strip .sec-label{color:#BFE6FA}
.contact-strip .sec-label::before{background:#BFE6FA}
.contact-strip h2{font-size:clamp(1.5rem,3.4vw,2.5rem)}
.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4.5vw,64px);align-items:start}
#contactLead{margin-top:18px;color:rgba(255,255,255,.86)}
.contact-ways{margin-top:28px;display:grid;gap:12px}
.contact-way{
  display:flex;gap:14px;align-items:center;background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.2);border-radius:var(--radius);padding:16px 18px;
}
.contact-way em{font-style:normal;font-size:1.4rem}
.contact-way b{display:block}
.contact-way span{font-size:.84rem;color:rgba(255,255,255,.75)}
.ct-form{background:#fff;border-radius:var(--radius-lg);padding:clamp(22px,3vw,32px);color:var(--clm-ink);box-shadow:var(--sh-3)}
.cv-choices{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.cv-choice{
  border:1.5px solid var(--clm-line);border-radius:999px;padding:.5em 1.1em;
  font-size:.84rem;font-weight:700;transition:.2s;
}
.cv-choice.is-on{background:var(--clm-sea);color:#fff;border-color:var(--clm-sea)}
.f-row{display:grid;gap:6px;margin-bottom:14px}
.f-row label{font-size:.8rem;font-weight:800;color:var(--clm-ink-soft)}
.f-row .req{color:var(--clm-coral-deep);font-size:.72rem;margin-left:.4em}
.f-row input,.f-row select,.f-row textarea{
  border:1.5px solid var(--clm-line);border-radius:12px;padding:.8em 1em;background:var(--clm-paper-2);
  transition:border-color .2s,box-shadow .2s;width:100%;
}
.f-row input:focus,.f-row select:focus,.f-row textarea:focus{
  outline:none;border-color:var(--clm-sea);box-shadow:0 0 0 3px rgba(27,127,196,.14);background:#fff;
}
.f-row.is-err input,.f-row.is-err select,.f-row.is-err textarea{border-color:var(--clm-pink-deep);background:var(--clm-pink-soft)}
.f-err{display:none;font-size:.76rem;color:var(--clm-pink-deep);font-weight:700}
.f-row.is-err .f-err{display:block}
.ct-submit{width:100%;margin-top:8px}
.ct-privacy{margin-top:14px;font-size:.74rem;color:var(--clm-ink-soft)}

/* ---------- FOOTER ---------- */
.site-footer{background:linear-gradient(180deg,#4A3340,#3A2432);color:rgba(255,255,255,.72);padding:clamp(56px,7vw,88px) 0 34px;position:relative}
.foot-party{text-align:center;padding-inline:var(--pad-x)}
#footParty{
  font-family:var(--font-display);font-weight:700;font-size:clamp(1.7rem,6vw,4rem);line-height:1.1;
  color:#fff;letter-spacing:.02em;
}
#footParty .fy{color:#FFD6E4}
#footParty .fp{color:var(--clm-coral)}
.foot-nav{
  display:flex;gap:8px 22px;flex-wrap:wrap;justify-content:center;
  margin:36px auto 30px;padding-inline:var(--pad-x);max-width:960px;
}
.foot-nav a{font-size:.84rem;font-weight:700;color:rgba(255,255,255,.78);transition:color .2s}
.foot-nav a:hover{color:#fff}
.foot-info{
  max-width:1000px;margin-inline:auto;padding:26px var(--pad-x) 0;
  border-top:1px solid rgba(255,255,255,.14);font-size:.8rem;line-height:2;
}
.foot-info b{color:#fff}
.foot-ground{display:none}

.lp-float{position:fixed;right:16px;bottom:16px;z-index:800;display:flex;flex-direction:column;gap:10px}
.lp-float .f-contact{
  font-family:var(--font-jp-head);font-weight:900;font-size:.92rem;
  background:linear-gradient(135deg,var(--clm-coral),var(--clm-pink));color:#fff;
  padding:.9em 1.5em;border-radius:999px;box-shadow:0 12px 30px rgba(255,110,138,.42);
  display:none;
}
.lp-float .f-tel{
  background:#fff;color:var(--clm-ink);border:1px solid var(--clm-line);
  padding:.8em 1.4em;border-radius:999px;font-weight:800;font-size:.86rem;box-shadow:var(--sh-2);display:none;
}

/* ---------- 詳細モーダル ---------- */
.ev-modal{position:fixed;inset:0;z-index:1200;display:none}
.ev-modal.open{display:block}
.ev-modal__bg{position:absolute;inset:0;background:rgba(11,28,42,.62);backdrop-filter:blur(4px)}
.ev-modal__box{
  position:relative;max-width:820px;margin:6vh auto;max-height:88vh;overflow-y:auto;
  background:#fff;border-radius:var(--radius-lg);box-shadow:0 40px 90px rgba(0,0,0,.4);
  width:calc(100% - 32px);
}
.ev-modal__close{
  position:sticky;top:14px;float:right;margin:14px 14px 0 0;z-index:2;
  width:38px;height:38px;border-radius:50%;background:var(--clm-paper-2);color:var(--clm-ink);font-size:1rem;
}
.ev-detail{padding:clamp(26px,4vw,44px)}
.ev-detail h4{font-size:clamp(1.2rem,2.6vw,1.7rem);margin-bottom:.6em}
.ev-detail>p{color:var(--clm-ink-soft)}
.ev-detail dl{margin-top:24px;display:grid;grid-template-columns:auto 1fr;gap:12px 20px;font-size:.92rem}
.ev-detail dt{font-weight:800;color:var(--clm-sea-deep);white-space:nowrap}
.ev-detail dd{color:var(--clm-ink-soft)}
.story-step{margin-top:22px;padding-left:20px;border-left:3px solid var(--clm-line)}
.story-step .tag{font-size:.72rem;font-weight:800;color:#fff;background:var(--clm-sea);border-radius:999px;padding:.2em .8em}
.story-step h5{font-family:var(--font-display);font-weight:700;letter-spacing:.14em;font-size:.86rem;margin:.6em 0 .3em;color:var(--clm-ink)}
.story-step p{font-size:.9rem;color:var(--clm-ink-soft)}

/* 構成パネルで追加したセクションの既定余白 */
.dp-added-section{padding-block:clamp(64px,8vw,110px)}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1040px){
  .step-grid{grid-template-columns:repeat(2,1fr)}
  #numGrid{grid-template-columns:repeat(2,1fr)}
  .pj-grid{grid-template-columns:1fr;max-width:520px;margin-inline:auto}
  .safety-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  :root{--header-h:64px}
  .hide-sp{display:none}
  .hide-pc{display:initial}
  .gnav .nav-link,.nav-cta{display:none}
  .menu-toggle{display:block}
  .wwd-panel,.keep-hero,.love-wrap,.ticket-wrap,.mc-wrap,.contact-inner{grid-template-columns:1fr}
  .wwd-panel.is-rev{direction:ltr}
  .cmp{grid-template-columns:1fr}
  .cmp-arrow{transform:rotate(90deg);padding:6px 0}
  .lp-float .f-contact{display:inline-block}
  .site-header{height:64px}
}
@media (max-width:620px){
  .step-grid,.safety-grid,.ticket__items,.mc-features{grid-template-columns:1fr}
  #numGrid{grid-template-columns:repeat(2,1fr)}
  .ev-detail dl{grid-template-columns:1fr;gap:4px 0}
  .ev-detail dt{margin-top:12px}
  .hero .container{padding:104px var(--pad-x) 118px}
}

/* ---------- 女の子が参加しやすい約束バンド ---------- */
.girl-band{background:linear-gradient(180deg,#FFF7FA,#FFFBFC);padding:28px 0 8px}
.girl-band__inner{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.girl-band article{
  background:#fff;border:1px solid var(--clm-line);border-radius:22px;padding:18px 18px 16px;
  box-shadow:var(--sh-1);position:relative;overflow:hidden;
}
.girl-band article::before{display:none}
.girl-band article b{display:block;font-family:var(--font-jp-head);font-weight:900;font-size:.95rem;margin-bottom:.35em;color:var(--clm-pink-deep)}
.girl-band article span{display:block;font-size:.82rem;color:var(--clm-ink-soft);line-height:1.7}

.wwd-media,.mc-photo,.ev-media,.pj-media,.tc-media{
  box-shadow:0 0 0 6px #fff, 0 18px 40px rgba(240,98,146,.16);
}

@media (max-width:900px){
  .girl-band__inner{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:620px){
  .girl-band__inner{grid-template-columns:1fr}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .rv,.rv-rot{opacity:1;transform:none}
}
