/* ============================================================
   演者図鑑 スキン「CLEAR」（2026-11-03）
   運営者「背景が黒だと文字が読みにくい」を受けて、白地に黒の文字へ作り直した。
   他サイトの実測（SEO分析/見やすさ/2026-11-03_他サイトの文字の実測.md）に合わせ、
   本文はゴシック体・17px（スマホ16px）・行間1.85、文字 #222 を白地に置く。明朝と飾り欧文はやめた。
   色は赤 #c8102e を主に、濃い金 #9a6b12 を細い線にだけ使う。角は小さく（4px）してぱるめんての丸い形と分ける。
   site.css / people.css のあとに読み込み、配色・書体・形を上書きする。黒地の旧版は skin-luxe.css.bak。
   ============================================================ */

:root {
	--ink: #222222;
	--ink2: #333333;
	--mute: #5c5c5c;
	--line: #e4e1da;
	--line2: #d2cdc2;
	--paper: #f7f6f3;
	--card: #ffffff;
	--tint: #f1efe9;
	--red: #c8102e;
	--red-d: #9e0b23;
	--red-soft: #fdf1f3;
	--gold: #9a6b12;
	--gold-l: #9a6b12;
	--gold-g: linear-gradient(90deg, #c8102e, #9a6b12);
	--rose: #c8102e;
	--rose-d: #9e0b23;
	--navy: #1d2433;
	--serif: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	--latin: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	--sans: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	--r: 4px;
	--shadow: 0 1px 2px rgba(0, 0, 0, .06), 0 6px 18px -10px rgba(0, 0, 0, .18);
	--ez-ink: #222222;
	--ez-sub: #5c5c5c;
	--ez-line: #e4e1da;
	--ez-rose: #c8102e;
	--ez-rose-soft: #fdf1f3;
	--ez-lav: #f7f6f3;
	--ez-cream: #ffffff;
	--ez-radius: 4px;
}

html { background: var(--paper); }
body.ezx { background: var(--paper); color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.85; letter-spacing: .02em; font-weight: 400; }
body.ezx h1, body.ezx h2, body.ezx h3 { font-family: var(--sans); font-weight: 700; color: var(--ink); letter-spacing: .02em; }
body.ezx p, body.ezx li { color: var(--ink2); }
body.ezx ::selection { background: #ffd9df; color: #000; }
body.ezx .ezx-kicker { font-family: var(--sans); font-style: normal; font-weight: 700; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--red); margin-bottom: 6px; }

/* ---------- ボタン ---------- */
body.ezx .ezx-btn, body.ezx .ez-btn { border-radius: var(--r) !important; border: 1px solid var(--red) !important; background: var(--red); color: #fff !important; font-weight: 700; letter-spacing: .06em; box-shadow: none; }
body.ezx .ezx-btn:hover, body.ezx .ez-btn:hover { background: var(--red-d); transform: none; opacity: 1; }
body.ezx .ezx-btn.is-gold { background: var(--red); color: #fff !important; }
body.ezx .ezx-btn.is-line, body.ezx .ezx-btn.is-ghost, body.ezx .ez-btn.is-ghost { background: #fff; color: var(--red) !important; border: 1px solid var(--red) !important; }
body.ezx .ezx-btn.is-line:hover { background: var(--red-soft); }
body.ezx .ezx-btn small { color: inherit; opacity: .8; }

/* ---------- ヘッダー（白地＋上に赤い帯） ---------- */
body.ezx .ezx-topline { background: var(--red); color: #fff; letter-spacing: .1em; }
body.ezx .ezx-topline b { color: #fff; }
body.ezx .ezx-bar { background: #fff; border-bottom: 1px solid var(--line); box-shadow: 0 2px 10px -6px rgba(0, 0, 0, .2); }
body.ezx .ezx-logo-ja, body.ezx .ezx-logo.is-light .ezx-logo-ja { color: var(--ink); background: none; -webkit-text-fill-color: currentColor; font-family: var(--sans); font-weight: 900; letter-spacing: .06em; }
body.ezx .ezx-logo-en { color: var(--red); font-family: var(--sans); font-weight: 700; letter-spacing: .3em; }
body.ezx .ezx-nav-list a { color: var(--ink2); border-radius: var(--r); letter-spacing: .04em; font-weight: 700; }
body.ezx .ezx-nav-list a:hover, body.ezx .ezx-nav-list .current-menu-item > a { color: var(--red); background: var(--red-soft); }
body.ezx .ezx-nav-list .is-sched a { color: #fff; background: var(--red); }
body.ezx .ezx-nav-list .is-sched a:hover { background: var(--red-d); color: #fff; }
body.ezx .ezx-search { border: 1px solid var(--line2); border-radius: var(--r); background: #fff; }
body.ezx .ezx-search input, body.ezx .ezx-hero-search input, body.ezx .ezx-bigsearch input { color: var(--ink) !important; background: transparent !important; }
body.ezx .ezx-search input::placeholder, body.ezx .ezx-hero-search input::placeholder, body.ezx .ezx-bigsearch input::placeholder { color: #8a8a8a; opacity: 1; }
body.ezx .ezx-search button { color: var(--ink2) !important; }
body.ezx .ezx-menu-btn span, body.ezx .ezx-menu-btn span::before, body.ezx .ezx-menu-btn span::after { background: var(--ink); }
@media (max-width: 960px) {
	body.ezx .ezx-nav { background: #fff; border-bottom: 1px solid var(--line); }
	body.ezx .ezx-nav-list a { border-bottom: 1px solid var(--line); }
}

/* ---------- フッター（濃い紺。文字は十分明るく） ---------- */
body.ezx .ezx-footer { background: var(--navy); border-top: 4px solid var(--red); color: #d9dce3; margin-top: 0; }
body.ezx .ezx-footer::before { display: none; }
body.ezx .ezx-footer-h { font-family: var(--sans); color: #fff; letter-spacing: .08em; font-weight: 700; text-transform: none; }
body.ezx .ezx-footer li a:hover, body.ezx .ezx-footer-bottom a { color: #fff; text-decoration: underline; }
body.ezx .ezx-footer-bottom { border-top: 1px solid rgba(255, 255, 255, .18); }
body.ezx .ezx-footer-brand p, body.ezx .ezx-footer-bottom .ezx-notice, body.ezx .ezx-footer li, body.ezx .ezx-footer p { color: #d9dce3; }
body.ezx .ezx-footer .ezx-logo-ja { color: #fff; }

/* ---------- セクション・見出し ---------- */
body.ezx .ezx-sec { padding: 64px 0; background: transparent; position: relative; }
body.ezx .ezx-sec.is-tint { background: #fff; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
body.ezx .ezx-sec.is-night { background: #fff; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--ink); }
body.ezx .ezx-h, body.ezx .ezx-h.is-light { color: var(--ink) !important; font-weight: 800 !important; letter-spacing: .02em !important; font-size: clamp(22px, 2.8vw, 30px) !important; padding-left: 14px; border-left: 5px solid var(--red); }
body.ezx .ezx-h::after { display: none; }
body.ezx .ezx-more { color: var(--red) !important; letter-spacing: .04em; font-size: 14px; }
body.ezx .ezx-note, body.ezx .ezx-note.is-light { color: var(--mute); font-weight: 400; font-size: 14px; }
body.ezx .ezx-subh { font-family: var(--sans); font-weight: 700; }

/* ---------- ヒーロー（白地。写真は右に額のように置く） ---------- */
body.ezx .ezx-hero { background: #fff; color: var(--ink); border-bottom: 1px solid var(--line); }
body.ezx .ezx-hero-glow { display: none; }
body.ezx .ezx-hero-in { grid-template-columns: 1.15fr .85fr; align-items: center; padding-top: 56px; padding-bottom: 56px; min-height: 0; }
body.ezx .ezx-hero-in::after { content: ""; grid-column: 2; grid-row: 1 / span 2; align-self: stretch; min-height: 340px; border-radius: var(--r); background: #111 url("lux-hero.jpg") center / cover no-repeat; box-shadow: var(--shadow); }
body.ezx .ezx-hero-kicker span { display: inline-block; font-family: var(--sans); font-style: normal; font-size: 12px; font-weight: 700; letter-spacing: .14em; color: #fff; background: var(--red); padding: 4px 10px; border: 0; text-transform: uppercase; }
body.ezx .ezx-hero-t { font-family: var(--sans) !important; font-weight: 900 !important; letter-spacing: .02em !important; line-height: 1.3 !important; font-size: clamp(32px, 4.6vw, 56px) !important; color: var(--ink) !important; background: none !important; -webkit-text-fill-color: currentColor !important; filter: none; text-shadow: none; }
body.ezx .ezx-hero-lead { color: var(--ink2); font-size: 17px; line-height: 1.9; }
body.ezx .ezx-hero-search { background: #fff; border: 2px solid var(--ink); border-radius: var(--r); box-shadow: none; }
body.ezx .ezx-hero-search input { color: var(--ink) !important; }
body.ezx .ezx-hero-search button { background: var(--ink) !important; color: #fff !important; border-radius: 2px; font-weight: 700; letter-spacing: .08em; }
body.ezx .ezx-hero-pick { grid-column: 1; justify-self: start; align-self: start; }
body.ezx .ezx-hero-frame { display: none; }
body.ezx .ezx-hero-tag { position: static; transform: none; background: var(--paper); border: 1px solid var(--line); border-left: 4px solid var(--red); border-radius: var(--r); box-shadow: none; color: var(--ink); min-width: 240px; padding: 14px 18px; }
body.ezx .ezx-hero-tag-k { font-family: var(--sans); font-style: normal; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: none; color: var(--red); }
body.ezx .ezx-hero-tag-n { font-family: var(--sans); font-size: 22px; font-weight: 800; color: var(--ink); letter-spacing: .04em; }
body.ezx .ezx-hero-tag-r { color: var(--mute); }
body.ezx .ezx-hero-tag-go { color: var(--red); letter-spacing: .04em; font-weight: 700; }
body.ezx .ezx-marquee { background: var(--ink); border: 0; padding: 12px 0; }
body.ezx .ezx-marquee::before, body.ezx .ezx-marquee::after { display: none; }
body.ezx .ezx-marquee span { color: #fff; font-family: var(--sans); font-weight: 700; letter-spacing: .1em; font-size: 15px; }
body.ezx .ezx-reels, body.ezx .ezx-symbols { display: none; }

/* ---------- 数字の帯 ---------- */
body.ezx .ezx-stats { background: #fff; border-bottom: 1px solid var(--line); }
body.ezx .ezx-stats .ezx-wrap { gap: 0; padding-top: 0; padding-bottom: 0; }
body.ezx .ezx-stats div { border: 0; border-left: 1px solid var(--line); background: none; box-shadow: none; padding: 26px 12px; }
body.ezx .ezx-stats div:first-child { border-left: 0; }
body.ezx .ezx-stats b { font-family: "Oswald", var(--sans); font-weight: 600; color: var(--red); background: none; -webkit-text-fill-color: currentColor; }
body.ezx .ezx-stats span { color: var(--mute); letter-spacing: .06em; }

/* ---------- カード ---------- */
body.ezx .ezx-card, body.ezx .ezx-acard, body.ezx .ezx-feed-i, body.ezx .ezx-pcard { background: #fff; border: 1px solid var(--line); border-radius: var(--r); box-shadow: var(--shadow); }
body.ezx .ezx-card:hover, body.ezx .ezx-acard:hover, body.ezx .ezx-pcard:hover { transform: translateY(-3px); border-color: var(--red); box-shadow: 0 10px 24px -12px rgba(200, 16, 46, .35); }
body.ezx .ezx-card-n, body.ezx .ezx-acard-h, body.ezx .ezx-pcard-n { color: var(--ink); font-family: var(--sans); font-weight: 800; letter-spacing: .02em; }
body.ezx .ezx-card-k, body.ezx .ezx-card-r, body.ezx .ezx-acard-ex { color: var(--mute); }
body.ezx .ezx-card-m, body.ezx .ezx-acard-cat, body.ezx .ezx-pcard-f { color: var(--red); }
body.ezx .ezx-pcard-f b { color: var(--red); }
body.ezx .ezx-card-st { border-radius: 2px; background: #fff; color: var(--red); border: 1px solid var(--red); }
body.ezx .ezx-pcard-b { background: #fff; border-top: 1px solid var(--line); }
body.ezx .ezx-pcard-b::before { background: var(--red); height: 2px; }
body.ezx .ezx-pcard-n em { border-radius: 2px; background: var(--red-soft); color: var(--red); }
body.ezx .ezx-pcard-rank, body.ezx .ezx-card-rank { border-radius: 2px; background: var(--red); color: #fff; font-family: "Oswald", var(--sans); }
body.ezx .tone0 { background: #8f1d2c; }
body.ezx .tone1 { background: #23407a; }
body.ezx .tone2 { background: #4b3a78; }
body.ezx .tone3 { background: #1f5f52; }
body.ezx .tone4 { background: #7a5514; }
body.ezx .tone5 { background: #7c2a4a; }
body.ezx .ezx-card-art::before, body.ezx .ezx-card-art::after { border-radius: 2px; }
body.ezx .ezx-card-init { font-family: var(--sans); font-weight: 900; color: #fff; background: none; -webkit-text-fill-color: currentColor; filter: none; }
body.ezx .ezx-card-v { color: #fff; font-family: var(--sans); }

/* ---------- ランキング ---------- */
body.ezx .ezx-podium-i { background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--red); border-radius: var(--r); box-shadow: var(--shadow); color: var(--ink); }
body.ezx .ezx-podium-r, body.ezx .ezx-podium-f small { color: var(--mute); }
body.ezx .ezx-podium-f, body.ezx .ezx-rank-f { color: var(--red); font-family: "Oswald", var(--sans); }
body.ezx .ezx-rank li { border-bottom: 1px solid var(--line); }
body.ezx .ezx-rank-no { color: var(--red); font-family: "Oswald", var(--sans); }
body.ezx .ezx-podium-no { color: var(--red) !important; background: none !important; -webkit-text-fill-color: currentColor !important; }

/* ---------- 記事カード・肩書タイル・約束帯 ---------- */
body.ezx .ezx-acard-en { font-family: var(--sans); font-style: normal; font-weight: 700; color: #fff; }
body.ezx .ezx-type { border-radius: var(--r); border: 0; box-shadow: var(--shadow); }
body.ezx .ezx-promise { background: #fff; color: var(--ink2); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
body.ezx .ezx-promise-t { color: var(--ink) !important; font-weight: 800; }
body.ezx .ezx-promise-cols div { background: var(--paper); border: 1px solid var(--line); border-top: 3px solid var(--red); border-radius: var(--r); }
body.ezx .ezx-promise-cols b { color: var(--ink); }
body.ezx .ezx-promise-cols p { color: var(--ink2); }

/* ---------- 絞り込み・検索・ページ送り ---------- */
body.ezx .ezx-chips a { border-radius: var(--r); border: 1px solid var(--line2); background: #fff; color: var(--ink2); letter-spacing: .02em; font-weight: 700; }
body.ezx .ezx-chips a small { color: var(--red); }
body.ezx .ezx-chips a.is-on, body.ezx .ezx-chips a:hover { background: var(--red); color: #fff; border-color: var(--red); }
body.ezx .ezx-chips a.is-on small, body.ezx .ezx-chips a:hover small { color: #fff; }
body.ezx .ezx-bigsearch { border: 2px solid var(--ink); border-radius: var(--r); background: #fff; box-shadow: none; }
body.ezx .ezx-bigsearch button { border-radius: 2px; background: var(--ink) !important; color: #fff !important; }
body.ezx .ez-pager .page-numbers { border-radius: var(--r); border: 1px solid var(--line2); background: #fff; color: var(--ink2); }
body.ezx .ez-pager .page-numbers.current { background: var(--red); color: #fff; border-color: var(--red); }
body.ezx .ezx-crumbs, body.ezx .ezx-crumbs a { color: var(--mute); }
body.ezx .ezx-empty-t { color: var(--ink); }

/* ---------- 見出し帯（一覧・記事・固定ページ） ---------- */
body.ezx .ezx-ahead { background: #fff !important; color: var(--ink); border-bottom: 1px solid var(--line); border-top: 0; }
body.ezx .ezx-ahead::after { display: none; }
body.ezx .ezx-ahead .ezx-crumbs, body.ezx .ezx-ahead .ezx-crumbs a, body.ezx .ezx-ahead-meta { color: var(--mute); }
body.ezx .ezx-ahead .ezx-kicker { color: var(--red); }
body.ezx .ezx-ahead-t { color: var(--ink) !important; font-weight: 900 !important; letter-spacing: .02em; font-size: clamp(26px, 3.6vw, 38px) !important; }
body.ezx .ezx-tag { border-radius: 2px; background: var(--red-soft); color: var(--red); border: 1px solid #f3c4cc; }
body.ezx .ezx-article-lede { font-family: var(--sans); color: var(--ink2); border-bottom: 1px solid var(--line); }
body.ezx .ezx-toc { background: #fff; border: 1px solid var(--line); border-radius: var(--r); }
body.ezx .ezx-toc-h { color: var(--ink); }
body.ezx .ezx-toc li { border-bottom: 1px dashed var(--line); color: var(--ink2); }
body.ezx .ezx-toc li.is-h2::before { color: var(--red); }
body.ezx .ezx-prose, body.ezx .ezx-page { color: var(--ink2); }
body.ezx .ezx-prose a, body.ezx .ezx-page a, body.ezx .ez-person .ez-sec a { color: #0b57a4; text-decoration: underline; text-decoration-color: rgba(11, 87, 164, .35); text-underline-offset: 3px; }
body.ezx .ezx-prose h2 { border-bottom: 2px solid var(--ink); }
body.ezx .ezx-prose h2::after { background: var(--red); }
body.ezx .ezx-prose h3 { border-left-color: var(--red); }
body.ezx table { background: #fff; box-shadow: none; border: 1px solid var(--line); }
body.ezx th, body.ezx .ezx-prose thead th, body.ezx .ezx-prose tr:first-child th { background: var(--tint) !important; color: var(--ink) !important; font-weight: 700; }
body.ezx td { color: var(--ink2); }
body.ezx .ezx-prose td { border-bottom: 1px solid var(--line) !important; }
body.ezx .ezx-page input[type=text], body.ezx .ezx-page input[type=email], body.ezx .ezx-page input[type=url], body.ezx .ezx-page textarea, body.ezx .ezx-page select { background: #fff; color: var(--ink); border: 1px solid var(--line2); border-radius: var(--r); }
body.ezx .ezx-page button, body.ezx .ezx-page input[type=submit] { border-radius: var(--r); border: 1px solid var(--red); background: var(--red); color: #fff; font-weight: 700; letter-spacing: .06em; }

/* ---------- 人物ページ ---------- */
body.ezx .ez-p-head { background: #fff !important; border-bottom: 1px solid var(--line); border-top: 4px solid var(--red); color: var(--ink); padding-top: 28px !important; padding-bottom: 36px !important; }
body.ezx .ez-p-head::before { content: none; }
body.ezx .ez-p-head::after { display: none; }
body.ezx .ez-p-head .ezx-crumbs { color: var(--mute); margin-bottom: 18px; }
body.ezx .ez-p-kana { color: var(--mute); }
body.ezx .ez-p-name { font-family: var(--sans) !important; font-weight: 900 !important; letter-spacing: .04em !important; color: var(--ink) !important; background: none !important; -webkit-text-fill-color: currentColor !important; filter: none; text-shadow: none; font-size: clamp(34px, 6vw, 52px) !important; }
body.ezx .ez-p-role { color: var(--red); font-weight: 700; letter-spacing: .06em; }
body.ezx .ez-p-lede { color: var(--ink2) !important; font-weight: 400; font-size: 16px; line-height: 1.85; text-align: left; }
body.ezx .ezx-p-facts span { color: var(--mute); border-color: var(--line); }
body.ezx .ezx-p-facts b { color: var(--ink); }
body.ezx .ez-p-follow a, body.ezx .ez-follow { background: #fff !important; border: 1px solid var(--red) !important; color: var(--red) !important; border-radius: var(--r) !important; box-shadow: none; letter-spacing: .04em; font-weight: 700; }
body.ezx .ez-p-follow a:hover { background: var(--red-soft) !important; }
body.ezx .ez-summary, body.ezx .ez-prof, body.ezx .ez-toc, body.ezx .ez-qa { background: #fff; border: 1px solid var(--line); border-radius: var(--r); box-shadow: none; color: var(--ink2); }
body.ezx .ez-summary { border-left: 4px solid var(--red); }
body.ezx .ez-summary::before { display: none; }
body.ezx .ez-summary-h { font-family: var(--sans); color: var(--red); letter-spacing: .06em; font-weight: 800; }
body.ezx .ez-prof, body.ezx .ez-prof * { border-color: var(--line) !important; }
body.ezx .ez-prof dt, body.ezx .ez-prof th { color: var(--ink); background: var(--tint); }
body.ezx .ez-h2, body.ezx .ez-body h2 { font-family: var(--sans) !important; color: var(--ink) !important; border: 0 !important; border-bottom: 2px solid var(--ink) !important; padding: 0 0 10px !important; font-weight: 800 !important; letter-spacing: .02em; }
body.ezx .ez-h2::after, body.ezx .ez-body h2::after { display: block; content: ""; position: absolute; left: 0; bottom: -2px; width: 64px; height: 2px; background: var(--red); box-shadow: none; }
body.ezx .ez-body h3, body.ezx .ez-h3 { font-family: var(--sans) !important; border-left: 4px solid var(--red) !important; color: var(--ink) !important; letter-spacing: .02em; font-weight: 700; }
body.ezx .ez-foot { background: #fff; border: 1px solid var(--line); border-radius: var(--r); color: var(--ink2); }
body.ezx .ez-more a { border: 1px solid var(--line2); border-radius: var(--r); background: #fff; color: var(--ink2); }
body.ezx .ez-more a:hover { border-color: var(--red); color: var(--red); background: var(--red-soft); }
body.ezx .ez-more-h { color: var(--mute); }
body.ezx .ez-now { background: #fff; border: 1px solid var(--line); border-left: 4px solid var(--red); border-radius: var(--r); color: var(--ink2); }
body.ezx .ez-now-h { color: var(--ink); }
body.ezx .ez-photo .ez-ig { border: 1px solid var(--line); border-radius: var(--r); box-shadow: none; }
body.ezx .ez-qa summary, body.ezx .ez-toc summary { color: var(--ink); font-weight: 700; }
body.ezx .ez-tl-d { font-family: "Oswald", var(--sans); color: var(--red); letter-spacing: .04em; }
body.ezx .ez-tl-t { font-family: var(--sans); font-weight: 700; color: var(--ink); }
body.ezx .ez-trait-d { font-size: 14px; color: var(--mute); }
body.ezx img { border-radius: 0; }

/* 本文の読みやすさ（実測した記事系サイトの16px・行間1.6〜1.8より、ひと回りゆったり） */
body.ezx .ez-person .ez-sec p, body.ezx .ez-person li, body.ezx .ez-person dd, body.ezx .ezx-prose p, body.ezx .ezx-prose li, body.ezx .ezx-page p, body.ezx .ezx-page li, body.ezx .ez-summary li, body.ezx .ez-qa p, body.ezx .ez-tl-b {
	font-family: var(--sans); font-size: 17px; line-height: 1.85; letter-spacing: .02em; color: var(--ink2);
}
body.ezx .ez-person .ez-sec p, body.ezx .ezx-prose p { margin: 0 0 1.2em; max-width: 40em; }
body.ezx .ez-summary li { font-size: 16px; line-height: 1.8; }
body.ezx .ez-prof dt { font-family: var(--sans); font-weight: 700; letter-spacing: .02em; }
body.ezx .ez-prof dd { font-size: 16px; line-height: 1.75; }
body.ezx .ez-h2, body.ezx .ez-body h2 { font-size: clamp(21px, 2.4vw, 26px) !important; line-height: 1.5 !important; margin-top: 2.4em !important; }
@media (max-width: 600px) {
	body.ezx .ez-person .ez-sec p, body.ezx .ez-person li, body.ezx .ez-person dd, body.ezx .ezx-prose p, body.ezx .ezx-prose li, body.ezx .ezx-page p, body.ezx .ezx-page li { font-size: 16px; line-height: 1.85; }
}

@media (max-width: 900px) {
	body.ezx .ezx-hero-in { grid-template-columns: 1fr !important; padding-top: 32px; padding-bottom: 36px; }
	body.ezx .ezx-hero-in::after { grid-column: 1; grid-row: auto; min-height: 170px; order: -1; }
	body.ezx .ezx-sec { padding: 44px 0; }
}

/* ============================================================
   来店スケジュールの掲示板（白地。日付の帯だけ濃い色で目立たせる）
   ============================================================ */
.ezs-board { display: grid; gap: 16px; }
body.ezx .ezs-day { padding: 0 !important; margin: 0 !important; border: 1px solid var(--line); border-radius: var(--r); background: #fff; box-shadow: var(--shadow); overflow: hidden; }
.ezs-day.is-past { opacity: .85; }
body.ezx .ezs-date { display: flex; align-items: baseline; gap: 12px; margin: 0 !important; padding: 10px 16px !important; background: var(--ink); border: 0 !important; font-family: var(--sans) !important; font-size: 16px !important; letter-spacing: .04em !important; color: #fff; }
body.ezx .ezs-date::after { display: none !important; }
.ezs-date b { font-family: "Oswald", var(--sans); font-size: 22px; font-weight: 600; color: #fff; letter-spacing: .04em; }
.ezs-date small { margin-left: auto; color: #e8e8e8; font-size: 13px; font-weight: 400; }
.ezs-today { font-style: normal; font-size: 12px; font-weight: 700; color: #fff; background: var(--red); padding: 2px 10px; border-radius: 2px; letter-spacing: .1em; }
.ezs-today.is-next { background: #fff; color: var(--red); }
.ezs-rows { list-style: none; margin: 0 !important; padding: 0 !important; }
.ezs-row { display: grid; grid-template-columns: 88px 150px 1fr auto; align-items: center; gap: 14px; padding: 12px 16px; border-top: 1px solid var(--line); font-family: var(--sans); }
.ezs-row:first-child { border-top: 0; }
.ezs-row[hidden], .ezs-day[hidden] { display: none; }
.ezs-board.is-person .ezs-row { grid-template-columns: 88px 1fr auto; }
.ezs-kind { display: inline-block; text-align: center; font-size: 12px; font-weight: 700; letter-spacing: .04em; padding: 3px 6px; border-radius: 2px; color: #fff; }
.ezs-kind.k-visit { background: #c8102e; }
.ezs-kind.k-live { background: #1d64b8; }
.ezs-kind.k-rec { background: #a85d00; }
.ezs-kind.k-show { background: #6b3fb5; }
.ezs-kind.k-event { background: #1e7a4c; }
body.ezx .ezs-who { font-family: var(--sans); font-weight: 800; font-size: 16px; color: var(--ink) !important; text-decoration: none !important; }
body.ezx .ezs-who:hover { color: var(--red) !important; text-decoration: underline !important; }
.ezs-where { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; min-width: 0; }
.ezs-pref { font-size: 13px; color: var(--mute); min-width: 4.5em; }
.ezs-hall { font-size: 16px; color: var(--ink); font-weight: 700; }
.ezs-note { font-size: 13px; color: var(--mute); }
body.ezx .ezs-src { font-size: 13px; color: #0b57a4 !important; border: 1px solid #b9cde6; padding: 4px 10px; border-radius: var(--r); text-decoration: none !important; white-space: nowrap; background: #fff; }
body.ezx .ezs-src:hover { background: #eef4fb; }
@media (max-width: 720px) {
	.ezs-row, .ezs-board.is-person .ezs-row { grid-template-columns: auto 1fr auto; gap: 6px 12px; padding: 12px 14px; }
	.ezs-where, .ezs-board.is-person .ezs-where { grid-column: 1 / -1; grid-row: 2; }
	.ezs-src, .ezs-board.is-person .ezs-src { grid-column: 3; grid-row: 1; justify-self: end; }
	.ezs-board.is-person .ezs-row { grid-template-columns: auto 1fr; }
	.ezs-board.is-person .ezs-src { grid-column: 2; }
}

/* 一覧ページ */
.ezs-head { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); border: 1px solid var(--line); border-radius: var(--r); margin: 0 0 20px; background: #fff; }
.ezs-stat { padding: 16px 12px; text-align: center; border-left: 1px solid var(--line); }
.ezs-stat:first-child { border-left: 0; }
.ezs-stat b { display: block; font-family: "Oswald", var(--sans); font-size: 32px; font-weight: 600; color: var(--red); line-height: 1.1; }
.ezs-stat span { font-size: 13px; color: var(--mute); }
.ezs-chart { margin: 0 0 20px; padding: 14px 14px 8px; border: 1px solid var(--line); border-radius: var(--r); background: #fff; }
.ezs-chart-in { overflow-x: auto; }
.ezs-chart svg { display: block; height: 180px; max-width: none; }
.ezs-chart svg text[fill="#f3ebd9"] { fill: #222; }
.ezs-chart figcaption { font-size: 13px; color: var(--mute); margin-top: 6px; }
.ezs-filter { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: end; margin: 0 0 20px; padding: 14px; border: 1px solid var(--line); border-radius: var(--r); background: #fff; }
.ezs-filter label { display: grid; gap: 4px; font-size: 13px; color: var(--ink); font-weight: 700; }
.ezs-filter select { min-width: 150px; padding: 9px 10px; background: #fff; color: var(--ink); border: 1px solid var(--line2); border-radius: var(--r); font-size: 16px; }
.ezs-hit { margin: 0 0 0 auto !important; color: var(--red) !important; font-weight: 700; }
.ezs-none { padding: 20px; border: 1px dashed var(--line2); text-align: center; background: #fff; }
.ezs-past { margin: 24px 0 0; }
.ezs-past summary { cursor: pointer; padding: 12px 16px; border: 1px solid var(--line); border-radius: var(--r); color: var(--ink); font-weight: 700; background: #fff; margin-bottom: 14px; }
.ezs-tally, .ezs-howto { margin-top: 44px; }
body.ezx .ezs .ezs-tally h2, body.ezx .ezs .ezs-howto h2 { font-size: 22px; color: var(--ink); margin: 0 0 12px !important; }
.ezs-tally-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.ezs-tally table { width: 100%; border-collapse: collapse; font-size: 15px; }
.ezs-tally td, .ezs-tally th { padding: 8px 12px; border-bottom: 1px solid var(--line); text-align: left; }
.ezs-tally td:last-child, .ezs-tally th:last-child { text-align: right; font-family: "Oswald", var(--sans); color: var(--red); }
.ezs-cite { font-size: 13px !important; color: var(--mute) !important; margin-top: 12px; }
.ezs-howto ul { padding-left: 1.2em; }
@media (max-width: 720px) { .ezs-tally-cols { grid-template-columns: 1fr; } .ezs-hit { margin-left: 0 !important; } .ezs-filter select { min-width: 0; width: 100%; } .ezs-filter label { flex: 1 1 140px; } }

/* トップの掲示板 */
body.ezx .ezs-home { background: var(--paper); border-bottom: 1px solid var(--line); padding-top: 48px; }
body.ezx .ez-sched-more a { color: var(--red) !important; font-weight: 700; }

/* ---------- 11/3 見直し（運営者「画像が途中で切れてる」「意味のない文」） ---------- */
/* 英語の飾り見出しは出さない（日本語の見出しだけで中身が分かる） */
body.ezx .ezx-kicker { display: none !important; }
/* 人物カードは埋め込みをやめ、頭文字の色地にした。縦長だと間延びするので正方形に近づける */
body.ezx .ezx-card-art { aspect-ratio: 1 / 1; }
body.ezx .ezx-pcards { grid-auto-columns: 210px; }
body.ezx .ezx-card-init { font-size: 72px; }
body.ezx .ezx-card-m { color: var(--red); font-size: 13px; }
@media (max-width: 600px) { body.ezx .ezx-pcards { grid-auto-columns: 46%; } body.ezx .ezx-card-init { font-size: 56px; } }
/* 肩書のタイル: 説明文を白でくっきり */
body.ezx .ezx-type-n { font-family: var(--sans); font-weight: 800; letter-spacing: .02em; }
body.ezx .ezx-type-d { opacity: 1; color: #fff; font-size: 14px; }
body.ezx .ezx-type-c { font-family: "Oswald", var(--sans); }
body.ezx .ezx-type::after { display: none; }

/* X の埋め込み: 読み込み前と、表示されなかったときのリンクの箱（空の細い枠を残さない） */
body.ezx blockquote.ez-xq, body.ezx .ez-xfall { display: block; margin: 0; padding: 18px 16px; border: 1px solid var(--line); border-left: 4px solid #111; border-radius: var(--r); background: #fff; font-size: 15px; font-weight: 700; color: #0b57a4 !important; text-decoration: none !important; }
body.ezx blockquote.ez-xq a { color: #0b57a4; text-decoration: none; }
body.ezx .ez-xfall::before, body.ezx blockquote.ez-xq::before { content: "X"; display: inline-block; margin-right: 10px; padding: 0 7px; background: #111; color: #fff; border-radius: 2px; font-family: Arial, sans-serif; }
body.ezx blockquote.ez-xq, body.ezx blockquote.ez-xq * { font-style: normal !important; }

/* 件数の図（横の棒。スマホでも切れない） */
.ezs-chart figcaption { font-size: 14px; font-weight: 700; color: var(--ink); margin: 0 0 10px; }
.ezs-bars { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; gap: 6px; }
.ezs-bar { display: grid; grid-template-columns: 7.2em 1fr 3em; align-items: center; gap: 10px; font-size: 14px; }
.ezs-bar-d { color: var(--ink); white-space: nowrap; }
.ezs-bar.is-sun .ezs-bar-d { color: var(--red); }
.ezs-bar.is-sat .ezs-bar-d { color: #1d64b8; }
.ezs-bar-t { height: 12px; background: var(--tint); border-radius: 2px; overflow: hidden; }
.ezs-bar-t i { display: block; height: 100%; background: var(--ink); border-radius: 2px; }
.ezs-bar.is-sun .ezs-bar-t i { background: var(--red); }
.ezs-bar.is-sat .ezs-bar-t i { background: #1d64b8; }
.ezs-bar b { text-align: right; font-weight: 700; color: var(--ink); }

/* 一覧: スマホでも2列。1人で1画面を使わない */
@media (max-width: 560px) { body.ezx .ezx-pgrid { grid-template-columns: 1fr 1fr; gap: 12px; } }

/* トップの画像（11/3 差し替え）: 台全体が収まった絵を、切らずに縦横比のまま見せる */
body.ezx .ezx-hero-in::after { background: #f5f3f2 url("hero-clear.jpg") center / contain no-repeat; aspect-ratio: 4 / 3; min-height: 0; align-self: center; box-shadow: none; border: 1px solid var(--line); }
@media (max-width: 900px) { body.ezx .ezx-hero-in::after { min-height: 0; width: 100%; } }

/* 本人の写真（カードとページ上部）。X の写真投稿の画像を、縦横比を保って顔が中心に来るように切り抜く */
body.ezx .ezx-card-art.has-photo { background: #ddd; }
body.ezx .ezx-card-art.has-photo::before, body.ezx .ezx-card-art.has-photo::after { display: none; }
body.ezx .ezx-card-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
body.ezx .ezx-card-art.has-photo { aspect-ratio: 3 / 4; }
body.ezx .ez-p-photo { margin: 18px auto 20px !important; width: min(72vw, 300px); }
body.ezx .ez-p-photo img { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border-radius: var(--r); box-shadow: var(--shadow); background: #ddd; }
body.ezx .ez-p-photo figcaption { margin-top: 8px; font-size: 12px; text-align: center; }
body.ezx .ez-p-photo figcaption a { color: var(--mute) !important; text-decoration: underline; }

/* ============================================================
   トップの動くスロット（11/3 作り直し。台と絵柄は Codex の画像）
   台の画像（窓が透明）の奥にリールを置いて回す。窓の位置は台の画像から測った %（左17.80 上23.25 幅64.31 高さ24.00）
   ============================================================ */
body.ezx .ezx-hero-in::after { content: none !important; display: none !important; }
.ezx-slot { grid-column: 2; grid-row: 1 / span 2; justify-self: center; align-self: center; position: relative; width: min(100%, 360px); aspect-ratio: 720 / 1030; }
.ezx-slot-cab { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 2; pointer-events: none; filter: drop-shadow(0 22px 30px rgba(0, 0, 0, .28)); }
.ezx-slot-reels { position: absolute; left: 17.8%; top: 23.25%; width: 64.31%; height: 24%; z-index: 1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 2%; padding: 0 1%; background: #111; }
.ezx-reel { position: relative; overflow: hidden; background: linear-gradient(180deg, #cfcfcf, #fff 20%, #fff 80%, #cfcfcf); }
.ezx-reel::before, .ezx-reel::after { content: ""; position: absolute; left: 0; right: 0; height: 26%; z-index: 1; pointer-events: none; }
.ezx-reel::before { top: 0; background: linear-gradient(180deg, rgba(0, 0, 0, .35), transparent); }
.ezx-reel::after { bottom: 0; background: linear-gradient(0deg, rgba(0, 0, 0, .35), transparent); }
.ezx-strip { will-change: transform; transition: transform .45s cubic-bezier(.2, 1.4, .4, 1); }
.ezx-strip.is-spin { transition: none; animation: ezx-spin .3s linear infinite; }
@keyframes ezx-spin { from { transform: translateY(0); } to { transform: translateY(calc(var(--c, 60px) * -6)); } }
.ezx-sym { display: flex; align-items: center; justify-content: center; height: var(--c, 60px); }
.ezx-sym img { height: 86%; width: auto; max-width: 92%; object-fit: contain; display: block; }
.ezx-strip.is-spin .ezx-sym img { filter: blur(1.5px); }
.ezx-slot-line { position: absolute; left: 0; right: 0; top: 50%; height: 3px; margin-top: -1.5px; z-index: 2; background: transparent; }
.ezx-slot.is-win .ezx-slot-line { background: #ff2448; box-shadow: 0 0 10px #ff2448, 0 0 22px #ff2448; animation: ezx-line .45s 4 alternate; }
@keyframes ezx-line { to { opacity: .25; } }
.ezx-slot.is-win .ezx-sym[data-s="7"] img { animation: ezx-pop .45s 4 alternate; }
@keyframes ezx-pop { to { transform: scale(1.12); filter: drop-shadow(0 0 6px #ff2448); } }
.ezx-slot-glow { position: absolute; left: 12%; right: 12%; top: 1%; height: 12%; z-index: 3; border-radius: 40%; pointer-events: none; background: radial-gradient(ellipse at center, rgba(255, 60, 80, .75), transparent 70%); opacity: 0; mix-blend-mode: screen; }
.ezx-slot.is-win .ezx-slot-glow { animation: ezx-glow .3s 8 alternate; }
@keyframes ezx-glow { from { opacity: 0; } to { opacity: 1; } }
@media (max-width: 900px) {
	.ezx-slot { grid-column: 1; grid-row: auto; order: -1; width: min(70%, 280px); margin: 0 auto 6px; }
}
@media (prefers-reduced-motion: reduce) { .ezx-strip.is-spin { animation: none; } }

/* カードの高さをそろえる（横に並ぶ欄・一覧とも） */
body.ezx .ezx-pcards, body.ezx .ezx-pgrid, body.ezx .ezx-cards { align-items: stretch !important; }
body.ezx .ezx-pcards .ezx-card, body.ezx .ezx-pgrid .ezx-card, body.ezx .ezx-cards .ezx-card { height: 100%; }
body.ezx .ezx-card-b { flex: 1 1 auto; display: flex; flex-direction: column; }

/* 数字の帯: 項目の数だけ横に並べる（スマホで1つだけ下の段に落ちないように） */
body.ezx .ezx-stats .ezx-wrap { grid-template-columns: repeat(auto-fit, minmax(0, 1fr)) !important; grid-auto-flow: column; }
body.ezx .ezx-stats div { padding: 22px 6px; }
body.ezx .ezx-stats b { font-size: clamp(28px, 7vw, 40px); }
body.ezx .ezx-stats span { font-size: 12px; line-height: 1.5; display: block; }

/* 記事の途中の写真（切り抜かずに縦横比のまま。スマホでも横幅いっぱいまで） */
body.ezx .ez-xphoto { margin: 2em auto !important; max-width: 460px; }
body.ezx .ez-xphoto img { display: block; width: 100%; height: auto; border-radius: var(--r); box-shadow: var(--shadow); background: #ddd; }
body.ezx .ez-photos-rest { display: grid; gap: 4px; }
/* 名前の下のアイキャッチ */
body.ezx .ez-p-photo { width: min(80vw, 340px); }
/* PCで全幅の見出し帯（50vw）がスクロールバーの分はみ出して横に揺れるのを止める（1.7.6） */
html, body.ezx { overflow-x: clip; }
/* 見出しを言葉の途中で折り返さない（<wbr> の位置だけで折る）（1.7.6） */
body.ezx .ezx-hero-t { word-break: keep-all; }
