/* にぎわいマップ 共通デザイントークン（select / index / money で共有）
   墨・生成り・金の落ち着いたトーン。角丸は2種類（12px / pill）、影はごく弱く、線は1px。 */
:root{
  --nw-sumi:#1f1d1a;
  --nw-sumi-2:#2b2823;
  --nw-sumi-ink:#e9e3d6;
  --nw-sumi-sub:#b9b1a2;
  --nw-sumi-line:rgba(255,255,255,.10);
  --nw-kinari:#f7f3ea;
  --nw-kinari-2:#efe9dc;
  --nw-surface:#fff;
  --nw-ink:#23201c;
  --nw-ink-2:#57514a;
  --nw-ink-3:#857e71;
  --nw-line:#e6dfd1;
  --nw-line-2:#d6cdbb;
  --nw-gold:#b0935a;
  --nw-gold-lt:#d3bf93;
  --nw-gold-ink:#7a6334;
  --nw-gold-tint:#f2ebdb;
  --nw-gold-line:rgba(176,147,90,.55);
  --nw-ad-bg:#eeede8;
  --nw-ad-line:#cdc9bf;
  --nw-ad-ink:#3b3833;
  --nw-line-green:#06c755;
  --nw-r:12px;
  --nw-r-pill:999px;
  --nw-sh:0 1px 2px rgba(31,29,26,.04),0 2px 10px rgba(31,29,26,.035);
  --nw-sh-float:0 6px 24px rgba(31,29,26,.14);
  --nw-gutter:16px;
  --nw-f-sans:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
  --nw-f-serif:"Hiragino Mincho ProN","Yu Mincho","YuMincho","Noto Serif JP","Noto Serif CJK JP",serif;
  /* 文字の3段：見出し / 小見出し / 本文（注記は本文の縮小） */
  --nw-fs-h:19px; --nw-lh-h:1.35;
  --nw-fs-s:15px; --nw-lh-s:1.45;
  --nw-fs-b:14px; --nw-lh-b:1.7;
  --nw-fs-n:12px;
  --nw-fade:.2s ease;
  /* ごく薄い紙の質感（CSSのみ・約400B） */
  --nw-paper:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .42 0 0 0 0 .36 0 0 0 0 .25 0 0 0 .045 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
@keyframes nwFade{from{opacity:0}to{opacity:1}}
.nw-paper{background-color:var(--nw-kinari);background-image:var(--nw-paper)}
.nw-num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}
.nw-ico{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px}

/* ヘッダー：墨＋細い金罫 */
.nw-hero{background:var(--nw-sumi);color:var(--nw-sumi-ink);text-align:center;padding:30px var(--nw-gutter) 22px;border-bottom:1px solid var(--nw-gold-line);position:relative}
.nw-hero::after{content:"";position:absolute;left:0;right:0;bottom:3px;height:1px;background:rgba(176,147,90,.18)}
.nw-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.2em;color:var(--nw-gold-lt);margin:0 0 10px}
.nw-eyebrow::before,.nw-eyebrow::after{content:"";width:18px;height:1px;background:var(--nw-gold-line)}
.nw-title{margin:0;font-family:var(--nw-f-serif);font-weight:600;font-size:26px;line-height:1.25;letter-spacing:.08em;color:#fff}
.nw-lead{margin:10px auto 0;max-width:30em;font-size:13px;line-height:1.7;color:var(--nw-sumi-sub)}
.nw-switch{display:flex;margin:18px auto 0;max-width:320px;border:1px solid var(--nw-gold-line);border-radius:var(--nw-r-pill);padding:3px;gap:3px}
.nw-switch a{flex:1;text-align:center;padding:7px 6px;font-size:13px;font-weight:600;letter-spacing:.04em;text-decoration:none;color:var(--nw-sumi-sub);border-radius:var(--nw-r-pill);transition:background var(--nw-fade),color var(--nw-fade)}
.nw-switch a.on{background:rgba(176,147,90,.18);color:var(--nw-gold-lt);box-shadow:inset 0 0 0 1px rgba(176,147,90,.5)}

/* 見出しの3段 */
.nw-h2{margin:0;font-family:var(--nw-f-serif);font-size:var(--nw-fs-h);line-height:var(--nw-lh-h);font-weight:600;letter-spacing:.04em;color:var(--nw-ink)}
.nw-h3{margin:0;font-size:var(--nw-fs-s);line-height:var(--nw-lh-s);font-weight:700;color:var(--nw-ink)}
.nw-p{margin:6px 0 0;font-size:var(--nw-fs-b);line-height:var(--nw-lh-b);color:var(--nw-ink-2)}
.nw-note{margin:8px 0 0;font-size:var(--nw-fs-n);line-height:1.7;color:var(--nw-ink-3)}
.nw-kicker{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.16em;color:var(--nw-gold-ink);margin:0 0 6px}
.nw-kicker::before{content:"";width:16px;height:1px;background:var(--nw-gold)}

/* 面：白カード＋1px細線＋ごく弱い影 */
.nw-card{background:var(--nw-surface);border:1px solid var(--nw-line);border-radius:var(--nw-r);box-shadow:var(--nw-sh);padding:16px}
.nw-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;letter-spacing:.04em;line-height:1;color:var(--nw-gold-ink);border:1px solid var(--nw-gold-line);border-radius:var(--nw-r-pill);padding:4px 9px;background:transparent;white-space:nowrap;vertical-align:2px}
.nw-badge.live{color:#3f6b4e;border-color:rgba(63,107,78,.45)}
.nw-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;max-width:100%;padding:8px 16px;border:1px solid var(--nw-ink);border-radius:var(--nw-r-pill);background:var(--nw-surface);color:var(--nw-ink);font:inherit;font-size:13px;line-height:1.35;font-weight:600;letter-spacing:0;text-align:center;text-decoration:none;cursor:pointer;transition:background var(--nw-fade),color var(--nw-fade)}
.nw-btn:active{background:var(--nw-kinari-2)}
.nw-link{display:inline-flex;align-items:center;gap:4px;font-size:13.5px;font-weight:600;color:var(--nw-gold-ink);text-decoration:none;border-bottom:1px solid var(--nw-gold-line);padding-bottom:1px}
.nw-line-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--nw-line-green);flex:none}

