/* ============================================================
   eWELL LP 共通キット（PC用設定の最下部に1回だけ貼る）
   ※ Noto Sans JP は weVERYテーマが既にサイト全体で読込済のため @import 不要。
     (@import はCSS先頭以外では無効。キット末尾貼付だと無効化されるので置かない)
   - .ewl-lp を含むページにだけ効く（:has で自動判定）
   - 他ページには一切影響しない
   ============================================================ */

/* 本文エリアの左右余白をゼロ（LPページのみ） */
#main:has(.ewl-lp),
#contents:has(.ewl-lp){padding-left:0 !important;padding-right:0 !important;}

/* LP土台 */
.ewl-lp,.ewl-lp *,.ewl-lp *::before,.ewl-lp *::after{box-sizing:border-box;}
.ewl-lp{margin:0;padding:0;line-height:1.6;color:#1A1A1A;}
/* フォントは全要素に !important で強制(weVERYテーマの h2 等の font-family 上書きに勝つ) */
.ewl-lp,.ewl-lp *{font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif !important;}
/* カードは全幅(ヒーローを全幅表示)。中身は本文側の .ewl-inner(max-width:720)で中央に保つ
   = 健康診断ページ等と同じ「全幅ヒーロー＋中央コンテンツ」型 */
.ewl-lp .ewl-card{width:100% !important;max-width:100% !important;margin:0 auto !important;}
.ewl-lp .ewl-inner{margin:0 auto !important;}

/* ヒーロー：PCは横長を表示・縦長を隠す */
.ewl-lp .ewl-hero-pc{display:block !important;width:100% !important;max-width:100% !important;height:auto !important;}
.ewl-lp .ewl-hero-sp{display:none !important;}

/* 任意トグル（ラッパーに修飾クラスを付けたページだけ効く） */
#main:has(.ewl-lp.ewl-hide-crumb) #breadcrumbs{display:none !important;}
/* ページタイトル: weVERYは2箇所に出す(Inspect2026-06-28) →両方隠す。ただし header h1 は
   クリニックロゴ(img入り)の場合があるので :not(:has(img)) でテキストのタイトルだけ隠す(ロゴは残す):
   (1) header#header > h1 (テキストのみ) (2) section.pageSec > h2 (#contents内) */
#wrapper:has(.ewl-lp.ewl-hide-title) #header h1:not(:has(img)),
#wrapper:has(.ewl-lp.ewl-hide-title) #mobile h1:not(:has(img)),
/* 2026-08-20: h2 全体を消すとLP本文の見出し(SEO用h2)まで消えるため、テーマのタイトルだけに限定 */
#contents:has(.ewl-lp.ewl-hide-title) section.pageSec > h2,
#contents:has(.ewl-lp.ewl-hide-title) .banner h2{display:none !important;}
/* タイトル削除後の上部余白を詰める。固定グローバルナビ分(約90px)だけ残す(2026-06-28) */
#wrapper:has(.ewl-lp.ewl-hide-title) #top_contents,
#wrapper:has(.ewl-lp.ewl-hide-title) #contents,
#wrapper:has(.ewl-lp.ewl-hide-title) #main{padding-top:0 !important;}
#wrapper:has(.ewl-lp.ewl-hide-title) section.pageSec{margin-top:90px !important;}

#wrapper:has(.ewl-lp.ewl-bare) #header,
#wrapper:has(.ewl-lp.ewl-bare) #gNav,
#wrapper:has(.ewl-lp.ewl-bare) #wv_headbtn{display:none !important;}

/* ============================================================
   VariantA（診療科ハブLP / .ewl-va）— PC用
   本文はインラインstyleで組み、レスポンシブ/hover/carousel/details/固定CTA だけここ。
   ============================================================ */
/* --- 共通(PC/SP両方に同一定義) --- */
.ewl-va .va-hl{color:#BCE3FF;}
.ewl-va .va-carousel{scrollbar-width:none;}
.ewl-va .va-carousel::-webkit-scrollbar{display:none;}
.ewl-va .va-faq{background:#fff;border:1px solid #E5E5E5;border-radius:12px;overflow:hidden;}
.ewl-va .va-faq+.va-faq{margin-top:10px;}
.ewl-va .va-faq>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:16px 20px;font-weight:600;color:#1A1A1A;font-size:15px;line-height:1.55;}
.ewl-va .va-faq>summary::-webkit-details-marker{display:none;}
.ewl-va .va-faq .va-q{flex:0 0 auto;width:26px;height:26px;border-radius:6px;background:#EAF3FB;color:#0081FC;font-weight:800;display:grid;place-items:center;font-size:13px;}
.ewl-va .va-faq .va-chev{margin-left:auto;flex:0 0 auto;display:inline-flex;transition:transform .2s;}
.ewl-va .va-faq[open] .va-chev{transform:rotate(180deg);}
.ewl-va .va-faq .va-ans{display:flex;gap:14px;padding:0 20px 18px;color:#555;font-size:14px;line-height:1.75;}
.ewl-va .va-faq .va-a{flex:0 0 auto;width:26px;height:26px;border-radius:6px;background:#F4F8FC;color:#1062B0;font-weight:800;display:grid;place-items:center;font-size:13px;}
/* --- PC固有 --- */
.ewl-va .va-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;}
.ewl-va .va-hero-ov{background:linear-gradient(90deg,rgba(0,0,0,.62) 0%,rgba(0,0,0,.4) 45%,rgba(0,0,0,.15) 100%);}
.ewl-va .va-visit-grid{display:grid;grid-template-columns:1fr 1.4fr;}
.ewl-va .va-sticky{display:none !important;}
.ewl-va .va-card{transition:border-color .15s,transform .15s,box-shadow .15s;}
.ewl-va .va-card:hover{border-color:#0081FC !important;transform:translateY(-2px);box-shadow:0 8px 24px -10px rgba(0,129,252,.25);}
/* --- v2: ピル型フィルタ + カルーセル矢印/ドット (kit_JSと対) --- */
.ewl-va .va-pill.on{background:#EAF3FB !important;border-color:#CFE0F7 !important;}
.ewl-va .va-pill:hover{border-color:#0081FC !important;}
.ewl-va .va-swipehint{display:none;}
.ewl-va .va-car-wrap{position:relative;}
.ewl-va .va-arrow{position:absolute;top:44%;transform:translateY(-50%);width:44px;height:44px;border-radius:999px;background:rgba(255,255,255,.95);border:1px solid #E5E5E5;box-shadow:0 4px 14px rgba(16,42,67,.15);display:grid;place-items:center;cursor:pointer;z-index:3;color:#1062B0;}
.ewl-va .va-arrow.prev{left:-10px;}
.ewl-va .va-arrow.next{right:-10px;}
.ewl-va .va-arrow[disabled]{opacity:.35;cursor:default;}
.ewl-va .va-dots{display:flex;justify-content:center;gap:8px;margin-top:16px;}
.ewl-va .va-dot{width:8px;height:8px;border-radius:999px;background:#D6DEE8;border:0;padding:0;cursor:pointer;transition:width .2s,background .2s;}
.ewl-va .va-dot.on{width:22px;background:#1062B0;}
/* --- v9: LPページは#mainの幅制限(max-width:1060)を解除して帯背景を全幅に --- */
#wrapper:has(.ewl-va) #main{max-width:none !important;width:100% !important;margin-left:0 !important;margin-right:0 !important;}
/* コラム(post_type=column)では #contents.siglecolumn が max-width:1060 を持つため、
   LP のヒーローが全幅にならなかった (2026-08-23)。同じく解除する。 */
#wrapper:has(.ewl-va) #contents{max-width:none !important;width:100% !important;}
/* --- v9: テーマが summary::after に注入する「+」(Material Icons)を無効化(FAQの+重複解消) --- */
.ewl-va .va-faq>summary::after{content:none !important;display:none !important;}
.ewl-va .va-faq>summary::marker{content:none;}
/* --- v8: ピル折りたたみ(TOP6+「その他の疾患を見る」展開) --- */
.ewl-va .va-pill-hidden{display:none !important;}
.ewl-va .va-pills.open .va-pill-hidden{display:inline-flex !important;}
.ewl-va .va-more:hover{color:#1062B0 !important;}
.ewl-va .va-pills.open ~ div .va-more-ico{transform:rotate(45deg);}
/* --- v6: 疾患カテゴリタブ --- */
.ewl-va .va-tab.on{background:#1062B0 !important;color:#fff !important;}
.ewl-va .va-tab:hover{color:#1062B0 !important;}
.ewl-va .va-tab.on:hover{color:#fff !important;}
.ewl-va .va-tabs ~ .va-group .va-group-title{display:none;}
/* --- v5: ライトヒーロー(案A) PC=2カラム(左:文字/エンブレム/CTA 右:写真) --- */
.ewl-va .va-hero2{display:grid;grid-template-columns:1fr 1.15fr;column-gap:40px;align-items:center;}
/* v7: 写真を画面右端までブリード + 左側を強めにフェード(CF式) */
.ewl-va .va-hero2 .va-h2-photo{margin-right:calc((min(1080px,100vw) - 100vw)/2 - 32px);}
.ewl-va .va-hero2 .va-h2-photo img{-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.55) 10%,#000 26%,#000 100%),linear-gradient(180deg,transparent 1%,#000 14%,#000 88%,transparent 99%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.55) 10%,#000 26%,#000 100%),linear-gradient(180deg,transparent 1%,#000 14%,#000 88%,transparent 99%);mask-composite:intersect;}
.ewl-va .va-hero2 .va-h2-top{grid-column:1;grid-row:1;align-self:end;}
.ewl-va .va-hero2 .va-h2-photo{grid-column:2;grid-row:1 / span 2;margin-top:0 !important;}
.ewl-va .va-hero2 .va-h2-bottom{grid-column:1;grid-row:2;align-self:start;}
/* --- v4: PCドラッグスワイプ + センタリングsnap --- */
.ewl-va .va-carousel{cursor:grab;}
.ewl-va .va-carousel>article{scroll-snap-align:center !important;}
/* --- v3: FAQ開閉は「＋」(開くと45°回転) --- */
.ewl-va .va-faq .va-plus{margin-left:auto;flex:0 0 auto;display:inline-flex;transition:transform .2s;}
.ewl-va .va-faq[open] .va-plus{transform:rotate(45deg);}
/* --- v3: LPページではテーマの#sideMenu(HOME/アクセスの端トグル)を出さない --- */
#wrapper:has(.ewl-va) #sideMenu{display:none !important;}

/* ============================================================
   /eWELL LP 共通キット（PC）
   ============================================================ */

/* --- v10: トラベル外来LP (Claude Design 移植 / 2026-08-18) ---------------
   本文に <style>/@media を書けないため、LP側の @media(min-width:861px) 相当を
   PC用設定に置く。SP用設定には1カラム版が入る(= 出し分けはPC/SPのCSS分割)。 */
/* PCではヒーローのテキスト+CTAを縦中央に置く(画像が高さを決めるため) */
.ewl-va [data-hero]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:stretch;align-content:center;}
.ewl-va [data-hero-text]{grid-column:1;grid-row:1;}
.ewl-va [data-hero-cta]{grid-column:1;grid-row:2;align-self:start;}
.ewl-va [data-hero-img]{grid-column:2;grid-row:1 / span 2;}
.ewl-va [data-featgrid]>div{display:grid;grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr);gap:clamp(24px,3vw,44px);align-items:center;background:transparent;border:0;border-radius:0;overflow:visible;}
.ewl-va [data-featgrid]>div:nth-child(even){grid-template-columns:minmax(0,1.15fr) minmax(0,0.85fr);}
.ewl-va [data-featgrid]>div:nth-child(even)>img{grid-column:2;grid-row:1;}
.ewl-va [data-featgrid]>div:nth-child(even)>div{grid-column:1;grid-row:1;}
.ewl-va [data-featgrid]>div>img{height:clamp(200px,22vw,260px);border-radius:8px;}
.ewl-va [data-featgrid]>div>div{padding:0;}
.ewl-va [data-featgrid]>div>div>div:nth-child(2){font-size:clamp(18px,2.2vw,22px);letter-spacing:-0.01em;}
.ewl-va [data-featgrid]>div>div>div:nth-child(3){font-size:15px;line-height:1.9;}
/* details はテーマが summary::after に「+」を注入する(LP側に自前の＋があるので消す) */
/* テーマが details に padding-bottom:20px を付けるため、閉じた状態で下に余白が残り
   サマリーが上下中心からずれる (= 2026-08-18 指摘)。中身側は自前の padding を持つ。 */
.ewl-va details{padding:0 !important;}
.ewl-va details>summary{list-style:none;cursor:pointer;}
.ewl-va details>summary::-webkit-details-marker{display:none;}
.ewl-va details>summary::after{content:none !important;display:none !important;}
.ewl-va details>summary::marker{content:none;}
/* カード行/ピルの hover (LP側の style-hover 相当) */
.ewl-va #tv-list a:hover{background:#F7FAFE;text-decoration:none;}
.ewl-va #tv-vpills button:hover,.ewl-va #tv-rpills button:hover,.ewl-va #tv-spills button:hover,.ewl-va #tv-reset:hover{border-color:#0081FC !important;}
/* テーマが本文の <a> を全幅ボタン化する対策(既知の罠①) */
.ewl-va #tv-list a,.ewl-va #tv-note a{width:auto !important;box-shadow:none !important;}
@media (prefers-reduced-motion: reduce){.ewl-va #tv-list{transition:none !important;}}
/* カード行: inline style が剥がされてもレイアウトが保つよう CSS 側でも担保(金額は右端) */
.ewl-va #tv-list a{display:flex !important;flex-wrap:wrap;align-items:center;gap:2px 8px;padding:13px 16px !important;background:none !important;text-decoration:none !important;}
.ewl-va #tv-list a>span:first-child{flex:0 1 330px;min-width:0;display:flex !important;align-items:center;gap:8px;}
.ewl-va #tv-list a>span:last-child{flex:1 1 240px;display:flex !important;align-items:center;gap:8px;}
.ewl-va #tv-list a>span:last-child>span:nth-child(3){margin-left:auto;text-align:right;}

/* 日本語が文節の途中で折り返すのを避ける (Chrome/Edge等が対応。非対応ブラウザは無視) */
.ewl-va p,.ewl-va li,.ewl-va summary{word-break:auto-phrase;}
/* テーマが本文画像に max-width:90% を掛けるためヒーローが全幅にならない (= 2026-08-18 実測) */
.ewl-va [data-hero-img] img{max-width:none !important;width:100% !important;}
/* ワクチンピルは主要7種を既定表示。残りは「すべてのワクチンを表示」で展開 */
.ewl-va #tv-vpills:not(.open) .tv-extra{display:none !important;}
.ewl-va #tv-vmore{display:inline-block !important;}
/* テーマが th を白文字にするので、表の行見出し(ワクチン名)が読めなくなるのを防ぐ */
.ewl-va tbody th{color:#1A1A1A !important;}
/* カルーセルで中央に来たカードを強調(ピル・矢印・ドット操作時に効く) */
.ewl-va .va-carousel > *{transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;}
.ewl-va .va-carousel > .is-center{transform:scale(1.03);box-shadow:0 10px 28px -12px rgba(16,98,176,.35);border-color:#0081FC !important;}
@media (prefers-reduced-motion:reduce){.ewl-va .va-carousel > *{transition:none;}.ewl-va .va-carousel > .is-center{transform:none;}}

/* 美容ページ(.ewl-beauty)では固定バナー・チャットボタンをベージュ系に */
body:has(.ewl-lp.ewl-beauty) #wv_headbtn a,body:has(.ewl-lp.ewl-beauty) #wv_headbtn li{background-color:#8A7B68 !important;}
body:has(.ewl-lp.ewl-beauty) #wv_headbtn *{color:#fff !important;}

body:has(.ewl-lp.ewl-beauty) .wacb-chat-icon{background-color:#8A7B68 !important;}

/* 美容ページ: SP下部の固定バー(#sp_footer)もベージュに */
body:has(.ewl-lp.ewl-beauty) #sp_footer a,body:has(.ewl-lp.ewl-beauty) #sp_footer li{background-color:#8A7B68 !important;}
body:has(.ewl-lp.ewl-beauty) #sp_footer *{color:#fff !important;}

/* 美容ページ: 見出し・英字を明朝で統一(テーマCSSに勝たせる) */
.ewl-lp.ewl-beauty [data-hero-text] div,.ewl-lp.ewl-beauty [data-hero-en],.ewl-lp.ewl-beauty section > div > div:nth-child(2),.ewl-lp.ewl-beauty .va-mincho{font-family:'YakuHanMP','Shippori Mincho','Yu Mincho','Hiragino Mincho ProN',serif !important;}
.ewl-lp.ewl-beauty [data-hero-en]{font-family:'Cormorant Infant','Shippori Mincho',serif !important;font-weight:400 !important;}

/* 美容ページ: 本文も明朝(しっぽり明朝)で統一。ボタン・ラベルはゴシックのまま */
.ewl-lp.ewl-beauty p,.ewl-lp.ewl-beauty li,.ewl-lp.ewl-beauty td,.ewl-lp.ewl-beauty th,.ewl-lp.ewl-beauty summary,.ewl-lp.ewl-beauty details div,.ewl-lp.ewl-beauty .va-hero-line,.ewl-lp.ewl-beauty section div{font-family:'YakuHanMP','Shippori Mincho','Yu Mincho','Hiragino Mincho ProN',serif !important;}
.ewl-lp.ewl-beauty a[href*='reserve'],.ewl-lp.ewl-beauty a[href*='line.me'],.ewl-lp.ewl-beauty .va-ptab{font-family:'Noto Sans JP','Hiragino Sans',sans-serif !important;letter-spacing:0.06em;}
.ewl-lp.ewl-beauty p{line-height:2.05 !important;letter-spacing:0.045em !important;}

/* 美容ページ: 全体を明朝に。ボタン・タブ・バッジのみゴシック */
.ewl-lp.ewl-beauty,.ewl-lp.ewl-beauty *{font-family:'YakuHanMP','Shippori Mincho','Yu Mincho','Hiragino Mincho ProN',serif !important;}
.ewl-lp.ewl-beauty [data-hero-en]{font-family:'Cormorant Infant','Shippori Mincho',serif !important;}
.ewl-lp.ewl-beauty [data-hero-cta] a,.ewl-lp.ewl-beauty #reserve a,.ewl-lp.ewl-beauty .va-ptab,.ewl-lp.ewl-beauty .va-circ span:last-child,.ewl-lp.ewl-beauty .va-prow span{font-family:'Noto Sans JP','Hiragino Sans',sans-serif !important;}
/* 美容ページ: 固定バナー・チャット・ハンバーガーをベージュに */
body:has(.ewl-lp.ewl-beauty) #mobile{background-color:#8A7B68 !important;}

/* WEVERYテーマがヒーロー写真のimgに左右paddingを当てるため、object-fitの描画が内側に縮む(実測16.9px) */
.ewl-va [data-hero-img] img,.ewl-va [data-hero-img]{padding:0 !important;}

/* ヒーローのクロスフェード(トップページ)。土台は背景画像なので、切替の隙間や
   prefers-reduced-motion でも必ず1枚目が見える */
/* 表示中はゆっくり寄る(用賀ライクのケンバーンズ)。切替の隙間が出ないよう
   フェードと同じキーフレームで scale も動かす */
/* 画像の切替は右から左へのワイプ(ページを捲る動き)。z-index を段階で入れ替え、
   常に最前面の1枚が右端から現れて左へ抜けていくように見せる */
/* 2026-08-22: 用賀方式に変更。画像は常時ゆっくり左へ流れ(ewlHeroMove)、
   その上をマスクが左へ抜けて次の1枚に切り替わる(ewlHeroFade)。
   拡大(scale)ではなく横移動にすることで「流れてページがめくれる」動きになる。 */
@keyframes ewlHeroFade{
  0%{clip-path:inset(0 0 0 100%);z-index:3}
  8%{clip-path:inset(0 0 0 0);z-index:3}
  33%{clip-path:inset(0 0 0 0);z-index:3}
  34%{clip-path:inset(0 0 0 0);z-index:1}
  99.9%{clip-path:inset(0 0 0 0);z-index:1}
  100%{clip-path:inset(0 0 0 100%);z-index:1}}
@keyframes ewlHeroMove{
  0%{transform:translateX(0) scale(1.10)}
  33%{transform:translateX(-3.2%) scale(1.10)}
  99.9%{transform:translateX(-6.4%) scale(1.10)}
  100%{transform:translateX(0) scale(1.10)}}
.ewl-va .va-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1;clip-path:inset(0 0 0 100%);
  animation:ewlHeroFade 15s linear infinite both;will-change:clip-path;backface-visibility:hidden;}
/* 画像そのものを流す層。clip-path と transform を別要素に分けないと相殺されるため、
   スライドを wrapper 化せず transform だけ別アニメーションで重ねる */
.ewl-va .va-slide{animation:ewlHeroFade 15s linear infinite both, ewlHeroMove 15s linear infinite both;
  transform-origin:center center;}
@media (prefers-reduced-motion:reduce){.ewl-va .va-slide{animation:none !important;opacity:0 !important;}}

/* WEVERYテーマが table th に青背景を当てるため、LP内の表は自前の見た目に戻す */
.ewl-lp.ewl-va table th,.ewl-lp.ewl-va table td{background:transparent !important;background-color:transparent !important;}
.ewl-lp.ewl-va #hours table{table-layout:fixed;}
/* 診療時間: PCは7曜日の表 / SPは曜日をまとめた縦並び */
.ewl-lp.ewl-va .va-hours-sp{display:none !important;}

/* トップの NEWS: WEVERYの[wv_news]出力(dl/dt/dd)を日付+タイトルの一覧に見せる */
.ewl-lp .va-news section.column,.ewl-lp .va-news article{margin:0 !important;padding:0 !important;}
.ewl-lp .va-news dl{margin:0 !important;padding:0 !important;overflow:visible !important;height:auto !important;max-height:none !important;}
.ewl-lp .va-news dd{display:none !important;}
.ewl-lp .va-news dt{display:flex !important;flex-direction:row !important;flex-wrap:nowrap !important;align-items:baseline !important;gap:16px;margin:0 !important;
  padding:11px 2px !important;border-bottom:1px solid #E8EEF4;font-weight:400 !important;}
.ewl-lp .va-news dt:nth-of-type(n+4){display:none !important;}
.ewl-lp .va-news dt .newsdate{order:-1;flex:0 0 auto;color:#6B7C8A;font-size:12.5px;font-weight:400;white-space:nowrap;font-variant-numeric:tabular-nums;}
.ewl-lp .va-news dt strong{flex:1 1 auto;min-width:0;color:#0B2B45;font-size:14.5px;font-weight:700;line-height:1.65;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;}

/* トップ INFORMATION の診療時間表: テーマの罫線グリッドを外し、下線だけにする */
.ewl-lp.ewl-va #info table{border:0 !important;}
.ewl-lp.ewl-va #info table th,.ewl-lp.ewl-va #info table td{border:0 !important;border-bottom:1px solid #E8EEF4 !important;white-space:nowrap !important;}
.ewl-lp.ewl-va #info table thead th{border-bottom:2px solid #1062B0 !important;}

/* ヒーローのスライド画像: テーマの img 指定(高さ・余白・最大幅)を全て打ち消す */
.ewl-lp .va-slide{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;
  max-width:none !important;max-height:none !important;min-height:0 !important;padding:0 !important;margin:0 !important;
  object-fit:cover !important;border-radius:0 !important;}

/* テーマは .newsdate を position:absolute、strong に padding-top:25px を当てて2段組みにする。
   1行(日付 + タイトル)にするため両方を打ち消す */
.ewl-lp .va-news dt .newsdate{position:static !important;top:auto !important;left:auto !important;right:auto !important;}
.ewl-lp .va-news dt strong{padding:0 !important;margin:0 !important;}

/* 診療のご案内: 写真はマウスオーバーで少し拡大(枠内でズーム) */
.ewl-lp.ewl-va #menu a img{transition:transform .55s cubic-bezier(.2,.7,.3,1);}
.ewl-lp.ewl-va #menu a:hover img,.ewl-lp.ewl-va #menu a:focus-visible img{transform:scale(1.08);}
.ewl-lp.ewl-va #menu a:hover > div:last-of-type{opacity:.85;}
@media (prefers-reduced-motion:reduce){.ewl-lp.ewl-va #menu a img{transition:none !important;}
  .ewl-lp.ewl-va #menu a:hover img{transform:none !important;}}

/* 疾患カード(用賀型): ホバーで写真をゆっくりズーム */
.ewl-lp.ewl-va .va-dcard img{transition:transform .6s cubic-bezier(.2,.7,.3,1);}
.ewl-lp.ewl-va .va-dcard:hover img,.ewl-lp.ewl-va .va-dcard:focus-visible img{transform:scale(1.07);}
@media (prefers-reduced-motion:reduce){.ewl-lp.ewl-va .va-dcard img{transition:none !important;}
  .ewl-lp.ewl-va .va-dcard:hover img{transform:none !important;}}

/* コラムカード: ホバーで写真をズーム */
.ewl-lp.ewl-va .va-bcard img{transition:transform .55s cubic-bezier(.2,.7,.3,1);}
.ewl-lp.ewl-va .va-bcard:hover img,.ewl-lp.ewl-va .va-bcard:focus-visible img{transform:scale(1.06);}
@media (prefers-reduced-motion:reduce){.ewl-lp.ewl-va .va-bcard img{transition:none !important;}
  .ewl-lp.ewl-va .va-bcard:hover img{transform:none !important;}}

/* テーマのヘッダーは z-index:1 のため、LPのセクション(z-index 3〜5)に隠れて
   グローバルメニューのドロップダウンが見えなくなる。ヘッダーを最前面に上げる */
body #gNav{z-index:130 !important;}
body #gNav ul li ul,body #gNav .sub-menu{z-index:131 !important;}

/* 固定タブ(first-aid型): 画面下に白いタブを並べる。バー全面ではなくタブ単体を置く */
body:has(.ewl-lp.ewl-va) #wv_headbtn{position:fixed !important;left:0 !important;right:auto !important;bottom:0 !important;
  top:auto !important;width:auto !important;max-width:100vw !important;height:auto !important;z-index:150 !important;
  background:transparent !important;box-shadow:none !important;padding:0 0 0 clamp(8px,3vw,64px) !important;}
body:has(.ewl-lp.ewl-va) #wv_headbtn ul{display:flex !important;align-items:flex-end !important;gap:6px !important;
  margin:0 !important;padding:0 !important;list-style:none !important;width:auto !important;}
body:has(.ewl-lp.ewl-va) #wv_headbtn ul li{flex:0 0 auto !important;margin:0 !important;width:auto !important;}
body:has(.ewl-lp.ewl-va) #wv_headbtn ul li a{display:flex !important;align-items:center !important;justify-content:center !important;
  gap:9px !important;width:auto !important;min-width:clamp(130px,13vw,176px) !important;height:58px !important;
  padding:0 18px !important;border-radius:10px 10px 0 0 !important;border:1px solid #1062B0 !important;border-bottom:0 !important;
  background:#fff !important;color:#1062B0 !important;font-size:14px !important;font-weight:700 !important;
  line-height:1.3 !important;text-decoration:none !important;box-shadow:0 -4px 16px rgba(11,43,69,0.08) !important;}
body:has(.ewl-lp.ewl-va) #wv_headbtn ul li a .spf_word{font-size:14px !important;}
body:has(.ewl-lp.ewl-va) #wv_headbtn ul li a .spf_word br{display:none !important;}
body:has(.ewl-lp.ewl-va) #wv_headbtn ul li a::before{font-family:'Material Icons';font-size:21px;font-weight:400;line-height:1;
  -webkit-font-feature-settings:'liga';font-feature-settings:'liga';}
body:has(.ewl-lp.ewl-va) #footer,body:has(.ewl-lp.ewl-va) footer{padding-bottom:76px !important;}

/* 3剤比較: 見出し帯の高さを列間で揃える(subgrid) */
.ewl-lp.ewl-beauty .va-cmp{grid-template-rows:auto 1fr;}
.ewl-lp.ewl-beauty .va-cmp > div{display:grid !important;grid-row:span 2;grid-template-rows:subgrid;}

/* PCもチャットボタンが固定タブに重なるため上に逃がす */
body:has(.ewl-lp.ewl-va) #wacb-chat-icon{bottom:74px !important;}

/* 追加タブ(電話/診療時間/アクセス)のアイコン と LINEアイコンの差し替え */

body:has(.ewl-lp.ewl-va) #wv_headbtn ul li a{min-width:clamp(104px,10vw,148px) !important;padding:0 14px !important;font-size:13.5px !important;}
body:has(.ewl-lp.ewl-va) #wv_headbtn ul li a .spf_word{font-size:13.5px !important;}

/* 固定タブ: オンライン診療を外し、電話→WEB予約→LINE→診療時間→アクセス の順に */
body:has(.ewl-lp.ewl-va) #wv_headbtn ul li:nth-child(3),
body:has(.ewl-lp.ewl-va) #sp_footer ul li:nth-child(3){display:none !important;}
body:has(.ewl-lp.ewl-va) #wv_headbtn ul li.ewl-extra-tel,
body:has(.ewl-lp.ewl-va) #sp_footer ul li.ewl-extra-tel{order:-1 !important;}
body:has(.ewl-lp.ewl-va) #wv_headbtn ul li:nth-child(1),
body:has(.ewl-lp.ewl-va) #sp_footer ul li:nth-child(1){order:1 !important;}
body:has(.ewl-lp.ewl-va) #wv_headbtn ul li:nth-child(2),
body:has(.ewl-lp.ewl-va) #sp_footer ul li:nth-child(2){order:2 !important;}
body:has(.ewl-lp.ewl-va) #wv_headbtn ul li.ewl-extra-hours,
body:has(.ewl-lp.ewl-va) #sp_footer ul li.ewl-extra-hours{order:3 !important;}
body:has(.ewl-lp.ewl-va) #wv_headbtn ul li.ewl-extra-access,
body:has(.ewl-lp.ewl-va) #sp_footer ul li.ewl-extra-access{order:4 !important;}

/* ポップアップ内の表はテーマの色指定を打ち消す */
.ewl-modal table,.ewl-modal th,.ewl-modal td{background:transparent !important;background-color:transparent !important;border:0 !important;}
.ewl-modal thead th{border-bottom:2px solid #1062B0 !important;}
.ewl-modal tbody th,.ewl-modal tbody td{border-bottom:1px solid #E8EEF4 !important;}
.ewl-modal th{color:#0B2B45 !important;font-weight:700 !important;}

/* テーマが img に左右paddingを当てるため、LP内の画像は全て打ち消す
   (ヒーロー以外のカード画像でも枠に対して縮んで描画されるため) */
.ewl-lp img{padding:0 !important;}

/* PCタブのアイコン(SPと同じ線画) */
body:has(.ewl-lp.ewl-va) #wv_headbtn ul li a::before{content:'' !important;width:20px;height:20px;background-repeat:no-repeat;background-position:center;background-size:contain;}
body:has(.ewl-lp.ewl-va) #wv_headbtn ul li:nth-child(1) a::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231062B0' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><rect x='3.5' y='5' width='17' height='15' rx='2.5'/><path d='M8 3v4M16 3v4M3.5 10h17'/></svg>");}
body:has(.ewl-lp.ewl-va) #wv_headbtn ul li:nth-child(2) a::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231062B0' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M21 10.2c0-4-4-7.2-9-7.2S3 6.2 3 10.2c0 3.6 3.2 6.6 7.5 7.1.3 0 .7.2.8.4.1.2.1.6 0 .8l-.2 1c0 .3-.2.9.8.5s5.3-3.1 7.2-5.3C20.4 13.4 21 11.9 21 10.2z'/><path d='M8 8.6v3.2h2M12 8.6v3.2M14.4 11.8V8.6l2.2 3.2V8.6'/></svg>");}
body:has(.ewl-lp.ewl-va) #wv_headbtn ul li.ewl-extra-tel a::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231062B0' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M6.5 3h3l1.5 4-2 1.5a12 12 0 0 0 6.5 6.5l1.5-2 4 1.5v3a2 2 0 0 1-2.2 2A17 17 0 0 1 4.5 5.2 2 2 0 0 1 6.5 3z'/></svg>");}
body:has(.ewl-lp.ewl-va) #wv_headbtn ul li.ewl-extra-hours a::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231062B0' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='8.5'/><path d='M12 7.2v5.1l3.2 1.9'/></svg>");}
body:has(.ewl-lp.ewl-va) #wv_headbtn ul li.ewl-extra-access a::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231062B0' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M12 21s6.5-5.4 6.5-10.4A6.5 6.5 0 0 0 5.5 10.6C5.5 15.6 12 21 12 21z'/><circle cx='12' cy='10.4' r='2.4'/></svg>");}

/* 自費(美容テーマ)のページでは固定タブもベージュのトーンに合わせる */
body:has(.ewl-lp.ewl-beauty) #sp_footer ul{border-color:#8A7B68 !important;}
body:has(.ewl-lp.ewl-beauty) #sp_footer ul li{border-right-color:#8A7B68 !important;}
body:has(.ewl-lp.ewl-beauty) #sp_footer ul li a,
body:has(.ewl-lp.ewl-beauty) #sp_footer ul li a .spf_word{color:#8A7B68 !important;}
body:has(.ewl-lp.ewl-beauty) #wv_headbtn ul li a{border-color:#8A7B68 !important;color:#8A7B68 !important;}
body:has(.ewl-lp.ewl-beauty) #wv_headbtn ul li a .spf_word{color:#8A7B68 !important;}
body:has(.ewl-lp.ewl-beauty) .ewl-modal{background:#F7F4EF !important;border-top-color:#8A7B68 !important;}
body:has(.ewl-lp.ewl-beauty) .ewl-modal thead th{border-bottom-color:#8A7B68 !important;}
body:has(.ewl-lp.ewl-beauty) .ewl-modal td{color:#8A7B68 !important;}
body:has(.ewl-lp.ewl-beauty) #sp_footer ul li a[style*="background"],
body:has(.ewl-lp.ewl-beauty) #wv_headbtn ul li a[style*="background"]{background:#8A7B68 !important;}
body:has(.ewl-lp.ewl-beauty) #sp_footer ul li:nth-child(1) a i.material-icons{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A7B68' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><rect x='3.5' y='5' width='17' height='15' rx='2.5'/><path d='M8 3v4M16 3v4M3.5 10h17'/></svg>") !important;}
body:has(.ewl-lp.ewl-beauty) #wv_headbtn ul li:nth-child(1) a::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A7B68' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><rect x='3.5' y='5' width='17' height='15' rx='2.5'/><path d='M8 3v4M16 3v4M3.5 10h17'/></svg>") !important;}
body:has(.ewl-lp.ewl-beauty) #sp_footer ul li:nth-child(2) a i.material-icons{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A7B68' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M21 10.2c0-4-4-7.2-9-7.2S3 6.2 3 10.2c0 3.6 3.2 6.6 7.5 7.1.3 0 .7.2.8.4.1.2.1.6 0 .8l-.2 1c0 .3-.2.9.8.5s5.3-3.1 7.2-5.3C20.4 13.4 21 11.9 21 10.2z'/><path d='M8 8.6v3.2h2M12 8.6v3.2M14.4 11.8V8.6l2.2 3.2V8.6'/></svg>") !important;}
body:has(.ewl-lp.ewl-beauty) #wv_headbtn ul li:nth-child(2) a::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A7B68' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M21 10.2c0-4-4-7.2-9-7.2S3 6.2 3 10.2c0 3.6 3.2 6.6 7.5 7.1.3 0 .7.2.8.4.1.2.1.6 0 .8l-.2 1c0 .3-.2.9.8.5s5.3-3.1 7.2-5.3C20.4 13.4 21 11.9 21 10.2z'/><path d='M8 8.6v3.2h2M12 8.6v3.2M14.4 11.8V8.6l2.2 3.2V8.6'/></svg>") !important;}
body:has(.ewl-lp.ewl-beauty) #sp_footer ul li.ewl-extra-tel a i.material-icons{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A7B68' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M6.5 3h3l1.5 4-2 1.5a12 12 0 0 0 6.5 6.5l1.5-2 4 1.5v3a2 2 0 0 1-2.2 2A17 17 0 0 1 4.5 5.2 2 2 0 0 1 6.5 3z'/></svg>") !important;}
body:has(.ewl-lp.ewl-beauty) #wv_headbtn ul li.ewl-extra-tel a::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A7B68' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M6.5 3h3l1.5 4-2 1.5a12 12 0 0 0 6.5 6.5l1.5-2 4 1.5v3a2 2 0 0 1-2.2 2A17 17 0 0 1 4.5 5.2 2 2 0 0 1 6.5 3z'/></svg>") !important;}
body:has(.ewl-lp.ewl-beauty) #sp_footer ul li.ewl-extra-hours a i.material-icons{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A7B68' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='8.5'/><path d='M12 7.2v5.1l3.2 1.9'/></svg>") !important;}
body:has(.ewl-lp.ewl-beauty) #wv_headbtn ul li.ewl-extra-hours a::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A7B68' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='8.5'/><path d='M12 7.2v5.1l3.2 1.9'/></svg>") !important;}
body:has(.ewl-lp.ewl-beauty) #sp_footer ul li.ewl-extra-access a i.material-icons{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A7B68' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M12 21s6.5-5.4 6.5-10.4A6.5 6.5 0 0 0 5.5 10.6C5.5 15.6 12 21 12 21z'/><circle cx='12' cy='10.4' r='2.4'/></svg>") !important;}
body:has(.ewl-lp.ewl-beauty) #wv_headbtn ul li.ewl-extra-access a::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A7B68' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M12 21s6.5-5.4 6.5-10.4A6.5 6.5 0 0 0 5.5 10.6C5.5 15.6 12 21 12 21z'/><circle cx='12' cy='10.4' r='2.4'/></svg>") !important;}

/* ===== 透過ヘッダー(ヒーローを画面上端まで / .ewl-hero-top) =====
   ヒーロー写真を暗幕で落として白文字にするため、サイトヘッダーも透過+白文字にする。
   ドロップダウン(#gNav の子メニュー)は白背景なので、色替えは第1階層のリンクだけに限定する。 */
#wrapper:has(.ewl-lp.ewl-hero-top) #header,
#wrapper:has(.ewl-lp.ewl-hero-top) #gNav{background:transparent !important;background-image:none !important;box-shadow:none !important;border:0 !important;}
#wrapper:has(.ewl-lp.ewl-hero-top) #header{position:relative;z-index:60;}
#wrapper:has(.ewl-lp.ewl-hero-top) #gNav{position:relative;z-index:130;}

#wrapper:has(.ewl-lp.ewl-hero-top) #header .header_text p,
#wrapper:has(.ewl-lp.ewl-hero-top) #header .header_address p,
#wrapper:has(.ewl-lp.ewl-hero-top) #header .header_address a,
#wrapper:has(.ewl-lp.ewl-hero-top) #header .header_week p,
#wrapper:has(.ewl-lp.ewl-hero-top) #header .header_week a,
#wrapper:has(.ewl-lp.ewl-hero-top) #header .header_tel .tel,
#wrapper:has(.ewl-lp.ewl-hero-top) #header .header_tel i,
#wrapper:has(.ewl-lp.ewl-hero-top) #gNav > ul > li > a{color:#fff !important;text-shadow:0 1px 10px rgba(0,0,0,.45) !important;}
#wrapper:has(.ewl-lp.ewl-hero-top) #gNav > ul > li{border-color:rgba(255,255,255,.35) !important;}
/* ヒーローを画面上端まで引き上げる(値は kit_JS が実測して --ewl-hdr に入れる) */
.ewl-lp.ewl-hero-top{margin-top:calc(-1 * var(--ewl-hdr, 96px)) !important;}

/* ===== ヘッダー刷新 v2 ( / テスト中) =====
   ロゴ縮小・パンくずをヘッダー下へ・余白詰め・自費はモノクロ。
   ヘッダーは position:absolute なので、パンくず(#breadcrumbs)が下に潜り込む。
   実測した高さを kit_JS が --ewl-h2 に入れ、その分だけ本文を下げる。 */
#wrapper:has(.ewl-lp) #header .cliniclogo_img{width:auto !important;height:46px !important;max-width:none !important;}
#wrapper:has(.ewl-lp) #header{height:auto !important;min-height:0 !important;padding:0 0 8px !important;}
/* ロゴ: flex で左寄せ + 上下中央。ナビの中心( #gNav top + 32 )と一致させる */
#wrapper:has(.ewl-lp) #header h1{position:static !important;display:flex !important;align-items:center !important;justify-content:flex-start !important;margin:0 !important;padding:0 !important;height:72px !important;min-height:0 !important;}
#wrapper:has(.ewl-lp) #gNav{top:4px !important;}
/* ロゴ画像はインラインでベースラインから上にはみ出すため、ブロック化して padding で位置を決める */
#wrapper:has(.ewl-lp) #header h1{text-align:left !important;}
#wrapper:has(.ewl-lp) #header h1 a,
#wrapper:has(.ewl-lp) #header .cliniclogo{display:inline-block !important;vertical-align:top !important;line-height:0 !important;}
#wrapper:has(.ewl-lp) #header .cliniclogo_img{display:block !important;margin-top:13px !important;margin-bottom:8px !important;}
#wrapper:has(.ewl-lp) #breadcrumbs{position:relative;z-index:2;box-sizing:border-box;width:100%;max-width:1240px;margin:var(--ewl-h2,95px) auto 0 !important;padding:10px 0 0 !important;font-size:11px !important;color:#7C8A99 !important;letter-spacing:.02em;}
#wrapper:has(.ewl-lp) #breadcrumbs a{color:#7C8A99 !important;}

/* 画像とCTAの間を詰める */
#wrapper:has(.ewl-lp) [data-hero-cta]{padding-top:0 !important;}
/* 自費(美容)ページ: ロゴをモノクロにしてトーンを揃える */
#wrapper:has(.ewl-lp.ewl-beauty) #header .cliniclogo_img{filter:grayscale(1) contrast(.92) opacity(.86);}

/* ===== 固定ヘッダー() ===== */
#wrapper:has(.ewl-lp) #header{position:fixed !important;top:0 !important;left:0 !important;right:0 !important;width:100% !important;max-width:none !important;z-index:120 !important;background:#fff !important;box-shadow:0 1px 0 rgba(11,43,69,.08);padding:0 max(20px,calc((100% - 1240px) / 2)) 0 max(20px,calc((100% - 1240px) / 2)) !important;}
#wrapper:has(.ewl-lp.ewl-beauty) #header{background:#F7F4EF !important;box-shadow:0 1px 0 rgba(110,97,83,.16);}


/* 自費(ベージュ)の固定タブ: 角丸の外側にテーマの背景色が残るため、li 側も透過にする */
body:has(.ewl-lp.ewl-beauty) #wv_headbtn,
body:has(.ewl-lp.ewl-beauty) #wv_headbtn ul,
body:has(.ewl-lp.ewl-beauty) #wv_headbtn li{background:transparent !important;background-image:none !important;box-shadow:none !important;}
body:has(.ewl-lp.ewl-beauty) #wv_headbtn li{border:0 !important;padding:0 !important;margin:0 4px 0 0 !important;overflow:visible !important;}
body:has(.ewl-lp.ewl-beauty) #wv_headbtn li a{overflow:hidden !important;}

/* 料金フィルタ: 「すべて見る」で展開するまで追加ピルを隠す
   (ボタンにインライン style があるため hidden 属性だけでは消えない) */
.va-ptab[data-more][hidden]{display:none !important;}


/* トラベル外来の絞り込みピル: 主要のみ表示し、「すべて見る」で残りを出す
   (ページ側は .tv-extra を付けるだけで、隠す指定が無かった) */
.ewl-lp #tv-vpills .tv-extra{display:none !important;}
.ewl-lp #tv-vpills.open .tv-extra{display:inline-flex !important;}



/* 絞り込みピルの「展開」操作は、ピルと見分けがつくようテキストリンク型にする */
.ewl-lp .va-more,.ewl-lp .tv-more{display:inline-flex !important;align-items:center;gap:5px;margin:10px 0 0;padding:4px 2px !important;
  background:none !important;border:0 !important;border-radius:0 !important;color:#5A7186 !important;font-size:12.5px;font-weight:600;
  line-height:1.4;letter-spacing:.02em;cursor:pointer;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#B9CBDA;}
.ewl-lp .va-more:hover,.ewl-lp .tv-more:hover{color:#1062B0 !important;text-decoration-color:#1062B0;}
.ewl-lp .va-more svg,.ewl-lp .tv-more svg{transition:transform .2s ease;}
.ewl-lp .va-more[aria-expanded="true"] svg,.ewl-lp .tv-more[aria-expanded="true"] svg{transform:rotate(180deg);}
.ewl-lp.ewl-beauty .va-more,.ewl-lp.ewl-beauty .tv-more{color:#8A7B68 !important;text-decoration-color:#CFC5B6;}


/* ページトップへ戻る */
.ewl-pagetop{position:fixed;left:clamp(8px,1.4vw,20px);bottom:96px;z-index:118;display:flex;flex-direction:column;align-items:center;gap:10px;
  padding:0;background:none;border:0;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .3s ease,transform .3s ease,visibility .3s;}
.ewl-pagetop.show{opacity:1;visibility:visible;transform:translateY(0);}
.ewl-pagetop .ewl-pt-line{display:block;width:1px;height:clamp(40px,5vw,64px);background:#9DB4C7;}
.ewl-pagetop .ewl-pt-txt{writing-mode:vertical-rl;text-orientation:mixed;font-family:'Cormorant Infant','Shippori Mincho',serif;
  font-size:12px;letter-spacing:.18em;color:#5A7186;line-height:1;}
.ewl-pagetop:hover .ewl-pt-line{background:#1062B0;}
.ewl-pagetop:hover .ewl-pt-txt{color:#1062B0;}
.ewl-pagetop-beauty .ewl-pt-line{background:#C3B8A6;}
.ewl-pagetop-beauty .ewl-pt-txt{color:#8A7B68;}
.ewl-pagetop-beauty:hover .ewl-pt-line{background:#6E6153;}
.ewl-pagetop-beauty:hover .ewl-pt-txt{color:#6E6153;}


/* ヒーローの文字は、ロゴ → 見出し → 説明 の順に現れる */
@keyframes ewlHeroIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
[data-hero-full] [data-hero-center] > *{opacity:0;animation:ewlHeroIn 1.1s cubic-bezier(.22,.61,.36,1) forwards;}
[data-hero-full] [data-hero-center] > *:nth-child(1){animation-delay:.25s;}
[data-hero-full] [data-hero-center] > *:nth-child(2){animation-delay:.85s;}
[data-hero-full] [data-hero-center] > *:nth-child(3){animation-delay:1.10s;}
[data-hero-full] [data-hero-center] > *:nth-child(4){animation-delay:1.35s;}
[data-hero-full] [data-hero-center] > *:nth-child(5){animation-delay:1.75s;}
[data-hero-full] [data-hero-center] > *:nth-child(6){animation-delay:1.95s;}
[data-hero-full] [data-hero-circles]{opacity:0;animation:ewlHeroIn 1.1s cubic-bezier(.22,.61,.36,1) 2.3s forwards;}
@media (prefers-reduced-motion:reduce){
  [data-hero-full] [data-hero-center] > *,[data-hero-full] [data-hero-circles]{animation:none !important;opacity:1 !important;}}


/* グローバルナビのドロップダウン(用賀ライク)。診療科案内・自由診療・当院についてなど全てに効く */
#gNav li ul{background:#fff !important;border:0 !important;border-radius:0 0 14px 14px !important;
  box-shadow:0 18px 40px rgba(11,43,69,.14) !important;padding:10px 0 12px !important;overflow:hidden;
  opacity:0;transform:translateY(-8px);transition:opacity .28s ease,transform .28s cubic-bezier(.22,.61,.36,1);}
#gNav li:hover > ul,#gNav li:focus-within > ul{opacity:1;transform:translateY(0);}
#gNav li ul li{border-bottom:1px solid #EDF2F7 !important;background:transparent !important;}
#gNav li ul li:last-child{border-bottom:0 !important;}
#gNav li ul li a{display:block !important;padding:13px 22px !important;color:#0B2B45 !important;
  font-size:13.5px !important;font-weight:600;letter-spacing:.04em;line-height:1.5;text-shadow:none !important;
  background:transparent !important;transition:background .2s ease,padding-left .2s ease;}
#gNav li ul li a:hover{background:#F2F7FC !important;padding-left:27px !important;color:#1062B0 !important;}


/* ===== トップのヒーロー(全画面・ロゴ入り)の仕上げ ===== */
/* 白ロゴ・白ナビが写真に負けないよう、上部だけ暗い帯を敷く */
[data-hero-full]::before{content:"";position:absolute;left:0;right:0;top:0;height:clamp(160px,22vh,260px);z-index:2;
  background:linear-gradient(180deg,rgba(6,22,38,.55) 0%,rgba(6,22,38,.28) 45%,rgba(6,22,38,0) 100%);pointer-events:none;}
[data-hero-full]::after{content:"";position:absolute;left:0;right:0;bottom:0;height:clamp(140px,20vh,240px);z-index:2;
  background:linear-gradient(0deg,rgba(6,22,38,.40) 0%,rgba(6,22,38,0) 100%);pointer-events:none;}
/* ヘッダーのロゴは白抜き + 影で視認性を確保 */

/* 文字の大小でメリハリを付ける(1=ロゴ / 2=診療科 / 3=アクセス / 4=主コピー / 5=副コピー) */
[data-hero-full] [data-hero-center] > *:nth-child(2){
  font-size:clamp(13px,1.5vw,16px) !important;font-weight:600 !important;letter-spacing:.22em !important;
  margin-top:clamp(14px,2vw,22px) !important;opacity:.95;}
[data-hero-full] [data-hero-center] > *:nth-child(3){
  font-size:clamp(11px,1.15vw,13px) !important;font-weight:400 !important;letter-spacing:.06em !important;
  margin-top:8px !important;opacity:.85;}
[data-hero-full] [data-hero-center] > *:nth-child(4){
  font-size:clamp(24px,3.6vw,44px) !important;font-weight:700 !important;letter-spacing:.04em !important;
  line-height:1.45 !important;margin-top:clamp(26px,3.4vw,44px) !important;}
[data-hero-full] [data-hero-center] > *:nth-child(5){
  font-size:clamp(15px,1.9vw,22px) !important;font-weight:500 !important;letter-spacing:.06em !important;
  margin-top:clamp(8px,1.2vw,14px) !important;opacity:.94;}

/* ===== ドロップダウンを用賀に寄せる(見出し+英字、2〜3列、各項目に下線と矢印) ===== */
#gNav li ul{background:#FAF8F5 !important;border-radius:0 0 16px 16px !important;
  box-shadow:0 24px 48px rgba(11,43,69,.16) !important;padding:26px 30px 28px !important;
  display:grid !important;grid-template-columns:repeat(2,minmax(190px,1fr)) !important;
  gap:0 34px !important;width:max-content !important;min-width:460px !important;}
#gNav li ul li{border-bottom:0 !important;background:transparent !important;width:auto !important;}
#gNav li ul li a{position:relative;display:block !important;padding:14px 26px 14px 2px !important;
  border-bottom:1px solid #DCD6CC !important;color:#332F2A !important;
  font-size:14px !important;font-weight:600;letter-spacing:.06em;line-height:1.5;
  text-shadow:none !important;background:transparent !important;transition:color .2s ease,padding-left .2s ease;}
#gNav li ul li a::after{content:"";position:absolute;right:6px;top:50%;width:6px;height:6px;
  border-top:1.5px solid #A79C8B;border-right:1.5px solid #A79C8B;transform:translateY(-60%) rotate(45deg);transition:right .2s ease;}
#gNav li ul li a:hover{color:#1062B0 !important;padding-left:8px !important;}
#gNav li ul li a:hover::after{right:2px;border-color:#1062B0;}


/* ===== 透過ヘッダーのロゴ: マークは3色のまま、クリニック名だけ白文字にする ===== */
#wrapper:has(.ewl-lp.ewl-hero-top) #header .cliniclogo_img{display:none !important;}
#wrapper:has(.ewl-lp.ewl-hero-top) #header h1 a{display:inline-flex !important;align-items:center;gap:clamp(10px,1.2vw,16px);
  text-decoration:none !important;}
.ewl-hdrlogo-mark{display:block;width:auto;height:clamp(44px,3.6vw,54px);flex:0 0 auto;
  filter:drop-shadow(0 2px 10px rgba(0,0,0,.45));}
.ewl-hdrlogo-text,.ewl-hdrlogo-dark{display:block;width:auto;height:clamp(26px,2.1vw,32px);}
.ewl-hdrlogo-text{filter:drop-shadow(0 2px 10px rgba(0,0,0,.5));}
.ewl-hdrlogo-dark{display:none;}
.ewl-hdrbar.is-stuck .ewl-hdrlogo-text{display:none;}
.ewl-hdrbar.is-stuck .ewl-hdrlogo-dark{display:block;}
.ewl-navlist{display:flex;align-items:center;gap:clamp(12px,1.6vw,28px);flex:0 1 auto;}
.ewl-navitem{position:relative;}
.ewl-navitem > a{display:inline-flex;align-items:center;gap:6px;padding:10px 2px;color:#fff !important;
  font-size:clamp(13px,1.02vw,15px);font-weight:600;letter-spacing:.06em;line-height:1.2;white-space:nowrap;
  text-decoration:none;text-shadow:0 1px 10px rgba(0,0,0,.45);}
.ewl-hdrbar.is-stuck .ewl-navitem > a{color:#0B2B45 !important;text-shadow:none;}
.ewl-navitem.has-sub > a::after{content:"";width:6px;height:6px;margin:0 0 2px 3px;
  border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg);
  transition:transform .2s ease,margin .2s ease;flex:0 0 auto;}
.ewl-navitem.has-sub:hover > a::after{transform:rotate(-135deg);margin-bottom:-2px;}

.ewl-ddpanel{position:absolute;left:0;top:100%;margin-top:12px;min-width:min(880px,86vw);
  display:grid;grid-template-columns:1fr auto;gap:0 30px;align-items:start;
  background:#FAF8F5;border-radius:0 0 16px 16px;box-shadow:0 24px 48px rgba(11,43,69,.16);
  padding:24px 30px 26px;opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity .28s ease,transform .28s cubic-bezier(.22,.61,.36,1),visibility .28s;}
.ewl-navitem:hover > .ewl-ddpanel,.ewl-navitem:focus-within > .ewl-ddpanel{opacity:1;visibility:visible;transform:translateY(0);}
.ewl-ddhead{grid-column:1 / -1;margin:0 0 16px;padding:0 0 14px;border-bottom:1px solid #DCD6CC;text-align:left;}
.ewl-ddhead b{display:block;color:#332F2A;font-size:16px;font-weight:700;letter-spacing:.10em;}
.ewl-ddhead span{display:block;margin-top:5px;color:#A79C8B;font-family:Afacad,'Helvetica Neue',Arial,sans-serif;
  font-size:11px;font-weight:600;letter-spacing:.16em;}
.ewl-ddgrid{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:0 30px;}
.ewl-ddphoto{display:block;width:clamp(150px,14vw,210px);height:auto;aspect-ratio:3 / 4;object-fit:cover;border-radius:6px;}
.ewl-ddgrid a{position:relative;display:block;padding:13px 26px 13px 2px;border-bottom:1px solid #DCD6CC;
  color:#332F2A;font-size:14px;font-weight:600;letter-spacing:.06em;line-height:1.5;text-decoration:none;
  transition:color .2s ease,padding-left .2s ease;}
.ewl-ddgrid a::after{content:"";position:absolute;right:6px;top:50%;width:6px;height:6px;
  border-top:1.5px solid #A79C8B;border-right:1.5px solid #A79C8B;transform:translateY(-60%) rotate(45deg);transition:right .2s ease;}
.ewl-ddgrid a:hover{color:#1062B0;padding-left:8px;}
.ewl-ddgrid a:hover::after{right:2px;border-color:#1062B0;}


/* ===== ヘッダーを2段に(上: 診療科とTEL / 下: メニュー) ===== */
.ewl-hdrbar{align-items:center !important;}
.ewl-hdrright{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex:0 1 auto;}
.ewl-hdrmeta{display:flex;align-items:baseline;gap:clamp(14px,2vw,32px);}
.ewl-hdrmeta > span{color:rgba(255,255,255,.94);font-size:clamp(11px,.95vw,13px);font-weight:600;letter-spacing:.10em;
  white-space:nowrap;text-shadow:0 1px 10px rgba(0,0,0,.45);}
.ewl-hdrtel{color:#fff !important;font-family:Afacad,'Helvetica Neue',Arial,sans-serif;
  font-size:clamp(15px,1.35vw,20px);font-weight:700;letter-spacing:.06em;white-space:nowrap;
  text-decoration:none !important;text-shadow:0 1px 10px rgba(0,0,0,.45);}
.ewl-hdrbar.is-stuck .ewl-hdrmeta > span{color:#4A6172;text-shadow:none;}
.ewl-hdrbar.is-stuck .ewl-hdrtel{color:#0B2B45 !important;text-shadow:none;}
.ewl-navlist{justify-content:flex-end;}
/* ロゴの白文字(元ロゴから切り出し)を確実に表示する */
.ewl-hdrlogo-text{display:block !important;height:clamp(24px,2vw,30px) !important;width:auto !important;
  max-width:none !important;filter:drop-shadow(0 2px 10px rgba(0,0,0,.5));}
.ewl-hdrlogo-dark{display:none !important;height:clamp(24px,2vw,30px) !important;width:auto !important;max-width:none !important;}
.ewl-hdrbar.is-stuck .ewl-hdrlogo-text{display:none !important;}
.ewl-hdrbar.is-stuck .ewl-hdrlogo-dark{display:block !important;}
.ewl-hdrlogo-mark{height:clamp(46px,3.6vw,56px) !important;}

/* ===== 透過ヘッダー: 自前の固定バー(本体スタイル) ===== */
#wrapper:has(.ewl-lp.ewl-hero-top) #header,
#wrapper:has(.ewl-lp.ewl-hero-top) #gNav{display:none !important;}
.ewl-hdrbar{position:fixed !important;top:0 !important;left:0 !important;right:0 !important;z-index:130 !important;
  box-sizing:border-box;display:flex !important;align-items:center !important;justify-content:space-between !important;
  gap:clamp(16px,3vw,48px);padding:12px max(20px,calc((100% - 1300px) / 2)) !important;margin:0 !important;
  width:auto !important;max-width:none !important;
  transition:background .3s ease,box-shadow .3s ease,padding .3s ease;}
.ewl-hdrbar::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,rgba(6,22,38,.55) 0%,rgba(6,22,38,.18) 70%,rgba(6,22,38,0) 100%);transition:opacity .3s ease;}
.ewl-hdrbar.is-stuck{background:rgba(255,255,255,.97);box-shadow:0 2px 18px rgba(11,43,69,.10);}
.ewl-hdrbar.is-stuck::before{opacity:0;}
.ewl-hdrlogo{display:inline-flex !important;align-items:center;gap:clamp(10px,1.1vw,15px);flex:0 0 auto;
  text-decoration:none !important;background:none !important;}


/* ===== ヘッダー仕上げ ===== */
/* スクロール時はロゴを1つに(マーク+白文字を隠し、元のカラーロゴだけ出す) */
.ewl-hdrbar.is-stuck .ewl-hdrlogo-mark{display:none !important;}
.ewl-hdrbar .ewl-hdrlogo-dark{display:none !important;}
.ewl-hdrbar.is-stuck .ewl-hdrlogo-dark{display:block !important;}
/* ロゴを大きく */
.ewl-hdrlogo-mark{height:clamp(52px,4.2vw,64px) !important;}
.ewl-hdrlogo-text{height:clamp(28px,2.3vw,34px) !important;}
.ewl-hdrlogo-dark{height:clamp(40px,3.2vw,50px) !important;}
/* メニューの下線を消す */
.ewl-navitem > a,.ewl-hdrlogo,.ewl-hdrtel,.ewl-ddgrid a{text-decoration:none !important;}
.ewl-navitem > a:hover,.ewl-ddgrid a:hover{text-decoration:none !important;}
/* プルダウンの文字は黒 */
.ewl-ddgrid a{color:#1A1A1A !important;}
.ewl-ddgrid a:hover{color:#000 !important;}
.ewl-ddgrid a:hover::after{border-color:#1A1A1A !important;}
/* 自費(自由診療)の写真は少し暗く */
.ewl-ddphoto{filter:brightness(.86) saturate(.96);}
/* 当院については2列4行 */
.ewl-ddpanel[data-menu="当院について"] .ewl-ddgrid{grid-template-columns:repeat(2,minmax(190px,1fr)) !important;}


/* ドロップダウンは画面右側の項目だけ右揃えにして見切れを防ぐ */
.ewl-ddpanel.to-right{left:auto !important;right:0 !important;}
/* 列は2列に統一 */
.ewl-ddgrid{grid-template-columns:repeat(2,minmax(190px,1fr)) !important;}
.ewl-ddpanel{min-width:min(760px,84vw) !important;}


/* ===== ヘッダーロゴ: 上部もスクロール時も同じ1枚(比率・寸法を完全一致) ===== */
.ewl-hdrlogo-white,.ewl-hdrlogo-dark{display:block !important;width:auto !important;max-width:none !important;
  height:clamp(46px,3.6vw,58px) !important;}
.ewl-hdrlogo-white{filter:drop-shadow(0 2px 10px rgba(0,0,0,.45));}
.ewl-hdrbar .ewl-hdrlogo-dark{display:none !important;}
.ewl-hdrbar.is-stuck .ewl-hdrlogo-white{display:none !important;}
.ewl-hdrbar.is-stuck .ewl-hdrlogo-dark{display:block !important;}

/* ===== ヒーローの文字: 主コピーを控えめに / 影なし / ロゴは大きく ===== */
[data-hero-full] [data-hero-center] > *{text-shadow:none !important;}
[data-hero-full] [data-hero-center] img{width:min(560px,72%) !important;}
[data-hero-full] [data-hero-center] > *:nth-child(4){
  font-size:clamp(19px,2.3vw,30px) !important;font-weight:600 !important;
  margin-top:clamp(20px,2.6vw,32px) !important;}
[data-hero-full] [data-hero-center] > *:nth-child(5){font-size:clamp(13px,1.5vw,17px) !important;}

/* ドロップダウン写真の切り取り位置(3:4に収まるよう被写体へ寄せる) */
.ewl-ddpanel[data-menu="当院について"] .ewl-ddphoto{object-position:center center !important;}
.ewl-ddpanel[data-menu="自由診療"] .ewl-ddphoto{object-position:72% 28% !important;}
.ewl-ddpanel[data-menu="診療科案内"] .ewl-ddphoto{object-position:center 45% !important;}



/* ===== VIEW ALL(用賀ライク): 細い横線が右へ伸びるミニマルなリンク =====
   お知らせ VIEW ALL / ACCESS・MAP / Dr's PROFILE / コラム一覧 / GoogleMapを表示 で共通 */
.ewl-lp .ewl-viewall,.ewl-lp #access a,.ewl-lp #greeting a{
  display:inline-flex !important;align-items:center;gap:14px;width:auto !important;min-width:0 !important;
  height:auto !important;padding:0 !important;border:0 !important;border-radius:0 !important;
  background:none !important;box-shadow:none !important;color:#4A6172 !important;
  font-family:Afacad,'Helvetica Neue',Arial,sans-serif !important;font-size:12.5px !important;font-weight:700 !important;
  letter-spacing:.20em !important;line-height:1.3 !important;text-decoration:none !important;}
.ewl-lp .ewl-viewall::after,.ewl-lp #access a::after,.ewl-lp #greeting a::after{
  content:"";display:block;flex:0 0 auto;width:clamp(56px,7vw,96px);height:1px;background:#9FC7E8;
  transition:width .3s ease,background .3s ease;}
.ewl-lp .ewl-viewall:hover::after,.ewl-lp #access a:hover::after,.ewl-lp #greeting a:hover::after{
  width:clamp(76px,9vw,128px);background:#1062B0;}
.ewl-lp .ewl-viewall svg,.ewl-lp #access a svg,.ewl-lp #greeting a svg,
.ewl-lp .ewl-viewall span[aria-hidden],.ewl-lp #greeting a span[aria-hidden]{display:none !important;}

/* ===== 2026-08-20: 自前ヘッダーを全LPページへ展開 =====
   トップ(.ewl-hero-top)専用だったバーを、LP全ページで使う。
   トップ以外は背景に写真が無いため、最初から白帯(is-plain + is-stuck)で出す。 */
#wrapper:has(.ewl-lp) #header,
#wrapper:has(.ewl-lp) #gNav{display:none !important;}
.ewl-hdrbar.is-plain{background:rgba(255,255,255,.97) !important;box-shadow:0 2px 18px rgba(11,43,69,.10) !important;}
.ewl-hdrbar.is-plain::before{opacity:0 !important;}
/* パンくずが無い/隠しているページはバー分の余白を確保する */
#wrapper:has(.ewl-lp:not(.ewl-hero-top)):not(:has(#breadcrumbs)),
#wrapper:has(.ewl-lp.ewl-hide-crumb:not(.ewl-hero-top)){padding-top:var(--ewl-h2,86px) !important;}
/* 自費(ベージュ)ページはヘッダーもトーンを合わせる */
body:has(.ewl-lp.ewl-beauty) .ewl-hdrbar.is-plain{background:rgba(250,247,242,.97) !important;}
body:has(.ewl-lp.ewl-beauty) .ewl-hdrbar.is-plain .ewl-navitem > a,
body:has(.ewl-lp.ewl-beauty) .ewl-hdrbar.is-plain .ewl-hdrtel{color:#6E6153 !important;}
body:has(.ewl-lp.ewl-beauty) .ewl-hdrbar.is-plain .ewl-hdrmeta > span{color:#8A7B68 !important;}

/* ===== 2026-08-20: テーマ共通の青い「MENU 診療内容」セクションをLPでは出さない =====
   WEVERYの共通セクション(投稿101113)がサブページ下部に自動挿入される。
   LPでは自前の「診療のご案内」に置き換えるため非表示にする。 */
#wrapper:has(.ewl-lp) .subpagecontents .topSec101113,
#wrapper:has(.ewl-lp) .subpagecontents section[id^="topSecID"]:has(.menu_tit){display:none !important;}

/* 2026-08-20b: 固定バー分の余白は wrapper 側で一律に確保する
   (パンくずの有無・.ewl-hide-crumb の有無で条件分けすると取りこぼすため) */
#wrapper:has(.ewl-lp:not(.ewl-hero-top)){padding-top:var(--ewl-h2,105px) !important;}
#wrapper:has(.ewl-lp:not(.ewl-hero-top)) #breadcrumbs{margin-top:6px !important;}

/* 2026-08-20: 下部「診療のご案内」を自費(ベージュ)ページで使うときのトーン
   保険=青(#9FC7E8 / #0081FC)、自費=ベージュ系に置き換える */
body:has(.ewl-lp.ewl-beauty) #menu-bottom{background:linear-gradient(180deg,#FAF7F2 0%,#F1EBE1 100%) !important;}
body:has(.ewl-lp.ewl-beauty) #menu-bottom .mb-kicker{color:#D8C6A8 !important;}
body:has(.ewl-lp.ewl-beauty) #menu-bottom .mb-en{color:#8A7B68 !important;}
body:has(.ewl-lp.ewl-beauty) #menu-bottom .va-menu-panel{background:#FFFDFA !important;}

/* ============================================================
   2026-08-20: テーマのCSS欄(css.php)に旧キットのコピーが残っており、
   その `#contents:has(.ewl-lp.ewl-hide-title) h2{display:none !important}` が
   後読みで勝ってLP本文のh2(SEO用の和文見出し)を全て消していた。
   旧コピーを消すまでの間、より高い詳細度で明示的に表示へ戻す。
   ============================================================ */
#contents:has(.ewl-lp.ewl-hide-title) .ewl-lp h2{display:block !important;}
#contents:has(.ewl-lp.ewl-hide-title) .ewl-lp h1{display:block !important;}

/* ------------------------------------------------------------
   LP本文の見出し(h2/h3)にテーマの見出し装飾が乗るのを打ち消す(2026-08-20)
   weVERY側: section.pageSec h2{text-align:left!important; font-size:26px!important; margin:0!important}
             #main article h3{border-bottom:3px solid #ddd} / h2::after・h3::after の飾り線
   → LPはインラインstyleで組んでいるため、値を CSS変数(--ewl-fs/--ewl-ta/--ewl-mg)で受けて復元する
   ------------------------------------------------------------ */
/* h1: LP本文がページの主題を宣言する。テーマ側は #header h1 を隠す前提で組まれており、
   本文中の h1 も巻き添えで消える可能性があるため display も明示する(2026-08-21) */
#contents .ewl-lp h1.ewl-h1{display:block !important; font-size:var(--ewl-fs,clamp(26px,4.1vw,42px)) !important; text-align:var(--ewl-ta,left) !important; margin:var(--ewl-mg,8px 0 0) !important; border:0 !important; padding:0 !important;}
#contents .ewl-lp h1.ewl-h1::before,#contents .ewl-lp h1.ewl-h1::after{content:none !important; display:none !important;}
#contents .ewl-lp h2.ewl-h2{font-size:var(--ewl-fs,clamp(22px,2.9vw,32px)) !important; text-align:var(--ewl-ta,center) !important; margin:var(--ewl-mg,10px 0 0) !important;}
/* テーマは h2 にページタイトル用の背景画像(受付写真)と高さを当てている。
   div を h2 に変えた副作用で本文見出しに写真が乗った(/アレルギー科 2026-08-21)。
   LP の見出しは装飾を持たないので、背景と高さ指定をまとめて打ち消す。 */
#contents .ewl-lp h1.ewl-h1,#contents .ewl-lp h2.ewl-h2,#contents .ewl-lp h3.ewl-h3{
  background:none !important; background-image:none !important; min-height:0 !important;
  height:auto !important; text-indent:0 !important; text-shadow:none !important;}
#contents .ewl-lp h3.ewl-h3{font-size:var(--ewl-fs,clamp(17px,2.1vw,21px)) !important; text-align:var(--ewl-ta,left) !important; margin:var(--ewl-mg,0) !important; border:0 !important; padding:0 !important;}
#contents .ewl-lp h2.ewl-h2::before,#contents .ewl-lp h2.ewl-h2::after,
#contents .ewl-lp h3.ewl-h3::before,#contents .ewl-lp h3.ewl-h3::after{content:none !important; display:none !important;}

/* 料金アコーディオン: 絞り込みJSが details 行にも display:flex を当てるため、
   開くと summary と中身が横に並んで中身が縦1文字ずつに潰れていた(2026-08-20)。
   配信済みページのJSは古いままなので、CSS側で block 相当に見えるようにする。
   (display:none で隠す動作は壊さないよう display は触らない) */
details.va-prow{flex-wrap:wrap !important;}
details.va-prow > summary,details.va-prow > div{flex:0 0 100% !important; min-width:0 !important; box-sizing:border-box;}

/* 機種・マスクの比較表: 横スクロールできることが分かるようにバーを常時表示(2026-08-20) */
.ewl-lp .sf-scroll{scrollbar-width:thin; scrollbar-color:#9FC7E8 #EAF1F8;}
.ewl-lp .sf-scroll::-webkit-scrollbar{height:10px;}
.ewl-lp .sf-scroll::-webkit-scrollbar-track{background:#EEF4FA; border-radius:999px;}
.ewl-lp .sf-scroll::-webkit-scrollbar-thumb{background:#9FC7E8; border-radius:999px; border:2px solid #EEF4FA;}
.ewl-lp .sf-scroll::-webkit-scrollbar-thumb:hover{background:#6FA8D6;}

/* ===== PC: ヒーロー左カラムの間延びを詰める（2026-08-22） ===== */
@media (min-width:1024px){
  .ewl-va [data-hero-text]{padding-top:clamp(28px,3.4vw,52px) !important;padding-bottom:clamp(14px,1.6vw,20px) !important;justify-content:center !important;}
  .ewl-va [data-hero-text] > p{margin-top:12px !important;}
  .ewl-va [data-hero-pills]{margin-top:16px !important;gap:8px !important;}
  .ewl-va [data-hero-pills] .va-hero-line{padding:clamp(8px,0.9vw,11px) clamp(15px,1.7vw,22px) !important;}
  /* 大きな英字が写真（顔）に掛かるため、左カラム内に収まる大きさにする */
  /* 英字は手前のまま。左カラム内で切り取って写真（顔）に掛からないようにする */
  .ewl-va [data-hero-en]{z-index:1 !important;max-width:calc(38% - 10px) !important;overflow:hidden !important;white-space:nowrap !important;}
  .ewl-va [data-hero-img]{z-index:0 !important;}
  /* ヒーローを画面幅いっぱいに使い、左の文字を画面端寄りに置く */
  .ewl-va [data-hero]{max-width:none !important;padding-left:clamp(28px,5vw,86px) !important;padding-right:0 !important;grid-template-columns:minmax(0,0.92fr) minmax(0,1.08fr) !important;}
  .ewl-va [data-hero-text]{padding-right:clamp(20px,2.6vw,40px) !important;}
  /* 全幅化で不要になった負マージンを解除（丸が画面外に出るのを防ぐ） */
  .ewl-va [data-hero-img]{margin-right:0 !important;}
  /* ヒーロー＋予約ボタンで1画面に収める（ヘッダー105px分を差し引く） */
  .ewl-va [data-hero]{min-height:min(780px, calc(100svh - 118px)) !important;align-content:stretch !important;}
  /* 画像はヒーローの高さいっぱいまで伸ばす（幅が広いときに縦が足りなくなるのを防ぐ） */
  .ewl-va [data-hero-img]{align-self:stretch !important;height:auto !important;margin-bottom:0 !important;}
  .ewl-va [data-hero-img] > img{height:100% !important;}
}

/* ===== ヒーローの大きな英字：左からフェードイン（2026-08-22） ===== */
@keyframes ewlEnSlideIn{
  from{opacity:0;transform:translateX(-56px);}
  to{opacity:1;transform:translateX(0);}
}
.ewl-va [data-hero-en]{
  opacity:0;
  animation:ewlEnSlideIn 1.25s cubic-bezier(.22,.61,.36,1) .15s forwards;
  will-change:opacity,transform;
}
@media (prefers-reduced-motion:reduce){
  .ewl-va [data-hero-en]{opacity:1 !important;animation:none !important;transform:none !important;}
}

/* ============================================================
   スクロール連動の登場 2026-08-22
   IntersectionObserver で .is-in を付け、下から立ち上げる。
   外部ライブラリ(AOS等)は使わない。
   ============================================================ */
.ewl-lp [data-rv]{opacity:0;transform:translateY(22px);
  transition:opacity .72s cubic-bezier(.22,.61,.36,1), transform .72s cubic-bezier(.22,.61,.36,1);
  will-change:opacity,transform;}
.ewl-lp [data-rv="left"]{transform:translateX(-26px);}
.ewl-lp [data-rv="right"]{transform:translateX(26px);}
.ewl-lp [data-rv].is-in{opacity:1;transform:none;}
/* カードなどは順に立ち上げる */
.ewl-lp [data-rv][data-rv-d="1"]{transition-delay:.08s}
.ewl-lp [data-rv][data-rv-d="2"]{transition-delay:.16s}
.ewl-lp [data-rv][data-rv-d="3"]{transition-delay:.24s}
.ewl-lp [data-rv][data-rv-d="4"]{transition-delay:.32s}
.ewl-lp [data-rv][data-rv-d="5"]{transition-delay:.40s}
@media (prefers-reduced-motion:reduce){
  .ewl-lp [data-rv]{opacity:1 !important;transform:none !important;transition:none !important;}
}

/* ============================================================
   ホバー演出 2026-08-23
   マウスが乗る機器だけに適用（タッチ端末では発火しない）。
   ============================================================ */
@media (hover:hover) and (pointer:fine){

  /* ① カードの画像がゆっくり寄る。画像は枠内に収める */
  .ewl-lp a:has(> img), .ewl-lp a:has(img){ overflow:hidden; }
  .ewl-lp a img{ transition:transform .62s cubic-bezier(.22,.61,.36,1); }
  .ewl-lp a:hover img{ transform:scale(1.045); }

  /* ② 矢印つきボタンは矢印が少し右へ出る（VIEW DETAILS の罫は除く） */
  .ewl-lp a span[aria-hidden="true"]:not(.ewl-vd-rule){ display:inline-block; transition:transform .32s cubic-bezier(.22,.61,.36,1); }
  .ewl-lp a:hover span[aria-hidden="true"]:not(.ewl-vd-rule){ transform:translateX(4px); }

  /* ③ VIEW DETAILS の細い罫が左から右へ伸びる */
  .ewl-lp a .ewl-vd-rule{ position:relative; overflow:hidden; }
  .ewl-lp a .ewl-vd-rule::after{ content:""; position:absolute; inset:0;
    background:#1062B0; transform:scaleX(0); transform-origin:left center;
    transition:transform .48s cubic-bezier(.22,.61,.36,1); }
  .ewl-lp a:hover .ewl-vd-rule::after{ transform:scaleX(1); }

}
@media (prefers-reduced-motion:reduce){
  .ewl-lp a img, .ewl-lp a span[aria-hidden="true"], .ewl-lp a .ewl-vd-rule::after{
    transition:none !important; transform:none !important; }
}

/* ---- 疾患タイル(内科LP一覧・トップページ「疾患から探す」で共用) ---- */
.ewl-va .va-gtile{min-height:clamp(112px,10.5vw,196px);transition:transform .3s ease, box-shadow .3s ease;}
.ewl-va .va-gtile img{transition:transform .6s ease;}
.ewl-va .va-gtile:hover{transform:translateY(-2px);box-shadow:0 14px 30px -16px rgba(11,43,69,.5);}
.ewl-va .va-gtile:hover img{transform:scale(1.05);}
.ewl-va .va-gtile:focus-visible{outline:2px solid #fff;outline-offset:-4px;}
@media (prefers-reduced-motion:reduce){.ewl-va .va-gtile,.ewl-va .va-gtile img{transition:none;}.ewl-va .va-gtile:hover{transform:none;}.ewl-va .va-gtile:hover img{transform:none;}}
@media screen and (max-width:900px) and (min-width:481px){
  .ewl-va .va-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
  .ewl-va .va-gtile{grid-column:span 2 !important;aspect-ratio:16/10 !important;height:auto !important;}
  .ewl-va .va-ghd{grid-template-columns:1fr !important;gap:8px !important;}
}

/* ---- アレルゲンのアイコン一覧(PC・携帯で同じ形) ---- */
.ewl-va .va-icard{transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;}
.ewl-va .va-icard:hover{transform:translateY(-2px);box-shadow:0 10px 24px -14px rgba(11,43,69,.4);border-color:#9FC7E8 !important;}
@media (prefers-reduced-motion:reduce){.ewl-va .va-icard{transition:none;}.ewl-va .va-icard:hover{transform:none;}}

/* PCは4枚まで1画面に収まるためスワイプの案内を出さない */
.ewl-va .ewl-swipe-hint{display:none;}
.ewl-va .ewl-swipe-cue{display:none;}
.ewl-va .ewl-swipe{scrollbar-width:thin;}

/* ══ AIチャットボット UI（クリニックフォア寄せ / 2026-08-27）══
   プラグイン wevery-ai-chatbot の既定UIを当院の配色に合わせる。
   プラグイン本体は触らず、CSS変数と上書きだけで成立させる。 */
:root{
  --wacb-color-icon:#1062B0; --wacb-color-header:#1062B0;
  --wacb-color-user-bg:#1062B0; --wacb-color-send-btn:#1062B0;
  --wacb-color-bot-bg:#EAF1F8;
}
/* トリガー = 丸アバター + 吹き出し */
#wacb-chat-icon{
  background:transparent !important; background-color:transparent !important;
  box-shadow:none !important; padding:0 !important;
  height:auto !important; min-width:0 !important; width:auto !important;
  gap:10px; flex-direction:row-reverse; align-items:center;
}
#wacb-chat-icon svg{
  width:26px !important; height:26px !important; padding:14px;
  background:#1062B0; color:#fff; border-radius:50%;
  box-shadow:0 8px 22px rgba(11,43,69,.30);
  transition:transform .2s ease, box-shadow .2s ease;
}
#wacb-chat-icon:hover svg{transform:translateY(-2px); box-shadow:0 12px 26px rgba(11,43,69,.34);}
.wacb-icon-text{
  position:relative; margin-left:0 !important;
  background:#fff; color:#0B2B45;
  border:1px solid #CFE0F7; border-radius:999px;
  padding:9px 16px; font-size:13.5px; font-weight:700; letter-spacing:.02em;
  box-shadow:0 6px 18px rgba(11,43,69,.13);
}
.wacb-icon-text::after{
  content:""; position:absolute; right:-5px; top:50%;
  transform:translateY(-50%) rotate(45deg);
  width:9px; height:9px; background:#fff;
  border-right:1px solid #CFE0F7; border-top:1px solid #CFE0F7;
}
/* チャットウィンドウ */
#wacb-chat-window{
  border-radius:18px !important; overflow:hidden;
  box-shadow:0 20px 54px rgba(11,43,69,.30) !important;
  background:#fff !important;
}
#wacb-chat-header{padding:15px 18px !important; font-size:15px !important; letter-spacing:.02em;}
#wacb-chat-log{padding:16px !important; background:#F7FAFD;}
.wacb-message{border-radius:16px !important;}
.wacb-message.wacb-bot{border:1px solid #DCE8F4;}
#wacb-chat-input{padding:12px !important; border-top:1px solid #E4EDF6 !important; background:#fff;}
#wacb-user-message{border:1px solid #CFE0F7 !important; border-radius:999px !important;}
#wacb-send-btn{border-radius:999px !important; padding:10px 18px !important;}
#wacb-privacy-link{font-size:11.5px; line-height:1.7; color:#6B7C8A;}
/* 美容ページはブランド色を維持 */
body:has(.ewl-lp.ewl-beauty) #wacb-chat-icon svg{background:#8A7B68;}

/* ── チャット本体を中央モーダル化（クリニックフォア参考 / 同意ゲートは設けない）── */
/* アイコンのすぐ上に出す（中央モーダルはやめる） */
#wacb-chat-window{
  position:fixed !important;
  left:auto !important; top:auto !important;
  right:20px !important; bottom:92px !important;   /* アイコン(20px+60px)の上 */
  transform:none !important;
  width:min(420px,calc(100vw - 32px)) !important;
  height:min(560px,calc(100vh - 140px)) !important;
  max-width:none !important; border-radius:14px !important;
}
/* LPページはアイコンが下から74pxなので、その分持ち上げる */
body:has(.ewl-lp.ewl-va) #wacb-chat-window{bottom:146px !important;}
/* ヘッダー = 白地・中央タイトル・右に丸い閉じる */
#wacb-chat-header{
  background:#fff !important; color:#0B2B45 !important;
  border-bottom:1px solid #E4EDF6; justify-content:center !important;
  position:relative; padding:17px 18px !important; font-size:16px !important;
}
#wacb-close-btn{
  position:absolute; right:14px; top:50%; transform:translateY(-50%);
  width:32px; height:32px; display:flex; align-items:center; justify-content:center;
  color:#8FA3B4; font-size:24px; border-radius:50%; background:#F2F6FA;
}
#wacb-close-btn:hover{background:#E4EDF6; opacity:1;}
/* 本文 = 吹き出しをやめてプレーンテキストに */
#wacb-chat-log{background:#fff !important; padding:20px 24px !important; gap:14px !important;}
.wacb-message.wacb-bot{
  background:transparent !important; border:none !important;
  border-radius:0 !important; padding:0 !important;
  max-width:100% !important; color:#33475B !important;
}
.wacb-message.wacb-bot p{font-size:14px !important; line-height:1.95 !important;}
.wacb-message.wacb-user{
  background:#EAF1F8 !important; color:#0B2B45 !important;
  border-radius:14px !important; padding:10px 15px !important; max-width:85% !important;
}
/* 入力まわり */
#wacb-chat-input{padding:14px 18px !important; gap:10px;}
#wacb-user-message{border-radius:8px !important; padding:12px 14px !important; margin-right:0 !important;}
#wacb-send-btn{border-radius:8px !important; padding:12px 22px !important;}
#wacb-privacy-link{padding:0 18px 14px; text-align:center;}

/* 画像モードのときは既定のSVGを出さない */
#wacb-chat-icon.has-custom-image svg{display:none !important;}
/* ── チャットトリガー = アイコン ＋ 吹き出し（クリニックフォア準拠）── */
#wacb-chat-icon.has-custom-image{
  display:flex !important;
  width:auto !important; height:auto !important;
  border-radius:0 !important; background:transparent !important;
  border:none !important; box-shadow:none !important; overflow:visible;
  gap:10px; flex-direction:row-reverse; align-items:center;
}
/* 画像は白い円に載せる */
#wacb-chat-icon.has-custom-image .wacb-custom-icon-img{
  /* 画像そのものが円に切り抜き済み。余白と枠は付けない */
  width:60px !important; height:60px !important;
  max-width:60px !important; max-height:60px !important;
  padding:0 !important; background:#fff; border:none !important; border-radius:50% !important;
  box-shadow:0 8px 22px rgba(11,43,69,.22);
  transition:transform .2s ease, box-shadow .2s ease;
}
#wacb-chat-icon.has-custom-image:hover .wacb-custom-icon-img{
  transform:translateY(-2px); box-shadow:0 12px 26px rgba(11,43,69,.28);
}
#wacb-chat-icon.has-custom-image .wacb-icon-text{display:inline-block !important;}



/* 健診マトリクス: テーマの scroll-table ラッパと transform が sticky を壊すため打ち消す (2026-08-30) */
.ewl-va #matrix .ewl-kmx div.scroll-table,#matrix .ewl-kmx div.scroll-table{overflow:visible !important;overflow-x:visible !important;overflow-y:visible !important;max-height:none !important;height:auto !important;position:static !important;}
.ewl-va #matrix .ewl-kmx table,#matrix .ewl-kmx table{transform:none !important;-webkit-transform:none !important;top:auto !important;margin-top:0 !important;}
#matrix .ewl-kmx .scroll-hint-icon-wrap,#matrix .ewl-kmx .scroll-hint-icon{display:none !important;}

/* ============================================================
   サイト内検索 (ヘッダーのTEL行 / 2026-08-30)
   ヘッダーは トップの透過(白文字) と スクロール後の白帯(濃紺文字) の
   2状態があるため、両方で読める配色にする。
   ============================================================ */
.ewl-hdrmeta form.ewl-search{margin:0 !important;padding:0 !important;}
.ewl-search .ewl-search-box{display:flex !important;align-items:center;gap:6px;
  padding:4px 8px 4px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.55);
  background:rgba(255,255,255,.14);transition:background .2s,border-color .2s;}
.ewl-search .ewl-search-box:focus-within{background:rgba(255,255,255,.26);}
.ewl-search input[type="search"]{width:clamp(96px,9vw,140px);border:0 !important;outline:0;
  background:transparent !important;box-shadow:none !important;padding:0 !important;margin:0 !important;
  height:22px;line-height:22px;font-size:12px;color:#fff;letter-spacing:.04em;-webkit-appearance:none;appearance:none;}
.ewl-search input[type="search"]::placeholder{color:rgba(255,255,255,.78);}
.ewl-search input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;}
.ewl-search input[type="image"]{width:15px;height:15px;display:block;cursor:pointer;
  border:0 !important;background:transparent !important;padding:0 !important;margin:0 !important;
  filter:brightness(0) invert(1);opacity:.9;}
.ewl-search input[type="image"]:hover{opacity:1;}
.ewl-hdrbar.is-stuck .ewl-search .ewl-search-box{border-color:#CBD9E4;background:#F3F7FB;}
.ewl-hdrbar.is-stuck .ewl-search input[type="search"]{color:#0B2B45;}
.ewl-hdrbar.is-stuck .ewl-search input[type="search"]::placeholder{color:#8AA0B2;}
.ewl-hdrbar.is-stuck .ewl-search input[type="image"]{filter:brightness(0) !important;opacity:.5;}
body:has(.ewl-lp.ewl-beauty) .ewl-hdrbar.is-plain .ewl-search .ewl-search-box{border-color:#DCD1C0;background:#fff;}
body:has(.ewl-lp.ewl-beauty) .ewl-hdrbar.is-plain .ewl-search input[type="search"]{color:#6B5B48;}
body:has(.ewl-lp.ewl-beauty) .ewl-hdrbar.is-plain .ewl-search input[type="search"]::placeholder{color:#A9977F;}
body:has(.ewl-lp.ewl-beauty) .ewl-hdrbar.is-plain .ewl-search input[type="image"]{filter:brightness(0) !important;opacity:.5;}

/* ============================================================
   国別ページのプルダウン (2026-09-01)
   ピルが増えて折り返すと読みにくいため、8件以上でこれに置き換わる。
   ============================================================ */
.ewl-cselect{margin-top:10px;}
.ewl-cselect select{-webkit-appearance:none;appearance:none;display:block;width:100%;max-width:320px;
  height:44px;padding:0 40px 0 14px;border:1px solid #CFE0F7;border-radius:10px;background:#fff;
  color:#1062B0;font-size:14px;font-weight:700;font-family:inherit;line-height:1.3;cursor:pointer;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231062B0' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:16px 16px;}
.ewl-cselect select:focus{outline:2px solid #1062B0;outline-offset:2px;}

/* ============================================================
   コラムのヒーロー画像が2枚出る問題 (2026-09-01)
   テーマは記事上部に .ewl-colhero を作り、アイキャッチを
   .article-thumbnail として置く。LPコラムは本文側に自前のヒーロー画像を
   持っているため、両方描かれて「一瞬2枚→1枚」に見えていた。
   アイキャッチ自体は外せない（無いとテーマが本文の画像を奪って
   引き伸ばし、ヒーローが破綻する）。表示だけ止める。
   ※ /blog の一覧カードは .ewl-colhero の外なので影響しない。
   ============================================================ */
body:has(.ewl-lp) .ewl-colhero img.article-thumbnail{display:none !important;}


/* ===== SP(WEVERY実測: max-width 480px) ===== */
@media screen and (max-width:480px){
/* ============================================================
   eWELL LP 共通キット（スマホ用設定の最下部に1回だけ貼る）
   ※ Noto Sans JP は weVERYテーマが既にサイト全体で読込済のため @import 不要。
     (@import はCSS先頭以外では無効。キット末尾貼付だと無効化されるので置かない)
   - .ewl-lp を含むページにだけ効く（:has で自動判定）
   - 他ページには一切影響しない
   ============================================================ */

/* 本文エリアの左右余白をゼロ（LPページのみ・全幅化の要） */
#main:has(.ewl-lp),
#contents:has(.ewl-lp),
section.pageSec:has(.ewl-lp),
.subpagecontents:has(.ewl-lp){padding-left:0 !important;padding-right:0 !important;}

/* LP土台 */
.ewl-lp,.ewl-lp *,.ewl-lp *::before,.ewl-lp *::after{box-sizing:border-box;}
.ewl-lp{margin:0;padding:0;line-height:1.6;color:#1A1A1A;}
/* フォントは全要素に !important で強制(weVERYテーマの h2 等の font-family 上書きに勝つ) */
.ewl-lp,.ewl-lp *{font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif !important;}
.ewl-lp .ewl-card{width:100% !important;max-width:100% !important;margin:0 !important;}
/* 中身ラッパー: SPは画面幅<720なので実質全幅。中央寄せだけ担保(PCで720中央/全幅ヒーロー型) */
.ewl-lp .ewl-inner{margin:0 auto !important;}

/* ヒーロー：スマホは縦長を表示・横長を隠す・全幅 */
.ewl-lp .ewl-hero-pc{display:none !important;}
.ewl-lp .ewl-hero-sp{display:block !important;width:100% !important;max-width:100% !important;height:auto !important;}

/* 任意トグル（ラッパーに修飾クラスを付けたページだけ効く） */
#main:has(.ewl-lp.ewl-hide-crumb) #breadcrumbs{display:none !important;}
/* ページタイトル: header h1 と section.pageSec h2 の2箇所(Inspect確認)。header h1 はロゴ(img)の
   場合があるので :not(:has(img)) でテキストのタイトルのみ隠す(クリニックロゴは残す)。 */
#wrapper:has(.ewl-lp.ewl-hide-title) #header h1:not(:has(img)),
#wrapper:has(.ewl-lp.ewl-hide-title) #mobile h1:not(:has(img)),
/* 2026-08-20: h2 全体を消すとLP本文の見出し(SEO用h2)まで消えるため、テーマのタイトルだけに限定 */
#contents:has(.ewl-lp.ewl-hide-title) section.pageSec > h2,
#contents:has(.ewl-lp.ewl-hide-title) .banner h2{display:none !important;}
/* タイトル削除後の上部余白を詰める(モバイル固定ヘッダー分だけ残す/2026-06-28) */
#wrapper:has(.ewl-lp.ewl-hide-title) #top_contents,
#wrapper:has(.ewl-lp.ewl-hide-title) #contents,
#wrapper:has(.ewl-lp.ewl-hide-title) #main{padding-top:0 !important;}
#wrapper:has(.ewl-lp.ewl-hide-title) section.pageSec{margin-top:64px !important;}

#wrapper:has(.ewl-lp.ewl-bare) #header,
#wrapper:has(.ewl-lp.ewl-bare) #mobile,
#wrapper:has(.ewl-lp.ewl-bare) #gNav,
#wrapper:has(.ewl-lp.ewl-bare) #wv_headbtn{display:none !important;}
#wrapper:has(.ewl-lp.ewl-bare) #main{padding-top:0 !important;}

/* ============================================================
   VariantA（診療科ハブLP / .ewl-va）— スマホ用
   ============================================================ */
/* --- 共通(PC/SP両方に同一定義) --- */
.ewl-va .va-hl{color:#BCE3FF;}
.ewl-va .va-carousel{scrollbar-width:none;}
.ewl-va .va-carousel::-webkit-scrollbar{display:none;}
.ewl-va .va-faq{background:#fff;border:1px solid #E5E5E5;border-radius:12px;overflow:hidden;}
.ewl-va .va-faq+.va-faq{margin-top:10px;}
.ewl-va .va-faq>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:14px 14px;font-weight:600;color:#1A1A1A;font-size:14px;line-height:1.55;}
.ewl-va .va-faq>summary::-webkit-details-marker{display:none;}
.ewl-va .va-faq .va-q{flex:0 0 auto;width:26px;height:26px;border-radius:6px;background:#EAF3FB;color:#0081FC;font-weight:800;display:grid;place-items:center;font-size:13px;}
.ewl-va .va-faq .va-chev{margin-left:auto;flex:0 0 auto;display:inline-flex;transition:transform .2s;}
.ewl-va .va-faq[open] .va-chev{transform:rotate(180deg);}
.ewl-va .va-faq .va-ans{display:flex;gap:14px;padding:0 14px 14px;color:#555;font-size:13px;line-height:1.75;}
.ewl-va .va-faq .va-a{flex:0 0 auto;width:26px;height:26px;border-radius:6px;background:#F4F8FC;color:#1062B0;font-weight:800;display:grid;place-items:center;font-size:13px;}
/* --- SP固有 --- */
.ewl-va .va-hero-grid{display:block;}
.ewl-va .va-hero-ov{background:linear-gradient(180deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,.32) 50%,rgba(0,0,0,.45) 100%);}
.ewl-va .va-hero-msg{margin-top:28px;}
.ewl-va .va-visit-grid{display:block;}
.ewl-va .va-sticky{display:grid;grid-template-columns:1fr 1.4fr;gap:8px;position:sticky;bottom:0;left:0;right:0;z-index:4;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid #E5E5E5;}
/* --- v2: ピル型フィルタ + カルーセルドット (SPは矢印なし=スワイプ) --- */
.ewl-va .va-pill.on{background:#EAF3FB !important;border-color:#CFE0F7 !important;}
.ewl-va .va-arrow{display:none !important;}
.ewl-va .va-dots{display:flex;justify-content:center;gap:8px;margin-top:14px;}
.ewl-va .va-dot{width:8px;height:8px;border-radius:999px;background:#D6DEE8;border:0;padding:0;cursor:pointer;transition:width .2s,background .2s;}
.ewl-va .va-dot.on{width:22px;background:#1062B0;}
/* --- v7: ヒーロー写真=なだらかな角丸長方形フェード(丸すぎ解消) --- */
.ewl-va .va-h2-photo img{-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 9%,#000 91%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 8%,#000 92%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0%,#000 9%,#000 91%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 8%,#000 92%,transparent 100%);mask-composite:intersect;}
/* --- v9: LPページは#mainの幅制限(max-width:1060)を解除して帯背景を全幅に --- */
#wrapper:has(.ewl-va) #main{max-width:none !important;width:100% !important;margin-left:0 !important;margin-right:0 !important;}
/* --- v9: テーマが summary::after に注入する「+」(Material Icons)を無効化(FAQの+重複解消) --- */
.ewl-va .va-faq>summary::after{content:none !important;display:none !important;}
.ewl-va .va-faq>summary::marker{content:none;}
/* --- v8: ピル折りたたみ(TOP6+「その他の疾患を見る」展開) --- */
.ewl-va .va-pill-hidden{display:none !important;}
.ewl-va .va-pills.open .va-pill-hidden{display:inline-flex !important;}
.ewl-va .va-more:hover{color:#1062B0 !important;}
.ewl-va .va-pills.open ~ div .va-more-ico{transform:rotate(45deg);}
/* --- v6: 疾患カテゴリタブ --- */
.ewl-va .va-tab.on{background:#1062B0 !important;color:#fff !important;}
.ewl-va .va-tab:hover{color:#1062B0 !important;}
.ewl-va .va-tab.on:hover{color:#fff !important;}
.ewl-va .va-tabs ~ .va-group .va-group-title{display:none;}
/* --- v5: ライトヒーロー SPはCTA全幅積み --- */
.ewl-va .va-hero-cta a{flex:1 1 100%;}
/* --- v4: センタリングsnap --- */
.ewl-va .va-carousel>article{scroll-snap-align:center !important;}
/* --- v3: SPロゴヘッダー(#header=実測128px)がヒーローに被らないよう開始位置を下げる --- */
#wrapper:has(.ewl-va.ewl-hide-title) section.pageSec{margin-top:128px !important;}
/* --- v3: FAQ開閉は「＋」(開くと45°回転) --- */
.ewl-va .va-faq .va-plus{margin-left:auto;flex:0 0 auto;display:inline-flex;transition:transform .2s;}
.ewl-va .va-faq[open] .va-plus{transform:rotate(45deg);}
/* --- v3: LPページではテーマの#sideMenu(左端「〉」トグル)を出さない --- */
#wrapper:has(.ewl-va) #sideMenu{display:none !important;}

/* ============================================================
   /eWELL LP 共通キット（スマホ）
   ============================================================ */

/* --- v10: トラベル外来LP (Claude Design 移植 / 2026-08-18) ---------------
   スマホは1カラム。PC用設定に2カラム版が入る。 */
.ewl-va [data-hero]{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;}
/* PC用の配置指定(grid-column:2 等)が残ると幅0の2列目に画像が潰れて入る(= 2026-08-18 スマホ崩れ) */
.ewl-va [data-hero-text],.ewl-va [data-hero-cta],.ewl-va [data-hero-img]{grid-column:1 !important;grid-row:auto !important;}
/* SPはヒーロー画像を画面幅いっぱいに (親の padding:0 16px を打ち消す) */
.ewl-va [data-hero-img]{margin-left:-16px !important;margin-right:-16px !important;min-height:clamp(220px,62vw,360px) !important;}
/* SPは画像を全幅で素直に見せる(PC用の左端フェードmaskは不要) */
/* 上下端をスモークでフェード(PC用の左端フェードは使わない) */
.ewl-va [data-hero-img] img{clip-path:none !important;object-position:center 50% !important;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,0) 0%,rgba(0,0,0,.45) 6%,#000 16%,#000 100%) !important;mask-image:linear-gradient(to bottom,rgba(0,0,0,0) 0%,rgba(0,0,0,.45) 6%,#000 16%,#000 100%) !important;-webkit-mask-composite:source-over !important;mask-composite:add !important;}
/* SPは全行を横並び(画像左/文章右)に統一。PC用の nth-child(even) 規則が SP を上書きして
   2・4行目だけ画像133pxに潰れていたため !important で打ち消す (= 2026-08-18 指摘) */
/* 画像は左端まで出す(親の padding:0 16px を打ち消して全幅寄り) */
/* テーマが details に padding-bottom:20px を付けるため、閉じた状態で下に余白が残り
   サマリーが上下中心からずれる (= 2026-08-18 指摘)。中身側は自前の padding を持つ。 */
.ewl-va details{padding:0 !important;}
.ewl-va details>summary{list-style:none;cursor:pointer;}
.ewl-va details>summary::-webkit-details-marker{display:none;}
.ewl-va details>summary::after{content:none !important;display:none !important;}
.ewl-va details>summary::marker{content:none;}
.ewl-va #tv-list a,.ewl-va #tv-note a{width:auto !important;box-shadow:none !important;}
@media (prefers-reduced-motion: reduce){.ewl-va #tv-list{transition:none !important;}}
/* カード行: inline style が剥がされてもレイアウトが保つよう CSS 側でも担保(金額は右端) */
.ewl-va #tv-list a{display:flex !important;flex-wrap:wrap;align-items:center;gap:2px 8px;padding:13px 16px !important;background:none !important;text-decoration:none !important;}
.ewl-va #tv-list a>span:first-child{flex:0 1 330px;min-width:0;display:flex !important;align-items:center;gap:8px;}
.ewl-va #tv-list a>span:last-child{flex:1 1 240px;display:flex !important;align-items:center;gap:8px;}
.ewl-va #tv-list a>span:last-child>span:nth-child(3){margin-left:auto;text-align:right;}

/* 日本語が文節の途中で折り返すのを避ける (Chrome/Edge等が対応。非対応ブラウザは無視) */
.ewl-va p,.ewl-va li,.ewl-va summary{word-break:auto-phrase;}
/* テーマが本文画像に max-width:90% を掛けるためヒーローが全幅にならない (= 2026-08-18 実測) */
.ewl-va [data-hero-img] img{max-width:none !important;width:100% !important;}
/* SPはワクチンピル14個で176px使うため2行に畳み、「すべて表示」で展開する */
/* ワクチンピルは主要7種を既定表示。残りは「すべてのワクチンを表示」で展開 */
.ewl-va #tv-vpills:not(.open) .tv-extra{display:none !important;}
.ewl-va #tv-vmore{display:inline-block !important;}
/* SPは REASON の青字を行の先頭(画面左)に出す。テキスト列内の元の青字は隠す */
/* テーマが th を白文字にするので、表の行見出し(ワクチン名)が読めなくなるのを防ぐ */
.ewl-va tbody th{color:#1A1A1A !important;}
/* カルーセルで中央に来たカードを強調(ピル・矢印・ドット操作時に効く) */
.ewl-va .va-carousel > *{transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;}
.ewl-va .va-carousel > .is-center{transform:scale(1.03);box-shadow:0 10px 28px -12px rgba(16,98,176,.35);border-color:#0081FC !important;}
@media (prefers-reduced-motion:reduce){.ewl-va .va-carousel > *{transition:none;}.ewl-va .va-carousel > .is-center{transform:none;}}

/* ヒーローの大きな英字: SPは画面幅いっぱいに大胆に置く */
.ewl-va [data-hero-en]{font-size:clamp(48px,17vw,96px) !important;right:12px !important;bottom:10px !important;color:rgba(255,255,255,0.32) !important;letter-spacing:0.01em !important;}
.ewl-va [data-hero-cta]{position:relative !important;z-index:5 !important;}
/* SP: 丸アイコンは写真に重ねず、写真の下に横並びで置く */
.ewl-va [data-hero-img]{margin-bottom:126px !important;}
.ewl-va [data-hero-circles]{position:absolute !important;top:calc(100% + 16px) !important;bottom:auto !important;left:0 !important;right:0 !important;display:flex !important;justify-content:center !important;gap:10px !important;}
.ewl-va [data-hero-circles] .va-circ{width:clamp(92px,27vw,116px) !important;height:clamp(92px,27vw,116px) !important;}

/* SP: FEATURE はカードを縦積みにする(写真は画面幅いっぱい / 文字は下) */
.ewl-va .va-feat{display:block !important;min-height:0 !important;padding-top:8px;}
.ewl-va .va-feat>div{grid-column:auto !important;grid-row:auto !important;}
.ewl-va .va-feat .va-feat-word{position:static !important;display:block;white-space:nowrap;overflow:hidden;
  font-size:clamp(44px,15vw,70px) !important;line-height:1 !important;margin:0 0 -6px -16px;color:rgba(16,98,176,0.10) !important;}
.ewl-va .va-feat>div:last-child{margin:0 -16px !important;}
.ewl-va .va-feat img{height:clamp(170px,46vw,230px) !important;width:100% !important;max-width:none !important;
  border-radius:clamp(28px,9vw,56px) 0 0 clamp(14px,3vw,22px) !important;}
.ewl-va .va-feat .va-feat-num{top:auto !important;bottom:8px !important;right:12px !important;left:auto !important;
  font-size:clamp(38px,12vw,60px) !important;color:rgba(255,255,255,0.72) !important;}
.ewl-va .va-feat>div:first-of-type+div{padding:0 0 4px;}
.ewl-va .va-feat span{font-size:16px !important;}
.ewl-va .va-feat>div>div:last-child{font-size:13px !important;line-height:1.8 !important;}
.ewl-va [data-featgrid]{gap:26px !important;}
/* 装飾の円は PC のみ */
.ewl-va .va-deco{display:none !important;}
/* SP: パネルの左右寄せはしない(幅が足りないため) */
.ewl-va .va-panel{margin-left:0 !important;margin-right:0 !important;border-radius:clamp(18px,5vw,28px) clamp(18px,5vw,28px) 0 0 !important;}
/* SP: 最後のCTAバナーは2ボタンを横並びにする */
.ewl-va #reserve a{flex:1 1 0 !important;min-width:0 !important;padding:0 10px !important;font-size:14px !important;height:52px !important;}
.ewl-va #reserve a+a{margin-left:0 !important;}
/* アレルゲンのアイコン選択: 選択中も文字が読めるように */
/* SP: アレルゲンのアイコンは5列 */
.ewl-va .va-pills-icon{gap:5px !important;justify-content:flex-start !important;}
.ewl-va .va-pill-icon{width:calc((100% - 20px) / 5) !important;min-width:0 !important;padding:5px 2px 5px !important;border-radius:11px !important;gap:1px !important;}
.ewl-va .va-pill-icon img{width:24px !important;max-width:24px !important;}
.ewl-va .va-pill-icon span:first-of-type{font-size:10px !important;}
.ewl-va .va-pill-icon span+span{font-size:8.5px !important;}

/* 美容ページ(.ewl-beauty)では固定バナー・チャットボタンをベージュ系に */
body:has(.ewl-lp.ewl-beauty) #wv_headbtn a,body:has(.ewl-lp.ewl-beauty) #wv_headbtn li{background-color:#8A7B68 !important;}
body:has(.ewl-lp.ewl-beauty) #wv_headbtn *{color:#fff !important;}

body:has(.ewl-lp.ewl-beauty) .wacb-chat-icon{background-color:#8A7B68 !important;}

/* 美容ページ: SP下部の固定バー(#sp_footer)もベージュに */
body:has(.ewl-lp.ewl-beauty) #sp_footer a,body:has(.ewl-lp.ewl-beauty) #sp_footer li{background-color:#8A7B68 !important;}
body:has(.ewl-lp.ewl-beauty) #sp_footer *{color:#fff !important;}

/* 美容ページ: 見出し・英字を明朝で統一(テーマCSSに勝たせる) */
.ewl-lp.ewl-beauty [data-hero-text] div,.ewl-lp.ewl-beauty [data-hero-en],.ewl-lp.ewl-beauty section > div > div:nth-child(2),.ewl-lp.ewl-beauty .va-mincho{font-family:'YakuHanMP','Shippori Mincho','Yu Mincho','Hiragino Mincho ProN',serif !important;}
.ewl-lp.ewl-beauty [data-hero-en]{font-family:'Cormorant Infant','Shippori Mincho',serif !important;font-weight:400 !important;}

/* 美容ページ SP: 用賀型(上にテキスト → 下に写真・左上のみ角丸・右端まで) */
.ewl-lp.ewl-beauty [data-hero]{display:block !important;}
.ewl-lp.ewl-beauty [data-hero-text]{padding:clamp(30px,8vw,44px) 0 clamp(20px,5vw,28px) 0 !important;}
.ewl-lp.ewl-beauty [data-hero-img]{margin:0 calc(50% - 50vw) 0 clamp(24px,9vw,44px) !important;min-height:0 !important;aspect-ratio:3 / 2;width:auto !important;max-width:none !important;}
.ewl-lp.ewl-beauty [data-hero-img] img{object-position:center 32% !important;}
.ewl-lp.ewl-beauty [data-hero-img] img{border-radius:34px 0 0 0 !important;}
.ewl-lp.ewl-beauty [data-hero-img]{margin-bottom:clamp(104px,29vw,124px) !important;}
.ewl-lp.ewl-beauty [data-hero-circles]{position:absolute !important;top:calc(100% + 14px) !important;bottom:auto !important;left:0 !important;right:16px !important;display:flex !important;justify-content:center !important;gap:9px !important;}
.ewl-lp.ewl-beauty [data-hero-circles] .va-circ{width:clamp(84px,25vw,104px) !important;height:clamp(84px,25vw,104px) !important;border:1px solid #E2DDD5 !important;}
.ewl-lp.ewl-beauty [data-hero-cta]{padding:clamp(18px,5vw,26px) 0 clamp(28px,7vw,40px) 0 !important;}
.ewl-lp.ewl-beauty [data-hero-en]{font-size:clamp(34px,13vw,54px) !important;}

/* 美容ページ: 本文も明朝(しっぽり明朝)で統一。ボタン・ラベルはゴシックのまま */
.ewl-lp.ewl-beauty p,.ewl-lp.ewl-beauty li,.ewl-lp.ewl-beauty td,.ewl-lp.ewl-beauty th,.ewl-lp.ewl-beauty summary,.ewl-lp.ewl-beauty details div,.ewl-lp.ewl-beauty .va-hero-line,.ewl-lp.ewl-beauty section div{font-family:'YakuHanMP','Shippori Mincho','Yu Mincho','Hiragino Mincho ProN',serif !important;}
.ewl-lp.ewl-beauty a[href*='reserve'],.ewl-lp.ewl-beauty a[href*='line.me'],.ewl-lp.ewl-beauty .va-ptab{font-family:'Noto Sans JP','Hiragino Sans',sans-serif !important;letter-spacing:0.06em;}
.ewl-lp.ewl-beauty p{line-height:2.05 !important;letter-spacing:0.045em !important;}

.ewl-lp.ewl-beauty [data-hero-en]{color:rgba(31,28,26,0.10) !important;letter-spacing:0.2em !important;font-weight:300 !important;}

/* 美容ページ: 全体を明朝に。ボタン・タブ・バッジのみゴシック */
.ewl-lp.ewl-beauty,.ewl-lp.ewl-beauty *{font-family:'YakuHanMP','Shippori Mincho','Yu Mincho','Hiragino Mincho ProN',serif !important;}
.ewl-lp.ewl-beauty [data-hero-en]{font-family:'Cormorant Infant','Shippori Mincho',serif !important;}
.ewl-lp.ewl-beauty [data-hero-cta] a,.ewl-lp.ewl-beauty #reserve a,.ewl-lp.ewl-beauty .va-ptab,.ewl-lp.ewl-beauty .va-circ span:last-child,.ewl-lp.ewl-beauty .va-prow span{font-family:'Noto Sans JP','Hiragino Sans',sans-serif !important;}
/* 美容ページ: 固定バナー・チャット・ハンバーガーをベージュに */
body:has(.ewl-lp.ewl-beauty) #mobile{background-color:#8A7B68 !important;}

/* 美容ページ SP: 既存のマスク(上端フェード)を打ち消して角丸を効かせる */
.ewl-lp.ewl-beauty [data-hero-img] img{-webkit-mask-image:none !important;mask-image:none !important;border-radius:34px 0 0 0 !important;width:100% !important;height:100% !important;position:absolute !important;inset:0 !important;}
.ewl-lp.ewl-beauty [data-hero-img]{width:auto !important;}

/* WEVERYテーマがヒーロー写真のimgに左右paddingを当てるため、object-fitの描画が内側に縮む(実測16.9px) */
.ewl-va [data-hero-img] img,.ewl-va [data-hero-img]{padding:0 !important;}

/* 診療時間の表: SPは横スクロール前提。テーマのフォント指定でセルが重なるため明示 */
.ewl-lp.ewl-va #hours table{min-width:600px !important;table-layout:auto !important;}
.ewl-lp.ewl-va #hours table th,.ewl-lp.ewl-va #hours table td{font-size:12px !important;padding:11px 5px !important;line-height:1.5 !important;}
/* 診療時間: PCは7曜日の表 / SPは曜日をまとめた縦並び */
.ewl-lp.ewl-va .va-hours-sp{display:block !important;}
.ewl-lp.ewl-va .va-hours-pc{display:none !important;}

/* トップのINFORMATION内の診療時間表はSPでは曜日まとめ表示に切替(既存ルールと同じ挙動) */
.ewl-lp .va-news dt strong{font-size:14px;}

/* 全画面ヒーロー(トップ): 旧ヒーロー用のSPルールを打ち消して自前の配置に戻す */
.ewl-lp.ewl-va [data-hero-full]{height:min(660px, max(400px, calc(100svh - 132px))) !important;}
.ewl-lp.ewl-va [data-hero-full] [data-hero-circles]{position:absolute !important;top:auto !important;
  bottom:16px !important;left:12px !important;right:auto !important;justify-content:flex-start !important;
  gap:8px !important;padding:0 !important;}
.ewl-lp.ewl-va [data-hero-full] [data-hero-circles] .va-circ{width:72px !important;height:72px !important;}
.ewl-lp.ewl-va [data-hero-full] [data-hero-title]{font-size:clamp(23px,6.4vw,30px) !important;}

/* ヒーローのスライド画像: テーマの img 指定(高さ・余白・最大幅)を全て打ち消す */
.ewl-lp .va-slide{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;
  max-width:none !important;max-height:none !important;min-height:0 !important;padding:0 !important;margin:0 !important;
  object-fit:cover !important;border-radius:0 !important;}

/* お知らせは1行(日付+タイトル)。長いタイトルは末尾を…で省略 */
.ewl-lp .va-news dt{display:flex !important;flex-direction:row !important;flex-wrap:nowrap !important;align-items:baseline !important;gap:9px !important;padding:9px 2px !important;}
.ewl-lp .va-news dt strong{font-size:13px !important;line-height:1.5 !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;}
.ewl-lp .va-news dt .newsdate{font-size:11.5px !important;}

/* 診療時間: SPでも表(●◆◇)で見せる */
.ewl-lp.ewl-va #info .va-hours-sp{display:none !important;}
.ewl-lp.ewl-va #info .va-hours-pc{display:block !important;overflow-x:visible !important;}
.ewl-lp.ewl-va #info table{min-width:0 !important;width:100% !important;table-layout:fixed !important;}
.ewl-lp.ewl-va #info table th,.ewl-lp.ewl-va #info table td{font-size:11.5px !important;padding:10px 0 !important;}
.ewl-lp.ewl-va #info table thead th:first-child,.ewl-lp.ewl-va #info table tbody th{width:92px !important;text-align:left !important;}

/* 診療のご案内: SPでは左の院内写真を出さず、カードは2列 */
.ewl-lp.ewl-va #menu .va-menu-photo{display:none !important;}
.ewl-lp.ewl-va #menu .va-menu-panel{margin-left:0 !important;box-shadow:none !important;border-radius:clamp(20px,6vw,30px) clamp(20px,6vw,30px) 0 0 !important;padding-left:16px !important;padding-right:16px !important;}
.ewl-lp.ewl-va #menu .va-menu-row > div:last-child > div{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:16px 12px !important;}

/* 疾患カード: SPは2列(カードの大きさは揃える) / 科名は横書きで折り返さない */
.ewl-lp.ewl-va #disease .va-dgrid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px !important;}
.ewl-lp.ewl-va #disease a > span{writing-mode:horizontal-tb !important;}

/* 院長ご挨拶: SPは1カラム(写真→名前バッジ→本文) */
.ewl-lp.ewl-va #greeting .va-greet-row{grid-template-columns:minmax(0,1fr) !important;gap:18px !important;}

/* コラム: SPは2列 / カードの写真はホバー拡大(PCのみ効く) */
.ewl-lp.ewl-va #blog .va-bloggrid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:12px !important;}

/* SP: お知らせをさらにコンパクトに */
.ewl-lp.ewl-va #info .va-news dt{padding:7px 2px !important;gap:8px !important;}
.ewl-lp.ewl-va #info .va-news dt strong{font-size:12.5px !important;line-height:1.45 !important;}
.ewl-lp.ewl-va #info .va-news dt .newsdate{font-size:11px !important;}
.ewl-lp.ewl-va #info > div > div{padding:18px 14px 20px !important;}

/* SP: 診療のご案内の上下余白を詰める */
.ewl-lp.ewl-va #menu{padding-top:26px !important;}
.ewl-lp.ewl-va #menu > div:first-child{font-size:34px !important;}
.ewl-lp.ewl-va #menu > div:nth-child(2){margin-top:6px !important;font-size:17px !important;}
.ewl-lp.ewl-va #menu > p{margin-top:8px !important;font-size:12.5px !important;line-height:1.75 !important;}
.ewl-lp.ewl-va #menu .va-menu-row{margin-top:18px !important;padding-top:0 !important;}
.ewl-lp.ewl-va #menu .va-menu-panel{padding-top:20px !important;padding-bottom:24px !important;}

/* SP: WEB予約の方法は縦1列。アイコンを左、文章を右に置いて1件を低くする */
.ewl-lp.ewl-va #howto{padding-top:30px !important;padding-bottom:32px !important;}
.ewl-lp.ewl-va #howto > div > div:nth-of-type(2){grid-template-columns:minmax(0,1fr) !important;gap:14px !important;}
.ewl-lp.ewl-va #howto > div > div:nth-of-type(2) > div{display:grid !important;grid-template-columns:62px minmax(0,1fr) !important;
  column-gap:14px !important;row-gap:1px !important;align-items:start !important;text-align:left !important;
  padding-bottom:14px !important;border-bottom:1px solid #E8EEF4 !important;}
.ewl-lp.ewl-va #howto > div > div:nth-of-type(2) > div > div:first-child{grid-row:1 / span 3 !important;
  width:62px !important;height:62px !important;margin:0 !important;}
/* 2026-08-20: STEP の子が4つ以上(費用の目安など)あると、余りが62pxのアイコン列に落ちて
   1文字ずつ縦に折り返していた。アイコン以外は必ず右カラムに置く */
.ewl-lp.ewl-va #howto > div > div:nth-of-type(2) > div > *:not(:first-child){grid-column:2 !important;}
.ewl-lp.ewl-va #howto p{margin-top:4px !important;font-size:12.5px !important;line-height:1.8 !important;}

/* SP: STEP は横スワイプ。縦1列だと オンライン診療 1,548px / トップ 1,209px と長く、
   1画面に1〜2件しか入らず「全体で何ステップか」が分からなかった (2026-08-28)。
   1枚を78vwにして次の端を見せ、スワイプできることを形で示す。
   カルーセルの中では PC と同じ「アイコン上・中央揃え」に戻す (上の行レイアウトを打ち消す) */
.ewl-lp.ewl-va #howto > div > div:nth-of-type(2){
  display:flex !important; grid-template-columns:none !important;
  gap:12px !important; overflow-x:auto; -webkit-overflow-scrolling:touch;
  scroll-snap-type:x mandatory; scroll-padding-left:2px;
  margin-left:-2px !important; margin-right:-2px !important; padding:2px 2px 12px !important;
  scrollbar-width:none;
}
.ewl-lp.ewl-va #howto > div > div:nth-of-type(2)::-webkit-scrollbar{display:none;}
.ewl-lp.ewl-va #howto > div > div:nth-of-type(2) > div{
  flex:0 0 78vw !important; scroll-snap-align:start;
  display:block !important; grid-template-columns:none !important;
  text-align:center !important; box-sizing:border-box;
  background:#fff !important; border:1px solid #E4EDF6 !important; border-bottom:1px solid #E4EDF6 !important;
  border-radius:14px !important; padding:20px 16px 18px !important;
}
.ewl-lp.ewl-va #howto > div > div:nth-of-type(2) > div > div:first-child{
  width:64px !important; height:64px !important; margin:0 auto !important;
}
.ewl-lp.ewl-va #howto > div > div:nth-of-type(2) > div > *:not(:first-child){grid-column:auto !important;}
.ewl-lp.ewl-va #howto > div > div:nth-of-type(2) > div p{text-align:left !important;}

/* SP: Dr's PROFILE は中央揃え */
.ewl-lp.ewl-va #greeting .va-greet-row > div:first-child > div:last-child{justify-content:center !important;}
.ewl-lp.ewl-va #greeting .va-greet-row > div:first-child > div:last-child a{min-width:230px !important;}

/* 固定タブ(first-aid型): 白地に細い枠、上側だけ角丸、線画アイコン+小さなラベル */
body:has(.ewl-lp.ewl-va) #sp_footer{background:transparent !important;box-shadow:none !important;border:0 !important;
  padding:0 !important;height:auto !important;}
body:has(.ewl-lp.ewl-va) #sp_footer ul{display:flex !important;margin:0 !important;padding:0 !important;list-style:none !important;
  background:#fff !important;border:1px solid #1062B0 !important;border-bottom:0 !important;border-radius:12px 12px 0 0 !important;
  overflow:hidden !important;box-shadow:0 -4px 14px rgba(11,43,69,0.10) !important;}
body:has(.ewl-lp.ewl-va) #sp_footer ul li{flex:1 1 0 !important;margin:0 !important;min-width:0 !important;padding:0 !important;
  background:transparent !important;border-right:1px solid #1062B0 !important;}
body:has(.ewl-lp.ewl-va) #sp_footer ul li:last-child{border-right:0 !important;}
body:has(.ewl-lp.ewl-va) #sp_footer ul li a{display:flex !important;flex-direction:column !important;align-items:center !important;
  justify-content:center !important;gap:4px !important;height:56px !important;padding:0 2px !important;border:0 !important;
  border-radius:0 !important;background:#fff !important;color:#1062B0 !important;text-decoration:none !important;box-shadow:none !important;}
body:has(.ewl-lp.ewl-va) #sp_footer ul li a i.material-icons{display:block !important;font-size:0 !important;
  width:19px !important;height:19px !important;background-repeat:no-repeat !important;background-position:center !important;
  background-size:contain !important;}
body:has(.ewl-lp.ewl-va) #sp_footer ul li a .spf_word{font-size:9.5px !important;font-weight:700 !important;
  line-height:1.2 !important;text-align:center !important;letter-spacing:-0.02em !important;color:#1062B0 !important;}
body:has(.ewl-lp.ewl-va) #sp_footer ul li a .spf_word br{display:none !important;}
body:has(.ewl-lp.ewl-va) #sp_footer ul li:nth-child(1) a i.material-icons{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231062B0' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><rect x='3.5' y='5' width='17' height='15' rx='2.5'/><path d='M8 3v4M16 3v4M3.5 10h17'/></svg>") !important;}
body:has(.ewl-lp.ewl-va) #sp_footer ul li:nth-child(2) a i.material-icons{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231062B0' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M21 10.2c0-4-4-7.2-9-7.2S3 6.2 3 10.2c0 3.6 3.2 6.6 7.5 7.1.3 0 .7.2.8.4.1.2.1.6 0 .8l-.2 1c0 .3-.2.9.8.5s5.3-3.1 7.2-5.3C20.4 13.4 21 11.9 21 10.2z'/><path d='M8 8.6v3.2h2M12 8.6v3.2M14.4 11.8V8.6l2.2 3.2V8.6'/></svg>") !important;}
body:has(.ewl-lp.ewl-va) #sp_footer ul li.ewl-extra-tel a i.material-icons{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231062B0' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M6.5 3h3l1.5 4-2 1.5a12 12 0 0 0 6.5 6.5l1.5-2 4 1.5v3a2 2 0 0 1-2.2 2A17 17 0 0 1 4.5 5.2 2 2 0 0 1 6.5 3z'/></svg>") !important;}
body:has(.ewl-lp.ewl-va) #sp_footer ul li.ewl-extra-hours a i.material-icons{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231062B0' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='8.5'/><path d='M12 7.2v5.1l3.2 1.9'/></svg>") !important;}
body:has(.ewl-lp.ewl-va) #sp_footer ul li.ewl-extra-access a i.material-icons{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231062B0' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M12 21s6.5-5.4 6.5-10.4A6.5 6.5 0 0 0 5.5 10.6C5.5 15.6 12 21 12 21z'/><circle cx='12' cy='10.4' r='2.4'/></svg>") !important;}
/* 電話はタブに統合したので右上の丸ボタンは出さない */
body:has(.ewl-lp.ewl-va) .header_tel{display:none !important;}
body:has(.ewl-lp.ewl-va) #wacb-chat-icon{bottom:68px !important;}

/* せり上がるパネルは全幅・淡い地色でタブに接する(first-aid型) */
.ewl-modal{left:0 !important;transform:none !important;width:100% !important;max-width:none !important;box-sizing:border-box !important;
  border-radius:0 !important;background:#EEF4FA !important;border-top:2px solid #1062B0 !important;
  box-shadow:0 -8px 24px rgba(11,43,69,0.14) !important;padding:18px 14px 16px !important;}

/* ポップアップ内の診療時間表: 時間の列が曜日に重なるため幅と文字を調整 */
.ewl-modal table{table-layout:fixed !important;width:100% !important;font-size:11.5px !important;}
.ewl-modal thead th:first-child,.ewl-modal tbody th{width:88px !important;white-space:nowrap !important;
  font-size:11.5px !important;padding-left:2px !important;padding-right:4px !important;}
.ewl-modal thead th:not(:first-child),.ewl-modal tbody td{padding-left:0 !important;padding-right:0 !important;text-align:center !important;}
/* 開いているタブは反転表示にする */
body:has(.ewl-lp.ewl-va) #sp_footer ul li a[style*="background"] .spf_word{color:#fff !important;}
body:has(.ewl-lp.ewl-va) #sp_footer ul li a[style*="background"] i.material-icons{filter:brightness(0) invert(1) !important;}
body:has(.ewl-lp.ewl-va) #wv_headbtn ul li a[style*="background"] .spf_word{color:#fff !important;}
body:has(.ewl-lp.ewl-va) #wv_headbtn ul li a[style*="background"]::before{filter:brightness(0) invert(1) !important;}

/* 自費(美容テーマ)のページでは固定タブもベージュのトーンに合わせる */
body:has(.ewl-lp.ewl-beauty) #sp_footer ul{border-color:#8A7B68 !important;}
body:has(.ewl-lp.ewl-beauty) #sp_footer ul li{border-right-color:#8A7B68 !important;}
body:has(.ewl-lp.ewl-beauty) #sp_footer ul li a,
body:has(.ewl-lp.ewl-beauty) #sp_footer ul li a .spf_word{color:#8A7B68 !important;}
body:has(.ewl-lp.ewl-beauty) #wv_headbtn ul li a{border-color:#8A7B68 !important;color:#8A7B68 !important;}
body:has(.ewl-lp.ewl-beauty) #wv_headbtn ul li a .spf_word{color:#8A7B68 !important;}
body:has(.ewl-lp.ewl-beauty) .ewl-modal{background:#F7F4EF !important;border-top-color:#8A7B68 !important;}
body:has(.ewl-lp.ewl-beauty) .ewl-modal thead th{border-bottom-color:#8A7B68 !important;}
body:has(.ewl-lp.ewl-beauty) .ewl-modal td{color:#8A7B68 !important;}
body:has(.ewl-lp.ewl-beauty) #sp_footer ul li a[style*="background"],
body:has(.ewl-lp.ewl-beauty) #wv_headbtn ul li a[style*="background"]{background:#8A7B68 !important;}
body:has(.ewl-lp.ewl-beauty) #sp_footer ul li:nth-child(1) a i.material-icons{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A7B68' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><rect x='3.5' y='5' width='17' height='15' rx='2.5'/><path d='M8 3v4M16 3v4M3.5 10h17'/></svg>") !important;}
body:has(.ewl-lp.ewl-beauty) #wv_headbtn ul li:nth-child(1) a::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A7B68' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><rect x='3.5' y='5' width='17' height='15' rx='2.5'/><path d='M8 3v4M16 3v4M3.5 10h17'/></svg>") !important;}
body:has(.ewl-lp.ewl-beauty) #sp_footer ul li:nth-child(2) a i.material-icons{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A7B68' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M21 10.2c0-4-4-7.2-9-7.2S3 6.2 3 10.2c0 3.6 3.2 6.6 7.5 7.1.3 0 .7.2.8.4.1.2.1.6 0 .8l-.2 1c0 .3-.2.9.8.5s5.3-3.1 7.2-5.3C20.4 13.4 21 11.9 21 10.2z'/><path d='M8 8.6v3.2h2M12 8.6v3.2M14.4 11.8V8.6l2.2 3.2V8.6'/></svg>") !important;}
body:has(.ewl-lp.ewl-beauty) #wv_headbtn ul li:nth-child(2) a::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A7B68' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M21 10.2c0-4-4-7.2-9-7.2S3 6.2 3 10.2c0 3.6 3.2 6.6 7.5 7.1.3 0 .7.2.8.4.1.2.1.6 0 .8l-.2 1c0 .3-.2.9.8.5s5.3-3.1 7.2-5.3C20.4 13.4 21 11.9 21 10.2z'/><path d='M8 8.6v3.2h2M12 8.6v3.2M14.4 11.8V8.6l2.2 3.2V8.6'/></svg>") !important;}
body:has(.ewl-lp.ewl-beauty) #sp_footer ul li.ewl-extra-tel a i.material-icons{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A7B68' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M6.5 3h3l1.5 4-2 1.5a12 12 0 0 0 6.5 6.5l1.5-2 4 1.5v3a2 2 0 0 1-2.2 2A17 17 0 0 1 4.5 5.2 2 2 0 0 1 6.5 3z'/></svg>") !important;}
body:has(.ewl-lp.ewl-beauty) #wv_headbtn ul li.ewl-extra-tel a::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A7B68' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M6.5 3h3l1.5 4-2 1.5a12 12 0 0 0 6.5 6.5l1.5-2 4 1.5v3a2 2 0 0 1-2.2 2A17 17 0 0 1 4.5 5.2 2 2 0 0 1 6.5 3z'/></svg>") !important;}
body:has(.ewl-lp.ewl-beauty) #sp_footer ul li.ewl-extra-hours a i.material-icons{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A7B68' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='8.5'/><path d='M12 7.2v5.1l3.2 1.9'/></svg>") !important;}
body:has(.ewl-lp.ewl-beauty) #wv_headbtn ul li.ewl-extra-hours a::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A7B68' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='8.5'/><path d='M12 7.2v5.1l3.2 1.9'/></svg>") !important;}
body:has(.ewl-lp.ewl-beauty) #sp_footer ul li.ewl-extra-access a i.material-icons{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A7B68' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M12 21s6.5-5.4 6.5-10.4A6.5 6.5 0 0 0 5.5 10.6C5.5 15.6 12 21 12 21z'/><circle cx='12' cy='10.4' r='2.4'/></svg>") !important;}
body:has(.ewl-lp.ewl-beauty) #wv_headbtn ul li.ewl-extra-access a::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A7B68' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M12 21s6.5-5.4 6.5-10.4A6.5 6.5 0 0 0 5.5 10.6C5.5 15.6 12 21 12 21z'/><circle cx='12' cy='10.4' r='2.4'/></svg>") !important;}

/* SP: 比較表は横スワイプ、メニューカードは2列(インライン指定に勝てるよう詳細度を上げる) */
.ewl-lp.ewl-beauty .va-cmp,body:has(.ewl-lp.ewl-beauty) .va-cmp{display:flex !important;overflow-x:auto !important;
  gap:12px !important;padding-bottom:6px !important;scroll-snap-type:x mandatory !important;
  -webkit-overflow-scrolling:touch !important;grid-template-columns:none !important;}
.ewl-lp.ewl-beauty .va-cmp > div,body:has(.ewl-lp.ewl-beauty) .va-cmp > div{flex:0 0 78% !important;
  scroll-snap-align:start !important;display:flex !important;flex-direction:column !important;grid-row:auto !important;}
.ewl-lp.ewl-beauty .va-cmp-head,body:has(.ewl-lp.ewl-beauty) .va-cmp-head{min-height:132px !important;}
.ewl-lp.ewl-beauty .va-menucards,body:has(.ewl-lp.ewl-beauty) .va-menucards{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}

/* ===== 透過ヘッダー(SP) ===== */
#wrapper:has(.ewl-lp.ewl-hero-top) #header,
#wrapper:has(.ewl-lp.ewl-hero-top) #gNav{background:transparent !important;background-image:none !important;box-shadow:none !important;}
#wrapper:has(.ewl-lp.ewl-hero-top) #header .cliniclogo_img{filter:brightness(0) invert(1) drop-shadow(0 1px 8px rgba(0,0,0,.5));}
#wrapper:has(.ewl-lp.ewl-hero-top) #header .header_text p,
#wrapper:has(.ewl-lp.ewl-hero-top) #header .header_tel i,
#wrapper:has(.ewl-lp.ewl-hero-top) #header .header_tel .tel{color:#fff !important;text-shadow:0 1px 10px rgba(0,0,0,.5) !important;}

/* ===== 健診コース×項目 マトリクス(SP) 2026-08-30 刷新 =====
   旧CSSは table を width:860px + table-layout:fixed で固定していたため、
   新しい sticky ヘッダー構造で 1行目が固定されなくなっていた。
   幅の指定はインラインに任せ、ここでは文字とセルを詰めるだけにする。 */
/* テーマが表を div.scroll-table で包み table に transform を掛けるため、
   position:sticky が無効化されていた (2026-08-30 SP実測)。
   自前の枠の中では包みも transform も打ち消す。 */
.ewl-va #matrix .ewl-kmx div.scroll-table,#matrix .ewl-kmx div.scroll-table{overflow:visible !important;overflow-x:visible !important;overflow-y:visible !important;max-height:none !important;height:auto !important;position:static !important;}
.ewl-va #matrix .ewl-kmx table,#matrix .ewl-kmx table{transform:none !important;-webkit-transform:none !important;top:auto !important;margin-top:0 !important;}
#matrix .ewl-kmx .scroll-hint-icon-wrap,#matrix .ewl-kmx .scroll-hint-icon{display:none !important;}
#matrix .ewl-kmx thead th{position:-webkit-sticky !important;position:sticky !important;top:0 !important;}
#matrix .ewl-kmx tbody th{position:-webkit-sticky !important;position:sticky !important;left:0 !important;}
#matrix .ewl-kmx td{font-size:12px !important;padding:7px 4px !important;}
#matrix .ewl-kmx thead th{font-size:11px !important;padding:8px 5px !important;}

/* ===== ヘッダー刷新 v2 (SP) ===== */
#wrapper:has(.ewl-lp) #header .cliniclogo_img{width:auto !important;height:40px !important;max-width:none !important;image-rendering:-webkit-optimize-contrast;}
#wrapper:has(.ewl-lp) #header{height:auto !important;min-height:0 !important;padding:0 0 6px !important;}
#wrapper:has(.ewl-lp) #header h1{position:static !important;display:flex !important;align-items:center !important;justify-content:flex-start !important;margin:0 !important;padding:0 0 0 16px !important;height:60px !important;min-height:0 !important;}
#wrapper:has(.ewl-lp) #header .cliniclogo_img{margin:0 !important;content:url("https://ewell-clinic.com/wp-content/uploads/2025/05/9a563fb36dab94afa078fc5dee44afc4.png") !important;}
#wrapper:has(.ewl-lp) #breadcrumbs{max-width:none !important;margin:var(--ewl-h2,60px) 0 0 !important;padding:8px 16px 0 !important;font-size:10.5px !important;}

/* ハンバーガー: 塗りつぶしの青四角をやめ、細い3本線にする(用賀ライク) */
#wrapper:has(.ewl-lp) #mobile{background:transparent !important;width:52px !important;height:60px !important;top:0 !important;right:6px !important;box-shadow:none !important;border-radius:0 !important;}
#wrapper:has(.ewl-lp) #mobile .material-icons{display:none !important;}
#wrapper:has(.ewl-lp) #mobile a.mobile_menu{position:relative !important;display:block !important;width:52px !important;height:60px !important;font-size:0 !important;color:transparent !important;background:transparent !important;}
#wrapper:has(.ewl-lp) #mobile a.mobile_menu::before{content:"";position:absolute;left:13px;right:13px;top:calc(50% - 9px);height:2px;border-radius:1px;background:#0B2B45;box-shadow:0 8px 0 #0B2B45,0 16px 0 #0B2B45;}
#wrapper:has(.ewl-lp.ewl-beauty) #mobile a.mobile_menu::before{background:#6E6153;box-shadow:0 8px 0 #6E6153,0 16px 0 #6E6153;}

/* ===== 固定ヘッダー(SP) ===== */
#wrapper:has(.ewl-lp) #header{position:fixed !important;top:0 !important;left:0 !important;right:0 !important;width:100% !important;max-width:none !important;z-index:120 !important;background:#fff !important;box-shadow:0 1px 0 rgba(11,43,69,.08);padding:0 !important;}
#wrapper:has(.ewl-lp.ewl-beauty) #header{background:#F7F4EF !important;box-shadow:0 1px 0 rgba(110,97,83,.16);}
#wrapper:has(.ewl-lp) #mobile{position:fixed !important;z-index:125 !important;}

/* 丸バッジが無い自費ページは、JS を待たずに CSS で余白を詰める(読み込み直後のちらつき防止) */
.ewl-lp.ewl-beauty [data-hero-img]{margin-bottom:18px !important;}


/* ===== ハンバーガーを開いた後のメニュー(#sidr / 用賀デザイン) ===== */
#sidr.ewl-menu{background:#F1EEE8 !important;padding:0 !important;width:100% !important;max-width:none !important;}
#sidr.ewl-menu .ewl-mhead{display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 14px 0 16px;background:#E7E2D9;}
#sidr.ewl-menu .ewl-mhead img{height:34px;width:auto;display:block;filter:none !important;opacity:1 !important;}
#sidr.ewl-menu .ewl-mclose{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:0;background:transparent;cursor:pointer;color:#6E6153;}
#sidr.ewl-menu .ewl-mlist{padding:14px 22px 0;}
#sidr.ewl-menu .ewl-mrow{display:flex;align-items:center;gap:10px;padding:17px 2px;border-bottom:1px solid #D3CCC0;}
#sidr.ewl-menu .ewl-mrow a{text-align:left !important;flex:1 1 auto;min-width:0;color:#332F2A !important;text-decoration:none !important;font-family:'YakuHanMP','Shippori Mincho','Yu Mincho','Hiragino Mincho ProN',serif;font-size:16px;font-weight:600;letter-spacing:.08em;line-height:1.5;background:none !important;padding:0 !important;}
#sidr.ewl-menu .ewl-mtog{flex:0 0 auto;width:26px;height:26px;border:1px solid #B9AF9F;border-radius:50%;background:transparent;color:#6E6153;display:flex;align-items:center;justify-content:center;font-size:15px;line-height:1;cursor:pointer;padding:0;}
#sidr.ewl-menu .ewl-msub{display:none;padding:0 0 6px;}
#sidr.ewl-menu .ewl-msub.open{display:block;}
#sidr.ewl-menu .ewl-msub a{text-align:left !important;display:block;padding:13px 2px 13px 18px;border-bottom:1px solid #E0DAD0;color:#5C564D !important;text-decoration:none !important;font-size:14px;letter-spacing:.06em;background:none !important;}
#sidr.ewl-menu .ewl-mcta{padding:26px 22px 40px;display:flex;flex-direction:column;gap:12px;}
#sidr.ewl-menu .ewl-mcta a{display:flex !important;align-items:center;justify-content:center;gap:10px;height:56px;border:1px solid #B9AF9F;border-radius:32px;background:#fff !important;color:#4A443C !important;text-decoration:none !important;font-size:15px;letter-spacing:.08em;font-weight:600;}
/* 保険ページは青系のトーンにする */
#sidr.ewl-menu.ewl-menu-ins{background:#F3F7FB !important;}
#sidr.ewl-menu.ewl-menu-ins .ewl-mhead{background:#E6EFF7;}
#sidr.ewl-menu.ewl-menu-ins .ewl-mrow{border-bottom-color:#CFDDEA;}
#sidr.ewl-menu.ewl-menu-ins .ewl-mrow a{color:#0B2B45 !important;}
#sidr.ewl-menu.ewl-menu-ins .ewl-mtog{border-color:#A9C4DC;color:#1062B0;}
#sidr.ewl-menu.ewl-menu-ins .ewl-msub a{border-bottom-color:#DCE7F1;color:#33475B !important;}
#sidr.ewl-menu.ewl-menu-ins .ewl-mcta a{border-color:#A9C4DC;color:#0B2B45 !important;}
#sidr.ewl-menu.ewl-menu-ins .ewl-mclose{color:#1062B0;}

/* 比較表(SP): 色付きヘッダーは価格の行数で高さが変わるため、高さを揃える */
.ewl-lp.ewl-beauty .va-cmp .va-cmp-head{height:196px !important;min-height:196px !important;justify-content:center !important;}


/* ページトップへ戻る(SP: 固定タブの上に置く) */
.ewl-pagetop{left:8px;bottom:74px;gap:8px;}
.ewl-pagetop .ewl-pt-line{height:34px;}
.ewl-pagetop .ewl-pt-txt{font-size:11px;letter-spacing:.16em;}

/* トップの自費メニューカード: SPは2列 */
.ewl-lp .va-jihigrid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}

/* ===== SP: 自前ヘッダーバーはロゴのみ。メニューはテーマのハンバーガーに戻す ===== */
.ewl-hdrbar{padding:10px 14px !important;justify-content:flex-start !important;}
.ewl-hdrbar .ewl-navlist,.ewl-hdrbar .ewl-hdrright,.ewl-hdrbar .ewl-hdrmeta{display:none !important;}
.ewl-hdrlogo-white,.ewl-hdrlogo-dark{height:38px !important;}
#wrapper:has(.ewl-lp.ewl-hero-top) #mobile{display:block !important;z-index:140 !important;}
#wrapper:has(.ewl-lp.ewl-hero-top) #mobile a.mobile_menu::before{background:#fff;box-shadow:0 8px 0 #fff,0 16px 0 #fff;}
/* スクロールでヘッダーが白帯になったら、ハンバーガーを濃紺に戻す(白背景に白線で消える対策 2026-08-22) */
body:has(.ewl-hdrbar.is-stuck) #wrapper:has(.ewl-lp.ewl-hero-top) #mobile a.mobile_menu::before{background:#0B2B45 !important;box-shadow:0 8px 0 #0B2B45,0 16px 0 #0B2B45 !important;}
body:has(.ewl-hdrbar.is-stuck) #wrapper:has(.ewl-lp.ewl-hero-top) #mobile a.mobile_menu::after{color:#0B2B45 !important;}
#wrapper:has(.ewl-lp.ewl-hero-top) #header{display:block !important;height:0 !important;overflow:visible !important;}
#wrapper:has(.ewl-lp.ewl-hero-top) #header h1,
#wrapper:has(.ewl-lp.ewl-hero-top) #header .header_text,
#wrapper:has(.ewl-lp.ewl-hero-top) #header .header_address,
#wrapper:has(.ewl-lp.ewl-hero-top) #header .header_week,
#wrapper:has(.ewl-lp.ewl-hero-top) #header .header_tel{display:none !important;}

/* ===== 2026-08-20: 自前ヘッダーを全LPページへ展開(SP) ===== */
#wrapper:has(.ewl-lp) #header{display:block !important;height:0 !important;overflow:visible !important;}
#wrapper:has(.ewl-lp) #header h1,
#wrapper:has(.ewl-lp) #header .header_text,
#wrapper:has(.ewl-lp) #header .header_address,
#wrapper:has(.ewl-lp) #header .header_week,
#wrapper:has(.ewl-lp) #header .header_tel{display:none !important;}
#wrapper:has(.ewl-lp) #mobile{display:block !important;z-index:140 !important;}
.ewl-hdrbar.is-plain{background:#fff !important;}
body:has(.ewl-lp.ewl-beauty) .ewl-hdrbar.is-plain{background:#FAF7F2 !important;}

/* 2026-08-20b: SPも固定バー分を wrapper で確保 */
#wrapper:has(.ewl-lp:not(.ewl-hero-top)){padding-top:var(--ewl-h2,70px) !important;}
#wrapper:has(.ewl-lp:not(.ewl-hero-top)) #breadcrumbs{margin-top:4px !important;}

/* SP: 下部の診療案内(MENU)は 写真+パネル の横並びだと、パネルが150px程度になり
   カードが1列でつぶれる(2026-08-20)。SPでは写真を出さず、カードを2列で見せる */
.ewl-lp .va-menu-row{display:block !important; padding-top:0 !important;}
.ewl-lp .va-menu-photo{display:none !important;}
.ewl-lp .va-menu-panel{margin-left:0 !important; border-radius:clamp(20px,5vw,28px) clamp(20px,5vw,28px) 0 0 !important;
  box-shadow:0 -10px 30px rgba(11,43,69,.06) !important; padding-left:16px !important; padding-right:16px !important;}
.ewl-lp .va-menu-panel > div:first-of-type{grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:18px 12px !important;}

/* ===== ヒーローをSP1画面に収める（2026-08-22） =====
   ピルを詰め、丸を小さくして、WEB予約/LINE予約をファーストビューに入れる */
.ewl-va [data-hero-pills]{gap:6px !important;margin-top:14px !important;}
.ewl-va [data-hero-pills] .va-hero-line{padding:7px 14px !important;font-size:14px !important;line-height:1.35 !important;box-shadow:0 3px 12px rgba(11,43,69,0.08) !important;}
.ewl-va [data-hero-text]{padding-top:clamp(16px,4.4vw,26px) !important;padding-bottom:10px !important;}
.ewl-va [data-hero-img]{margin-bottom:78px !important;}
/* SPでは丸を出さない（同じ文言がピルに出ており重複のため） */
.ewl-va [data-hero-circles]{display:none !important;}
.ewl-va [data-hero-img]{margin-bottom:0 !important;}
/* ピルは2行（1行目に2本を横並び、2行目に長い1本） */
.ewl-va [data-hero-pills]{flex-direction:row !important;flex-wrap:wrap !important;gap:7px !important;align-items:stretch !important;}
.ewl-va [data-hero-pills] .va-hero-line{flex:1 1 calc(50% - 4px) !important;min-width:0 !important;text-align:center !important;padding:8px 10px !important;font-size:13px !important;}
.ewl-va [data-hero-pills] .va-hero-line:nth-child(3){flex:1 1 100% !important;}
/* 大きな英字が顔に重なるため小さくする */
.ewl-va [data-hero-en]{font-size:clamp(30px,10vw,54px) !important;}

/* ---- 疾患タイル 携帯は2列・横長にしてスクロールを抑える ---- */
.ewl-va .va-grid{grid-template-columns:1fr 1fr !important;gap:8px !important;}
.ewl-va .va-gtile{grid-column:span 1 !important;min-height:80px !important;padding:16px 10px 24px !important;}
.ewl-va .va-gtile-ttl{font-size:12.5px !important;padding-bottom:5px !important;}
.ewl-va .va-gtile-rm{right:9px !important;bottom:6px !important;font-size:10.5px !important;}
.ewl-va .va-ggrp{margin-top:18px !important;}
/* 見出しは和文と英字を1行に、説明は2行までに畳む */
.ewl-va .va-ghd{display:block !important;margin-bottom:10px !important;padding-bottom:8px !important;}
.ewl-va .va-ghd>div{display:inline;}
.ewl-va .va-ghd-ja{display:inline !important;font-size:17px !important;}
.ewl-va .va-ghd-en{display:inline !important;margin-left:8px !important;font-size:10px !important;letter-spacing:.16em !important;}
.ewl-va .va-ghd-p{margin-top:6px !important;font-size:12.5px !important;line-height:1.8 !important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;}
.ewl-va .va-dlede{font-size:12.5px !important;line-height:1.8 !important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;}

/* 検査カードは携帯で縦に伸びすぎるので説明を3行までに畳む */
.ewl-va .va-cards{gap:8px !important;}
.ewl-va .va-cards>div{padding:13px 15px 14px !important;gap:6px !important;}
.ewl-va .va-cards>div>p{font-size:12.5px !important;line-height:1.8 !important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;}

/* アイコン一覧は携帯でも同じ形のまま2列 */
/* アイコン一覧は横長タイル (アイコン左 / 文字右)。SP は 2 列を保ち、
   文字数の多い項目 (.va-icard-wide) だけ 1 行を占有させて折り返しの間延びを防ぐ (2026-08-28) */
.ewl-va .va-icons{grid-template-columns:1fr 1fr !important;gap:8px !important;grid-auto-rows:auto !important;align-items:stretch;}
.ewl-va .va-icard{min-height:0 !important;padding:11px 12px !important;gap:9px !important;}
.ewl-va .va-icard-wide{grid-column:1 / -1 !important;}
/* 375px 未満 (iPhone SE 等) では、あと2文字ぶん狭いので中位の項目も1行に */
@media (max-width:374px){.ewl-va .va-icard-wide-sm{grid-column:1 / -1 !important;}}
/* 2列だと右端の > が幅を食い、5文字で折り返していた。SPでは矢印を落として文字幅を稼ぐ。
   ただし :last-child だと、矢印を持たない(spanが1つだけの)カードでは
   ラベル本体が消える。アレルギー科のアレルゲン30枚が全滅していた (2026-09-01)。
   span が2つあるとき、その2つ目(=矢印)だけを落とす。 */
.ewl-va .va-icons .va-icard > span + span{display:none !important;}
.ewl-va .va-icons .va-icard > span > span:first-child{font-size:13.5px !important;}
.ewl-va .va-icard img{width:36px !important;max-width:36px !important;}

/* 薬剤カードの横スワイプ比較。SPでは画面幅の8割弱を1枚にして、次のカードの端を見せる */
.ewl-va .ewl-swipe{scroll-padding-left:2px;}
.ewl-va .ewl-swipe>div{flex:0 0 78vw !important;}

/* COMPARE はSPでは縦積みにせず、横スワイプで隣と比べられるようにする */
.ewl-va .va-cgrid{display:flex !important;gap:12px !important;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;padding:2px 2px 8px;}
.ewl-va .va-cgrid>*{flex:0 0 78vw !important;scroll-snap-align:start;}

/* COMPARE を最初に見たとき、指が1回だけ横に流れてスワイプできることを示す (2026-09-10)。
   文字で書くと版面がうるさくなるので、出して消える演出にした。
   .ewl-swipe-cue は kit_JS が組み立てて 2.5秒で取り除く。 */
.ewl-va .ewl-swipe-host{position:relative;}
.ewl-va .ewl-swipe-cue{display:block !important;position:absolute;left:50%;top:175px;z-index:5;opacity:0;pointer-events:none;}
.ewl-va .ewl-swipe-cue.is-on{animation:ewlSwipeCue 1.25s ease-in-out 2;}
.ewl-va .ewl-swipe-cue>span{display:flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:50%;background:rgba(11,43,69,0.82);box-shadow:0 6px 18px rgba(11,43,69,0.26);}
.ewl-va .ewl-swipe-cue svg{display:block;width:26px;height:26px;}
@keyframes ewlSwipeCue{
  0%{opacity:0;transform:translateX(6px) scale(0.9);}
  14%{opacity:1;transform:translateX(1px) scale(1);}
  72%{opacity:1;transform:translateX(-55px) scale(1);}
  100%{opacity:0;transform:translateX(-60px) scale(0.94);}
}

/* ══ AIチャットボット UI（SP）══ */
#wacb-chat-icon svg{width:22px !important; height:22px !important; padding:12px;}
.wacb-icon-text{padding:8px 13px; font-size:12.5px;}
#wacb-chat-window{border-radius:16px !important;}

/* ── チャット本体（SP）= ほぼ全画面 ── */
#wacb-chat-window{
  right:10px !important; left:auto !important; bottom:78px !important;
  width:calc(100vw - 20px) !important; height:min(560px,calc(100dvh - 150px)) !important;
  border-radius:14px !important;
}
body:has(.ewl-lp.ewl-va) #wacb-chat-window{bottom:126px !important;}
#wacb-chat-log{padding:16px 16px !important;}
#wacb-chat-input{padding:12px 14px !important;}

/* ── チャットトリガー = アイコン ＋ 吹き出し（SP）── */
#wacb-chat-icon.has-custom-image{
  display:flex !important; width:auto !important; height:auto !important;
  background:transparent !important; border:none !important; box-shadow:none !important;
  border-radius:0 !important; overflow:visible;
}
#wacb-chat-icon.has-custom-image .wacb-custom-icon-img{
  width:50px !important; height:50px !important;
  max-width:50px !important; max-height:50px !important; padding:0 !important;
}
#wacb-chat-icon.has-custom-image .wacb-icon-text{display:inline-block !important;}

/* kit_PC は全幅に効くため .ewl-swipe-hint がSPでも消えていた。SPでは出す (2026-08-27) */
.ewl-va .ewl-swipe-hint{display:block !important;}

/* ============================================================
   法人ページのCTA (.ewl-ctabtn) (2026-08-30)
   「お見積り・ご相談フォーム」「お電話 03-3534-7119」は
   患者向けの「WEB予約」より長く、SPで2つ横に並べると2行に折れて
   高さ56px固定のピルから文字がはみ出す。SPでは縦積み1行にする。
   ============================================================ */
/* 締めブロックは .ewl-va #reserve a が後勝ちするので、そこも名指しする */
.ewl-va #reserve a.ewl-ctabtn,.ewl-va .ewl-ctabtn,.ewl-ctabtn{flex:1 1 100% !important;width:100% !important;min-width:0 !important;white-space:nowrap !important;font-size:15px !important;}

/* ============================================================
   ハンバーガーメニュー内のサイト内検索 (2026-08-31)
   SPではヘッダーのメタ行を隠しているため、検索はここに置く。
   ============================================================ */
#sidr.ewl-menu .ewl-msearch{margin:0 !important;padding:14px 18px 4px !important;}
#sidr.ewl-menu .ewl-msearch-box{display:flex !important;align-items:center;gap:8px;
  padding:0 14px;height:44px;border-radius:999px;border:1px solid #CBD9E4;background:#fff;}
#sidr.ewl-menu .ewl-msearch-box:focus-within{border-color:#1062B0;}
#sidr.ewl-menu .ewl-msearch input[type="search"]{flex:1 1 auto;min-width:0;border:0 !important;outline:0;
  background:transparent !important;box-shadow:none !important;padding:0 !important;margin:0 !important;
  height:42px;font-size:15px;color:#0B2B45;-webkit-appearance:none;appearance:none;}
#sidr.ewl-menu .ewl-msearch input[type="search"]::placeholder{color:#8AA0B2;}
#sidr.ewl-menu .ewl-msearch input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;}
/* img-search.png は白抜き(全146pxが白)。明るい地では見えないので黒く落とす */
#sidr.ewl-menu .ewl-msearch input[type="image"]{flex:0 0 auto;width:18px;height:18px;display:block;
  cursor:pointer;border:0 !important;background:transparent !important;padding:0 !important;margin:0 !important;
  filter:brightness(0) !important;opacity:.5;}
body:has(.ewl-lp.ewl-beauty) #sidr.ewl-menu .ewl-msearch-box{border-color:#DCD1C0;}
body:has(.ewl-lp.ewl-beauty) #sidr.ewl-menu .ewl-msearch input[type="search"]{color:#6B5B48;}

/* 国別プルダウン: SPでは横幅いっぱいに (2026-09-01) */
.ewl-cselect select{max-width:100% !important;height:46px !important;font-size:15px !important;}

}
