/* style.css の最先頭に置く */
@import url('https://fonts.googleapis.com/css2?family=Kiwi+Maru:wght@400;500&family=Pacifico&family=M+PLUS+Rounded+1c:wght@400;500;700;800&display=swap');

/* =========================================================
   Amaryllis style.css 完成版（2026-10-21）
   このファイルで style.css を丸ごと置き換える
   ---------------------------------------------------------
   01 共通（変数・見出し・ボタン・キラキラ帯）
   02 CMSパーツ着せ替え（ヘッダー・SPメニュー・MV・Instagram・フッター・SP固定ボタン）
   03 PCヘッダー → 左固定サイドバー
   04 自作パーツ（am-side / am-mv ほか。現在のTOPでは未使用の部品も含む）
   05 TOP各セクション（コンセプト・システム・メイド・Lilithバナー・店舗案内 ほか）
   06 メイドさんページ（am-pm）
   07 システムページ準備中（am-soon）
   08 メイドBar Lilith（am-li）
   09 下層ページ CMSブロック（ヒーロー・テキスト×画像・店舗概要・地図）
   10 ヘッダーのロゴ・H1 ／ フッターのグロナビ
   ※ SP固定「アクセス」ボタンは amaryllis_floating-access.js（全ページ共通JS）で追加
   ========================================================= */


/* =========================================================
   01 共通（変数・見出し・ボタン・キラキラ帯）
   ========================================================= */
:root{
  --am-side-w: 0px;         /* 自作サイドバーがある時だけ 300px（下の body:has で切替） */
  --am-pink: #e2337a;        /* ポイント：ボタン濃いピンク */
  --am-pink-dk: #c81e66;
  --am-pink-md: #f06aa6;
  --am-pink-lt: #f9b3cf;
  --am-bg: #fff2f7;          /* 背景：薄いパステルピンク */
  --am-panel: #ffe3ee;       /* 角丸パネル */
  --am-line: #f7c4d9;
  --am-text: #5b3a4a;
  --am-white: #fff;
  --am-mint: #9fe0cf;
  --am-f-head: 'Kiwi Maru', 'M PLUS Rounded 1c', sans-serif;
  --am-f-logo: 'Pacifico', cursive;
  --am-f-body: 'M PLUS Rounded 1c', 'Hiragino Maru Gothic ProN', sans-serif;
  --am-content: min(1050px, calc(100% - 64px));
  /* タイポ・余白・重なり順のスケール（baseline-ui） */
  --am-fs-xs:12px; --am-fs-sm:14px; --am-fs-base:16px; --am-fs-lg:18px; --am-fs-xl:20px; --am-fs-2xl:24px;
  --am-sec-y:120px;        /* セクション上の余白 */
  --am-head-gap:40px;      /* 見出し → 中身 */
  --am-btn-gap:56px;       /* 中身 → ボタン */
  --am-panel-pad:56px;
  --am-dur:.2s;            /* 操作へのフィードバックは200ms以内 */
  --am-z-float:100; --am-z-side:200; --am-z-bar:250; --am-z-overlay:300; --am-z-drawer:400;
  --am-heart:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 21'%3E%3Cpath d='M12 21S0 13.6 0 6.4A6.2 6.2 0 0 1 12 3.6 6.2 6.2 0 0 1 24 6.4C24 13.6 12 21 12 21Z'/%3E%3C/svg%3E");
}

/* ---- 支給素材（CMSの画像ライブラリにアップ後、URLをここで差し替え） ----
   --am-img-gingham  … ギンガムチェック（191pxの継ぎ目なしタイル。repeat で敷く）
   --am-img-heartbg  … 同心円ハートの背景（ファーストビュー）
   --am-img-soft1/2  … ふんわりハート（背景透過済み）ピンク／ピーチ */