/* 広告枠：薄墨の面＋枠でイベント情報と分ける */
.nw-ad{position:relative;background:var(--nw-ad-bg);border:1px solid var(--nw-ad-line);border-radius:var(--nw-r);padding:46px 16px 18px;color:var(--nw-ad-ink)}
/* 広告ラベル：枠の最初に・本文と同じ大きさ（14px）・濃い地に白文字（LEGAL 2-1） */
.nw-adtag{position:absolute;top:-1px;left:-1px;font-size:var(--nw-fs-b);font-weight:700;letter-spacing:.02em;color:#fff;background:#3f3b35;border-radius:var(--nw-r) 0 var(--nw-r) 0;padding:6px 12px;line-height:1.3}
.nw-ad-item{border-top:1px solid var(--nw-ad-line);padding-top:14px;margin-top:14px}
.nw-ad .nw-p{color:#4d4943}
.nw-ad .nw-note{color:#77726a}
.nw-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:12px}

/* 共通フッター */
.nw-foot{max-width:672px;margin:40px auto 0;padding:22px var(--nw-gutter) calc(30px + env(safe-area-inset-bottom));border-top:1px solid var(--nw-line);text-align:left;color:var(--nw-ink-3);font-size:var(--nw-fs-n);line-height:1.8}
.nw-foot-op{font-size:13px;color:var(--nw-ink-2);margin:0 0 8px}
.nw-foot-op a{color:inherit}
.nw-foot-links{display:flex;flex-wrap:wrap;gap:4px 14px;margin:0 0 12px}
.nw-foot-links a{color:var(--nw-ink-2);text-decoration:none;border-bottom:1px solid var(--nw-line-2)}
.nw-foot p{margin:0 0 2px}
.nw-foot .nw-attr{margin-top:10px;font-size:10.5px;color:#a39b8c}
.nw-foot .nw-attr a{color:inherit}

/* 挿絵：墨の線＋金のアクセント＋生成り（インラインSVG・外部画像なし） */
.il{display:block;width:100%;height:auto;aspect-ratio:2/1;background:var(--nw-kinari);border-bottom:1px solid var(--nw-line)}
.ilx *{fill:none;stroke:var(--nw-ink);stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round}
.ilx .g{stroke:var(--nw-gold)}
.ilx .t{stroke-width:.7}
.ilx .l2{stroke:var(--nw-line-2)}
.ilx .d{stroke-dasharray:3 4}
.ilx .fw{fill:#fff}
.ilx .ft{fill:var(--nw-gold-tint)}
.ilx .fg{fill:var(--nw-gold);stroke:none}
.ilx .fk{fill:var(--nw-ink);stroke:none}
.ilx .ns{stroke:none}
.ilx text{fill:var(--nw-gold-ink);stroke:none;font:600 10px var(--nw-f-sans);letter-spacing:.04em}
.ilx .sway{transform-box:fill-box;transform-origin:50% 0;animation:nwSway 3.4s ease-in-out infinite alternate}
.ilx .fl,.ilx .fr{transform-box:fill-box;transform-origin:0 0;animation:nwFlag 2.8s ease-in-out infinite alternate}
.ilx .fr{transform-origin:100% 0}
.ilx .spin{animation:nwDash 14s linear infinite}
@keyframes nwSway{from{transform:rotate(-4deg)}to{transform:rotate(4deg)}}
@keyframes nwFlag{from{transform:rotate(-2.5deg)}to{transform:rotate(2.5deg)}}
@keyframes nwDash{to{stroke-dashoffset:-140}}
.js-reveal .reveal .pin{opacity:0}
.js-reveal .reveal.in .pin{animation:nwPin .5s ease both}
.js-reveal .reveal.in .pin.p2{animation-delay:.18s}
.js-reveal .reveal.in .pin.p3{animation-delay:.36s}
.ilx .pin{transform-box:fill-box;transform-origin:50% 100%}
@keyframes nwPin{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.js-reveal .reveal .pin{opacity:1}}
/* スクロールで出現：200msのフェードのみ（IntersectionObserver が無い環境では最初から表示） */
.js-reveal .reveal{opacity:0;transition:opacity .2s ease}
.js-reveal .reveal.in{opacity:1}
.nw-foot-links a[href^="/business"]{color:var(--nw-ad-ink)}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js-reveal .reveal{opacity:1}
}
