/*
 * meltylab-base — eresia ブランド用 CSS
 * design-eresia-otherworld.html プロトタイプを移植したもの。
 * 画像パスは PHP 側で `--asset-base` 変数として注入される想定（main-eresia.css 自体は相対パス前提）。
 */
:root {
    --bg-deep: #0A0E2A;
    --bg-deeper: #050715;
    --bg-card: rgba(10, 14, 42, 0.85);
    --bronze: #8B6A35;
    --bronze-light: #C9A958;
    --bronze-glow: #E8C879;
    --burgundy: #8C1A1A;
    --burgundy-light: #B22828;
    --wood-dark: #3D1A0F;
    --wood-mid: #5A2818;
    --wood-light: #946A3A;
    --gold: #D4AF60;
    --paper: #F2E8D0;
    --paper-dim: rgba(242,232,208,0.7);
    --paper-faded: rgba(242,232,208,0.5);
    --rule: rgba(201, 169, 88, 0.25);
    --rule-strong: rgba(201, 169, 88, 0.5);
    --display-en: "Cinzel", "Cormorant Garamond", serif;
    --display-jp: "Shippori Mincho B1", serif;
    --body-jp: "Noto Serif JP", serif;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body.meltylab--tier3.brand-eresia {
    background-color: var(--bg-deep);
    background-image: var(--asset-bg-pc, none);
    background-size: cover;
    background-position: center top;
    background-attachment: fixed;
    background-repeat: no-repeat;
    color: var(--paper);
    font-family: var(--body-jp);
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}
body.meltylab--tier3.brand-eresia::before {
    content: ""; position: fixed; inset: 0; pointer-events: none; z-index: -1;
    background: linear-gradient(180deg, rgba(10,14,42,0.4) 0%, rgba(5,7,21,0.85) 100%);
}
body.meltylab--tier3.brand-eresia a { color: inherit; text-decoration: none; }
body.meltylab--tier3.brand-eresia img { max-width: 100%; display: block; }

/* Intro splash */
.brand-eresia .intro {
    position: fixed; inset: 0; z-index: 2500;
    background: radial-gradient(ellipse at center, #0E0B14 0%, #050715 100%);
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 24px;
    pointer-events: none;
    animation: introFadeOut 3.4s ease forwards;
}
.brand-eresia .intro__logo {
    width: min(72vw, 460px);
    filter: drop-shadow(0 0 30px rgba(201,169,88,0.4)) drop-shadow(0 0 60px rgba(140,26,26,0.3));
    opacity: 0;
    animation: introLogoIn 3.4s cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
}
.brand-eresia .intro__sub {
    font-family: var(--display-en); font-style: italic; font-weight: 600;
    font-size: 13px; letter-spacing: 0.5em;
    color: var(--bronze-glow);
    opacity: 0;
    animation: introSubIn 3.4s ease forwards;
}
@keyframes introFadeOut {
    0%, 75% { opacity: 1; visibility: visible; }
    100% { opacity: 0; visibility: hidden; }
}
@keyframes introLogoIn {
    0% { opacity: 0; transform: scale(0.85); filter: blur(8px); }
    25% { opacity: 1; transform: scale(1); filter: drop-shadow(0 0 30px rgba(201,169,88,0.4)) drop-shadow(0 0 60px rgba(140,26,26,0.3)); }
    75% { opacity: 1; transform: scale(1); }
    100% { opacity: 0; transform: scale(1.06); }
}
@keyframes introSubIn {
    0%, 30% { opacity: 0; transform: translateY(8px); }
    50%, 75% { opacity: 1; transform: translateY(0); }
    100% { opacity: 0; }
}

/* Age Modal */
.brand-eresia .age-modal {
    position: fixed; inset: 0;
    background: radial-gradient(ellipse at center, rgba(10,14,42,0.92), rgba(5,7,21,0.98));
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    z-index: 1700;                     /* ドロワー(1800)より下、ヘッダー(1000)より上 */
    display: flex; align-items: center; justify-content: center; padding: 20px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
.brand-eresia .age-modal__inner {
    max-width: 520px; width: 100%; padding: 64px 48px 48px;
    background-color: var(--bg-deeper);
    background-image: var(--asset-bg-pc-c, none);
    background-size: cover;
    background-position: center;
    border: 2px solid var(--bronze);
    box-shadow: 0 0 0 1px var(--bg-deep), 0 30px 80px rgba(0,0,0,0.6), inset 0 0 60px rgba(201,169,88,0.08);
    position: relative;
    text-align: center;
}
.brand-eresia .age-modal__inner::before, .brand-eresia .age-modal__inner::after {
    content: ""; position: absolute; width: 36px; height: 36px;
    background-image: var(--asset-corner-frame, none);
    background-repeat: no-repeat; background-position: center; background-size: contain;
    filter: brightness(1.3) sepia(0.3) hue-rotate(15deg);
}
.brand-eresia .age-modal__inner::before { top: 8px; left: 8px; }
.brand-eresia .age-modal__inner::after { top: 8px; right: 8px; transform: scaleX(-1); }
.brand-eresia .age-modal__logo { width: 200px; margin: 0 auto 24px; }
.brand-eresia .age-modal__title {
    font-family: var(--display-jp); font-weight: 700; font-size: 22px; line-height: 1.7;
    margin-bottom: 16px; color: var(--paper);
}
.brand-eresia .age-modal__title em { font-style: normal; color: var(--bronze-glow); }
.brand-eresia .age-modal__lead {
    font-family: var(--body-jp); font-size: 13px; color: var(--paper-dim);
    margin-bottom: 32px; line-height: 2;
}
.brand-eresia .age-modal__rope {
    width: 80%; height: 18px; margin: 0 auto 28px;
    background-image: var(--asset-divider-rope, none);
    background-repeat: repeat-x; background-position: center; background-size: auto 100%;
    opacity: 0.85;
}
.brand-eresia .age-modal__btns { display: flex; gap: 12px; }
.brand-eresia .age-modal__btn {
    flex: 1; padding: 16px 20px;        /* タップ領域広げる */
    font-family: var(--display-jp); font-weight: 700; font-size: 14px;
    cursor: pointer;
    border: 1px solid var(--bronze);
    background: transparent; color: var(--paper);
    transition: all .25s; letter-spacing: 0.1em;
    -webkit-appearance: none; appearance: none;
    -webkit-tap-highlight-color: rgba(232,200,121,0.3);
    touch-action: manipulation;
    user-select: none; -webkit-user-select: none;
    min-height: 48px;                   /* iOS 最低タップ領域 */
}
.brand-eresia .age-modal__btn:active { transform: scale(0.98); }
.brand-eresia .age-modal__btn--ok {
    background: linear-gradient(180deg, var(--burgundy-light), var(--burgundy));
    border-color: var(--bronze-light); color: var(--paper);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.15), 0 4px 12px rgba(140,26,26,0.4);
}
.brand-eresia .age-modal__btn--ok:hover { background: linear-gradient(180deg, #C03333, var(--burgundy-light)); transform: translateY(-1px); }
.brand-eresia .age-modal__btn--ng:hover { background: rgba(201,169,88,0.08); }

/* Header
 * z-index hierarchy:
 *   intro splash: 2500
 *   mobile drawer: 1800
 *   age modal: 1700
 *   ml-header: 1000  ← 必ず本文より上
 *   nav__hamburger: 1010
 *   cylinder/main: 1〜10
 */
.brand-eresia .ml-header {
    position: sticky; top: 0; z-index: 1000;
    background: linear-gradient(180deg, rgba(5,7,21,0.95), rgba(5,7,21,0.75));
    border-bottom: 1px solid var(--rule);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    isolation: isolate;        /* スタッキングコンテキストを明示 */
}
.brand-eresia .nav {
    max-width: 1280px; margin: 0 auto; padding: 14px 32px;
    display: flex; align-items: center; justify-content: space-between; gap: 24px;
    position: relative; z-index: 1;
}
.brand-eresia .nav__logo { display: flex; align-items: center; gap: 16px; height: 56px; }
.brand-eresia .nav__logo img { height: 100%; width: auto; filter: drop-shadow(0 2px 6px rgba(0,0,0,0.5)); }
.brand-eresia .nav__store {
    font-family: var(--display-jp); font-weight: 700; font-size: 17px;
    color: var(--paper); letter-spacing: 0.08em;
    padding-left: 16px; border-left: 1px solid var(--rule);
    line-height: 1.2;
}
.brand-eresia .nav__store small {
    display: block; font-family: var(--display-en); font-style: italic;
    font-size: 10px; color: var(--bronze-light); letter-spacing: 0.3em;
    margin-top: 2px; font-weight: 500;
}
.brand-eresia .nav__menu { display: flex; gap: 4px; align-items: center; }
.brand-eresia .nav__menu a {
    padding: 8px 16px;
    font-family: var(--display-jp); font-weight: 500; font-size: 13px;
    color: var(--paper-dim); letter-spacing: 0.15em;
    transition: color .25s;
}
.brand-eresia .nav__menu a:hover, .brand-eresia .nav__menu a.is-active { color: var(--bronze-glow); }

/* Wood divider */
.brand-eresia .wood-divider {
    height: 18px;
    background-image: none; /* セクション仕切り画像を非表示 2026-06-03 */
    background-repeat: repeat-x; background-position: center; background-size: auto 100%;
    box-shadow: 0 0 30px rgba(201,169,88,0.15), inset 0 0 20px rgba(0,0,0,0.4);
    border-top: 1px solid rgba(201,169,88,0.2);
    border-bottom: 1px solid rgba(0,0,0,0.5);
}
.brand-eresia .wood-divider--light {
    background-image: none;
}
.brand-eresia .rope-divider {
    height: 18px; max-width: 480px; margin: 0 auto;
    background-image: var(--asset-divider-rope, none);
    background-repeat: repeat-x; background-position: center; background-size: auto 100%;
    opacity: 0.85;
}

/* Hero */
.brand-eresia .hero {
    position: relative; width: 100%;
    aspect-ratio: 16/9; max-height: 88vh;
    overflow: hidden;
    background: var(--bg-deeper);
}
.brand-eresia .hero__img {
    position: absolute; inset: 0;
    width: 100%; height: 100%; object-fit: cover; object-position: center 30%;
}
.brand-eresia .hero::after {
    content: ""; position: absolute; inset: 0; pointer-events: none;
    background:
        radial-gradient(ellipse at center, transparent 50%, rgba(5,7,21,0.4) 100%),
        linear-gradient(180deg, transparent 70%, rgba(5,7,21,0.85) 100%);
}

/* Section common */
.brand-eresia section { padding: 56px 32px; position: relative; }
.brand-eresia .section__head {
    max-width: 1280px; margin: 0 auto 32px;
    text-align: center; position: relative;
}
.brand-eresia .section__sigil {
    display: inline-flex; align-items: center; gap: 12px;
    font-family: var(--display-en); font-weight: 600; font-size: 12px;
    letter-spacing: 0.4em; color: var(--bronze-glow);
    margin-bottom: 18px;
}
.brand-eresia .section__sigil::before, .brand-eresia .section__sigil::after { content: "✦"; color: var(--bronze); font-size: 10px; }
.brand-eresia .section__title {
    font-family: var(--display-jp); font-weight: 700;
    font-size: clamp(28px, 4vw, 44px);
    color: var(--paper); margin-bottom: 16px;
    text-shadow: 0 2px 12px rgba(0,0,0,0.5);
}
.brand-eresia .section__inner { max-width: 1280px; margin: 0 auto; }

/* Frame card */
.brand-eresia .frame {
    position: relative; padding: 24px;
    background: linear-gradient(180deg, rgba(10,14,42,0.5), rgba(5,7,21,0.7));
    border: 1px solid var(--rule);
    transition: all .35s;
}
.brand-eresia .frame::before, .brand-eresia .frame::after,
.brand-eresia .frame > .frame-corner-bl, .brand-eresia .frame > .frame-corner-br {
    content: ""; position: absolute; width: 24px; height: 24px;
    background-image: var(--asset-corner-frame, none);
    background-repeat: no-repeat; background-position: center; background-size: contain;
    filter: brightness(1.3) sepia(0.4) hue-rotate(10deg);
    pointer-events: none;
}
.brand-eresia .frame::before { top: 4px; left: 4px; }
.brand-eresia .frame::after { top: 4px; right: 4px; transform: scaleX(-1); }
.brand-eresia .frame > .frame-corner-bl { bottom: 4px; left: 4px; transform: scaleY(-1); }
.brand-eresia .frame > .frame-corner-br { bottom: 4px; right: 4px; transform: scale(-1, -1); }
.brand-eresia .frame:hover { border-color: var(--bronze); transform: translateY(-3px); box-shadow: 0 16px 40px rgba(0,0,0,0.4); }

/* 3D Cylinder Carousel */
.brand-eresia .cylinder-section { position: relative; z-index: 2; overflow: visible; }
.brand-eresia .cylinder {
    position: relative; width: 100%; height: 440px;
    perspective: 1000px; overflow: visible;
    user-select: none; touch-action: none;
    z-index: 5; pointer-events: auto;
    /* ヘッダー高さ未満の上方には絶対に飛び出ないよう margin-top を確保 */
}
/* 注：backface-visibility は使わない（裏面のキャストカードも見せたいため） */

/* 年齢ゲート未通過時：本文と画像読み込みを丸ごとブロック
 *   display:none の中の <img> はネイティブ lazy 判定でロードされないため、
 *   通信もタイル合成も起きない。OK タップで JS が gated クラスを外すと一気に読み込みが走る。
 */
body.meltylab--gated .ml-main { display: none !important; }
body.meltylab--gated .ml-header { display: none !important; }
body.meltylab--gated .hero { display: none !important; }
body.meltylab--gated .nav__hamburger { display: none !important; }
.brand-eresia .cylinder__stage {
    position: absolute; inset: 0;
    transform-style: preserve-3d;
    transform: rotateX(-10deg) rotateY(0deg);
    will-change: transform;
    display: flex; align-items: center; justify-content: center;
}
.brand-eresia .cylinder__spin {
    position: relative;
    transform-style: preserve-3d;
    animation: cylinderSpin 36s linear infinite;
}
.brand-eresia .cylinder__spin.is-paused { animation-play-state: paused; }
@keyframes cylinderSpin {
    from { transform: rotateY(0deg); }
    to { transform: rotateY(360deg); }
}
.brand-eresia .cylinder__item {
    position: absolute; inset: 0;
    transform-style: preserve-3d;
    cursor: grab; overflow: hidden;
    border: 1px solid var(--bronze);
    background: var(--bg-deeper);
    box-shadow: 0 0 14px rgba(201,169,88,0.2);
    -webkit-box-reflect: below 8px linear-gradient(transparent 50%, rgba(0,0,0,0.5));
    transition: box-shadow 1.4s cubic-bezier(0.22, 0.61, 0.36, 1),
                border-color 1.2s ease, filter 1.2s ease;
    text-decoration: none; color: inherit; display: block;
    -webkit-tap-highlight-color: transparent;
}
.brand-eresia .cylinder__item:hover, .brand-eresia .cylinder__item:focus-visible {
    border-color: var(--bronze-glow);
    box-shadow:
        0 0 0 1px var(--bronze-glow),
        0 0 22px rgba(232,200,121,0.55),
        0 0 50px rgba(201,169,88,0.4),
        0 0 90px rgba(201,169,88,0.2),
        0 0 140px rgba(232,200,121,0.1);
    filter: brightness(1.05);
    animation: cylinderGlowPulse 2.8s ease-in-out infinite 1.4s;
    outline: none;
}
@keyframes cylinderGlowPulse {
    0%, 100% { box-shadow: 0 0 0 1px var(--bronze-glow), 0 0 22px rgba(232,200,121,0.55), 0 0 50px rgba(201,169,88,0.4), 0 0 90px rgba(201,169,88,0.2), 0 0 140px rgba(232,200,121,0.1); }
    50% { box-shadow: 0 0 0 1px var(--bronze-glow), 0 0 32px rgba(232,200,121,0.75), 0 0 70px rgba(201,169,88,0.55), 0 0 120px rgba(232,200,121,0.28), 0 0 180px rgba(232,200,121,0.14); }
}
.brand-eresia .cylinder.is-dragging .cylinder__item:hover {
    animation: none;
    box-shadow: 0 0 14px rgba(201,169,88,0.2);
    border-color: var(--bronze); filter: none;
}
.brand-eresia .cylinder__item img {
    width: 100%; height: 100%; object-fit: cover;
    pointer-events: none; -webkit-user-drag: none;
}
.brand-eresia .cylinder__item__overlay {
    position: absolute; left: 0; right: 0; bottom: 0;
    padding: 28px 12px 12px;
    background: linear-gradient(transparent, rgba(5,7,21,0.95));
    text-align: center;
    pointer-events: none;
}
.brand-eresia .cylinder__item__name {
    font-family: var(--display-jp); font-weight: 700; font-size: 15px;
    color: var(--paper); margin-bottom: 2px;
    text-shadow: 0 2px 6px rgba(0,0,0,0.7);
}
.brand-eresia .cylinder__item__sub {
    font-family: var(--display-en); font-style: italic; font-size: 10px;
    color: var(--bronze-glow); letter-spacing: 0.25em;
}
.brand-eresia .cylinder__ground {
    position: absolute; left: 50%; top: 92%; z-index: -1;
    width: 700px; height: 700px;
    transform: translate(-50%, -50%) rotateX(90deg);
    background: radial-gradient(closest-side, rgba(201,169,88,0.18), transparent 70%);
    pointer-events: none;
}
.brand-eresia .cylinder__hint {
    text-align: center; margin-top: 28px;
    font-family: var(--display-en); font-size: 11px; letter-spacing: 0.3em;
    color: var(--paper-faded);
}
.brand-eresia .cylinder__hint::before { content: "✦  "; color: var(--bronze); }
.brand-eresia .cylinder__hint::after { content: "  ✦"; color: var(--bronze); }

/* Today Grid */
.brand-eresia .today-grid {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;
    max-width: 1200px; margin: 0 auto;
}
.brand-eresia .today-grid__card {
    display: block; text-decoration: none; color: inherit;
    background: var(--bg-deeper);
    border: 1px solid var(--bronze);
    padding: 14px; overflow: hidden;
    transition: box-shadow 1.2s cubic-bezier(0.22, 0.61, 0.36, 1),
                border-color 0.8s ease, transform 0.5s ease;
    -webkit-tap-highlight-color: transparent;
}
.brand-eresia .today-grid__card:hover {
    border-color: var(--bronze-glow);
    box-shadow: 0 0 0 1px var(--bronze-glow), 0 0 22px rgba(232,200,121,0.45), 0 0 50px rgba(201,169,88,0.25), 0 0 90px rgba(201,169,88,0.12);
    transform: translateY(-3px);
}
.brand-eresia .today-grid__photo {
    aspect-ratio: 3/4; overflow: hidden;
    background: var(--bg-deep); margin-bottom: 14px; position: relative;
}
.brand-eresia .today-grid__photo img {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform .6s ease;
}
.brand-eresia .today-grid__card:hover .today-grid__photo img { transform: scale(1.05); }
.brand-eresia .today-grid__time {
    font-family: var(--display-en); font-size: 12px;
    color: var(--bronze-glow); letter-spacing: 0.15em;
    margin-bottom: 6px; text-align: center;
}
.brand-eresia .today-grid__time::before { content: "✦ "; }
.brand-eresia .today-grid__name {
    font-family: var(--display-jp); font-weight: 700; font-size: 16px;
    color: var(--paper); text-align: center;
}
.brand-eresia .today-grid__name-en {
    font-family: var(--display-en); font-style: italic; font-size: 11px;
    color: var(--bronze-light); letter-spacing: 0.25em;
    text-align: center; margin-top: 2px;
}

/* Schedule */
.brand-eresia .schedule__rows { display: flex; flex-direction: column; gap: 1px; }
.brand-eresia .schedule__row {
    display: grid; grid-template-columns: 130px 1fr;
    padding: 22px 24px; align-items: baseline;
    background: rgba(10,14,42,0.4); border: 1px solid var(--rule);
    transition: all .25s;
}
.brand-eresia .schedule__row:hover { background: rgba(10,14,42,0.6); border-color: var(--rule-strong); }
.brand-eresia .schedule__date {
    font-family: var(--display-en); font-weight: 600; font-size: 19px;
    color: var(--bronze-glow); letter-spacing: 0.05em;
}
.brand-eresia .schedule__date small {
    display: block; font-size: 11px; letter-spacing: 0.25em;
    color: var(--bronze); margin-top: 2px;
}
.brand-eresia .schedule__casts {
    font-family: var(--display-jp); font-weight: 500; font-size: 16px;
    color: var(--paper); display: flex; flex-wrap: wrap; gap: 10px 14px;
}
.brand-eresia .schedule__cast {
    padding: 3px 10px; background: rgba(140,26,26,0.2);
    border: 1px solid rgba(178,40,40,0.4);
    color: var(--paper); font-size: 14px;
    display: inline-flex; flex-direction: column; align-items: center; gap: 2px;
}
.brand-eresia .schedule__cast time {
    font-family: var(--display-en); font-size: 10px; color: var(--bronze-glow);
}
.brand-eresia .schedule__row--empty { color: var(--paper-faded); font-style: italic; }

/* News */
.brand-eresia .news { display: flex; flex-direction: column; }
.brand-eresia .news__item {
    display: grid; grid-template-columns: 160px 1fr;
    gap: 32px; align-items: center;
    padding: 24px 4px; border-bottom: 1px solid var(--rule);
    transition: all .3s;
}
.brand-eresia .news__item:hover { padding-left: 16px; background: rgba(140,26,26,0.05); }
.brand-eresia .news__date {
    font-family: var(--display-en); font-size: 13px;
    color: var(--bronze-glow); letter-spacing: 0.15em;
}
.brand-eresia .news__title {
    font-family: var(--display-jp); font-weight: 500; font-size: 16px;
    color: var(--paper); line-height: 1.7;
}

/* Base info */
.brand-eresia .base { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; }
.brand-eresia .base__cell { padding: 32px 28px; }
.brand-eresia .base__cell h3 {
    font-family: var(--display-en); font-weight: 700; font-size: 12px;
    letter-spacing: 0.35em; color: var(--bronze-glow);
    padding-bottom: 14px; margin-bottom: 18px;
    border-bottom: 1px solid var(--rule);
    display: flex; align-items: center; gap: 8px;
}
.brand-eresia .base__cell h3::before { content: "✦"; color: var(--burgundy-light); }
.brand-eresia .base__cell p, .brand-eresia .base__cell ul {
    font-family: var(--body-jp); font-size: 14px; line-height: 2;
    color: var(--paper);
}
.brand-eresia .base__cell ul { list-style: none; }
.brand-eresia .base__cell ul li { padding-left: 22px; position: relative; }
.brand-eresia .base__cell ul li::before { content: "◆"; position: absolute; left: 0; color: var(--bronze); font-size: 10px; top: 8px; }
.brand-eresia .base__phone {
    margin-top: 12px;
    font-family: var(--display-en); font-weight: 600; font-size: 22px;
    color: var(--burgundy-light); letter-spacing: 0.05em;
}

/* Button */
.brand-eresia .ml-button {
    display: inline-block; padding: 12px 28px;
    font-family: var(--display-jp); font-weight: 700; font-size: 14px;
    letter-spacing: 0.15em;
    color: var(--paper); border: 1px solid var(--bronze-light);
    background: linear-gradient(180deg, rgba(140,26,26,0.6), rgba(140,26,26,0.85));
    text-decoration: none;
    transition: all .25s;
}
.brand-eresia .ml-button:hover {
    background: linear-gradient(180deg, var(--burgundy-light), var(--burgundy));
    border-color: var(--bronze-glow);
    transform: translateY(-2px);
    box-shadow: 0 12px 30px rgba(140,26,26,0.35);
}
.brand-eresia .ml-button--lg { padding: 16px 40px; font-size: 16px; }

/* Access section grid */
.brand-eresia .ml-access {
    display: grid; grid-template-columns: 1fr 1.2fr; gap: 24px;
    align-items: stretch;
}
.brand-eresia .ml-access__info { padding: 24px; }
.brand-eresia .ml-access__map {
    border: 1px solid var(--rule);
    background: var(--bg-deeper);
    overflow: hidden;
}
.brand-eresia .ml-access__map iframe { width: 100%; height: 100%; min-height: 360px; border: 0; display: block; }
@media (max-width: 768px) {
    .brand-eresia .ml-access { grid-template-columns: 1fr; }
    .brand-eresia .ml-access__map iframe { min-height: 280px; }
}

/* SNS in nav */
.brand-eresia .nav__sns { display: flex; gap: 8px; }
.brand-eresia .nav__sns a {
    width: 32px; height: 32px;
    border: 1px solid var(--bronze);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 13px; color: var(--bronze-light);
    transition: all .25s;
}
.brand-eresia .nav__sns a:hover { background: var(--bronze); color: var(--bg-deep); transform: scale(1.08); }

/* Hamburger button (SP only) — position:fixed で「常に右上に見える」 */
.brand-eresia .nav__hamburger {
    display: none;
    -webkit-appearance: none; appearance: none;
    -webkit-tap-highlight-color: rgba(232,200,121,0.25);
    background: rgba(5,7,21,0.85);     /* 透けすぎないよう半透明背景 */
    border: 1px solid var(--bronze);
    width: 48px; height: 48px;
    cursor: pointer;
    flex-direction: column; align-items: center; justify-content: center;
    gap: 5px;
    color: var(--bronze-glow);
    touch-action: manipulation;
    -webkit-touch-callout: none;
    user-select: none; -webkit-user-select: none;
    padding: 0;
    position: relative;
    z-index: 1010;
    box-shadow: 0 2px 12px rgba(0,0,0,0.4);
}
.brand-eresia .nav__hamburger span {
    display: block;
    width: 22px; height: 2px;
    background: currentColor;
    pointer-events: none;
    transition: transform .25s, opacity .25s;
}
.brand-eresia .nav__hamburger:active { background: rgba(201,169,88,0.25); }
/* タップ時に「✕」風に変形（押せている証拠が分かる） */
.brand-eresia .nav__hamburger[aria-expanded="true"] span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}
.brand-eresia .nav__hamburger[aria-expanded="true"] span:nth-child(2) {
    opacity: 0;
}
.brand-eresia .nav__hamburger[aria-expanded="true"] span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

/* Mobile drawer
 *   iOS Safari の backdrop-filter + hidden 切替は描画されないことがあるため、
 *   常時DOMに残し opacity / visibility / pointer-events で制御する。
 *   背景は完全 opaque（透明度 1.0）にして合成失敗を回避。
 */
.brand-eresia .ml-mobile-drawer {
    position: fixed; inset: 0;
    z-index: 1800;
    background: #050715;
    display: flex; flex-direction: column;
    padding: 80px 32px 40px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .25s ease, visibility 0s linear .25s;
    -webkit-transform: translateZ(0);          /* iOS GPU 合成を強制 */
    transform: translateZ(0);
}
.brand-eresia .ml-mobile-drawer.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: opacity .25s ease, visibility 0s linear 0s;
}
.brand-eresia .ml-mobile-drawer[hidden] {
    /* hidden 属性が残っていても is-open があれば見せる（フォールバック） */
    display: flex !important;
}
.brand-eresia .ml-mobile-drawer__close {
    position: absolute; top: 20px; right: 20px;
    -webkit-appearance: none; appearance: none;
    -webkit-tap-highlight-color: rgba(232,200,121,0.3);
    background: transparent; border: 1px solid var(--bronze);
    width: 44px; height: 44px;
    color: var(--bronze-light); font-size: 24px; line-height: 1;
    cursor: pointer;
    touch-action: manipulation;
    user-select: none; -webkit-user-select: none;
}
/* ドロワー上部：ブランドロゴ */
.brand-eresia .ml-mobile-drawer__logo {
    display: flex; flex-direction: column; align-items: center; gap: 10px;
    margin: 0 auto 24px;
    text-decoration: none;
    text-align: center;
}
.brand-eresia .ml-mobile-drawer__logo img {
    max-width: 200px; height: auto;
    filter: drop-shadow(0 2px 8px rgba(0,0,0,0.5));
    display: block;
}
.brand-eresia .ml-mobile-drawer__store {
    font-family: var(--display-jp); font-weight: 700; font-size: 16px;
    color: var(--paper); letter-spacing: 0.08em;
    line-height: 1.2;
}
.brand-eresia .ml-mobile-drawer__store small {
    display: block;
    font-family: var(--display-en); font-style: italic;
    font-size: 10px; letter-spacing: 0.3em;
    color: var(--bronze-light);
    margin-top: 4px; font-weight: 500;
}

.brand-eresia .ml-mobile-drawer__menu {
    display: flex; flex-direction: column; gap: 4px;
    margin-top: 8px;
    padding-top: 20px;
    border-top: 1px solid var(--rule);
}
.brand-eresia .ml-mobile-drawer__menu a {
    display: block;
    padding: 18px 20px;
    font-family: var(--display-jp); font-weight: 500; font-size: 16px;
    color: var(--paper); text-decoration: none;
    letter-spacing: 0.15em;
    border-bottom: 1px solid var(--rule);
    transition: all .25s;
}
.brand-eresia .ml-mobile-drawer__menu a:hover,
.brand-eresia .ml-mobile-drawer__menu a:focus {
    color: var(--bronze-glow);
    padding-left: 28px;
    background: rgba(140,26,26,0.1);
}
.brand-eresia .ml-mobile-drawer__menu a::before {
    content: "✦";
    margin-right: 12px;
    color: var(--bronze);
    font-size: 11px;
}
.brand-eresia .ml-mobile-drawer__sns {
    display: flex; gap: 14px; margin-top: 32px; justify-content: center;
    padding-top: 24px;
    border-top: 1px solid var(--rule);
}
.brand-eresia .ml-mobile-drawer__sns a {
    width: 48px; height: 48px;
    border: 1px solid var(--bronze); border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: var(--bronze-light); text-decoration: none;
    font-size: 18px;
    transition: all .25s;
    -webkit-tap-highlight-color: rgba(232,200,121,0.3);
    touch-action: manipulation;
}
.brand-eresia .ml-mobile-drawer__sns a:hover,
.brand-eresia .ml-mobile-drawer__sns a:active {
    background: var(--bronze); color: var(--bg-deep); transform: scale(1.08);
}

@media (max-width: 768px) {
    .brand-eresia .nav__menu { display: none; }
    .brand-eresia .nav__sns  { display: none; }
    .brand-eresia .nav__hamburger { display: flex; }
    .brand-eresia .nav { padding: 10px 14px; gap: 10px; }
}
@media (min-width: 769px) {
    .brand-eresia .ml-mobile-drawer { display: none !important; }
}

/* キャスト一覧グリッド (sub-page) */
.brand-eresia .ml-cast-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 24px;
    max-width: 1200px; margin: 0 auto;
}
@media (max-width: 768px) {
    /* スマホは確実に 2 カラム */
    .brand-eresia .ml-cast-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
}
.brand-eresia .ml-cast-card {
    background: var(--bg-deeper);
    border: 1px solid var(--rule);
    transition: all .35s;
    position: relative;
    display: flex; flex-direction: column;
}
.brand-eresia .ml-cast-card:hover {
    border-color: var(--bronze-glow);
    transform: translateY(-3px);
    box-shadow: 0 12px 32px rgba(0,0,0,0.35), 0 0 28px rgba(232,200,121,0.18);
}
.brand-eresia .ml-cast-card__link {
    display: block; text-decoration: none; color: inherit;
    flex: 1;
}
.brand-eresia .ml-cast-card__photo {
    aspect-ratio: 3/4; overflow: hidden; position: relative; background: var(--bg-deep);
}
.brand-eresia .ml-cast-card__photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.brand-eresia .ml-cast-card:hover .ml-cast-card__photo img { transform: scale(1.05); }
.brand-eresia .ml-cast-card__body { padding: 14px 12px; text-align: center; }
@media (max-width: 480px) {
    .brand-eresia .ml-cast-card__body { padding: 10px 8px 12px; }
}

/* キャスト個別 SNS（カード内） */
.brand-eresia .ml-cast-card__sns {
    display: flex; gap: 8px; justify-content: center;
    padding: 0 12px 14px;
}
.brand-eresia .ml-cast-card__sns a {
    width: 32px; height: 32px;
    border: 1px solid var(--bronze); border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: var(--bronze-light); text-decoration: none;
    font-size: 13px;
    transition: all .25s;
    -webkit-tap-highlight-color: rgba(232,200,121,0.3);
    touch-action: manipulation;
    position: relative; z-index: 2;        /* カード hover が前面に出ても押せる */
}
.brand-eresia .ml-cast-card__sns a:hover,
.brand-eresia .ml-cast-card__sns a:active {
    background: var(--bronze); color: var(--bg-deep); transform: scale(1.1);
}
@media (max-width: 480px) {
    .brand-eresia .ml-cast-card__sns { padding: 0 8px 10px; gap: 6px; }
    .brand-eresia .ml-cast-card__sns a { width: 30px; height: 30px; font-size: 12px; }
}
.brand-eresia .ml-cast-card__name {
    font-family: var(--display-jp); font-weight: 700; font-size: 16px; color: var(--paper);
}
.brand-eresia .ml-cast-card__name-en {
    font-family: var(--display-en); font-style: italic; font-size: 11px;
    letter-spacing: 0.25em; color: var(--bronze-light); margin-top: 2px;
}
.brand-eresia .ml-cast-card__catch {
    font-size: 12px; color: var(--paper-dim); margin-top: 6px; line-height: 1.5;
}
.brand-eresia .ml-cast-card__badge {
    position: absolute; top: 10px; right: 10px;
    font-family: var(--display-en); font-weight: 700; font-size: 10px;
    letter-spacing: 0.2em; padding: 6px 10px;
    border: 1px solid currentColor;
    line-height: 1.4; text-align: center;
}
.brand-eresia .ml-cast-card__badge small { font-size: 9px; letter-spacing: 0.15em; opacity: 0.85; }
.brand-eresia .ml-badge--today {
    background: linear-gradient(180deg, rgba(140,26,26,0.85), rgba(140,26,26,0.95));
    color: var(--bronze-glow);
    box-shadow: 0 4px 14px rgba(140,26,26,0.5);
    animation: badgeTodayPulse 3s ease-in-out infinite;
}
@keyframes badgeTodayPulse {
    0%, 100% { box-shadow: 0 4px 14px rgba(140,26,26,0.4); }
    50%      { box-shadow: 0 4px 22px rgba(232,200,121,0.55); }
}
.brand-eresia .ml-badge--new {
    background: var(--bg-deeper);
    color: var(--bronze-glow);
    border-color: var(--bronze-light);
}

/* 出勤予定ページ：日付タイル（1週間 簡素版） */
.brand-eresia .ml-day-tiles {
    display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px;
    max-width: 920px; margin: 0 auto 36px;
}
.brand-eresia .ml-day-tile {
    appearance: none; -webkit-appearance: none;
    background: rgba(10,14,42,0.4);
    border: 1px solid var(--rule);
    color: var(--paper);
    padding: 12px 6px;
    cursor: pointer; transition: all .2s;
    font-family: inherit;
    display: flex; flex-direction: column; align-items: center; gap: 4px;
    min-height: 78px; justify-content: center;
}
.brand-eresia .ml-day-tile:hover { border-color: var(--bronze); background: rgba(10,14,42,0.7); }
.brand-eresia .ml-day-tile.is-active {
    background: linear-gradient(180deg, var(--burgundy-light), var(--burgundy));
    border-color: var(--bronze-glow);
    color: var(--paper);
    box-shadow: 0 4px 18px rgba(140,26,26,0.5), inset 0 1px 0 rgba(255,255,255,0.15);
}
.brand-eresia .ml-day-tile.is-active .ml-day-tile__d,
.brand-eresia .ml-day-tile.is-active .ml-day-tile__dow,
.brand-eresia .ml-day-tile.is-active .ml-day-tile__count {
    color: var(--paper);
}
.brand-eresia .ml-day-tile.is-empty { opacity: 0.45; }
.brand-eresia .ml-day-tile__d {
    font-family: var(--display-en); font-weight: 700; font-size: 17px;
    color: var(--bronze-glow); line-height: 1;
}
.brand-eresia .ml-day-tile__dow {
    font-family: var(--display-jp); font-size: 11px; letter-spacing: 0.15em;
    color: var(--paper-faded); line-height: 1;
}
.brand-eresia .ml-day-tile__dow.dow-0 { color: #d77; }
.brand-eresia .ml-day-tile__dow.dow-6 { color: #7ad; }
.brand-eresia .ml-day-tile__count {
    font-family: var(--display-en); font-size: 10px; letter-spacing: 0.1em;
    color: var(--bronze-light);
}
@media (max-width: 480px) {
    .brand-eresia .ml-day-tiles { grid-template-columns: repeat(4, 1fr); gap: 4px; }
    .brand-eresia .ml-day-tile { min-height: 66px; padding: 8px 4px; }
    .brand-eresia .ml-day-tile__d { font-size: 14px; }
    .brand-eresia .ml-day-tile__dow { font-size: 10px; }
    .brand-eresia .ml-day-tile__count { font-size: 9px; }
}

.brand-eresia .ml-day-panel { display: none; }
.brand-eresia .ml-day-panel.is-active { display: block; }
.brand-eresia .ml-day-panel__head {
    text-align: center; margin-bottom: 28px;
    padding: 20px; border: 1px solid var(--rule);
    background: rgba(10,14,42,0.4);
}
.brand-eresia .ml-day-panel__date {
    font-family: var(--display-en); font-weight: 700; font-size: 28px;
    color: var(--bronze-glow); letter-spacing: 0.05em;
}
.brand-eresia .ml-day-panel__date span {
    font-size: 12px; letter-spacing: 0.3em; color: var(--bronze); margin-left: 12px;
}
.brand-eresia .ml-day-panel__count {
    font-family: var(--display-jp); font-size: 14px; color: var(--paper-dim); margin-top: 6px;
}
.brand-eresia .ml-day-panel__casts {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;
    max-width: 1200px; margin: 0 auto;
}
@media (max-width: 768px) { .brand-eresia .ml-day-panel__casts { grid-template-columns: repeat(2, 1fr); gap: 14px; } }

/* ハウスルール */
.brand-eresia .ml-rules { list-style: none; padding: 0; }
.brand-eresia .ml-rules__item {
    display: grid; grid-template-columns: 64px 1fr;
    gap: 16px; padding: 24px;
    border: 1px solid var(--rule); margin-bottom: 12px;
    background: rgba(10,14,42,0.4);
    transition: all .3s;
}
.brand-eresia .ml-rules__item:hover { border-color: var(--bronze); background: rgba(10,14,42,0.65); }
.brand-eresia .ml-rules__num {
    font-family: var(--display-en); font-weight: 700; font-size: 36px;
    color: var(--bronze-glow); letter-spacing: 0.04em;
    line-height: 1;
}
.brand-eresia .ml-rules__text {
    font-family: var(--body-jp); font-size: 16px; line-height: 1.85;
    color: var(--paper);
    align-self: center;
}

/* Other brands hover */
.brand-eresia .ml-other-brand:hover {
    border-color: var(--bronze) !important;
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(0,0,0,0.4);
}

/* Footer */
.brand-eresia .ml-footer {
    padding: 60px 32px 32px;
    background: linear-gradient(180deg, transparent, rgba(5,7,21,0.95));
    border-top: 1px solid var(--rule);
    margin-top: 60px;
    text-align: center;
}

/* 1. Produced by MeltyLab */
.brand-eresia .ml-footer__produced {
    max-width: 1280px; margin: 0 auto;
    padding: 8px 24px 24px;
    text-align: center;
}
.brand-eresia .ml-footer__produced-label {
    font-family: var(--display-en); font-size: 10px; letter-spacing: 0.4em;
    color: var(--paper-faded); margin-bottom: 12px;
}
.brand-eresia .ml-footer__produced a {
    display: inline-block;
}
.brand-eresia .ml-footer__produced img {
    max-height: 64px; width: auto;
    filter: brightness(1.2);
    display: block; margin: 0 auto;
}

/* 3. 現ブランドロゴ + SNS（中央配置） */
.brand-eresia .ml-footer__current {
    max-width: 1280px; margin: 0 auto;
    padding: 28px 24px;
    text-align: center;
    display: flex; flex-direction: column; align-items: center; gap: 16px;
    border-top: 1px solid var(--rule);
}
.brand-eresia .ml-footer__logo {
    height: 64px;
    display: flex; align-items: center; justify-content: center;
}
.brand-eresia .ml-footer__logo img {
    height: 100%; width: auto;
    display: block; margin: 0 auto;
}
.brand-eresia .ml-footer__sns {
    display: flex; gap: 10px; justify-content: center;
}

/* 4. プライバシー / 規約 */
.brand-eresia .ml-footer__legal {
    text-align: center;
    padding: 16px 24px;
    border-top: 1px solid var(--rule);
    font-family: var(--display-jp); font-size: 12px;
    color: var(--paper-dim);
}
.brand-eresia .ml-footer__legal a {
    color: var(--paper-dim); text-decoration: none; padding: 4px 8px;
    transition: color .2s;
}
.brand-eresia .ml-footer__legal a:hover { color: var(--bronze-glow); }
.brand-eresia .ml-footer__legal .sep { color: var(--bronze); margin: 0 8px; }

/* 5. Copyright */
.brand-eresia .ml-footer__bottom {
    max-width: 1280px; margin: 0 auto;
    padding: 16px 24px 8px;
    border-top: 1px solid var(--rule);
    text-align: center;
    font-family: var(--display-en); font-size: 10px; letter-spacing: 0.3em;
    color: var(--paper-faded);
}

.brand-eresia .ml-footer__sns a {
    width: 36px; height: 36px;
    border: 1px solid var(--bronze); border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: var(--bronze-light); transition: all .25s;
    text-decoration: none;
}
.brand-eresia .ml-footer__sns a:hover { background: var(--bronze); color: var(--bg-deep); }

/* 2. Footer: ブランド構造 */
.brand-eresia .ml-footer__group {
    max-width: 1280px; margin: 0 auto;
    padding: 32px 24px;
    border-top: 1px solid var(--rule);
    text-align: left;
}
.brand-eresia .ml-footer__group-head {
    text-align: center;
    font-family: var(--display-en); font-size: 11px; letter-spacing: 0.4em;
    color: var(--bronze-light);
    margin-bottom: 28px;
}
.brand-eresia .ml-footer__brands {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 24px;
}
.brand-eresia .ml-footer__brand {
    border: 1px solid var(--rule);
    background: rgba(10,14,42,0.45);
    padding: 20px;
    transition: all .3s;
}
.brand-eresia .ml-footer__brand:hover { border-color: var(--bronze); }
.brand-eresia .ml-footer__brand.is-current {
    border-color: var(--bronze-light);
    background: rgba(140,26,26,0.15);
}
.brand-eresia .ml-footer__brand-head {
    display: grid; grid-template-columns: 80px 1fr; gap: 14px;
    align-items: center;
    text-decoration: none; color: inherit;
    padding-bottom: 14px; margin-bottom: 14px;
    border-bottom: 1px solid var(--rule);
}
.brand-eresia .ml-footer__brand-head img {
    max-width: 80px; height: auto; display: block;
    filter: brightness(1.05);
}
.brand-eresia .ml-footer__brand-name {
    font-family: var(--display-jp); font-weight: 700; font-size: 15px;
    color: var(--paper);
}
.brand-eresia .ml-footer__brand-en {
    font-family: var(--display-en); font-style: italic; font-size: 10px;
    letter-spacing: 0.3em; color: var(--bronze-light);
    margin-top: 2px;
}
.brand-eresia .ml-footer__stores { list-style: none; padding: 0; margin: 0; }
.brand-eresia .ml-footer__stores li { margin: 0; }
.brand-eresia .ml-footer__stores a {
    display: flex; align-items: baseline; gap: 12px;
    padding: 8px 4px;
    text-decoration: none; color: var(--paper-dim);
    font-family: var(--display-jp); font-size: 13px;
    border-bottom: 1px dashed var(--rule);
    transition: all .2s;
}
.brand-eresia .ml-footer__stores a:last-child { border-bottom: none; }
.brand-eresia .ml-footer__stores a:hover { color: var(--bronze-glow); padding-left: 12px; }
.brand-eresia .ml-footer__stores a small {
    font-family: var(--display-en); font-size: 10px;
    letter-spacing: 0.25em; color: var(--bronze);
}
.brand-eresia .ml-footer__stores a.is-self {
    color: var(--bronze-glow); cursor: default;
}
.brand-eresia .ml-footer__stores a.is-self::before {
    content: "✦ "; color: var(--burgundy-light);
}

/* 求人セクション */
.brand-eresia .ml-recruit {
    padding: 64px 24px 48px;
    background: linear-gradient(180deg, transparent, rgba(140,26,26,0.08));
}
.brand-eresia .ml-recruit__inner {
    max-width: 760px; margin: 0 auto; text-align: center;
}
.brand-eresia .ml-recruit__subtitle {
    font-family: var(--display-jp); font-weight: 700;
    font-size: clamp(18px, 2.4vw, 22px);
    color: var(--bronze-glow);
    margin: 0 0 20px;
    letter-spacing: 0.08em;
}
.brand-eresia .ml-recruit__text {
    font-family: var(--body-jp); font-size: 15px; line-height: 2.0;
    color: var(--paper); margin-bottom: 32px;
    text-align: left;
}
@media (min-width: 768px) {
    .brand-eresia .ml-recruit__text { text-align: center; }
}
.brand-eresia .ml-recruit__details {
    display: grid; grid-template-columns: 130px 1fr;
    gap: 14px 24px;
    padding: 28px 32px;
    margin: 0 auto 32px;
    max-width: 640px;
    text-align: left;
}
.brand-eresia .ml-recruit__details dt {
    font-family: var(--display-en); font-weight: 700; font-size: 11px;
    letter-spacing: 0.3em; color: var(--bronze-glow);
    padding-top: 4px;
    align-self: start;
}
.brand-eresia .ml-recruit__details dd {
    font-family: var(--body-jp); font-size: 14px; line-height: 1.85;
    color: var(--paper);
    margin: 0; padding-bottom: 14px;
    border-bottom: 1px solid var(--rule);
}
.brand-eresia .ml-recruit__details dt:last-of-type + dd { border-bottom: none; padding-bottom: 0; }
@media (max-width: 600px) {
    .brand-eresia .ml-recruit__details { grid-template-columns: 1fr; gap: 4px 0; padding: 22px 20px; }
    .brand-eresia .ml-recruit__details dd { padding-bottom: 14px; margin-bottom: 6px; }
}
.brand-eresia .ml-recruit__cta-line {
    font-family: var(--display-jp); font-weight: 700;
    font-size: 16px; color: var(--paper);
    margin: 16px 0 12px;
    letter-spacing: 0.15em;
}
.brand-eresia .ml-recruit__cta { margin: 12px 0 16px; }
.brand-eresia .ml-recruit__btn {
    display: inline-flex; align-items: center; gap: 12px;
    padding: 18px 40px;
    font-family: var(--display-jp); font-weight: 700; font-size: 16px;
    letter-spacing: 0.15em;
    color: var(--paper);
    background: linear-gradient(180deg, #1a1a1a, #000);
    border: 1px solid var(--bronze-glow);
    text-decoration: none;
    transition: all .25s;
    box-shadow: 0 8px 28px rgba(0,0,0,0.5), inset 0 1px 0 rgba(232,200,121,0.18);
}
.brand-eresia .ml-recruit__btn:hover {
    background: linear-gradient(180deg, #2a2a2a, #0a0a0a);
    border-color: var(--paper);
    transform: translateY(-2px);
    box-shadow: 0 14px 40px rgba(232,200,121,0.25), inset 0 1px 0 rgba(232,200,121,0.3);
}
.brand-eresia .ml-recruit__btn-icon {
    font-size: 22px; line-height: 1;
    color: var(--paper);
}
.brand-eresia .ml-recruit__note {
    font-family: var(--display-en); font-size: 11px;
    letter-spacing: 0.25em; color: var(--bronze);
    margin-top: 24px;
}

/* キャストサムネのロゴフォールバック */
.brand-eresia .ml-cast-thumb.is-fallback {
    width: 70%; height: 70%; object-fit: contain;
    margin: auto; display: block;
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(10,14,42,0.6), rgba(5,7,21,0.85));
    padding: 20%;
    filter: drop-shadow(0 0 12px rgba(232,200,121,0.4));
}

/* SEO フッタ（最下部の可視テキスト） */
.brand-eresia .ml-seo-footer {
    padding: 32px 24px 48px;
    color: var(--paper-faded);
    font-size: 12px; line-height: 1.9;
}
.brand-eresia .ml-seo-footer__inner {
    max-width: 760px; margin: 0 auto; text-align: center;
}
.brand-eresia .ml-seo-footer strong {
    color: var(--bronze-light); font-weight: 500;
}

/* キャスト詳細ページ */
.brand-eresia .ml-cast-detail {
    display: grid; grid-template-columns: minmax(280px, 420px) 1fr; gap: 48px;
    max-width: 1100px; margin: 0 auto 56px;
    align-items: start;
}
@media (max-width: 768px) {
    .brand-eresia .ml-cast-detail { grid-template-columns: 1fr; gap: 32px; }
}
.brand-eresia .ml-cast-detail__photo {
    aspect-ratio: 3/4; overflow: hidden; position: relative;
    border: 1px solid var(--bronze);
    background: var(--bg-deeper);
    box-shadow: 0 18px 50px rgba(0,0,0,0.45), 0 0 22px rgba(201,169,88,0.18);
}
.brand-eresia .ml-cast-detail__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.brand-eresia .ml-cast-detail__name-en {
    font-family: var(--display-en); font-style: italic; font-weight: 600;
    font-size: 14px; letter-spacing: 0.4em; color: var(--bronze-glow);
    margin-bottom: 4px;
}
.brand-eresia .ml-cast-detail__name {
    font-family: var(--display-jp); font-weight: 800;
    font-size: clamp(28px, 4vw, 44px);
    color: var(--paper); margin: 0 0 16px;
    text-shadow: 0 2px 12px rgba(0,0,0,0.5);
}
.brand-eresia .ml-cast-detail__catch {
    font-family: var(--display-jp); font-style: italic; font-size: 16px;
    color: var(--bronze-light); margin-bottom: 32px; line-height: 1.7;
}
.brand-eresia .ml-cast-detail__profile {
    display: grid; grid-template-columns: 130px 1fr; gap: 12px 18px;
    margin-bottom: 28px;
}
.brand-eresia .ml-cast-detail__profile dt {
    font-family: var(--display-en); font-weight: 700; font-size: 11px;
    letter-spacing: 0.3em; color: var(--bronze-glow);
    padding-top: 4px;
}
.brand-eresia .ml-cast-detail__profile dd {
    font-family: var(--body-jp); font-size: 14px; line-height: 1.85;
    color: var(--paper); margin: 0; padding-bottom: 10px;
    border-bottom: 1px solid var(--rule);
}
.brand-eresia .ml-cast-detail__profile dt:last-of-type + dd { border-bottom: none; }
.brand-eresia .ml-cast-detail__sns { display: flex; gap: 10px; }
.brand-eresia .ml-cast-detail__sns a {
    width: 40px; height: 40px;
    border: 1px solid var(--bronze); border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: var(--bronze-light); transition: all .25s;
    text-decoration: none;
}
.brand-eresia .ml-cast-detail__sns a:hover {
    background: var(--bronze); color: var(--bg-deep); transform: scale(1.08);
}

/* キャスト詳細：サブ画像ギャラリー */
.brand-eresia .ml-cast-detail__gallery {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 14px;
    max-width: 1100px; margin: 0 auto 48px;
}
.brand-eresia .ml-cast-detail__gallery-item {
    aspect-ratio: 3/4; overflow: hidden; margin: 0;
    border: 1px solid var(--rule);
    background: var(--bg-deeper);
}
.brand-eresia .ml-cast-detail__gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.brand-eresia .ml-cast-detail__gallery-item:hover img { transform: scale(1.04); }

/* キャスト詳細：出勤予定 */
.brand-eresia .ml-cast-detail__shifts {
    max-width: 760px; margin: 0 auto 48px;
    padding: 28px 32px;
}
.brand-eresia .ml-cast-detail__shifts-h {
    font-family: var(--display-en); font-weight: 700; font-size: 12px;
    letter-spacing: 0.4em; color: var(--bronze-glow);
    margin: 0 0 18px; padding-bottom: 12px;
    border-bottom: 1px solid var(--rule);
    text-align: center;
}
.brand-eresia .ml-cast-detail__shifts-list {
    list-style: none; padding: 0; margin: 0;
    display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 8px 18px;
}
.brand-eresia .ml-cast-detail__shifts-list li {
    display: flex; align-items: baseline; gap: 12px;
    padding: 10px 12px; background: rgba(140,26,26,0.15); border: 1px solid var(--rule);
}
.brand-eresia .ml-cast-detail__shifts-date {
    font-family: var(--display-en); font-weight: 700; font-size: 16px;
    color: var(--bronze-glow);
}
.brand-eresia .ml-cast-detail__shifts-date small {
    font-size: 11px; color: var(--bronze); margin-left: 4px;
}
.brand-eresia .ml-cast-detail__shifts-time {
    font-family: var(--body-jp); font-size: 13px; color: var(--paper);
}

/* お知らせ詳細 */
.brand-eresia .ml-news-tags {
    display: flex; gap: 6px; justify-content: center; margin: 8px 0 16px; flex-wrap: wrap;
}
.brand-eresia .ml-news-tag {
    font-family: var(--display-en); font-size: 10px; letter-spacing: 0.3em;
    padding: 4px 10px; border: 1px solid var(--bronze);
    color: var(--bronze-light);
}
.brand-eresia .ml-news-detail__thumb {
    margin-bottom: 32px; border: 1px solid var(--rule); overflow: hidden;
}
.brand-eresia .ml-news-detail__thumb img { width: 100%; height: auto; display: block; }
.brand-eresia .ml-news-detail__content {
    font-family: var(--body-jp); font-size: 16px; line-height: 2.0;
    color: var(--paper);
}
.brand-eresia .ml-news-detail__content p { margin: 0 0 1.5em; }
.brand-eresia .ml-news-detail__content h2 {
    font-family: var(--display-jp); font-weight: 700; font-size: 22px;
    color: var(--bronze-glow); margin: 32px 0 16px;
    padding-bottom: 8px; border-bottom: 1px solid var(--rule);
}
.brand-eresia .ml-news-detail__content h3 {
    font-family: var(--display-jp); font-weight: 700; font-size: 18px;
    color: var(--paper); margin: 24px 0 12px;
}
.brand-eresia .ml-news-detail__content a {
    color: var(--bronze-glow); border-bottom: 1px solid var(--rule);
}
.brand-eresia .ml-news-detail__content a:hover { color: var(--paper); border-color: var(--bronze); }
.brand-eresia .ml-news-detail__content img { max-width: 100%; height: auto; }
.brand-eresia .ml-news-detail__nav {
    display: grid; grid-template-columns: 1fr auto 1fr; gap: 16px;
    margin-top: 56px; padding-top: 28px;
    border-top: 1px solid var(--rule);
    align-items: center;
}
.brand-eresia .ml-news-detail__prev { text-align: left; }
.brand-eresia .ml-news-detail__center { text-align: center; }
.brand-eresia .ml-news-detail__next { text-align: right; }
.brand-eresia .ml-news-detail__nav a {
    color: var(--paper-dim); font-family: var(--display-jp); font-size: 13px;
    line-height: 1.6;
}
.brand-eresia .ml-news-detail__nav a:hover { color: var(--bronze-glow); }
@media (max-width: 600px) {
    .brand-eresia .ml-news-detail__nav { grid-template-columns: 1fr; gap: 16px; text-align: center; }
    .brand-eresia .ml-news-detail__prev,
    .brand-eresia .ml-news-detail__next { text-align: center; }
}

/* パンくずリスト */
.brand-eresia .ml-breadcrumb-wrap {
    max-width: 1280px; margin: 0 auto;
    padding: 16px 24px 0;
}
.brand-eresia .ml-breadcrumb {
    font-family: var(--display-jp); font-size: 12px;
    color: var(--paper-faded); letter-spacing: 0.05em;
}
.brand-eresia .ml-breadcrumb ol {
    list-style: none; padding: 0; margin: 0;
    display: flex; flex-wrap: wrap; gap: 4px 8px;
    align-items: center;
}
.brand-eresia .ml-breadcrumb li {
    display: inline-flex; align-items: center;
}
.brand-eresia .ml-breadcrumb li + li::before {
    content: "›";
    margin-right: 8px;
    color: var(--bronze);
}
.brand-eresia .ml-breadcrumb a {
    color: var(--paper-dim); text-decoration: none;
    transition: color .2s;
}
.brand-eresia .ml-breadcrumb a:hover { color: var(--bronze-glow); }
.brand-eresia .ml-breadcrumb [aria-current="page"] {
    color: var(--bronze-glow);
}

/* ページネーション */
.brand-eresia .ml-pagination {
    text-align: center; margin: 48px 0 16px;
    font-family: var(--display-en); letter-spacing: 0.1em;
}
.brand-eresia .ml-pagination .page-numbers {
    display: inline-block; min-width: 38px; padding: 8px 12px;
    border: 1px solid var(--rule); margin: 0 2px;
    color: var(--paper); text-decoration: none;
    transition: all .2s;
}
.brand-eresia .ml-pagination .page-numbers:hover { border-color: var(--bronze); }
.brand-eresia .ml-pagination .page-numbers.current {
    background: rgba(140,26,26,0.6); border-color: var(--bronze-glow); color: var(--bronze-glow);
}

/* Legal links section（プライバシー・規約）の SP 整列 */
@media (max-width: 480px) {
    .brand-eresia .ml-footer__legal { font-size: 11px; }
    .brand-eresia .ml-footer__legal .sep { margin: 0 4px; }
}

/* Responsive */
@media (max-width: 768px) {
    body.meltylab--tier3.brand-eresia { background-image: var(--asset-bg-sp, none); }
    .brand-eresia .nav { padding: 10px 14px; gap: 10px; }
    .brand-eresia .nav__logo { height: 38px; gap: 10px; }
    .brand-eresia .nav__store { font-size: 14px; padding-left: 10px; }
    .brand-eresia .nav__store small { font-size: 9px; }
    .brand-eresia .nav__menu { display: none; }
    .brand-eresia section { padding: 48px 20px; }
    .brand-eresia .section__head { margin-bottom: 26px; }
    .brand-eresia .hero { aspect-ratio: 3/4; max-height: 100vh; }
    .brand-eresia .hero__img { object-position: center 25%; }
    .brand-eresia .schedule__row { grid-template-columns: 90px 1fr; padding: 16px 14px; }
    .brand-eresia .news__item { grid-template-columns: 1fr; gap: 8px; }
    .brand-eresia .ml-footer__logo img { max-width: 80%; }
    .brand-eresia .today-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
    .brand-eresia .today-grid__card { padding: 10px; }
    .brand-eresia .today-grid__name { font-size: 14px; }
    .brand-eresia .today-grid__name-en { font-size: 10px; }
    .brand-eresia .today-grid__time { font-size: 11px; margin-bottom: 4px; }
    .brand-eresia .age-modal { padding: 12px; overflow-y: auto; }
    .brand-eresia .age-modal__inner { padding: 36px 22px 28px; }
    .brand-eresia .age-modal__inner::before, .brand-eresia .age-modal__inner::after { width: 24px; height: 24px; }
    .brand-eresia .age-modal__logo { width: 160px; margin-bottom: 18px; }
    .brand-eresia .age-modal__title { font-size: 17px; line-height: 1.6; }
    .brand-eresia .age-modal__lead { font-size: 12px; }
    .brand-eresia .age-modal__btn { font-size: 12px; padding: 12px 14px; }
    .brand-eresia .cylinder { height: 420px; }
    .brand-eresia .cylinder__ground { width: 500px; height: 500px; }
    .brand-eresia .cylinder__item__name { font-size: 13px; }
    .brand-eresia .cylinder__item__sub { font-size: 9px; letter-spacing: 0.2em; }
    .brand-eresia .cylinder__item__overlay { padding: 22px 8px 10px; }
}
@media (max-width: 480px) {
    .brand-eresia .nav__store { font-size: 13px; }
    .brand-eresia .nav__store small { display: none; }
    .brand-eresia .age-modal__inner { padding: 28px 16px 22px; }
    .brand-eresia .age-modal__logo { width: 130px; }
    .brand-eresia .age-modal__title { font-size: 15px; line-height: 1.55; }
    .brand-eresia .age-modal__btns { flex-direction: column; gap: 8px; }
    .brand-eresia .age-modal__btn { font-size: 12px; padding: 12px 16px; }
    .brand-eresia .cylinder { height: 360px; }
    .brand-eresia .cylinder__ground { width: 360px; height: 360px; }
}

/* ─────────────────────────────────────────
 * Tier 2（ブランドポータル）— 共通レイアウト
 * tier3 と同じ装飾語彙（frame / wood-divider / rope-divider / section）を使い、
 * 追加要素（hero overlay / concept body / stores grid）のみここで定義する。
 * ───────────────────────────────────────── */

/* body 基本設定（tier3 と同等の装い） */
body.meltylab--tier2.brand-eresia {
    background-color: var(--bg-deep);
    background-image: var(--asset-bg-pc, none);
    background-size: cover;
    background-position: center top;
    background-attachment: fixed;
    background-repeat: no-repeat;
    color: var(--paper);
    font-family: var(--body-jp);
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}
body.meltylab--tier2.brand-eresia::before {
    content: ""; position: fixed; inset: 0; pointer-events: none; z-index: -1;
    background: linear-gradient(180deg, rgba(10,14,42,0.4) 0%, rgba(5,7,21,0.85) 100%);
}

/* tier2 hero — KV にブランドロゴ／タイトルを重ねる */
.brand-eresia .tier2-hero { position: relative; }
.brand-eresia .tier2-hero__overlay {
    position: absolute; inset: 0;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    text-align: center;
    padding: 56px 24px;
    color: var(--paper);
    background: linear-gradient(180deg, rgba(5,7,21,0.30) 0%, rgba(5,7,21,0.55) 55%, rgba(5,7,21,0.92) 100%);
}
.brand-eresia .tier2-hero__sigil {
    font-family: var(--display-en); font-style: italic; font-weight: 600;
    font-size: 12px; letter-spacing: 0.5em;
    color: var(--bronze-glow);
    margin-bottom: 26px;
    text-shadow: 0 0 12px rgba(0,0,0,0.6);
}
.brand-eresia .tier2-hero__title {
    font-family: var(--display-jp); font-weight: 700;
    font-size: clamp(34px, 6.4vw, 78px);
    letter-spacing: 0.18em;
    line-height: 1.18;
    margin-bottom: 14px;
    text-shadow: 0 0 28px rgba(0,0,0,0.65), 0 0 6px rgba(201,169,88,0.35);
}
.brand-eresia .tier2-hero__title-en {
    font-family: var(--display-en); font-weight: 600;
    font-size: clamp(13px, 1.6vw, 19px);
    letter-spacing: 0.5em;
    color: var(--bronze-glow);
    margin-bottom: 18px;
}
.brand-eresia .tier2-hero__tagline {
    font-family: var(--body-jp);
    font-size: clamp(13px, 1.4vw, 16px);
    letter-spacing: 0.3em;
    color: var(--paper-dim);
    margin: 0;
}

/* tier2 concept */
.brand-eresia .tier2-concept__inner { padding-bottom: 24px; }
.brand-eresia .tier2-concept__body {
    max-width: 760px; margin: 0 auto; padding: 40px 36px;
    background: var(--bg-card);
    border: 1px solid var(--rule);
    line-height: 2;
    font-size: 15px;
    color: var(--paper);
    position: relative;
}
.brand-eresia .tier2-concept__body p { margin-bottom: 14px; }
.brand-eresia .tier2-concept__body p:last-child { margin-bottom: 0; }
.brand-eresia .tier2-concept__lead {
    font-family: var(--display-jp);
    font-size: 19px; font-weight: 600;
    color: var(--bronze-glow);
    letter-spacing: 0.12em;
    margin-bottom: 22px !important;
}
.brand-eresia .tier2-concept__signature {
    font-family: var(--display-en); font-style: italic;
    font-size: 14px;
    color: var(--bronze-glow);
    text-align: right;
    margin-top: 26px !important;
}

/* tier2 stores grid */
.brand-eresia .ml-stores-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 28px;
    max-width: 1100px;
    margin: 0 auto;
}
.brand-eresia .ml-stores-grid--single {
    grid-template-columns: minmax(0, 520px);
    justify-content: center;
}
.brand-eresia .ml-stores-grid__card {
    display: flex; flex-direction: column;
    background: var(--bg-card);
    border: 1px solid var(--rule);
    overflow: hidden;
    transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease;
    color: var(--paper);
}
.brand-eresia .ml-stores-grid__card:hover {
    transform: translateY(-4px);
    border-color: var(--rule-strong);
    box-shadow: 0 18px 40px rgba(0,0,0,0.45);
}
.brand-eresia .ml-stores-grid__thumb {
    aspect-ratio: 4/3;
    overflow: hidden;
    background: var(--bg-deeper);
}
.brand-eresia .ml-stores-grid__thumb img {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform .6s ease;
}
.brand-eresia .ml-stores-grid__card:hover .ml-stores-grid__thumb img { transform: scale(1.04); }
.brand-eresia .ml-stores-grid__body {
    padding: 22px 24px 26px;
    display: flex; flex-direction: column;
    flex-grow: 1;
}
.brand-eresia .ml-stores-grid__area {
    font-family: var(--display-en); font-style: italic;
    font-size: 11px; letter-spacing: 0.4em;
    color: var(--bronze-glow);
    margin-bottom: 8px;
    text-transform: uppercase;
}
.brand-eresia .ml-stores-grid__name {
    font-family: var(--display-jp);
    font-size: 22px; font-weight: 700;
    letter-spacing: 0.12em;
    color: var(--paper);
    margin-bottom: 4px;
}
.brand-eresia .ml-stores-grid__name-en {
    font-family: var(--display-en);
    font-size: 11px; letter-spacing: 0.4em;
    color: var(--paper-dim);
    margin-bottom: 14px;
}
.brand-eresia .ml-stores-grid__caption {
    font-size: 13px; line-height: 1.9;
    color: var(--paper-dim);
    margin-bottom: 20px;
    flex-grow: 1;
}
.brand-eresia .ml-stores-grid__cta {
    display: inline-block;
    font-family: var(--display-en); font-style: italic;
    font-size: 12px; letter-spacing: 0.3em;
    color: var(--bronze-glow);
}

/* tier2 hero モバイル */
@media (max-width: 768px) {
    .brand-eresia .tier2-hero__overlay { padding: 36px 18px; }
    .brand-eresia .tier2-hero__sigil { font-size: 10px; letter-spacing: 0.4em; margin-bottom: 18px; }
    .brand-eresia .tier2-hero__title { font-size: 30px; letter-spacing: 0.14em; }
    .brand-eresia .tier2-hero__title-en { font-size: 12px; letter-spacing: 0.35em; }
    .brand-eresia .tier2-hero__tagline { font-size: 12px; letter-spacing: 0.22em; }
    .brand-eresia .tier2-concept__body { padding: 28px 22px; font-size: 14px; }
    .brand-eresia .tier2-concept__lead { font-size: 17px; }
    .brand-eresia .ml-stores-grid { grid-template-columns: 1fr; gap: 20px; }
    .brand-eresia .ml-stores-grid__name { font-size: 19px; }
}

/* tier2 hero — ロゴ画像版（h1/title-en の代わりに使用） */
.brand-eresia .tier2-hero__logo {
    width: clamp(260px, 50vw, 540px);
    margin: 0 auto 18px;
    filter: drop-shadow(0 0 30px rgba(201,169,88,0.45)) drop-shadow(0 0 60px rgba(140,26,26,0.3));
}
@media (max-width: 768px) {
    .brand-eresia .tier2-hero__logo { width: min(78vw, 360px); margin-bottom: 14px; }
}
@media (max-width: 480px) {
    .brand-eresia .tier2-hero__logo { width: min(82vw, 300px); }
}

/* ─────────────────────────────────────────
 * フランチャイズ CTA — eresia
 *   .ml-fc-float（追従ボタン）／ .ml-fc-inline（インライン CTA）
 *   /franchise/ ページ専用 .ml-fc-page
 * ───────────────────────────────────────── */

/* 共通：PC/SP 切替ヘルパ（フランチャイズ用） */
.brand-eresia .ml-only-pc { display: inline; }
@media (max-width: 600px) { .brand-eresia .ml-only-pc { display: none; } }

/* 追従ボタン */
.brand-eresia .ml-fc-float {
    position: fixed;
    right: 22px; bottom: 22px;
    z-index: 800;
    display: inline-flex; align-items: center; gap: 14px;
    padding: 14px 20px 14px 22px;
    background: linear-gradient(135deg, var(--burgundy) 0%, var(--burgundy-light) 100%);
    color: var(--paper);
    font-family: var(--display-jp);
    font-weight: 600;
    line-height: 1.3;
    border: 1px solid var(--bronze-light);
    box-shadow: 0 14px 32px rgba(0,0,0,0.45), 0 0 24px rgba(201,169,88,0.25);
    text-decoration: none;
    transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.brand-eresia .ml-fc-float:hover {
    transform: translateY(-3px);
    box-shadow: 0 22px 40px rgba(0,0,0,0.55), 0 0 32px rgba(201,169,88,0.45);
    border-color: var(--bronze-glow);
    color: var(--paper);
}
.brand-eresia .ml-fc-float__sigil {
    font-family: var(--display-en); font-style: italic; font-weight: 600;
    font-size: 9px; letter-spacing: 0.4em;
    color: var(--bronze-glow);
    align-self: flex-start; margin-top: 2px;
}
.brand-eresia .ml-fc-float__label {
    font-size: 13px; letter-spacing: 0.16em;
}
.brand-eresia .ml-fc-float__label small {
    display: block;
    font-family: var(--display-en); font-style: italic;
    font-size: 9px; letter-spacing: 0.3em;
    color: var(--bronze-glow);
    margin-top: 2px;
}
.brand-eresia .ml-fc-float__icon {
    display: inline-flex; align-items: center; justify-content: center;
    width: 28px; height: 28px;
    border: 1px solid var(--bronze-glow);
    border-radius: 50%;
    color: var(--bronze-glow);
    font-size: 14px; font-style: normal;
}
/* gated 中／ドロワー展開中は非表示（混在を避ける） */
body.meltylab--gated .ml-fc-float { display: none !important; }
.brand-eresia .ml-mobile-drawer.is-open ~ .ml-fc-float,
.brand-eresia body:has(.ml-mobile-drawer.is-open) .ml-fc-float { display: none; }

@media (max-width: 600px) {
    .brand-eresia .ml-fc-float {
        right: 14px; bottom: 14px;
        padding: 11px 14px 11px 16px;
        gap: 10px;
    }
    .brand-eresia .ml-fc-float__sigil { display: none; }
    .brand-eresia .ml-fc-float__label { font-size: 11px; letter-spacing: 0.12em; }
    .brand-eresia .ml-fc-float__label small { font-size: 8px; letter-spacing: 0.25em; }
    .brand-eresia .ml-fc-float__icon { width: 24px; height: 24px; font-size: 12px; }
}

/* インライン CTA */
.brand-eresia .ml-fc-inline { padding: 56px 32px; }
.brand-eresia .ml-fc-inline__inner {
    max-width: 760px; margin: 0 auto; text-align: center;
}
.brand-eresia .ml-fc-inline__lead {
    font-size: 15px; line-height: 2;
    color: var(--paper-dim);
    margin-bottom: 26px;
}
.brand-eresia .ml-fc-inline__cta { margin: 0; }
.brand-eresia .ml-fc-inline__btn {
    display: inline-flex; align-items: center; gap: 10px;
}

/* ── 規約・プライバシー（.ml-legal）2026-06-03 ── */
.brand-eresia .ml-legal { position: relative; }
.brand-eresia .ml-legal .section__head { text-align: center; }
.brand-eresia .ml-legal__body {
    margin: 36px auto 0;
    padding: 44px 40px;
    background: var(--bg-card);
    border: 1px solid var(--rule-strong);
    border-radius: 3px;
    box-shadow: 0 10px 48px rgba(0,0,0,0.35);
    text-align: left;
}
.brand-eresia .ml-legal__body > p {
    color: var(--paper-dim);
    line-height: 2.05;
    font-size: 15px;
    margin-bottom: 18px;
}
.brand-eresia .ml-legal__body h3 {
    font-family: var(--display-jp);
    font-weight: 700;
    font-size: 18px;
    letter-spacing: 0.05em;
    color: var(--bronze-glow);
    margin: 38px 0 14px;
    padding-left: 16px;
    border-left: 3px solid var(--bronze-light);
}
.brand-eresia .ml-legal__body h3:first-of-type { margin-top: 8px; }
.brand-eresia .ml-legal__body ul { list-style: none; margin: 0 0 18px; padding: 0; }
.brand-eresia .ml-legal__body li {
    position: relative; padding-left: 24px; margin-bottom: 11px;
    color: var(--paper-dim); line-height: 1.85; font-size: 14.5px;
}
.brand-eresia .ml-legal__body li::before {
    content: "\2756"; position: absolute; left: 0; top: 1px;
    color: var(--bronze-light); font-size: 12px;
}
.brand-eresia .ml-legal__body a { color: var(--bronze-glow); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 768px) {
    .brand-eresia .ml-legal__body { padding: 32px 22px; }
}

/* /franchise/ ページ */
.brand-eresia .ml-fc-page__title { letter-spacing: 0.18em; }
.brand-eresia .ml-fc-page__sub {
    font-family: var(--display-en); font-style: italic; font-weight: 500;
    font-size: 14px; letter-spacing: 0.4em;
    color: var(--bronze-glow);
    margin: 8px 0 18px;
}
.brand-eresia .ml-fc-page__lead-inner { padding-bottom: 20px; }
.brand-eresia .ml-fc-page__lead {
    max-width: 760px; margin: 0 auto; padding: 36px 32px;
    background: var(--bg-card);
    border: 1px solid var(--rule);
    line-height: 2;
    font-size: 15px;
    color: var(--paper);
    text-align: left;
}
.brand-eresia .ml-fc-page__lead p { margin-bottom: 16px; }
.brand-eresia .ml-fc-page__lead p:last-child { margin: 0; }

/* Why points */
.brand-eresia .ml-fc-page__points {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 22px;
    max-width: 1080px;
    margin: 0 auto;
}
.brand-eresia .ml-fc-page__point {
    background: var(--bg-card);
    border: 1px solid var(--rule);
    padding: 28px 24px;
    transition: border-color .35s ease, transform .35s ease;
}
.brand-eresia .ml-fc-page__point:hover {
    border-color: var(--rule-strong);
    transform: translateY(-3px);
}
.brand-eresia .ml-fc-page__point-sigil {
    font-family: var(--display-en); font-style: italic;
    font-size: 11px; letter-spacing: 0.4em;
    color: var(--bronze-glow);
    margin-bottom: 10px;
}
.brand-eresia .ml-fc-page__point-title {
    font-family: var(--display-jp); font-weight: 700;
    font-size: 17px; letter-spacing: 0.08em;
    color: var(--paper);
    margin-bottom: 10px;
    line-height: 1.5;
}
.brand-eresia .ml-fc-page__point-desc {
    font-size: 13px; line-height: 1.95;
    color: var(--paper-dim);
}

/* Process */
.brand-eresia .ml-fc-page__steps {
    list-style: none; padding: 0; margin: 0;
    max-width: 800px; margin: 0 auto;
    display: flex; flex-direction: column; gap: 18px;
}
.brand-eresia .ml-fc-page__step {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 20px; align-items: start;
    padding: 22px 26px;
    background: var(--bg-card);
    border: 1px solid var(--rule);
    border-left: 3px solid var(--bronze-light);
}
.brand-eresia .ml-fc-page__step-num {
    font-family: var(--display-en); font-weight: 700;
    font-size: 32px; letter-spacing: 0.05em;
    color: var(--bronze-glow);
    line-height: 1;
}
.brand-eresia .ml-fc-page__step-title {
    font-family: var(--display-jp); font-weight: 700;
    font-size: 16px; letter-spacing: 0.1em;
    color: var(--paper);
    margin-bottom: 6px;
}
.brand-eresia .ml-fc-page__step-desc {
    font-size: 13px; line-height: 1.95;
    color: var(--paper-dim);
}

/* Final CTA */
.brand-eresia .ml-fc-page__cta-inner { text-align: center; max-width: 720px; margin: 0 auto; }
.brand-eresia .ml-fc-page__cta-lead {
    font-size: 15px; line-height: 2;
    color: var(--paper);
    margin-bottom: 28px;
}
.brand-eresia .ml-fc-page__cta-btn-wrap { margin: 0 0 22px; }
.brand-eresia .ml-fc-page__cta-note {
    font-size: 11px; line-height: 1.85;
    color: var(--paper-faded);
    margin: 0;
}

@media (max-width: 768px) {
    .brand-eresia .ml-fc-inline { padding: 44px 22px; }
    .brand-eresia .ml-fc-inline__lead { font-size: 14px; }
    .brand-eresia .ml-fc-page__lead { padding: 26px 22px; font-size: 14px; }
    .brand-eresia .ml-fc-page__step { grid-template-columns: 56px 1fr; gap: 14px; padding: 18px 18px; }
    .brand-eresia .ml-fc-page__step-num { font-size: 26px; }
    .brand-eresia .ml-fc-page__step-title { font-size: 15px; }
    .brand-eresia .ml-fc-page__step-desc { font-size: 12.5px; }
    .brand-eresia .ml-fc-page__points { grid-template-columns: 1fr; gap: 14px; }
}

/* ─────────────────────────────────────────
 * お知らせカード（tier3 トップ＆アーカイブ）— eresia
 *   .ml-news-cards グリッド／.ml-news-card 1枚カード
 * ───────────────────────────────────────── */
.brand-eresia .ml-news-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 22px;
    max-width: 1100px;
    margin: 0 auto;
}
.brand-eresia .ml-news-card {
    display: flex; flex-direction: column;
    background: var(--bg-card);
    border: 1px solid var(--rule);
    overflow: hidden;
    color: var(--paper);
    text-decoration: none;
    transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.brand-eresia .ml-news-card:hover {
    transform: translateY(-4px);
    border-color: var(--rule-strong);
    box-shadow: 0 18px 40px rgba(0,0,0,0.45);
}
.brand-eresia .ml-news-card__thumb {
    aspect-ratio: 16/10;
    overflow: hidden;
    background: var(--bg-deeper);
    display: flex; align-items: center; justify-content: center;
}
.brand-eresia .ml-news-card__thumb img {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform .6s ease;
}
.brand-eresia .ml-news-card:hover .ml-news-card__thumb img { transform: scale(1.05); }
/* アイキャッチ未登録時はロゴを中央に配置 */
.brand-eresia .ml-news-card__thumb img.is-fallback {
    width: 50%; height: 50%; object-fit: contain;
    opacity: 0.7;
}
.brand-eresia .ml-news-card__body {
    padding: 18px 20px 22px;
    display: flex; flex-direction: column;
    flex-grow: 1;
}
.brand-eresia .ml-news-card__date {
    font-family: var(--display-en); font-style: italic;
    font-size: 11px; letter-spacing: 0.32em;
    color: var(--bronze-glow);
    margin-bottom: 8px;
}
.brand-eresia .ml-news-card__title {
    font-family: var(--display-jp); font-weight: 700;
    font-size: 15px; line-height: 1.65;
    letter-spacing: 0.06em;
    color: var(--paper);
    margin: 0;
}

@media (max-width: 768px) {
    .brand-eresia .ml-news-cards { grid-template-columns: repeat(2, 1fr); gap: 14px; }
    .brand-eresia .ml-news-card__body { padding: 14px 14px 18px; }
    .brand-eresia .ml-news-card__title { font-size: 13.5px; }
    .brand-eresia .ml-news-card__date { font-size: 10px; letter-spacing: 0.25em; }
}
@media (max-width: 480px) {
    .brand-eresia .ml-news-cards { grid-template-columns: 1fr; }
}

/* tier2 ブランドサイトのお知らせ店舗バッジ */
.brand-eresia .news__item { position: relative; }
.brand-eresia .news__store-badge {
    display: inline-block;
    margin: 4px 12px 4px 0;
    padding: 3px 12px;
    background: rgba(201, 169, 88, 0.15);
    border: 1px solid var(--bronze-light);
    border-radius: 999px;
    font-family: var(--display-en); font-style: italic;
    font-size: 11px; letter-spacing: 0.18em;
    color: var(--bronze-glow);
    white-space: nowrap;
}
@media (max-width: 600px) {
    .brand-eresia .news__store-badge { font-size: 10px; padding: 2px 10px; }
}

/* ─────────────────────────────────────────
 * Footer：白背景版（後勝ち上書き）
 *   黒背景前提だった文字色・罫線・ブランドカードをライトモードに調整。
 *   ブランドアクセント（bronze系）は引き続き利用。
 * ───────────────────────────────────────── */
.brand-eresia .ml-footer {
    background: #FFFFFF;
    color: #2A2A30;
    border-top: 1px solid #E5E5E5;
}
.brand-eresia .ml-footer__produced-label { color: #7C7C7C; }
.brand-eresia .ml-footer__produced img { filter: none; }

.brand-eresia .ml-footer__current { border-top-color: #E5E5E5; }
.brand-eresia .ml-footer__logo img { filter: none; }

.brand-eresia .ml-footer__legal {
    color: #4A4A4A;
    border-top-color: #E5E5E5;
}
.brand-eresia .ml-footer__legal a { color: #4A4A4A; }
.brand-eresia .ml-footer__legal a:hover { color: var(--bronze-glow); }
.brand-eresia .ml-footer__legal .sep { color: var(--bronze); }

.brand-eresia .ml-footer__bottom {
    color: #7C7C7C;
    border-top-color: #E5E5E5;
}

.brand-eresia .ml-footer__sns a {
    border-color: var(--bronze);
    color: var(--bronze);
}
.brand-eresia .ml-footer__sns a:hover {
    background: var(--bronze);
    color: #FFFFFF;
}

.brand-eresia .ml-footer__group { border-top-color: #E5E5E5; }
.brand-eresia .ml-footer__group-head { color: var(--bronze); }

.brand-eresia .ml-footer__brand {
    background: #FAFAFA;
    border-color: #E5E5E5;
}
.brand-eresia .ml-footer__brand:hover { border-color: var(--bronze); }
.brand-eresia .ml-footer__brand.is-current {
    background: rgba(201,169,88,0.10);
    border-color: var(--bronze-light);
}
.brand-eresia .ml-footer__brand-head {
    border-bottom-color: #E5E5E5;
    color: #2A2A30;
}
.brand-eresia .ml-footer__brand-head img { filter: none; }
.brand-eresia .ml-footer__brand-name { color: #2A2A30; }
.brand-eresia .ml-footer__brand-en { color: var(--bronze); }

.brand-eresia .ml-footer__stores a {
    color: #4A4A4A;
    border-bottom-color: #EAEAEA;
}
.brand-eresia .ml-footer__stores a:hover { color: var(--bronze-glow); }
.brand-eresia .ml-footer__stores a small { color: var(--bronze); }
.brand-eresia .ml-footer__stores a.is-self { color: var(--bronze-light); }

/* ─────────────────────────────────────────
 * tier2 ニュース カード型化（2026-05-12）
 *   従来の縦リスト (date 160px | title 1fr) を、
 *   カードグリッドに切替。店舗バッジは max-width + ellipsis でカード内に収める。
 * ───────────────────────────────────────── */
.meltylab--tier2.brand-eresia #news .news {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 24px;
}
.meltylab--tier2.brand-eresia #news .news__item {
    display: flex;
    flex-direction: column;
    gap: 10px;
    grid-template-columns: none;
    padding: 20px 22px;
    background: rgba(14, 22, 38, 0.42);
    border: 1px solid rgba(201, 169, 88, 0.25);
    border-radius: 4px;
    align-items: stretch;
    transition: transform .3s ease, background .3s, border-color .3s;
}
.meltylab--tier2.brand-eresia #news .news__item:hover {
    padding: 20px 22px;
    background: rgba(14, 22, 38, 0.62);
    border-color: var(--bronze-glow);
    transform: translateY(-2px);
}
.meltylab--tier2.brand-eresia #news .news__date {
    font-size: 12px;
    margin: 0;
}
.meltylab--tier2.brand-eresia #news .news__store-badge {
    align-self: flex-start;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin: 0;
    font-size: 11px;
    padding: 2px 10px;
}
.meltylab--tier2.brand-eresia #news .news__title {
    font-size: 15px;
    line-height: 1.65;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
@media (max-width: 640px) {
    .meltylab--tier2.brand-eresia #news .news {
        grid-template-columns: 1fr;
    }
    .meltylab--tier2.brand-eresia #news .news__item { padding: 16px 18px; }
}

/* tier2 ニュースカード — アイキャッチ画像（2026-05-12） */
.meltylab--tier2.brand-eresia #news .news__thumb {
    width: calc(100% + 44px);
    aspect-ratio: 16 / 9;
    margin: -20px -22px 6px;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.35);
    border-bottom: 1px solid rgba(201, 169, 88, 0.25);
}
.meltylab--tier2.brand-eresia #news .news__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .6s ease;
}
.meltylab--tier2.brand-eresia #news .news__item:hover .news__thumb img {
    transform: scale(1.05);
}
.meltylab--tier2.brand-eresia #news .news__thumb--fallback {
    background: radial-gradient(circle at center, rgba(201, 169, 88, 0.18), rgba(14, 22, 38, 0.6) 75%);
    display: flex;
    align-items: center;
    justify-content: center;
}
.meltylab--tier2.brand-eresia #news .news__thumb--fallback img {
    width: 70%;
    height: auto;
    max-height: 70%;
    object-fit: contain;
    opacity: 0.78;
}
.meltylab--tier2.brand-eresia #news .news__item:hover .news__thumb--fallback img {
    transform: none;
    opacity: 0.92;
}