:root{
  --am-img-gingham:url('/image/assets/asset_20261019182655_6ad5e25f07a46.webp');
  --am-img-heartbg:url('/image/assets/asset_20261019182654_6ad5e25ed5ec5.webp');
  --am-img-soft1:url('/image/assets/asset_20261019182655_6ad5e25f21adb.webp');
  --am-img-soft2:url('/image/assets/asset_20261019182655_6ad5e25f13c55.webp');
  /* ギンガムの帯（上下にピンクの細線） */
  --am-band:linear-gradient(#f06aa6,#f06aa6) top/100% 2px no-repeat, linear-gradient(#f06aa6,#f06aa6) bottom/100% 2px no-repeat, var(--am-img-gingham) 0 0/64px 64px repeat;
  /* 白を重ねて薄くしたギンガム（パネルの地） */
  --am-gingham-light:linear-gradient(rgba(255,255,255,.72),rgba(255,255,255,.72)), var(--am-img-gingham) 0 0/96px 96px repeat;
}

@media (min-width:1024px){ body:has(.am-side){ --am-side-w:300px; } }

/* ---- CMS の fade-up（ブロック単位の出現）と自作の出現演出が二重にならないように ---- */
html body .custom-html-wrapper:has(.am-shift){ opacity:1 !important; transform:none !important; transition:none !important; }

/* ---- ベース（am- セクションの中だけに効かせる） ---- */
[class^="am-"], [class^="am-"] *{ box-sizing:border-box; }
.am-shift{
  position:relative;
  padding-left:var(--am-side-w);
  font-family:var(--am-f-body);
  color:var(--am-text);
  background:var(--am-bg);
  line-height:1.8;
  letter-spacing:.04em;
  overflow:hidden;
}
.am-shift img{ max-width:100%; display:block; }
.am-shift a{ color:inherit; text-decoration:none; }
.am-inner{ width:var(--am-content); margin-inline:auto; }
.am-sec{ padding-block:var(--am-sec-y) 0; }

/* ---- 大見出し：手書き感のある太字 × グラデーション ---- */
.am-ttl{ margin:0 0 var(--am-head-gap); line-height:1.05; text-wrap:balance; }
.am-ttl__en{
  display:inline-block;
  font-family:var(--am-f-head);
  font-weight:400;
  font-size:clamp(40px, 5.6vw, 72px);
  letter-spacing:0;
  background:linear-gradient(90deg,#d81f72 0%,#f06aa6 55%,#f9b6d1 100%);
  -webkit-background-clip:text; background-clip:text;
  color:transparent;
  filter:drop-shadow(0 3px 0 rgba(255,255,255,.9));
}
.am-ttl__ja{
  display:flex; align-items:center; gap:.5em;
  margin-top:12px;
  font-family:var(--am-f-head);
  font-size:var(--am-fs-lg);
  color:var(--am-pink);
}
.am-ttl__ja::before{
  content:""; width:18px; height:16px; flex:none;
  background:currentColor;
  -webkit-mask:var(--am-heart) center/contain no-repeat; mask:var(--am-heart) center/contain no-repeat;
}
.am-sub{
  margin:0 0 14px;
  font-family:var(--am-f-head);
  font-size:clamp(24px,2.6vw,34px);
  color:#4a2a3a;
  letter-spacing:.06em;
}

/* ---- キャッチ・本文・改行ユーティリティ ---- */
.am-sp{ display:none; }
.am-pc{ display:inline; }
.am-catch{
  margin:0 0 24px;
  font-family:var(--am-f-head);
  font-size:clamp(22px,2.4vw,30px);
  line-height:1.5;
  text-wrap:balance; word-break:auto-phrase;
  color:var(--am-pink);
}
.am-text{ margin:0; font-size:var(--am-fs-base); line-height:2; text-wrap:pretty; }
.am-text + .am-text{ margin-top:1em; }

/* ---- MORE♥ ボタン（濃いピンクのグラデーション・ピル） ---- */
.am-more-wrap{ display:flex; justify-content:center; margin-top:var(--am-btn-gap); padding-bottom:28px; } /* ボタンの影がセクション端(overflow:hidden)で切れないための余白 */
.am-more{
  position:relative;
  display:inline-flex; align-items:center; justify-content:center; gap:.2em;
  width:min(400px, 100%); height:68px; padding:0 20px;
  border-radius:999px;
  font-family:var(--am-f-head);
  font-size:var(--am-fs-2xl); color:#fff !important;
  letter-spacing:.06em;
  background:linear-gradient(90deg,var(--am-pink) 0%,#ee5f9e 55%,#f7a8c8 100%);
  box-shadow:0 6px 0 var(--am-pink-dk), 0 14px 24px rgba(226,51,122,.25);
  transition:transform var(--am-dur) ease-out, box-shadow var(--am-dur) ease-out;
}
.am-more::after{
  content:""; width:28px; height:25px;
  background:#fff;
  -webkit-mask:var(--am-heart) center/contain no-repeat; mask:var(--am-heart) center/contain no-repeat;
}
.am-more:hover{ transform:translateY(3px); box-shadow:0 3px 0 var(--am-pink-dk), 0 8px 16px rgba(226,51,122,.25); }

/* ---- キラキラ帯（グリッター） ---- */
.am-glitter{
  height:14px;
  background:var(--am-band);
}

/* ---- スクロールで出現 ---- */
.am-rv{ opacity:0; transform:translateY(20px); transition:opacity .6s ease-out, transform .6s ease-out; }
.am-rv.is-in{ opacity:1; transform:none; }

/* ---- 仮素材 ---- */
.is-dummy{ outline:2px dashed rgba(226,51,122,.35); outline-offset:-2px; }

/* ---- 手書き見出し（Kiwi Maru）は 500 を使用。旧フォント用のフチ（text-stroke）は無効化 ---- */
.am-catch, .am-ttl__ja, .am-sub, .am-more, .am-side__nav b, .am-side__tel, .am-side__cta,
.am-sy__badge span, .am-bn__catch, .am-bn__btn, .am-ft__name, .am-ft__nav dt,
.am-mv__badge span, .am-mv__welcome, .am-cp__fig figcaption, .am-fl__bubble{
  -webkit-text-stroke:0;
}
.am-shift [class], .am-fl [class]{ font-synthesis:none; }
.am-ttl__en, .am-ttl__ja, .am-catch, .am-sub, .am-more, .am-sy__badge span, .am-bn__en, .am-bn__catch, .am-bn__btn,
.am-mv__copy span, .am-mv__badge span, .am-mv__welcome, .am-cp__fig figcaption, .am-fl__bubble, .am-mq__track span{ font-weight:500 !important; }

/* ---- キーボード操作時のフォーカス表示 ---- */
.am-shift a:focus-visible, .am-shift button:focus-visible, .am-fl:focus-visible{ outline:3px solid var(--am-pink); outline-offset:3px; border-radius:6px; }
.am-side a:focus-visible, .am-spbar button:focus-visible, .am-ft a:focus-visible{ outline:3px solid #fff; outline-offset:3px; border-radius:6px; }
/* 数字は桁をそろえる */
.am-side__tel, .am-side__hours, .am-sh__list dd, .am-ft__info{ font-variant-numeric:tabular-nums; }

/* ---- ループアニメは画面外で一時停止（motion.js が .is-offscreen を付け外し） ---- */
[data-am-loop].is-offscreen, [data-am-loop].is-offscreen *{ animation-play-state:paused !important; }

/* ---- 飾りハート（SVG描画 → ラメのハート画像に差し替え） ---- */
.am-mv__h, .am-bn__h, .am-sn__bg{ background:var(--am-img-soft1) center/contain no-repeat; filter:none !important; }
.am-bn__h{ opacity:1 !important; }
.am-mv__h use, .am-bn__h use, .am-sn__bg use{ display:none; }

@media (max-width:1023px){
  :root{ --am-side-w:0px; --am-content:calc(100% - 40px); --am-sec-y:80px; --am-head-gap:28px; --am-btn-gap:40px; --am-panel-pad:28px; }
  .am-more{ height:60px; font-size:var(--am-fs-xl); }
}
@media (max-width:767px){
  .am-sp{ display:inline; }
  .am-pc{ display:none; }
  .am-text{ font-size:15px; line-height:1.95; }
  .am-text br{ display:none; }
}
@media (prefers-reduced-motion:reduce){
  .am-rv{ opacity:1; transform:none; transition:none; }
  .am-shift *, .am-side *, .am-fl *{ animation:none !important; transition:none !important; }
}


/* =========================================================
   02 CMS（FluxCore）標準パーツをアマリリス仕様（ピンク×手書き）に着せ替え
   読み込み順 style.css → blocks.css → custom.css のため html body 接頭辞＋!important
   ========================================================= */

/* 自作サイドバー（.am-side）があるページだけ CMS ヘッダー／フッター／hero を隠す */
html body:has(.am-side) .global-header,
html body:has(.am-side) #mobileNav,
html body:has(.am-side) .global-footer,
html body:has(.am-side) .footer-copy-text,
html body:has(.am-side) .hero-wrapper{ display:none !important; }
html body:has(.am-side){ background:#fff2f7 !important; margin:0; }
html body:has(.am-side) .custom-html-wrapper{ max-width:none !important; padding:0 !important; margin:0 !important; }

/* ---- サイト全体のトークンをピンク系に上書き（CMS部品・下層ページにも効く） ---- */
html body{
  --bg-base:#fff2f7; --bg-paper:#ffe3ee; --bg-warm:#fff2f7;
  --ink:#5b3a4a; --text-main:#5b3a4a; --text-sub:#c81e66; --text-muted:#8a6a78;
  --text-on-dark:#fff; --text-on-dark-muted:#ffe3ee;
  --gold:#e2337a; --gold-light:#f06aa6; --vermilion:#e2337a;
  --fc-btn-bg:#e2337a; --fc-btn-fg:#fff; --fc-btn-bg-hover:#c81e66; --fc-btn-fg-hover:#fff;
  --fc-btn-border:#e2337a; --fc-btn-outline-fg:#e2337a;
  --line:rgba(226,51,122,.22); --line-dark:rgba(226,51,122,.14);
  --shadow-base:0 12px 30px rgba(200,30,102,.15);
  --font-serif:'Kiwi Maru','M PLUS Rounded 1c',sans-serif;
  --font-sans:'M PLUS Rounded 1c','Hiragino Maru Gothic ProN',sans-serif;
  --font-en:'Kiwi Maru','M PLUS Rounded 1c',sans-serif;
  margin:0 !important;
  overflow-x:clip;
  background:#fff2f7 !important;
  color:#5b3a4a;
  font-family:'M PLUS Rounded 1c','Hiragino Maru Gothic ProN',sans-serif;
}

/* ===== ヘッダー ===== */
html body .global-header{
  box-sizing:border-box !important; /* PCは300px+paddingで本文に被り、SPはハンバーガーが切れていたのを防ぐ */
  background:linear-gradient(90deg,#e2337a 0%,#ef6aa5 60%,#f7a5c8 100%) !important;
  -webkit-backdrop-filter:none !important; backdrop-filter:none !important;
  border-bottom:0 !important;
  box-shadow:0 4px 16px rgba(200,30,102,.22);
}
html body .global-header::after{ /* 下端のキラキラ帯 */
  content:""; position:absolute; left:0; right:0; bottom:-6px; height:6px; pointer-events:none;
  background:var(--am-band);
}
html body .header-logo{
  font-family:'Kiwi Maru',sans-serif !important; font-weight:500 !important;
  font-size:24px !important; letter-spacing:.04em !important; color:#fff !important; text-shadow:2px 2px 0 #c81e66;
}
html body .desktop-nav a{
  position:relative;
  font-family:'Kiwi Maru',sans-serif !important; font-weight:500 !important;
  font-size:15px !important; letter-spacing:.04em !important; color:#fff !important;
  padding:6px 2px !important;
}
html body .desktop-nav a::after{ /* ホバー・現在地はハートで表示 */
  content:""; position:absolute; left:50%; bottom:-10px; width:12px; height:11px; margin-left:-6px;
  background:#fff; -webkit-mask:var(--am-heart) center/contain no-repeat; mask:var(--am-heart) center/contain no-repeat;
  opacity:0; transform:translateY(4px); transition:opacity .2s ease-out, transform .2s ease-out;
}
html body .desktop-nav a:hover::after, html body .desktop-nav a.active::after{ opacity:1; transform:none; }
html body .desktop-nav a.active{ border-bottom:0 !important; }
html body .btn-header-tel{
  display:inline-flex !important; align-items:center; gap:6px;
  height:44px; padding:0 22px !important; border-radius:999px !important;
  background:#fff !important; color:#e2337a !important; border:0 !important;
  font-family:'Kiwi Maru',sans-serif !important; font-weight:500 !important; font-size:16px !important; letter-spacing:.02em !important;
  font-variant-numeric:tabular-nums; box-shadow:0 4px 0 #c81e66;
  transition:transform .2s ease-out, box-shadow .2s ease-out;
}
html body .btn-header-tel:hover{ transform:translateY(2px); box-shadow:0 2px 0 #c81e66; }
html body .btn-header-tel i{ color:#e2337a !important; }
html body .menu-trigger{ color:#fff !important; }

/* ===== SPメニュー（全画面） ===== */
html body .mobile-nav-overlay{
  background:
    radial-gradient(circle, rgba(255,255,255,.35) 1.4px, transparent 2px) 0 0/22px 22px,
    linear-gradient(160deg,#e2337a 0%,#f06aa6 60%,#f7a5c8 100%) !important;
}
html body .mobile-nav-overlay a{
  font-family:'Kiwi Maru',sans-serif !important; font-weight:500 !important; font-size:24px !important; color:#fff !important;
  letter-spacing:.04em !important; text-shadow:2px 2px 0 #c81e66;
}
html body .mobile-nav-overlay .menu-trigger{ color:#fff !important; }

/* サイドバー・SPメニュー・フッター・追従ボタンのリンク下線を消す */
html body .global-header a,
html body .mobile-nav-overlay a,
html body .global-footer a,
html body .footer-copy-text a,
html body .fc-floating-actions a{ text-decoration:none !important; }

/* ===== ファーストビュー（CMSのスライダー）を「白フチ＋ピンク線の角丸フレーム」に ===== */
html body .hero-wrapper{
  box-sizing:border-box !important; max-width:100% !important; /* padding分のはみ出し防止 */
  height:auto !important; min-height:0 !important;
  padding:calc(80px + 36px) clamp(16px,4vw,60px) 44px !important;
  background:var(--am-img-heartbg) center/cover no-repeat, #e88aab !important;
}
html body .hero-wrapper::after{ /* 下端のキラキラ帯 */
  content:""; position:absolute; left:0; right:0; bottom:0; height:14px; z-index:3;
  background:var(--am-band);
}
html body .hero-wrapper::before{ /* 右上：ハート大小／左下：ラメのハート（CMS側の ::before 指定を打ち消すため位置は全て明示） */
  content:""; position:absolute; top:0 !important; left:0 !important; right:auto !important; bottom:auto !important;
  width:100% !important; height:100% !important; display:block !important; opacity:1 !important; z-index:4; pointer-events:none;
  background:
    var(--am-img-soft1) right clamp(4px,1.5vw,24px) top 6px/clamp(90px,11vw,170px) auto no-repeat,
    var(--am-img-soft2) right clamp(70px,9vw,150px) top clamp(70px,8vw,130px)/clamp(50px,5vw,80px) auto no-repeat,
    var(--am-img-soft2) left clamp(4px,1.5vw,24px) bottom 24px/clamp(80px,9vw,140px) auto no-repeat;
}
html body .hero-slider{
  position:relative !important; inset:auto !important;
  width:min(1380px,100%); height:auto !important; aspect-ratio:16/8; margin:0 auto;
  border-radius:60px !important; overflow:hidden !important;
  border:12px solid #fff !important;
  background:#fff !important;
  box-shadow:0 0 0 4px #e2337a, 0 0 0 10px #fff, 0 18px 40px rgba(150,30,80,.3);
}
html body .hero-slide, html body .hero-slide-img{ height:100% !important; }
/* 写真の下側をピンクに溶かしてキャッチコピーを読みやすく */
html body .hero-slider::after{
  content:""; position:absolute; inset:auto 0 0 0; height:50%; z-index:2; pointer-events:none;
  background:linear-gradient(to top, rgba(226,51,122,.45), rgba(226,51,122,0));
}

/* ---- MVキャッチコピー（CMSテンプレの明朝・白文字 → ステッカー風） ---- */
/* CMSの「中央寄せ」位置指定を解除して、フレーム下寄りに配置 */
html body .hero-slide-caption{
  position:absolute !important;
  inset:auto 0 13% 0 !important;
  top:auto !important; left:0 !important; right:0 !important;
  transform:none !important;
  padding:0 5% !important;
  text-align:center !important;
  z-index:3 !important;
  background:none !important;
  pointer-events:none;
}
/* インラインの font-size / color を上書き（白文字＋ピンクのフチ＋濃ピンクの影） */
html body .hero-slider .hero-slide-catch{
  margin:0 !important;
  font-family:var(--am-f-head) !important;
  font-weight:500 !important;
  font-size:clamp(30px, 3.9vw, 60px) !important;
  line-height:1.2 !important;
  letter-spacing:.04em !important;
  word-break:auto-phrase;
  color:#fff !important;
  -webkit-text-stroke:10px #e2337a;
  paint-order:stroke fill;
  text-shadow:5px 6px 0 #c81e66 !important;
  transform:rotate(-3deg);
}
/* 1行目「おかえりなさい♡」は小さめ */
html body .hero-slider .hero-slide-catch::first-line{ font-size:.62em; }

/* ===== Instagram（CMSの埋め込みブロック）を左上が大きい角丸のピンクパネルに ===== */
html body .fc-instagram-embed-section{
  position:relative;
  background:var(--am-gingham-light) !important; color:#5b3a4a !important;
  border-radius:200px 0 0 0;
  margin-top:120px; padding:120px 0 104px !important;
}
html body .fc-instagram-embed-heading{ text-align:left !important; width:min(1050px,calc(100% - 64px)); margin:0 auto 40px !important; }
html body .fc-instagram-embed-label{ display:none !important; }
html body .fc-instagram-embed-heading h2{
  display:inline-block; margin:0 !important;
  font-family:'Kiwi Maru',sans-serif !important; font-weight:500 !important;
  font-size:clamp(40px,5.6vw,72px) !important; line-height:1.05 !important; letter-spacing:0 !important;
  background:linear-gradient(90deg,#d81f72 0%,#f06aa6 55%,#f9b6d1 100%); -webkit-background-clip:text; background-clip:text; color:transparent !important;
}
html body .fc-instagram-embed-heading p{
  display:flex; align-items:center; gap:.5em; margin:12px 0 0 !important;
  font-family:'Kiwi Maru',sans-serif !important; font-weight:500 !important; font-size:18px !important; color:#e2337a !important;
}
html body .fc-instagram-embed-heading p::before{
  content:""; width:18px; height:16px; flex:none; background:currentColor;
  -webkit-mask:var(--am-heart) center/contain no-repeat; mask:var(--am-heart) center/contain no-repeat;
}
html body .fc-instagram-embed-card{
  width:min(1050px,calc(100% - 64px)); margin-inline:auto;
  background:#fff !important; border-radius:24px !important; overflow:hidden;
  box-shadow:0 0 0 4px #fff, 0 10px 24px rgba(200,30,102,.12);
}
html body .fc-instagram-embed-action{ margin-top:56px !important; padding-bottom:28px; text-align:center; }
html body .fc-instagram-embed-action a{
  display:inline-flex !important; align-items:center; justify-content:center; gap:.3em;
  width:min(400px,100%); height:68px; padding:0 20px !important;
  border:0 !important; border-radius:999px !important;
  font-family:'Kiwi Maru',sans-serif !important; font-weight:500 !important; font-size:24px !important; letter-spacing:.04em !important;
  color:#fff !important;
  background:linear-gradient(90deg,#e2337a 0%,#ee5f9e 55%,#f7a8c8 100%) !important;
  box-shadow:0 6px 0 #c81e66, 0 14px 24px rgba(226,51,122,.25);
  transition:transform .2s ease-out, box-shadow .2s ease-out;
}
html body .fc-instagram-embed-action a::after{
  content:""; width:26px; height:23px; background:#fff;
  -webkit-mask:var(--am-heart) center/contain no-repeat; mask:var(--am-heart) center/contain no-repeat;
}
html body .fc-instagram-embed-action a:hover{ transform:translateY(3px); box-shadow:0 3px 0 #c81e66, 0 8px 16px rgba(226,51,122,.25); }

/* ===== フッター ===== */
html body .global-footer{
  position:relative;
  box-sizing:border-box !important; max-width:100% !important;
  background:var(--am-img-gingham) 0 0/96px 96px, linear-gradient(110deg,#e2337a 0%,#ec5b9a 60%,#f48ab8 100%) !important;
  background-blend-mode:multiply;
  color:#fff !important;
  padding:80px clamp(20px,5vw,68px) 56px !important;
}
html body .global-footer::before{ /* 上端のキラキラ帯 */
  content:""; position:absolute; left:0; right:0; top:0; height:14px;
  background:var(--am-band);
}
/* グロナビ横の店名（.footer-nav-brand）と「メイドカフェ」ラベルは非表示 → 店名は1つだけ */
html body .global-footer .footer-nav-brand,
html body .global-footer .footer-genre{ display:none !important; }
html body .global-footer .info-grid{ gap:56px !important; align-items:start; }
html body .global-footer .footer-brand h2{
  font-family:'Kiwi Maru',sans-serif !important; font-weight:400 !important;
  font-size:30px !important; letter-spacing:.04em !important; color:#fff !important; text-shadow:3px 3px 0 #c81e66;
}
html body .global-footer .footer-table th{
  color:#fff !important; font-weight:800; white-space:nowrap;
  border-bottom:1.5px dotted rgba(255,255,255,.7) !important;
}
html body .global-footer .footer-table td{
  color:#fff !important; font-weight:500; font-variant-numeric:tabular-nums;
  border-bottom:1.5px dotted rgba(255,255,255,.7) !important;
}
html body .global-footer .footer-table a, html body .global-footer .footer-tel, html body .global-footer .footer-tel strong{ color:#fff !important; }
html body .global-footer .footer-tel strong{ font-family:'Kiwi Maru',sans-serif; font-weight:500; font-size:24px; letter-spacing:.02em; text-shadow:2px 2px 0 #c81e66; }
html body .global-footer .footer-payments-box{ background:transparent !important; border:0 !important; }
html body .global-footer .payment-title{ color:#fff !important; font-weight:700; }
html body .global-footer .payment-icons{
  display:flex !important; flex-wrap:wrap; align-items:center; gap:8px !important;
}
html body .global-footer .pay-tag{
  background:#fff !important; color:#e2337a !important; border:0 !important; border-radius:999px !important;
  padding:4px 14px !important; font-weight:700;
}
html body .global-footer .pay-tag i{ color:#e2337a !important; }
/* QRコードのアイコンを、他の決済タグと同じ白いピルにして文字を付ける */
html body .global-footer .payment-icons > i.fa-qrcode{
  display:inline-flex !important; align-items:center; gap:.35em;
  padding:4px 14px !important; border-radius:999px;
  background:#fff !important; color:#e2337a !important;
  font-size:13px !important; line-height:1.6;
}
html body .global-footer .payment-icons > i.fa-qrcode::after{
  content:"QRコード決済";
  font-family:var(--am-f-body); font-weight:700; font-style:normal;
}
html body .global-footer .gmap-wrap{ border-radius:26px; overflow:hidden; box-shadow:0 0 0 5px #fff; }
html body .global-footer .gmap-wrap iframe{ filter:none !important; display:block; border-radius:0 !important; }
html body .footer-copy-text{
  background:#c81e66 !important; color:#fff !important;
  font-size:12px !important; letter-spacing:.06em !important;
}

/* ===== 追従ボタン（電話・アクセス・Instagram） ===== */
/* 「アクセス」ボタンは amaryllis_floating-access.js で追加 */
html body .fc-floating-actions{ background:none !important; gap:8px; }
html body .fc-floating-actions a{ color:#fff !important; }
html body .fc-floating-action{
  min-height:44px;
  background:linear-gradient(90deg,#e2337a,#f06aa6) !important; color:#fff !important;
  border:2px solid #fff !important; border-radius:999px !important;
  box-shadow:0 4px 12px rgba(200,30,102,.3);
  font-family:'M PLUS Rounded 1c',sans-serif !important; font-weight:800;
  transition:transform .2s ease-out;
}
html body .fc-floating-action:hover{ transform:translateY(-2px); }
html body .fc-floating-action i,
html body .fc-floating-access i{ color:#fff !important; }

@media (max-width:1023px){
  html body .hero-wrapper{ padding:calc(60px + 28px) 16px 36px !important; }
  html body .hero-slider{ aspect-ratio:4/5; border-radius:36px !important; border-width:8px !important; box-shadow:0 0 0 3px #e2337a, 0 0 0 7px #fff, 0 12px 26px rgba(150,30,80,.25); }
  /* キャッチコピー：左下の飾りハートと重ならない高さに */
  html body .hero-slide-caption{ bottom:20% !important; padding:0 16px !important; }
  html body .hero-slider .hero-slide-catch{
    font-size:clamp(22px, 6.4vw, 34px) !important;
    -webkit-text-stroke:7px #e2337a;
    text-shadow:3px 4px 0 #c81e66 !important;
  }
  html body .header-logo{ font-size:19px !important; }
  html body .fc-instagram-embed-section{ border-radius:90px 0 0 0; margin-top:80px; padding:80px 0 72px !important; }
  html body .fc-instagram-embed-heading, html body .fc-instagram-embed-card{ width:calc(100% - 40px); }
  html body .fc-instagram-embed-action{ margin-top:40px !important; }
  html body .fc-instagram-embed-action a{ height:60px; font-size:20px !important; width:calc(100% - 40px); }
  html body .global-footer .info-grid{ gap:36px !important; }
  html body .global-footer .footer-brand h2{ font-size:24px !important; word-break:keep-all; overflow-wrap:anywhere; }
}


/* =========================================================
   03 ヘッダーを「左固定のサイドバー」に（PC 1024px以上）
   CMSのヘッダーHTMLはそのまま、CSSだけで縦組みに組み替え
   ※ 英字ラベル・キャッチ・営業時間は CSS の content で表示（変更時はここを編集）
   ========================================================= */
@media (min-width:1024px){
  html body{ padding-left:300px !important; }
  html body .global-header{
    position:fixed !important; inset:0 auto 0 0 !important; z-index:1000;
    width:300px !important; height:auto !important;
    display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:flex-start !important;
    gap:0 !important; padding:16px 28px 24px !important;
    background:var(--am-img-gingham) 0 0/96px 96px, linear-gradient(180deg,#e2337a 0%,#ec5b9a 55%,#f48ab8 100%) !important;
    background-blend-mode:multiply;
    border-bottom-right-radius:56px;
    box-shadow:6px 0 24px rgba(200,30,102,.18) !important;
    overflow-y:auto; overscroll-behavior:contain; scrollbar-width:none;
  }
  html body .global-header::-webkit-scrollbar{ display:none; }
  html body .global-header::after{ display:none; }

  /* ロゴ：白いネオンのハート枠の中に店名 */
  html body .header-logo{
    position:relative; flex:none;
    display:grid !important; place-items:center; width:210px; height:176px; margin:0 !important;
    padding:0 22px 28px !important; text-align:center; white-space:normal !important; word-break:keep-all !important;
    font-size:21px !important; line-height:1.35 !important; letter-spacing:.04em !important;
    text-shadow:0 0 8px rgba(255,255,255,.8), 2px 2px 0 #c81e66 !important;
  }
  html body .header-logo::before{
    content:""; position:absolute; inset:0; z-index:-1;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 210'%3E%3Cpath d='M120 196S14 130 14 64C14 30 40 10 70 10c22 0 40 12 50 30 10-18 28-30 50-30 30 0 56 20 56 54 0 66-106 132-106 132Z' fill='none' stroke='%23fff' stroke-width='7' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
    filter:drop-shadow(0 0 6px rgba(255,255,255,.9)) drop-shadow(0 0 14px rgba(255,182,214,.9));
  }

  /* キャッチ＋縦並びメニュー（リボン＋英字大＋和文小） */
  html body .desktop-nav{
    display:flex !important; flex-direction:column !important; align-items:stretch !important;
    width:100%; gap:2px !important; margin:0 !important; padding:0 0 0 14px;
  }
  html body .desktop-nav::before{
    content:"かわいいメイドがお出迎え♡\A福井・順化のメイドカフェ"; white-space:pre; display:block;
    margin:2px 0 14px -14px; text-align:center; color:#fff;
    font-family:'M PLUS Rounded 1c',sans-serif; font-weight:700; font-size:14px; line-height:1.7;
  }
  html body .desktop-nav a{
    display:grid !important; grid-template-columns:30px 1fr; column-gap:12px; align-items:center; align-content:center;
    min-height:48px; padding:2px 0 !important;
    font-family:'M PLUS Rounded 1c',sans-serif !important; font-weight:700; font-size:12px !important; line-height:1.3 !important;
    color:#fff !important; text-align:left;
  }
  html body .desktop-nav a::before{ /* リボン */
    content:""; grid-column:1; grid-row:1 / span 2; width:30px; height:22px; background:#fff;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 28'%3E%3Cpath d='M20 12C15 4 4 0 2 6s4 15 18 8ZM20 12c5-8 16-12 18-6s-4 15-18 8ZM18 14l-6 13 5-2 3 3 1-13Zm4 0l6 13-5-2-3 3-1-13Z'/%3E%3Ccircle cx='20' cy='13' r='4'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 28'%3E%3Cpath d='M20 12C15 4 4 0 2 6s4 15 18 8ZM20 12c5-8 16-12 18-6s-4 15-18 8ZM18 14l-6 13 5-2 3 3 1-13Zm4 0l6 13-5-2-3 3-1-13Z'/%3E%3Ccircle cx='20' cy='13' r='4'/%3E%3C/svg%3E") center/contain no-repeat;
    filter:drop-shadow(1px 2px 0 rgba(200,30,102,.45)); transition:transform .2s ease-out;
  }
  html body .desktop-nav a::after{ /* 英字ラベル（ヘッダー上部用のハートを上書き） */
    position:static !important; grid-column:2; grid-row:1;
    width:auto !important; height:auto !important; margin:0 !important;
    background:none !important; -webkit-mask:none !important; mask:none !important;
    opacity:1 !important; transform:none !important;
    font-family:'Kiwi Maru',sans-serif; font-weight:500; font-size:20px; line-height:1.15; letter-spacing:.06em;
  }
  html body .desktop-nav a[href*="index"]::after, html body .desktop-nav a[href$="/"]::after{ content:"HOME"; }
  html body .desktop-nav a[href*="concept"]::after{ content:"CONCEPT"; }
  html body .desktop-nav a[href*="menu"]::after{ content:"SYSTEM"; }
  html body .desktop-nav a[href*="cast"]::after{ content:"MAID"; }
  html body .desktop-nav a[href*="access"]::after{ content:"ACCESS"; }
  html body .desktop-nav a[href*="lilith"]::after{ content:"LILITH"; }
  html body .desktop-nav a:hover::before, html body .desktop-nav a.active::before{ transform:rotate(-14deg) scale(1.15); }
  /* 現在のページ：波線（下の和文に被っていた）をやめて、白い枠の角丸ハイライトに */
  html body .desktop-nav a.active::after{ text-decoration:none !important; }
  html body .desktop-nav a.active{
    margin-left:-12px !important; padding:2px 12px !important; /* 左右だけ広げて、他の項目と位置・高さをそろえる */
    border-radius:16px; background:rgba(255,255,255,.2);
    box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.75);
  }

  /* 区切り線（両端に丸）＋電話・営業時間・予約ボタン */
  html body .header-btns{
    position:relative; display:flex !important; flex-direction:column; align-items:center;
    width:100%; margin:18px 0 0 !important; padding-top:20px;
  }
  html body .header-btns::before{
    content:""; position:absolute; top:0; left:0; right:0; height:3px; border-radius:3px; background:#fff;
    box-shadow:-4px 0 0 1px #fff;
  }
  html body .header-btns::after{
    content:""; position:absolute; top:-4px; right:-4px; width:11px; height:11px; border-radius:50%; background:#fff;
  }
  html body .btn-header-tel{
    display:flex !important; flex-direction:column; align-items:center; gap:0 !important;
    width:100%; height:auto !important; padding:0 !important;
    background:none !important; box-shadow:none !important; border-radius:0 !important;
    color:#fff !important; font-size:28px !important; line-height:1.3; text-shadow:2px 2px 0 #c81e66;
  }
  html body .btn-header-tel:hover{ transform:none; box-shadow:none; }
  html body .btn-header-tel i{ display:none !important; }
  html body .btn-header-tel::before{ /* 営業時間 */
    order:1; content:"平日 17:00〜21:00\A土日祝 15:00〜21:00\A定休日：火曜日"; white-space:pre;
    margin-top:4px; text-align:center; color:#fff; text-shadow:none; -webkit-text-stroke:0;
    font-family:'M PLUS Rounded 1c',sans-serif; font-weight:700; font-size:13px; line-height:1.7; letter-spacing:.02em;
  }
  html body .btn-header-tel::after{ /* 予約ボタン */
    order:2; content:"ご予約・お問い合わせ";
    display:flex; align-items:center; justify-content:center; width:100%; height:60px; margin-top:16px;
    border-radius:999px; background:#fff; color:#e2337a; text-shadow:none;
    font-family:'Kiwi Maru',sans-serif; font-weight:500; font-size:18px; letter-spacing:.04em;
    box-shadow:0 5px 0 #f7b9d3; transition:transform .2s ease-out, box-shadow .2s ease-out;
  }
  html body .btn-header-tel:hover::after{ transform:translateY(3px); box-shadow:0 2px 0 #f7b9d3; }

  /* ヘッダーが左に移ったので、ファーストビューの上余白を詰める */
  html body .hero-wrapper{ padding-top:40px !important; }
}
/* 縦が短い画面では詰める */
@media (min-width:1024px) and (max-height:820px){
  html body .header-logo{ width:180px; height:150px; font-size:18px !important; padding-bottom:22px !important; }
  html body .desktop-nav a{ min-height:42px; }
  html body .desktop-nav a::after{ font-size:18px; }
}


/* =========================================================
   04 自作パーツ（am-side / am-spbar / am-mv）
   ※ 現在のTOPはCMSヘッダー・CMSスライダーを使用。自作版に切り替える時用に残している
   ========================================================= */

/* ===== サイドバー ===== */
.am-side{
  position:fixed; inset:0 auto 0 0; z-index:var(--am-z-side);
  width:var(--am-side-w, 300px);
  font-family:var(--am-f-body);
  color:#fff;
  background:
    linear-gradient(180deg,#e2337a 0%,#ec5b9a 55%,#f590bd 100%);
  border-bottom-right-radius:56px;
  box-shadow:6px 0 24px rgba(200,30,102,.18);
  overflow:hidden;
}
.am-side__body{
  height:100%; overflow-y:auto; overscroll-behavior:contain;
  padding:16px 28px calc(24px + env(safe-area-inset-bottom));
  display:flex; flex-direction:column; align-items:center;
  scrollbar-width:none;
}
.am-side__body::-webkit-scrollbar{ display:none; }
.am-side a{ color:#fff; text-decoration:none; }

/* ロゴ：ネオン風ハート＋筆記体 */
.am-side__logo{ position:relative; display:grid; place-items:center; width:220px; height:180px; flex:none; }
.am-side__heart{
  position:absolute; inset:0; width:100%; height:100%;
  filter:drop-shadow(0 0 6px rgba(255,255,255,.9)) drop-shadow(0 0 14px rgba(255,182,214,.9));
}
.am-side__logo-en{
  position:relative; margin-top:-14px;
  font-family:var(--am-f-logo); font-size:44px; line-height:1;
  transform:rotate(-8deg);
  text-shadow:0 0 8px rgba(255,255,255,.8), 0 0 18px rgba(255,160,205,.9), 3px 3px 0 #c81e66;
}
.am-side__logo-sub{
  position:absolute; bottom:48px; font-size:11px; font-weight:800; letter-spacing:.3em;
}
.am-side__catch{
  margin:4px 0 16px; text-align:center;
  font-size:var(--am-fs-sm); font-weight:700; line-height:1.7; letter-spacing:.06em;
}

/* ナビ：リボンアイコン＋英字（大）＋和文（小） */
.am-side__nav{ width:100%; }
.am-side__nav ul{ list-style:none; margin:0; padding:0 0 0 18px; }
.am-side__nav li + li{ margin-top:4px; }
.am-side__nav a{ display:flex; align-items:center; gap:12px; min-height:44px; padding:4px 0; }
.am-side__nav svg{
  width:30px; height:22px; flex:none; color:#fff;
  filter:drop-shadow(1px 2px 0 rgba(200,30,102,.45));
  transition:transform var(--am-dur) ease-out;
}
.am-side__nav b{
  display:block; font-family:var(--am-f-head); font-weight:400;
  font-size:var(--am-fs-xl); line-height:1.15; letter-spacing:.06em;
}
.am-side__nav small{ display:block; font-size:var(--am-fs-xs); font-weight:700; line-height:1.3; opacity:.95; }
.am-side__nav a:hover svg{ transform:rotate(-14deg) scale(1.15); }

/* 両端に丸のついた線 */
.am-side__line{
  position:relative; width:100%; height:3px; margin:16px 0;
  background:#fff; border-radius:3px;
}
.am-side__line::before,.am-side__line::after{
  content:""; position:absolute; top:50%; width:11px; height:11px; border-radius:50%;
  background:#fff; transform:translateY(-50%);
}
.am-side__line::before{ left:-4px; } .am-side__line::after{ right:-4px; }

.am-side__sns{ display:flex; gap:14px; list-style:none; margin:0; padding:0; }
.am-side__sns a{ display:grid; place-items:center; width:44px; height:44px; }
.am-side__sns svg{ width:32px; height:32px; display:block; transition:transform var(--am-dur) ease-out; }
.am-side__sns a:hover svg{ transform:translateY(-3px) rotate(-8deg); }

.am-side__tel{
  display:flex; align-items:center; gap:6px; margin-top:4px;
  font-family:var(--am-f-head); font-size:28px; letter-spacing:.02em; line-height:1.3;
}
.am-side__tel svg{ width:24px; height:24px; }
.am-side__hours{ margin:4px 0 0; text-align:center; font-size:13px; font-weight:700; line-height:1.7; }
.am-side__hours svg{ width:12px; height:11px; margin:0 4px; vertical-align:-1px; }

.am-side__cta{
  display:flex; align-items:center; justify-content:center;
  width:100%; height:60px; margin-top:16px; flex:none;
  border-radius:999px; background:#fff;
  color:var(--am-pink) !important;
  font-family:var(--am-f-head); font-size:var(--am-fs-lg); letter-spacing:.04em;
  box-shadow:0 5px 0 #f7b9d3;
  transition:transform var(--am-dur) ease-out, box-shadow var(--am-dur) ease-out;
}
.am-side__cta:hover{ transform:translateY(3px); box-shadow:0 2px 0 #f7b9d3; }

/* 高さが足りないPCでは詰める */
@media (min-width:1024px) and (max-height:860px){
  .am-side__logo{ width:180px; height:148px; }
  .am-side__logo-en{ font-size:36px; }
  .am-side__logo-sub{ bottom:40px; }
  .am-side__nav li + li{ margin-top:0; }
  .am-side__nav a{ min-height:40px; }
  .am-side__nav b{ font-size:var(--am-fs-lg); }
}

/* ---- SP上部バー ---- */
.am-spbar{ display:none; }
.am-side-overlay{ display:none; }

@media (max-width:1023px){
  .am-spbar{
    position:fixed; inset:0 0 auto 0; z-index:var(--am-z-bar); height:calc(60px + env(safe-area-inset-top)); padding-top:env(safe-area-inset-top) !important;
    display:flex; align-items:center; justify-content:space-between;
    padding:0 12px 0 18px;
    background:linear-gradient(90deg,#e2337a,#f48ab8);
    box-shadow:0 4px 14px rgba(200,30,102,.2);
  }
  .am-spbar__logo{ font-family:var(--am-f-logo); font-size:26px; color:#fff !important; text-decoration:none; text-shadow:2px 2px 0 #c81e66; }
  .am-spbar__btn{
    position:relative; width:46px; height:46px; border:0; border-radius:50%;
    background:#fff; cursor:pointer;
  }
  .am-spbar__btn span{
    position:absolute; left:13px; width:20px; height:2.5px; border-radius:2px; background:var(--am-pink);
    transition:transform var(--am-dur) ease-out, opacity var(--am-dur) ease-out;
  }
  .am-spbar__btn span:nth-child(1){ top:16px; } .am-spbar__btn span:nth-child(2){ top:22px; } .am-spbar__btn span:nth-child(3){ top:28px; }
  .am-spbar__btn[aria-expanded="true"] span:nth-child(1){ transform:translateY(6px) rotate(45deg); }
  .am-spbar__btn[aria-expanded="true"] span:nth-child(2){ opacity:0; }
  .am-spbar__btn[aria-expanded="true"] span:nth-child(3){ transform:translateY(-6px) rotate(-45deg); }

  .am-side{
    width:min(320px, 86vw); top:0; z-index:var(--am-z-drawer);
    transform:translateX(-102%);
    transition:transform .28s ease-out;
  }
  .am-side.is-open{ transform:none; }
  .am-side-overlay{
    display:block; position:fixed; inset:0; z-index:var(--am-z-overlay);
    background:rgba(91,58,74,.35);
    opacity:0; transition:opacity .28s ease-out;
  }
  .am-side-overlay.is-show{ opacity:1; }
  .am-mv{ margin-top:calc(60px + env(safe-area-inset-top)); }
}

/* ===== MV（自作版） ===== */
.am-mv{
  background:
    radial-gradient(circle at 85% 10%, rgba(255,255,255,.45) 0 120px, transparent 121px),
    radial-gradient(circle, rgba(255,255,255,.55) 1.4px, transparent 2px) 0 0/22px 22px,
    linear-gradient(160deg,#f7a6c9 0%,#f390bd 60%,#f6a9cb 100%);
  padding-top:36px;
}
.am-mv__progress{
  position:absolute; top:16px; left:calc(var(--am-side-w) + 50%); transform:translateX(-50%);
  width:130px; height:9px; border-radius:9px; background:#fff; overflow:hidden; z-index:3;
  box-shadow:0 0 0 2px #e2337a inset;
}
.am-mv__progress span{
  display:block; height:100%; width:100%; background:#e2337a; border-radius:9px;
  transform-origin:left; transform:scaleX(0); /* 伸びる動きは mv.js（Web Animations API）で transform のみ */
}

/* 飾り：キラキラハート＆スパークル */
.am-mv__deco{ position:absolute; inset:0 0 0 var(--am-side-w); pointer-events:none; z-index:2; }
.am-mv__h{ position:absolute; filter:drop-shadow(0 6px 10px rgba(200,30,102,.25)); animation:amFloat 6s ease-in-out infinite; }
.am-mv__h--1{ width:200px; height:180px; right:-30px; top:-10px; transform:rotate(14deg); }
.am-mv__h--2{ width:110px; height:100px; right:9%; top:21%; animation-delay:-2s; }
.am-mv__h--3{ width:130px; height:117px; left:2%; bottom:6%; animation-delay:-4s; }
.am-mv__h--4{ width:80px; height:72px; right:8%; bottom:22%; animation-delay:-1s; }
.am-mv__s{ position:absolute; color:#fff; filter:drop-shadow(0 0 6px rgba(255,255,255,.9)); animation:amTwinkle 2.8s ease-in-out infinite; }
.am-mv__s--1{ width:52px; height:52px; left:9%; top:28%; }
.am-mv__s--2{ width:40px; height:40px; right:12%; top:36%; animation-delay:-.8s; }
.am-mv__s--3{ width:30px; height:30px; right:3%; top:30%; animation-delay:-1.6s; }
.am-mv__s--4{ width:44px; height:44px; left:3%; bottom:28%; animation-delay:-2.2s; }
.am-mv__s--5{ width:26px; height:26px; left:48%; top:4%; animation-delay:-1.2s; }
@keyframes amFloat{ 0%,100%{ translate:0 0; } 50%{ translate:0 -12px; } }
@keyframes amTwinkle{ 0%,100%{ opacity:1; scale:1; } 50%{ opacity:.35; scale:.6; } }

/* フレーム（白い太枠＋濃ピンクの細枠＋大きい角丸） */
.am-mv__stage{ position:relative; width:min(1380px, calc(100% - 120px)); margin:40px auto 0; z-index:1; }
.am-mv__frame{
  position:relative; aspect-ratio:16/8.6;
  border-radius:70px;
  background:#fff; padding:14px;
  box-shadow:0 0 0 4px #e2337a, 0 18px 40px rgba(200,30,102,.25);
}
.am-mv__slides{ position:relative; width:100%; height:100%; border-radius:58px; overflow:hidden; box-shadow:0 0 0 3px #e2337a inset; background:#ffe3ee; }
.am-mv__img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:0; transform:scale(1.06);
  transition:opacity 1.2s ease-out, transform 7s linear;
  backface-visibility:hidden;
}
.am-mv__img.is-active{ opacity:1; transform:scale(1); }
.am-mv__slides::after{ /* 下側をピンクに溶かしてコピーを読ませる */
  content:""; position:absolute; inset:auto 0 0 0; height:55%;
  background:linear-gradient(to top, rgba(226,51,122,.55), rgba(226,51,122,0));
  pointer-events:none;
}

/* キャッチ（ステッカー風：白フチ＋ピンク影） */
.am-mv__catch{ position:absolute; left:6%; right:6%; bottom:9%; z-index:2; text-align:center; }
.am-mv__badge{ display:flex; justify-content:center; gap:10px; margin:0 0 6px; }
.am-mv__badge span{
  font-family:var(--am-f-head); font-size:clamp(14px,1.5vw,20px); color:var(--am-pink);
  background:#fff; border-radius:999px; padding:4px 16px; box-shadow:0 3px 0 #c81e66;
}
.am-mv__badge .is-y{ background:#fff35c; color:#c81e66; }
.am-mv__copy{ margin:0; font-weight:400; line-height:1.05; text-wrap:balance; }
.am-mv__copy span{ display:block; font-family:var(--am-f-head); }
.am-mv__copy-s{
  font-size:clamp(26px,3.4vw,52px); color:#fff;
  -webkit-text-stroke:8px #e2337a; paint-order:stroke fill;
  transform:rotate(-3deg); margin-bottom:.1em;
}
.am-mv__copy-l{
  font-size:clamp(44px,6.4vw,104px); letter-spacing:.04em;
  color:#fff; -webkit-text-stroke:12px #e2337a; paint-order:stroke fill;
  text-shadow:6px 8px 0 #c81e66;
  transform:rotate(-3deg);
}

/* ロゴをフレームの左上に重ねる */
.am-mv__logo{
  position:absolute; left:-30px; top:-48px; z-index:3; margin:0;
  font-family:var(--am-f-logo); font-size:clamp(48px,6vw,96px); line-height:1.2;
  color:#e2337a; transform:rotate(-12deg);
  -webkit-text-stroke:14px #fff; paint-order:stroke fill;
  filter:drop-shadow(5px 6px 0 #c81e66);
}

/* 回転するスタンプ */
.am-mv__stamp{
  position:absolute; right:-40px; bottom:-60px; z-index:3;
  width:clamp(130px,13vw,200px); aspect-ratio:1;
  border-radius:50%; background:#fff;
  box-shadow:0 0 0 6px #e2337a, 0 0 0 12px #fff, 0 10px 24px rgba(200,30,102,.3);
}
.am-mv__stamp-ring{ position:absolute; inset:0; display:block; animation:amSpin 18s linear infinite; } /* SVGそのものではなく外側の箱を回す（SVG回転は毎フレームLayoutが走るため） */
.am-mv__stamp-ring svg{ width:100%; height:100%; display:block; }
.am-mv__stamp text{ font-family:var(--am-f-head); font-size:17px; letter-spacing:2.4px; fill:#e2337a; }
.am-mv__stamp-c{ position:absolute; inset:28%; display:grid; place-items:center; border-radius:50%; background:#e2337a; }
.am-mv__stamp-c svg{ width:66%; height:50%; color:#fff; }
@keyframes amSpin{ to{ transform:rotate(360deg); } }

.am-mv__foot{ position:relative; z-index:2; display:flex; align-items:center; justify-content:center; gap:32px; padding:32px 0 24px; }
.am-mv__welcome{ margin:0; font-family:var(--am-f-head); font-size:clamp(16px,1.8vw,24px); color:#fff; text-shadow:2px 2px 0 #e2337a; }
.am-mv__dots{ display:flex; gap:4px; }
.am-mv__dots button{ /* 押せる範囲は44px、見た目は16pxの丸 */
  display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; background:none; cursor:pointer;
}
.am-mv__dots button::before{
  content:""; width:16px; height:16px; border-radius:50%;
  background:#fff; box-shadow:0 0 0 2px #e2337a inset; transition:transform var(--am-dur) ease-out, background-color var(--am-dur) ease-out;
}
.am-mv__dots button.is-active::before{ background:#e2337a; transform:scale(1.25); }

@media (max-width:1023px){
  .am-mv{ padding-top:30px; }
  .am-mv__progress{ left:50%; }
  .am-mv__stage{ width:calc(100% - 32px); margin-top:44px; }
  .am-mv__frame{ aspect-ratio:3/4; border-radius:40px; padding:9px; }
  .am-mv__slides{ border-radius:32px; }
  .am-mv__logo{ left:-6px; top:-40px; -webkit-text-stroke:10px #fff; }
  .am-mv__stamp{ width:96px; right:-6px; top:-34px; bottom:auto; box-shadow:0 0 0 4px #e2337a, 0 0 0 8px #fff; }
  .am-mv__stamp text{ font-size:19px; }
  .am-mv__catch{ bottom:7%; }
  .am-mv__copy-s{ -webkit-text-stroke:6px #e2337a; }
  .am-mv__copy-l{ -webkit-text-stroke:9px #e2337a; text-shadow:4px 5px 0 #c81e66; }
  .am-mv__badge{ flex-wrap:wrap; gap:6px; }
  .am-mv__h--1{ width:120px; height:108px; }
  .am-mv__h--1,.am-mv__h--2,.am-mv__h--4{ display:none; }
  .am-mv__foot{ flex-direction:column; gap:4px; padding-top:48px; }
}


/* =========================================================
   05 TOP各セクション
   ========================================================= */

/* ===== コンセプト ===== */
.am-cp{ background:#fff; }
.am-cp__main{
  display:grid; grid-template-columns:1.15fr 1fr; gap:44px; align-items:center;
  padding:var(--am-panel-pad);
  background:var(--am-gingham-light);
  border-radius:80px 0 0 0;
}
.am-cp__fig{ margin:0; padding:8px; background:#e2337a; box-shadow:0 0 0 3px #fff inset; transform:rotate(1.5deg); }
.am-cp__img{ display:block; aspect-ratio:1/1; /* 支給画像が正方形のため */ overflow:hidden; background:#ffe3ee; }
.am-cp__img img{ width:100%; height:100%; object-fit:cover; transition:transform var(--am-dur) ease-out; }
.am-cp__fig:hover .am-cp__img img{ transform:scale(1.05); }
.am-cp__fig figcaption{ padding:8px 6px 2px; text-align:center; color:#fff; font-family:var(--am-f-head); font-size:clamp(16px,1.7vw,22px); }
@media (max-width:900px){
  .am-cp__main{ grid-template-columns:1fr; padding:36px 20px 28px; border-radius:48px 0 0 0; gap:28px; }
  .am-cp__fig{ transform:none; }
}

/* ===== メニュー・システム ===== */
.am-sy{ background:#fff; padding-top:var(--am-sec-y); }
.am-sy__panel .am-sec, .am-sn__panel .am-sec{ padding-bottom:104px; }
.am-sy__panel{
  margin-left:max(0px, calc((100% - 1050px) / 2 - 190px));
  background:var(--am-gingham-light);
  border-radius:200px 0 0 0;
}
.am-sy__wrap{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.am-sy__pics{ display:grid; grid-template-columns:1fr 1fr; gap:22px; list-style:none; margin:0; padding:40px 0 0; }
.am-sy__pics li{ position:relative; }
.am-sy__pics li:nth-child(2){ margin-top:56px; }
.am-sy__pic{ display:block; aspect-ratio:3/4; overflow:hidden; border-radius:24px; background:#ffd6e7; box-shadow:0 0 0 5px #fff, 0 10px 22px rgba(200,30,102,.18); }
.am-sy__pic img{ width:100%; height:100%; object-fit:cover; transition:transform var(--am-dur) ease-out; }
.am-sy__pics li:hover .am-sy__pic img{ transform:scale(1.06); }
.am-sy__cap{ margin:16px 0 0; text-align:center; font-weight:700; font-size:var(--am-fs-base); }
/* 白いハートのラベル */
.am-sy__badge{
  position:absolute; left:-14px; top:-40px; z-index:2; margin:0;
  width:96px; height:86px; display:grid; place-items:center;
  filter:drop-shadow(0 4px 0 #e2337a);
}
.am-sy__badge::before{
  content:""; position:absolute; inset:0; background:#fff;
  -webkit-mask:var(--am-heart) center/contain no-repeat; mask:var(--am-heart) center/contain no-repeat;
}
.am-sy__badge span{ position:relative; margin-top:-10px; font-family:var(--am-f-head); font-size:20px; color:var(--am-pink); }
@media (max-width:900px){
  .am-sy__panel{ border-radius:90px 0 0 0; margin-left:0; }
  .am-sy__wrap{ grid-template-columns:1fr; gap:32px; }
  .am-sy__panel .am-sec, .am-sn__panel .am-sec{ padding-bottom:72px; }
  .am-sy__pics{ padding-top:36px; gap:14px; }
  .am-sy__pics li:nth-child(2){ margin-top:36px; }
  .am-sy__badge{ width:80px; height:72px; left:-6px; top:-32px; }
  .am-sy__badge span{ font-size:17px; }
}

/* ===== MAIDS ===== */
.am-mm{ background:#fff; }
.am-mm__intro{ margin-bottom:48px; }
.am-mm__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:40px 24px; list-style:none; margin:0; padding:0; }
.am-mc a{ position:relative; display:block; text-align:center; }
.am-mc__photo{
  position:relative; z-index:1; display:block; aspect-ratio:2/3; overflow:hidden;
  border-radius:22px;
  box-shadow:0 8px 18px rgba(200,30,102,.15);
  transition:transform var(--am-dur) ease-out;
}
.am-mc a::before{ /* ホバー時の濃い影は写真の下の別レイヤーを opacity で出す（box-shadow は動かさない） */
  content:""; position:absolute; top:0; left:0; right:0; aspect-ratio:2/3; border-radius:22px; pointer-events:none;
  box-shadow:0 18px 28px rgba(200,30,102,.28);
  opacity:0; transition:opacity var(--am-dur) ease-out;
}
.am-mc a:hover::before{ opacity:1; }
.am-mc__photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
/* 仮写真：ピンク系の4トーン＋ストライプ */
.am-mc__photo--a{ background:repeating-linear-gradient(90deg,rgba(255,255,255,.18) 0 6px,transparent 6px 22px),linear-gradient(160deg,#f48ab8,#e2337a); }
.am-mc__photo--b{ background:radial-gradient(circle,rgba(255,255,255,.6) 2px,transparent 2.6px) 0 0/16px 16px,linear-gradient(160deg,#ffd6e7,#f6a3c6); }
.am-mc__photo--c{ background:repeating-linear-gradient(45deg,rgba(255,255,255,.22) 0 8px,transparent 8px 18px),linear-gradient(160deg,#d9b8f2,#f48ab8); }
.am-mc__photo--d{ background:radial-gradient(circle at 30% 30%,#fff 0 30px,transparent 31px),linear-gradient(160deg,#ffe3ee,#f390bd); }
.am-mc__icon{ position:absolute; left:50%; top:34%; width:46%; aspect-ratio:2/1; translate:-50% -50%; filter:drop-shadow(0 3px 6px rgba(200,30,102,.3)); }
.am-mc__sign{
  position:absolute; left:8%; bottom:16%; font-family:var(--am-f-logo); font-size:clamp(28px,3vw,42px); color:#fff;
  transform:rotate(-12deg); text-shadow:0 2px 8px rgba(200,30,102,.5);
}
.am-mc__note{ position:absolute; right:8%; bottom:6%; font-size:var(--am-fs-xs); font-weight:700; color:#fff; }
/* 左上の斜めリボン（NEW FACE） */
.am-mc__new{
  position:absolute; left:-38px; top:22px; z-index:2; width:150px; padding:3px 0;
  transform:rotate(-45deg); text-align:center;
  background:var(--am-mint); color:#fff; font-size:var(--am-fs-xs); font-weight:800; letter-spacing:.12em;
}
.am-mc__name{ display:flex; justify-content:center; align-items:center; gap:4px; margin-top:12px; font-size:var(--am-fs-lg); font-weight:700; }
.am-mc__name svg{ width:22px; height:16px; color:#f48ab8; }
.am-mc__time{ display:block; font-size:14px; font-weight:500; }
.am-mc a:hover .am-mc__photo{ transform:translateY(-6px) rotate(-1.2deg); }

@media (max-width:1023px){ .am-mm__grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:767px){
  .am-mm__grid{ grid-template-columns:repeat(2,1fr); gap:28px 16px; }
  .am-mc__name{ font-size:var(--am-fs-base); }
  .am-mm__intro{ margin-bottom:32px; }
}

/* ===== メイドBar Lilith バナー ===== */
.am-bn{ padding-block:var(--am-sec-y) 8px; background:#fff; }
.am-bn__deco{ position:absolute; inset:0 0 0 var(--am-side-w); pointer-events:none; }
.am-bn__h{ position:absolute; right:3%; top:20px; width:150px; height:135px; opacity:.85; transform:rotate(12deg); }
.am-bn__s{ position:absolute; right:13%; top:150px; width:30px; height:30px; color:#f48ab8; }
.am-bn__lilith{
  position:relative; z-index:1; display:grid; grid-template-columns:42% 1fr; align-items:stretch;
  min-height:300px; overflow:hidden; border-radius:0 0 60px 0;
  background:
    radial-gradient(circle, rgba(255,255,255,.18) 1px, transparent 1.6px) 0 0/18px 18px,
    linear-gradient(110deg,#2e1430 0%,#5a1c4c 45%,#b8246c 100%);
  box-shadow:0 0 0 4px #e2337a, 0 14px 30px rgba(46,20,48,.25);
}
.am-bn__photo{ position:relative; overflow:hidden; background:#5a1c4c; }
.am-bn__photo img{ width:100%; height:100%; object-fit:cover; object-position:center top; transition:transform var(--am-dur) ease-out; }
.am-bn__photo::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent 55%,#3a1638); }
.am-bn__txt{ color:#fff !important; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:40px 48px; }
.am-bn__en{ font-family:var(--am-f-head); font-size:20px; color:#f9b3cf; letter-spacing:.12em; }
.am-bn__name{ font-family:var(--am-f-logo); font-size:clamp(52px,5.4vw,80px); line-height:1.15; text-shadow:0 0 14px rgba(244,138,184,.9), 0 0 30px rgba(244,138,184,.6); }
.am-bn__catch{ margin-top:8px; text-wrap:balance; font-family:var(--am-f-head); font-size:clamp(20px,2.2vw,28px); color:#ffd1e4; }
.am-bn__lead{ margin-top:12px; font-size:15px; line-height:1.9; text-wrap:pretty; }
.am-bn__btn{
  display:inline-flex; align-items:center; gap:6px; min-height:48px; margin-top:24px; padding:0 32px;
  border-radius:999px; background:#e2337a; color:#fff; font-family:var(--am-f-head); font-size:var(--am-fs-lg);
  box-shadow:0 4px 0 #8d1450; transition:transform var(--am-dur) ease-out, box-shadow var(--am-dur) ease-out;
}
.am-bn__btn::after{ content:""; width:16px; height:14px; background:#fff; -webkit-mask:var(--am-heart) center/contain no-repeat; mask:var(--am-heart) center/contain no-repeat; }
.am-bn__lilith:hover .am-bn__photo img{ transform:scale(1.06); }
.am-bn__lilith:hover .am-bn__btn{ transform:translateY(2px); box-shadow:0 2px 0 #8d1450; }
@media (max-width:900px){
  .am-bn__lilith{ grid-template-columns:1fr; border-radius:0 0 40px 0; }
  .am-bn__photo{ aspect-ratio:16/9; }
  .am-bn__photo::after{ background:linear-gradient(180deg,transparent 55%,#3a1638); }
  .am-bn__txt{ padding:20px 20px 32px; }
  .am-bn__lead br{ display:none; }
  .am-bn__h{ width:90px; height:80px; top:10px; }
}

/* ===== Instagram（自作版） ===== */
.am-sn{ background:#fff; padding-top:var(--am-sec-y); }
.am-sn__panel{
  position:relative;
  margin-left:max(0px, calc((100% - 1050px) / 2 - 190px));
  background:linear-gradient(180deg,#ffe3ee,#fff6fa);
  border-radius:200px 0 0 0;
}
.am-sn__bg{ position:absolute; right:-40px; top:40px; width:min(460px,40%); aspect-ratio:10/9; opacity:.28; pointer-events:none; }
.am-sn__embed{ position:relative; }
.am-sn__dummy{ display:grid; grid-template-columns:repeat(4,1fr); gap:6px; }
.am-sn__dummy span{ aspect-ratio:1; position:relative; background:linear-gradient(135deg,#f9b3cf,#e2337a); }
.am-sn__dummy span:nth-child(even){ background:linear-gradient(135deg,#ffe3ee,#f48ab8); }
.am-sn__dummy span::after{ content:""; position:absolute; right:8px; top:8px; width:18px; height:18px; border:2.5px solid #fff; border-radius:6px; }
.am-more--ig{ font-family:var(--am-f-body); font-weight:800; font-size:22px; }
.am-more--ig::after{ width:24px; height:24px; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h10a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5Zm0 2.2A2.8 2.8 0 0 0 4.2 7v10A2.8 2.8 0 0 0 7 19.8h10a2.8 2.8 0 0 0 2.8-2.8V7A2.8 2.8 0 0 0 17 4.2Zm5 3.3a4.5 4.5 0 1 1 0 9 4.5 4.5 0 0 1 0-9Zm0 2.2a2.3 2.3 0 1 0 0 4.6 2.3 2.3 0 0 0 0-4.6Zm5.2-3.7a1.3 1.3 0 1 1 0 2.6 1.3 1.3 0 0 1 0-2.6Z'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h10a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5Zm0 2.2A2.8 2.8 0 0 0 4.2 7v10A2.8 2.8 0 0 0 7 19.8h10a2.8 2.8 0 0 0 2.8-2.8V7A2.8 2.8 0 0 0 17 4.2Zm5 3.3a4.5 4.5 0 1 1 0 9 4.5 4.5 0 0 1 0-9Zm0 2.2a2.3 2.3 0 1 0 0 4.6 2.3 2.3 0 0 0 0-4.6Zm5.2-3.7a1.3 1.3 0 1 1 0 2.6 1.3 1.3 0 0 1 0-2.6Z'/%3E%3C/svg%3E") center/contain no-repeat; }
@media (max-width:767px){
  .am-sn__panel{ border-radius:90px 0 0 0; margin-left:0; }
  .am-sn__dummy{ grid-template-columns:repeat(2,1fr); }
  .am-sn__dummy span:nth-child(n+5){ display:none; }
}

/* ===== 店舗案内（TOP） ===== */
.am-sh{ background:#fff; }
.am-sh__box{
  padding:24px 48px; border-radius:0 40px 0 40px;
  background:#fff; box-shadow:0 0 0 6px #fff, 0 0 0 9px #f48ab8, 0 10px 24px rgba(200,30,102,.1);
}
.am-sh__list{ margin:0; }
.am-sh__list div{ display:grid; grid-template-columns:160px 1fr; gap:16px; padding:20px 0; border-bottom:2px dotted #f48ab8; }
.am-sh__list div:last-child{ border-bottom:0; }
.am-sh__list dt{ display:flex; align-items:flex-start; gap:.5em; font-weight:800; color:var(--am-pink); font-size:var(--am-fs-base); }
.am-sh__list dt::before{
  content:""; width:16px; height:14px; margin-top:.45em; flex:none; background:var(--am-pink);
  -webkit-mask:var(--am-heart) center/contain no-repeat; mask:var(--am-heart) center/contain no-repeat;
}
.am-sh__list dd{ margin:0; font-size:var(--am-fs-base); font-weight:500; line-height:1.9; }

/* ===== Google Map（自作版） ===== */
.am-map{ background:#fff; padding-block:48px 8px; }
.am-map__frame{ border-radius:26px; overflow:hidden; aspect-ratio:16/6.4; box-shadow:0 0 0 4px #ffe3ee, 0 10px 24px rgba(200,30,102,.12); }
.am-map__frame iframe{ width:100%; height:100%; border:0; display:block; }
@media (max-width:767px){
  .am-sh__box{ padding:8px 20px; }
  .am-map{ padding-top:32px; }
  .am-sh__list div{ grid-template-columns:1fr; gap:2px; padding:14px 0; }
  .am-sh__list dd{ font-size:15px; }
  .am-map__frame{ aspect-ratio:4/3.6; }
}

/* ===== マーキー ===== */
.am-mq{ background:#fff; padding-top:var(--am-sec-y); line-height:1; }
.am-mq__track{ display:flex; width:max-content; animation:amMq 40s linear infinite; }
.am-mq__track span{
  flex:none; padding-right:.3em; white-space:nowrap;
  font-family:var(--am-f-head); font-size:clamp(90px,12vw,190px);
  color:#fcd9e8; margin-bottom:-.12em;
}
@keyframes amMq{ to{ transform:translateX(-50%); } }

/* ===== フッター（自作版） ===== */
.am-ft{ background:linear-gradient(110deg,#e2337a 0%,#ef6aa5 60%,#f7a5c8 100%); color:#fff; }
.am-ft a{ color:#fff !important; }
.am-ft__in{ padding:64px 0 48px; }
.am-ft__top{ display:grid; grid-template-columns:auto 1fr; gap:48px; align-items:center; padding-bottom:32px; border-bottom:1.5px solid rgba(255,255,255,.8); }
.am-ft__logo{ font-family:var(--am-f-logo); font-size:clamp(54px,6vw,86px); line-height:1.3; transform:rotate(-8deg); text-shadow:4px 4px 0 #c81e66; }
.am-ft__about{ position:relative; }
.am-ft__sns{ position:absolute; right:0; top:-6px; list-style:none; margin:0; padding:0; }
.am-ft__sns svg{ width:38px; height:38px; display:block; }
.am-ft__name{ margin:0; font-family:var(--am-f-head); font-size:24px; }
.am-ft__name small{ font-family:var(--am-f-body); font-size:13px; margin-left:6px; }
.am-ft__txt{ margin:8px 0 0; font-weight:500; font-size:var(--am-fs-sm); line-height:1.9; text-wrap:pretty; }
.am-ft__nav{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:24px; padding:40px 0; }
.am-ft__nav dl{ margin:0; }
.am-ft__nav dt{ font-family:var(--am-f-head); font-size:var(--am-fs-2xl); letter-spacing:.04em; margin-bottom:4px; }
.am-ft__nav dd{ margin:0; font-weight:700; font-size:var(--am-fs-sm); line-height:2; }
.am-ft__nav a{ transition:opacity var(--am-dur) ease-out; } .am-ft__nav a:hover{ opacity:.7; }
.am-ft__info{ text-align:center; font-weight:700; font-size:var(--am-fs-sm); line-height:1.9; }
.am-ft__info p{ margin:0; }
.am-ft__copy{ margin:24px 0 0; text-align:center; font-size:var(--am-fs-xs); }
@media (max-width:767px){
  .am-ft__top{ grid-template-columns:1fr; gap:14px; text-align:center; }
  .am-ft__sns{ position:static; display:flex; justify-content:center; margin-bottom:8px; }
  .am-ft__nav{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
  .am-ft__in{ padding:48px 0 calc(112px + env(safe-area-inset-bottom)); }
}

/* ===== 右下の吹き出し ===== */
.am-fl{
  position:fixed; right:calc(16px + env(safe-area-inset-right)); bottom:calc(16px + env(safe-area-inset-bottom)); z-index:var(--am-z-float);
  display:flex; align-items:flex-end; text-decoration:none;
  font-family:var(--am-f-body);
}
.am-fl__bubble{
  position:relative; display:flex; flex-direction:column; align-items:center;
  margin-right:-18px; margin-bottom:46px; padding:12px 22px 10px;
  border-radius:50%; background:#e2337a; color:#fff;
  font-family:var(--am-f-head); font-size:20px; line-height:1.2; text-align:center;
  box-shadow:0 0 0 4px #fff, 0 8px 18px rgba(200,30,102,.3);
  transition:transform var(--am-dur) ease-out;
}
.am-fl__bubble::after{ content:""; position:absolute; right:14px; bottom:-14px; width:22px; height:18px; background:#e2337a; clip-path:polygon(0 0,100% 0,100% 100%); }
.am-fl__bubble small{ font-size:12px; }
.am-fl__bubble i{ margin-top:4px; padding:0 12px; border-radius:999px; background:#fff; color:#e2337a; font-style:normal; font-family:var(--am-f-body); font-weight:800; font-size:var(--am-fs-xs); letter-spacing:.12em; }
.am-fl__chara{ width:110px; height:110px; filter:drop-shadow(0 6px 8px rgba(200,30,102,.25)); animation:amBob 3s ease-in-out infinite; }
@keyframes amBob{ 0%,100%{ translate:0 0; } 50%{ translate:0 -8px; } }
.am-fl:hover .am-fl__bubble{ transform:rotate(-4deg) scale(1.04); }
@media (max-width:1023px){
  .am-fl{ opacity:0; pointer-events:none; transition:opacity .3s ease-out; }
  .am-fl.is-show{ opacity:1; pointer-events:auto; }
  .am-fl{ right:8px; bottom:calc(76px + env(safe-area-inset-bottom)); transform:scale(.72); transform-origin:right bottom; }
}


/* =========================================================
   06 メイドさんページ（/page.php?slug=cast）
   ========================================================= */
.am-pm{ background:#fff; padding-bottom:var(--am-sec-y); }
.am-pm__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:56px 28px; list-style:none; margin:16px 0 0; padding:0; }
.am-pm__item{ text-align:center; }

/* 写真：白フチ＋ピンク線の角丸フレーム */
.am-pm__photo{
  position:relative; margin:0; aspect-ratio:3/4; overflow:hidden; border-radius:28px;
  background:var(--am-gingham-light);
  box-shadow:0 0 0 6px #fff, 0 0 0 9px #f48ab8, 0 12px 24px rgba(200,30,102,.15);
  transition:transform var(--am-dur) ease-out;
}
.am-pm__photo img{ width:100%; height:100%; object-fit:cover; object-position:center top; }
.am-pm__item:hover .am-pm__photo{ transform:translateY(-5px) rotate(-1.2deg); }
.am-pm__photo::after{ /* 右下にふんわりハート */
  content:""; position:absolute; right:-6px; bottom:-6px; width:34%; aspect-ratio:260/233;
  background:var(--am-img-soft1) center/contain no-repeat; pointer-events:none;
}
/* 画像なし */
.am-pm__noimg{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; }
.am-pm__noimg svg{ width:46%; aspect-ratio:2/1; filter:drop-shadow(0 3px 4px rgba(200,30,102,.35)); }
.am-pm__noimg b{ font-family:var(--am-f-head); font-weight:500; font-size:var(--am-fs-lg); color:var(--am-pink); letter-spacing:.06em; }

/* 名前 */
.am-pm__name{
  display:flex; justify-content:center; align-items:center; gap:6px; margin:20px 0 0;
  font-family:var(--am-f-head); font-weight:500; font-size:var(--am-fs-2xl); color:var(--am-pink); line-height:1.3;
}
.am-pm__name svg{ width:24px; height:18px; color:#f48ab8; flex:none; }
.am-pm__en{ margin:0; font-size:var(--am-fs-xs); font-weight:800; letter-spacing:.24em; color:#f06aa6; text-transform:uppercase; }

/* 一言コメント：吹き出し */
.am-pm__comment{
  position:relative; margin:16px 0 0; padding:12px 14px;
  border-radius:18px; background:#ffe3ee; color:var(--am-text);
  font-size:var(--am-fs-sm); font-weight:700; line-height:1.7; text-wrap:pretty;
}
.am-pm__comment::before{
  content:""; position:absolute; left:50%; top:-9px; width:18px; height:10px; margin-left:-9px;
  background:#ffe3ee; clip-path:polygon(50% 0,100% 100%,0 100%);
}

@media (max-width:1023px){ .am-pm__grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:767px){
  .am-pm__grid{ grid-template-columns:repeat(2,1fr); gap:40px 16px; }
  .am-pm__photo{ border-radius:20px; box-shadow:0 0 0 4px #fff, 0 0 0 6px #f48ab8, 0 8px 16px rgba(200,30,102,.15); }
  .am-pm__name{ font-size:var(--am-fs-xl); margin-top:14px; }
  .am-pm__comment{ font-size:13px; padding:10px; }
}


/* =========================================================
   07 システムページ準備中（/menu.php）
   ========================================================= */
/* CMS 標準の「メニュー一覧／準備中です。」はこのセクションがある時だけ隠す */
html body:has(.am-soon) .menu-grid-section:has(.menu-cat-empty){ display:none !important; }

.am-soon{ background:var(--am-gingham-light); padding-bottom:var(--am-sec-y); }
.am-soon .am-sec{ padding-top:clamp(100px,10vw,140px); }
.am-soon__card{
  position:relative; max-width:760px; margin:40px auto 0; padding:72px 32px 48px; text-align:center;
  background:#fff; border-radius:40px;
  box-shadow:0 0 0 8px #fff, 0 0 0 11px #f48ab8, 0 16px 32px rgba(200,30,102,.15);
}
.am-soon__card::before, .am-soon__card::after{ /* ふんわりハート */
  content:""; position:absolute; aspect-ratio:260/233; pointer-events:none; background:var(--am-img-soft1) center/contain no-repeat;
}
.am-soon__card::before{ width:clamp(80px,12vw,140px); right:-30px; top:-40px; rotate:14deg; }
.am-soon__card::after{ width:clamp(56px,8vw,96px); left:-26px; bottom:-30px; rotate:-12deg; background-image:var(--am-img-soft2); }
.am-soon__cap{
  position:absolute; left:50%; top:-44px; translate:-50% 0;
  display:grid; place-items:center; width:88px; height:88px; border-radius:50%;
  background:var(--am-pink); box-shadow:0 0 0 6px #fff, 0 0 0 9px #f48ab8;
}
.am-soon__cap svg{ width:58px; height:29px; }
.am-soon__en{ margin:0; font-family:var(--am-f-logo); font-size:clamp(28px,3.4vw,40px); color:#f06aa6; line-height:1.4; }
.am-soon__ttl{
  margin:4px 0 20px; font-family:var(--am-f-head); font-weight:500;
  font-size:clamp(26px,3.6vw,40px); color:var(--am-pink); line-height:1.4; text-wrap:balance;
}
.am-soon__txt{ margin:0; font-size:var(--am-fs-base); line-height:2; text-wrap:pretty; }
.am-soon__sub{ margin:28px 0 0; padding-top:24px; border-top:2px dotted #f9b3cf; font-size:var(--am-fs-sm); font-weight:700; }
.am-soon__tel{
  display:inline-block; margin-top:6px; font-family:var(--am-f-head); font-weight:500;
  font-size:clamp(30px,4.4vw,46px); color:var(--am-pink) !important; font-variant-numeric:tabular-nums;
  transition:transform var(--am-dur) ease-out;
}
.am-soon__tel:hover{ transform:translateY(-2px); }
.am-soon__hours{ margin:0; font-size:var(--am-fs-xs); font-weight:700; color:#8a6a78; font-variant-numeric:tabular-nums; }

@media (max-width:767px){
  .am-soon__card{ margin-top:48px; padding:60px 20px 36px; border-radius:28px; box-shadow:0 0 0 5px #fff, 0 0 0 7px #f48ab8, 0 10px 20px rgba(200,30,102,.15); }
  .am-soon__card::before{ right:-14px; top:-30px; }
  .am-soon__card::after{ left:-10px; }
  .am-soon__txt br{ display:none; }
}


/* =========================================================
   08 メイドBar Lilith ページ（システム・メイド紹介）
   ========================================================= */
.am-li{
  --am-li-pink:#e2337a; --am-li-text:var(--am-text);
  background:var(--am-gingham-light);
  color:var(--am-li-text);
  padding-bottom:var(--am-sec-y);
}
.am-li + .am-li{ background:#fff; }
/* 見出しはTOPと同じ（.am-ttl）を使用 */

/* ===== システム（準備中） ===== */
.am-li-soon{
  position:relative; max-width:760px; margin:24px auto 0; padding:48px 32px 44px; text-align:center;
  border-radius:36px; background:#fff;
  box-shadow:0 0 0 8px #fff, 0 0 0 11px #f48ab8, 0 16px 32px rgba(200,30,102,.15);
}
.am-li-soon::before{ /* ふんわりハート */
  content:""; position:absolute; right:-24px; top:-34px; width:clamp(70px,10vw,120px); aspect-ratio:260/233; rotate:14deg;
  background:var(--am-img-soft1) center/contain no-repeat; pointer-events:none;
}
.am-li-soon__icons{ display:flex; justify-content:center; gap:18px; list-style:none; margin:0 0 6px; padding:0; }
.am-li-soon__icons svg{ width:34px; height:34px; color:#f06aa6; }
.am-li-soon__icons li:nth-child(2) svg{ width:42px; height:42px; }
.am-li-soon__en{ margin:0; font-family:var(--am-f-logo); font-size:clamp(28px,3.4vw,40px); color:#f06aa6; line-height:1.4; }
.am-li-soon__ttl{ margin:4px 0 16px; font-family:var(--am-f-head); font-weight:500; font-size:clamp(22px,3vw,32px); color:var(--am-pink); line-height:1.5; text-wrap:balance; }
.am-li-soon__txt{ margin:0; font-size:var(--am-fs-sm); line-height:2; text-wrap:pretty; }
.am-li-soon__tel{
  display:inline-block; margin-top:18px; padding:8px 30px; border-radius:999px;
  background:var(--am-pink); color:#fff !important; box-shadow:0 4px 0 var(--am-pink-dk);
  font-family:var(--am-f-head); font-weight:500; font-size:clamp(22px,2.6vw,28px); font-variant-numeric:tabular-nums;
  transition:transform var(--am-dur) ease-out, box-shadow var(--am-dur) ease-out;
}
.am-li-soon__tel:hover{ transform:translateY(2px); box-shadow:0 2px 0 var(--am-pink-dk); }

/* ===== メイド紹介 ===== */
.am-li-maid__notice{
  display:table; margin:-8px auto 40px; padding:10px 28px; border-radius:999px;
  background:#ffe3ee; box-shadow:0 0 0 2px #f9b3cf;
  font-family:var(--am-f-head); font-weight:500; font-size:var(--am-fs-lg); color:var(--am-pink); text-align:center;
}
.am-li-maids__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:48px 28px; list-style:none; margin:0; padding:0; }
.am-li-maid{ text-align:center; }
.am-li-maid__photo{
  position:relative; margin:0; aspect-ratio:3/4; overflow:hidden; border-radius:28px;
  background:var(--am-gingham-light);
  box-shadow:0 0 0 6px #fff, 0 0 0 9px #f48ab8, 0 12px 24px rgba(200,30,102,.15);
  transition:transform var(--am-dur) ease-out;
}
.am-li-maid__photo img{ width:100%; height:100%; object-fit:cover; object-position:center top; }
.am-li-maid__photo::after{ /* 右下にふんわりハート */
  content:""; position:absolute; right:-6px; bottom:-6px; width:34%; aspect-ratio:260/233;
  background:var(--am-img-soft1) center/contain no-repeat; pointer-events:none;
}
.am-li-maid:not(.is-soon):hover .am-li-maid__photo{ transform:translateY(-5px) rotate(-1.2deg); }
.am-li-maid__noimg{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; }
.am-li-maid__noimg svg{ width:46%; aspect-ratio:2/1; filter:drop-shadow(0 3px 4px rgba(200,30,102,.35)); }
.am-li-maid__noimg b{ font-family:var(--am-f-head); font-weight:500; font-size:var(--am-fs-lg); color:var(--am-pink); letter-spacing:.06em; }
.am-li-maid__name{ margin:18px 0 0; font-family:var(--am-f-head); font-weight:500; font-size:var(--am-fs-2xl); color:var(--am-pink); }
.am-li-maid.is-soon .am-li-maid__name{ color:#f9b3cf; }
.am-li-maid__comment{
  position:relative; margin:14px 0 0; padding:12px 14px; border-radius:18px;
  background:#ffe3ee;
  font-size:var(--am-fs-sm); font-weight:700; line-height:1.7; text-wrap:pretty;
}
.am-li-maid__comment::before{ content:""; position:absolute; left:50%; top:-8px; width:14px; height:8px; margin-left:-7px; background:#ffe3ee; clip-path:polygon(50% 0,100% 100%,0 100%); }

@media (max-width:1023px){ .am-li-maids__grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:767px){
  .am-li-maids__grid{ grid-template-columns:repeat(2,1fr); gap:36px 16px; }
  .am-li-maid__photo{ border-radius:20px; box-shadow:0 0 0 4px #fff, 0 0 0 6px #f48ab8, 0 8px 16px rgba(200,30,102,.15); }
  .am-li-maid__name{ font-size:var(--am-fs-xl); margin-top:14px; }
  .am-li-maid__notice{ font-size:var(--am-fs-sm); padding:10px 18px; border-radius:20px; }
  .am-li-soon{ padding:40px 20px 36px; border-radius:26px; }
  .am-li-soon::before{ right:-10px; }
  .am-li-soon__txt br{ display:none; }
}


/* =========================================================
   09 下層ページ CMSブロック（ヒーロー・テキスト×画像・店舗概要・地図）
   ========================================================= */

/* 出現演出（.am-rv）は共通JSが html に .am-js を付けた時だけ有効。
   JSが入っていない・動かないページでは中身を常に表示する */
html:not(.am-js) .am-rv{ opacity:1 !important; transform:none !important; }

/* 日本語見出しの不自然な改行を防ぐ（Chrome/Edge） */
html body .concept-title,
html body .store-info-title,
html body .ph-title{ word-break:auto-phrase; }

/* ---- 下層ヒーロー（page_hero） ---- */
/* 背景画像は CMS の「ヘッダー背景画像」（インライン style）を使う。
   background の一括指定は画像を消してしまうので、個別プロパティだけ指定すること */
html body .page-hero-wrapper{
  box-sizing:border-box !important; max-width:100% !important;
  min-height:300px !important;
  padding:120px 5% 88px !important;
  background-color:#ffe3ee !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  color:var(--am-pink) !important;
  border-bottom:0 !important;
}
/* 画像の上に薄いピンクを重ねて見出しを読みやすく */
html body .page-hero-wrapper::before{
  background:linear-gradient(180deg, rgba(255,242,247,.35), rgba(255,242,247,.55)) !important;
}
/* 下端のギンガム帯 */
html body .page-hero-wrapper::after{
  content:"" !important; display:block !important;
  position:absolute !important; inset:auto 0 0 0 !important; top:auto !important;
  height:14px !important; z-index:1 !important;
  background:var(--am-band, linear-gradient(90deg,#f9b3cf,#f06aa6,#f9b3cf)) !important;
  opacity:1 !important; pointer-events:none !important;
}
html body .page-hero-wrapper .ph-overlay{ display:none !important; }
html body .page-hero-wrapper .ph-container{ position:relative !important; z-index:2 !important; }
html body .page-hero-wrapper .ph-title{
  margin:0 !important;
  font-family:var(--am-f-head) !important;
  font-weight:500 !important;
  font-size:clamp(36px, 5vw, 64px) !important;
  line-height:1.2 !important;
  letter-spacing:.08em !important;
  text-transform:none !important;
  /* 背景画像（ピンクのシルエット）に埋もれないよう、TOPより濃いめのグラデ＋白フチ */
  background:linear-gradient(90deg,#c81e66 0%,#e2337a 55%,#f06aa6 100%) !important;
  -webkit-background-clip:text !important; background-clip:text !important;
  color:transparent !important; -webkit-text-fill-color:transparent !important;
  filter:drop-shadow(0 3px 0 rgba(255,255,255,.95)) drop-shadow(0 0 8px rgba(255,255,255,.9)) !important;
  text-shadow:none !important;
}
/* テンプレの金ライン等を消す */
html body .page-hero-wrapper .ph-title::before,
html body .page-hero-wrapper .ph-title::after{ display:none !important; }
html body .page-hero-wrapper .ph-container::after{
  content:"♡" !important; display:block !important;
  margin-top:6px !important; font-size:22px !important; line-height:1 !important;
  color:var(--am-pink-md) !important; -webkit-text-fill-color:var(--am-pink-md) !important;
}

/* ---- テキスト×画像（concept_section） ---- */
html body .concept-section{
  padding:100px 5% !important;
  background:var(--am-bg) !important;
  color:var(--am-text) !important;
  font-family:var(--am-f-body) !important;
}
html body .concept-section:nth-of-type(even){ background:#fff !important; }
html body .concept-section::before,
html body .concept-section::after{ display:none !important; }
html body .concept-container{
  max-width:1050px !important; margin-inline:auto !important;
  align-items:center !important; gap:64px !important;
  color:var(--am-text) !important;
}
html body .concept-content{ color:var(--am-text) !important; text-align:left !important; }
/* 既存 .concept-content p.concept-eyebrow（詳細度0,2,1）を上書き */
html body .concept-section .concept-content p.concept-eyebrow{
  display:inline-block !important; margin:0 0 14px !important;
  padding:6px 18px !important; border-radius:999px !important;
  font-family:var(--am-f-head) !important; font-weight:500 !important;
  font-size:14px !important; line-height:1.6 !important; letter-spacing:.1em !important;
  color:#fff !important; -webkit-text-fill-color:#fff !important; background:var(--am-pink) !important;
  text-transform:none !important; opacity:1 !important;
}
html body .concept-section .concept-content p.concept-eyebrow::before,
html body .concept-section .concept-content p.concept-eyebrow::after{ display:none !important; }
html body .concept-section .concept-title{
  margin:0 0 28px !important;
  font-family:var(--am-f-head) !important;
  font-weight:500 !important;
  font-size:clamp(22px, 2.4vw, 30px) !important;
  line-height:1.6 !important;
  letter-spacing:.06em !important;
  text-align:left !important;
  color:var(--am-pink) !important;
  text-wrap:balance;
}
html body .concept-section .concept-title::before,
html body .concept-section .concept-title::after{ display:none !important; }
html body .concept-section .concept-text{
  margin:0 !important;
  font-family:var(--am-f-body) !important;
  font-size:15px !important;
  line-height:2 !important;
  letter-spacing:.04em !important;
  text-align:left !important;
  color:var(--am-text) !important;
}
html body .concept-img-wrapper{
  border-radius:28px !important;
  overflow:hidden !important;
  border:6px solid #fff !important;
  background:#fff !important;
  box-shadow:0 0 0 2px var(--am-line), 0 18px 36px rgba(226,51,122,.16) !important;
  aspect-ratio:4 / 3;
}
html body .concept-img-wrapper::before,
html body .concept-img-wrapper::after{ display:none !important; }
html body .concept-img-wrapper img{ display:block; filter:none !important; }

/* ---- 店舗概要（store_info） ---- */
html body .store-info-section{
  padding:100px 5% !important;
  background:var(--am-gingham-light, var(--am-bg)) !important;
  color:var(--am-text) !important;
  font-family:var(--am-f-body) !important;
}
html body .store-info-section::before,
html body .store-info-section::after{ display:none !important; }
html body .store-info-container{
  max-width:960px !important; margin-inline:auto !important;
  padding:56px clamp(20px, 5vw, 64px) !important;
  background:#fff !important;
  border-radius:36px !important;
  border:0 !important;
  box-shadow:0 0 0 3px var(--am-line), 0 20px 40px rgba(226,51,122,.12) !important;
}
html body .store-info-header{ margin:0 0 36px !important; text-align:center !important; border:0 !important; padding:0 !important; }
html body .store-info-header::before,
html body .store-info-header::after{ display:none !important; }
html body .store-info-title{
  margin:0 !important;
  font-family:var(--am-f-head) !important;
  font-weight:500 !important;
  font-size:clamp(26px, 3vw, 36px) !important;
  letter-spacing:.08em !important;
  color:var(--am-pink) !important;
}
html body .store-info-title::before,
html body .store-info-title::after{
  display:inline !important; position:static !important;
  width:auto !important; height:auto !important; background:none !important;
  color:var(--am-pink-md) !important;
}
html body .store-info-title::before{ content:"♡ " !important; }
html body .store-info-title::after{ content:" ♡" !important; }
html body .store-info-layout{ display:block !important; }
html body .store-info-table-wrap{ width:100%; }
html body .store-info-table{
  width:100% !important; border-collapse:collapse !important;
  background:transparent !important; border:0 !important;
}
html body .store-info-table tr{ border:0 !important; border-bottom:2px dotted var(--am-line) !important; background:transparent !important; }
html body .store-info-table tr:last-child{ border-bottom:0 !important; }
html body .store-info-table th,
html body .store-info-table td{
  padding:18px 16px !important;
  border:0 !important;
  font-size:15px !important; line-height:1.9 !important;
  text-align:left !important; vertical-align:top !important;
  background:transparent !important;
}
html body .store-info-table th{
  width:9em !important; white-space:nowrap !important;
  font-family:var(--am-f-head) !important; font-weight:500 !important;
  color:var(--am-pink) !important;
}
html body .store-info-table td{ color:var(--am-text) !important; font-variant-numeric:tabular-nums; }
html body .store-info-table td a{ color:var(--am-pink) !important; text-decoration:underline !important; }

/* ---- GoogleMap（gmap） ---- */
html body .gmap-section{
  padding:0 5% 100px !important;
  background:var(--am-gingham-light, var(--am-bg)) !important;
}
html body .store-info-section + .gmap-section{ margin-top:-1px !important; }
html body .gmap-section::before,
html body .gmap-section::after{ display:none !important; }
html body .gmap-container{ max-width:960px !important; margin-inline:auto !important; }
html body .gmap-frame-wrap{
  height:auto !important; padding:0 !important; aspect-ratio:auto !important;
  border-radius:28px !important; overflow:hidden !important;
  border:6px solid #fff !important;
  box-shadow:0 0 0 3px var(--am-line), 0 18px 36px rgba(226,51,122,.12) !important;
  filter:none !important; background:#fff !important;
}
html body .gmap-frame-wrap::before,
html body .gmap-frame-wrap::after{ display:none !important; }
html body .gmap-frame-wrap iframe{
  position:static !important; display:block;
  width:100% !important; height:420px !important; filter:none !important;
}

/* ---- SP ---- */
@media (max-width:1023px){
  html body .page-hero-wrapper{ min-height:240px !important; padding:100px 20px 60px !important; }
  html body .page-hero-wrapper .ph-title{ font-size:clamp(28px, 8vw, 40px) !important; letter-spacing:.04em !important; }
  html body .concept-section,
  html body .store-info-section{ padding:72px 20px !important; }
  html body .gmap-section{ padding:0 20px 72px !important; }
  html body .concept-container,
  html body .concept-container.concept-reverse{ flex-direction:column !important; gap:32px !important; }
  html body .concept-content,
  html body .concept-img-wrapper{ width:100% !important; max-width:100% !important; }
  html body .store-info-container{ padding:40px 20px !important; border-radius:28px !important; }
  html body .store-info-table,
  html body .store-info-table tbody,
  html body .store-info-table tr,
  html body .store-info-table th,
  html body .store-info-table td{ display:block !important; width:100% !important; }
  html body .store-info-table th{ padding:14px 4px 2px !important; }
  html body .store-info-table td{ padding:0 4px 14px !important; }
  html body .gmap-frame-wrap iframe{ height:320px !important; }
}


/* =========================================================
   10 ヘッダーのロゴ・H1 ／ フッターのグロナビ（2026-10-21 追加）
   ========================================================= */

/* ---- PC：サイドバー最上部にH1、ハート枠の中にロゴ（インスタアイコン） ---- */
@media (min-width:1024px){
  html body .global-header .header-page-eyebrow{
    order:-1; position:static !important; inset:auto !important;
    width:100%; max-width:none !important; margin:0 0 4px !important; padding:0 !important;
    font-family:var(--am-f-body) !important; font-size:11px !important; font-weight:700 !important;
    line-height:1.5 !important; letter-spacing:.04em !important; text-align:center;
    color:#fff !important; opacity:.92 !important; white-space:normal !important; overflow:visible !important;
    text-shadow:1px 1px 0 rgba(200,30,102,.6);
    word-break:auto-phrase; text-wrap:balance;
  }
  /* ロゴ画像をハート枠の内側いっぱいに（ハート形で切り抜き、白いネオン枠を上に重ねる） */
  html body .header-logo{ isolation:isolate; }
  html body .header-logo::before{ z-index:2 !important; pointer-events:none; }
  html body .header-logo img{
    position:absolute !important; inset:0; z-index:1;
    width:100% !important; height:100% !important; max-height:none !important; /* インラインの max-height:45px を解除 */
    margin:0 !important; border:0 !important; border-radius:0 !important; box-shadow:none !important;
    object-fit:cover !important; object-position:center 35%;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 210'%3E%3Cpath transform='translate(120 103) scale(.96) translate(-120 -103)' d='M120 196S14 130 14 64C14 30 40 10 70 10c22 0 40 12 50 30 10-18 28-30 50-30 30 0 56 20 56 54 0 66-106 132-106 132Z'/%3E%3C/svg%3E") center/contain no-repeat;
            mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 210'%3E%3Cpath transform='translate(120 103) scale(.96) translate(-120 -103)' d='M120 196S14 130 14 64C14 30 40 10 70 10c22 0 40 12 50 30 10-18 28-30 50-30 30 0 56 20 56 54 0 66-106 132-106 132Z'/%3E%3C/svg%3E") center/contain no-repeat;
    transition:transform .2s ease-out;
  }
  html body .header-logo:hover img{ transform:scale(1.03); }
}
/* ---- SP：上部バーのロゴも丸アイコンに（H1はCMS標準のまま非表示＝検索エンジン向け） ---- */
@media (max-width:1023px){
  html body .header-logo{ display:flex !important; align-items:center; }
  html body .header-logo img{
    width:44px !important; height:44px !important; max-height:none !important;
    border-radius:50%; object-fit:cover !important;
    border:2px solid #fff; box-shadow:0 2px 6px rgba(200,30,102,.35);
  }
}

/* ---- フッターのグロナビ：ハート付きのピルボタン ---- */
html body .global-footer .footer-nav-wrap{
  display:block !important; padding:0 0 28px !important; margin:0 0 40px !important;
  border-bottom:1.5px dotted rgba(255,255,255,.7) !important;
}
html body .global-footer .footer-nav{
  display:flex !important; flex-wrap:wrap; justify-content:center; gap:10px !important;
}
html body .global-footer .footer-nav-link{
  display:inline-flex !important; align-items:center; gap:.4em;
  min-height:44px; padding:0 16px !important; border-radius:999px;
  background:rgba(255,255,255,.16); border:1.5px solid rgba(255,255,255,.75);
  font-family:var(--am-f-head) !important; font-weight:500 !important; font-size:14px !important; letter-spacing:.04em;
  color:#fff !important; opacity:1 !important; text-shadow:1px 1px 0 rgba(200,30,102,.5);
  transition:background-color .2s ease-out, color .2s ease-out;
}
html body .global-footer .footer-nav-link::before{
  content:""; width:12px; height:11px; flex:none; background:currentColor;
  -webkit-mask:var(--am-heart) center/contain no-repeat; mask:var(--am-heart) center/contain no-repeat;
}
html body .global-footer .footer-nav-link:hover{ background:#fff; color:#e2337a !important; text-shadow:none; }
@media (max-width:767px){
  html body .global-footer .footer-nav{ display:grid !important; grid-template-columns:1fr 1fr; gap:8px !important; }
  html body .global-footer .footer-nav-link{ justify-content:center; padding:0 10px !important; font-size:14px !important; }
}