/* ─────────────────────────────────────────
 * お知らせ アーカイブ /news/ — レイアウト調整（2026-05-12）
 *   tier3: PC 4列 / SP 2列 グリッド
 *   tier2: 集約データ表示・カード PC 3〜4列
 *   .ml-news-card__store: 集約時の店舗ラベル
 * ───────────────────────────────────────── */
.brand-eresia .ml-news-archive .section__inner {
    max-width: 1280px;
}

/* tier3：PC 4列 / SP 2列（TOPの #news セクションも /news/ アーカイブも共通） */
.meltylab--tier3.brand-eresia .ml-news-cards {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    max-width: none;
    gap: 20px;
}
@media (max-width: 768px) {
    .meltylab--tier3.brand-eresia .ml-news-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }
    .meltylab--tier3.brand-eresia .ml-news-card__body { padding: 12px 14px 16px; }
    .meltylab--tier3.brand-eresia .ml-news-card__date { font-size: 12px; }
    .meltylab--tier3.brand-eresia .ml-news-card__title { font-size: 13px; }
}

/* tier2 集約：auto-fill */
.brand-eresia .ml-news-archive--tier2 .ml-news-cards {
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    max-width: none;
    gap: 22px;
}

/* 集約カード上の店舗ラベル */
.brand-eresia .ml-news-card__store {
    display: inline-block;
    align-self: flex-start;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-family: var(--display-en);
    font-style: italic;
    font-size: 11px;
    letter-spacing: 0.18em;
    color: var(--bronze-glow);
    padding: 2px 10px;
    border: 1px solid rgba(201, 169, 88, 0.3);
    border-radius: 999px;
    background: rgba(201, 169, 88, 0.1);
    margin-bottom: 6px;
}

/* ── SNS 公式アイコン（inline SVG・2026-06-03） ──
   ◉♪𝕏 の文字グリフを simple-icons 由来の公式ロゴ SVG に置換。
   色は SVG 側の fill="currentColor" で親 <a> の color を継承。
   円形ボタン内はボタン幅に対する % で、応募ボタンは 1em で表示。 */
.nav__sns a .ml-sns-svg,
.ml-mobile-drawer__sns a .ml-sns-svg,
.ml-cast-card__sns a .ml-sns-svg,
.ml-cast-detail__sns a .ml-sns-svg,
.ml-footer__sns a .ml-sns-svg { width: 54%; height: 54%; display: block; }
.ml-recruit__btn-icon .ml-sns-svg { width: 1em; height: 1em; display: inline-block; vertical-align: -0.14em; }
