/* =========================================================================
   トップ刷新（2026/09）全ページ共通の追加CSS：白基調／ヘッダー・ハンバーガー／
   CTAボタン（LINE・WEB予約・電話）／SNS／右下の特集フレーム／トップ各セクション
   ※ページ別CSSより後に読み込まれます（functions.php の kaneko_enqueue_renewal_assets）
   ========================================================================= */
:root{--bar-h:58px;--line-green:#06C755;--badge-y:#FFE45C;}

/* ---------- 白基調：ベージュ固定色を白系に ---------- */
.header.scrolled{background:rgba(255,255,255,.94);}
.jumpnav{background:rgba(255,255,255,.94);}
.page-hero{background:radial-gradient(120% 80% at 78% 8%,#FBF6F1,rgba(251,246,241,0) 60%),linear-gradient(180deg,#FFFFFF,#FFFFFF);}
.cases-prev,.cases-next,.hcar-prev,.hcar-next{background:rgba(255,255,255,.95);}
.notice{background:#fff;}
.treat,.flow,.feature,.column,.cta{background:var(--porcelain-2);}
.cases,.rank,.find,.doctor,.clinic,.reviews,.line-cta,.faq,.info{background:#fff;}
.ctaband{background:var(--ink);}
.line-box{background:#fff;border:1px solid var(--line);box-shadow:0 30px 60px -44px rgba(33,30,26,.35);}

/* ---------- アイコン共通 ---------- */
.kic{width:1.6em;height:1.6em;flex:0 0 auto;display:block;}
img.kic{object-fit:contain;}

/* ---------- CTAボタン（LINE緑＋黄バッジ／WEB予約／電話） ---------- */
.act-btn{position:relative;display:flex;align-items:center;justify-content:center;gap:.6em;min-height:64px;padding:1.5em 1.2em .8em;border-radius:12px;font-family:var(--f-disp);font-weight:700;font-size:1.05rem;letter-spacing:.02em;line-height:1.3;text-align:center;transition:transform .35s var(--ease),filter .35s var(--ease),box-shadow .35s var(--ease);box-shadow:0 12px 26px -16px rgba(33,30,26,.45);}
.act-btn:hover{transform:translateY(-2px);filter:brightness(1.05);}
.act-btn .act-ic{width:1.5em;height:1.5em;}
.act-btn .act-tx{white-space:nowrap;}
.act-badge{position:absolute;top:0;left:50%;transform:translate(-50%,-52%);background:var(--badge-y);color:#3B3200;font-size:.66rem;font-weight:700;letter-spacing:.02em;line-height:1;padding:.5em 1.1em;border-radius:999px;white-space:nowrap;box-shadow:0 4px 10px -4px rgba(0,0,0,.25);}
.act-badge--soft{background:#fff;color:var(--bronze);border:1px solid var(--bronze);box-shadow:none;}
.act-line{background:var(--line-green);color:#fff;}
.act-web{background:var(--ink);color:#fff;}
.act-tel{background:#fff;color:var(--ink);border:1px solid var(--ink);}
.act-tel .act-badge--soft{color:var(--ink-soft);border-color:var(--line);}
.line-side .act-btn{margin-top:22px;min-width:min(100%,300px);margin-inline:auto;}
.cta-acts3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 16px;max-width:860px;margin:clamp(28px,4vh,44px) auto 0;}
.cta-acts3 .act-btn{padding-top:1.6em;}
@media (max-width:700px){.cta-acts3{grid-template-columns:1fr;max-width:420px;}.act-btn .act-tx{white-space:normal;}}

/* ---------- ヘッダー ---------- */
.brand{font-size:1.15rem;}

/* ---------- 固定予約バー（アイコン付き） ---------- */
.fixed-bar a{flex-direction:row;gap:.6em;padding:.75em 0;}
.fixed-bar .fb-ic{width:1.5em;height:1.5em;}
.fixed-bar .fb-tx{display:flex;flex-direction:column;align-items:flex-start;gap:1px;line-height:1.25;}
.fixed-bar .fb-tx .en{font-size:.56rem;}
.fixed-bar .fb-tel{background:#fff;border-top:1px solid var(--line);}
@media (max-width:420px){.fixed-bar a{gap:.4em;font-size:.8rem;}.fixed-bar .fb-ic{width:1.3em;height:1.3em;}}

/* ---------- ハンバーガーメニュー（全面オーバーレイ） ---------- */
.m-overlay{background:#fff;padding:0;gap:0;overflow-y:auto;overscroll-behavior:contain;}
.m-overlay .m-close{position:fixed;top:clamp(12px,2vw,22px);right:clamp(12px,3vw,32px);width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:1.5rem;line-height:1;color:var(--ink);display:grid;place-items:center;z-index:3;}
.m-inner{width:100%;max-width:920px;margin:0 auto;padding:calc(var(--head-h) + 26px) var(--gutter) 48px;}
.m-overlay .m-cta{display:grid;gap:26px;margin-bottom:26px;}
.m-cta-row{display:grid;grid-template-columns:1fr 1fr;gap:26px 12px;}
.m-overlay .act-btn{border-bottom:0;padding:1.6em 1em .9em;font-size:1rem;}
.m-overlay .act-line{font-size:1.15rem;min-height:72px;}
.m-overlay .act-tel{border:1px solid var(--ink);}
.m-overlay .m-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:30px;}
.m-overlay .m-grid a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:52px;padding:.5em .4em;border:1px solid var(--line);border-radius:8px;background:#fff;font-family:var(--f-body);font-weight:500;font-size:.86rem;line-height:1.4;letter-spacing:0;}
.m-overlay .m-grid a:hover{border-color:var(--bronze);color:var(--bronze);}
.m-treat-h{display:flex;flex-direction:column;gap:2px;margin:0 0 10px;font-family:var(--f-disp);font-weight:700;font-size:1.1rem;}
.m-treat-h .en{font-family:var(--f-lat);font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;color:var(--bronze);}
.m-tg{border:1px solid var(--line);border-radius:10px;margin-bottom:10px;background:#fff;overflow:hidden;}
.m-tg summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:12px 16px;background:var(--porcelain-2);}
.m-tg summary::-webkit-details-marker{display:none;}
.m-tg-ic{width:52px;height:52px;border-radius:50%;background:#fff;border:1px solid var(--line);color:var(--bronze);display:grid;place-items:center;flex:0 0 auto;}
.m-tg-ic .kic{width:30px;height:30px;}
.m-tg-tx{display:flex;flex-direction:column;line-height:1.3;}
.m-tg-tx b{font-family:var(--f-disp);font-size:1.05rem;}
.m-tg-tx small{font-family:var(--f-lat);font-size:.68rem;letter-spacing:.24em;color:var(--bronze);}
.m-tg-ar{margin-left:auto;width:10px;height:10px;border-right:2px solid var(--bronze);border-bottom:2px solid var(--bronze);transform:rotate(45deg);transition:transform .3s;}
.m-tg[open] .m-tg-ar{transform:rotate(-135deg);}
.m-tg-body{padding:6px 16px 16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 26px;}
.m-cat ul{list-style:none;margin:0;padding:0;}
.m-overlay .m-cat-h{display:flex;align-items:center;gap:10px;padding:.8em 0 .6em;border-bottom:1px solid var(--bronze);font-family:var(--f-disp);font-weight:700;font-size:.95rem;}
.m-cat-h i{margin-left:auto;font-style:normal;color:var(--bronze);}
.m-cat-ic{width:30px;height:30px;color:var(--bronze);display:grid;place-items:center;}
.m-cat-ic .kic{width:26px;height:26px;}
.m-overlay .m-cat li a{display:block;padding:.5em 0 .5em .4em;border-bottom:1px solid rgba(217,210,198,.6);font-family:var(--f-body);font-weight:400;font-size:.88rem;line-height:1.5;color:var(--ink-soft);}
.m-overlay .m-cat li a:hover{color:var(--bronze);}
.m-sns{display:flex;justify-content:center;gap:14px;margin-top:34px;}
.sns-ic{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;transition:background .3s,transform .3s var(--ease);}
.sns-ic .kic{width:24px;height:24px;}
.sns-ic:hover{background:var(--bronze);transform:translateY(-2px);}
.m-overlay .sns-ic{border-bottom:0;padding:0;}
.footer-sns{display:flex;gap:12px;margin-top:38px;}
.footer .sns-ic{background:transparent;border:1px solid rgba(247,244,239,.35);color:var(--porcelain);width:44px;height:44px;}
.footer .sns-ic:hover{background:var(--porcelain);color:var(--ink);}
@media (max-width:640px){
  .m-tg-body{grid-template-columns:1fr;}
  .m-overlay .m-grid{gap:6px;}
  .m-overlay .m-grid a{font-size:.78rem;min-height:50px;}
  .m-cta-row{gap:26px 8px;}
  .m-overlay .act-btn{font-size:.9rem;gap:.4em;}
}
@media (min-width:821px){.m-overlay .m-inner{padding-top:calc(var(--head-h) + 40px);}}

/* ---------- 右下の特集フレーム（閉じるボタン付き） ---------- */
.feat-pop{position:fixed;right:14px;bottom:18px;z-index:88;width:clamp(150px,17vw,220px);opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .5s var(--ease),transform .5s var(--ease),bottom .5s var(--ease);}
.feat-pop.is-on{opacity:1;transform:none;pointer-events:auto;}
.feat-pop[hidden]{display:block!important;visibility:hidden;}
.feat-pop.is-on[hidden]{visibility:visible;}
.feat-card{display:block;position:relative;background:#fff;border:1px solid var(--bronze);padding:5px;border-radius:6px;box-shadow:0 18px 40px -20px rgba(33,30,26,.55);}
.feat-card::before{content:"";position:absolute;inset:2px;border:1px solid rgba(154,123,79,.35);border-radius:4px;pointer-events:none;}
.feat-img{display:block;width:100%;height:auto;border-radius:3px;aspect-ratio:auto 3/2;}
.feat-ph{display:flex;flex-direction:column;justify-content:center;gap:.3em;min-height:96px;padding:1.2em .9em .9em;background:linear-gradient(135deg,#FBF6F1,#F2E7DE);border-radius:3px;text-align:center;}
.feat-ph b{font-family:var(--f-disp);font-size:1rem;line-height:1.4;}
.feat-ph small{font-size:.72rem;color:var(--ink-soft);line-height:1.5;}
.feat-close{position:absolute;top:-16px;right:-8px;width:44px;height:44px;border:0;background:none;padding:0;cursor:pointer;display:grid;place-items:center;z-index:3;}
.feat-close::before{content:"";position:absolute;width:28px;height:28px;border-radius:50%;background:var(--ink);box-shadow:0 6px 14px -6px rgba(0,0,0,.5);}
.feat-close .kic{position:relative;width:14px;height:14px;color:#fff;stroke-width:5;}
.feat-close:hover::before{background:var(--bronze);}
@media (max-width:820px){
  .feat-pop{width:132px;right:10px;bottom:12px;}
  .fixed-bar.show ~ .feat-pop{bottom:calc(var(--bar-h) + 14px);}
  .feat-ph{min-height:78px;}.feat-ph b{font-size:.88rem;}.feat-ph small{font-size:.66rem;}
}
body:has(.m-overlay.open) .feat-pop{opacity:0!important;pointer-events:none!important;}
@media (prefers-reduced-motion:reduce){.feat-pop{transition:none;}}

/* ---------- HERO（写真背景＋動画切替） ---------- */
.hero{background:#fff;}
.hero-bg{position:absolute;inset:0;z-index:0;display:block;}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 60%;}
.hero-video{opacity:0;mix-blend-mode:normal;filter:none;transition:opacity .8s;}
.hero-video.is-on{opacity:1;}
.hero::after{background:radial-gradient(90% 70% at 50% 42%,rgba(255,255,255,.72),rgba(255,255,255,0) 70%),linear-gradient(180deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,0) 22%,rgba(255,255,255,0) 70%,rgba(255,255,255,.85) 100%);}
.hero-access{display:inline-flex;align-items:center;gap:.6em;margin:0 auto clamp(14px,2.2vh,24px);padding:.55em 1.3em .55em 1em;background:rgba(255,255,255,.92);border:1px solid var(--bronze);border-radius:999px;font-family:var(--f-body);font-weight:500;font-size:.92rem;letter-spacing:.04em;color:var(--ink);box-shadow:0 10px 24px -16px rgba(33,30,26,.5);}
.hero-top{display:flex;flex-direction:column;align-items:center;}
.hero-access .ha-ic{width:1.3em;height:1.3em;color:var(--bronze);}
.hero-access b{font-family:var(--f-disp);font-size:1.25em;color:var(--bronze);margin:0 .15em;}
.hero-title{color:var(--ink);text-shadow:0 0 24px rgba(255,255,255,.85);}
.hero-sub{text-shadow:0 0 18px rgba(255,255,255,.9);}
.hero .btn-line{background:rgba(255,255,255,.85);}
.hero .btn-line:hover{background:var(--ink);}
@media (max-width:768px){.hero-bg img{object-position:center 40%;}.hero-access{font-size:.84rem;}}

/* ---------- 診療項目（料金一覧データ・丸アイコン付きカード） ---------- */
.menu-tabs{border-bottom:1px solid var(--line);}
.tg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}
.tg-card{margin:0;background:#fff;border:1px solid var(--line);border-radius:10px;padding:clamp(16px,2vw,24px);}
.tg-card h4{border-bottom:0;padding-bottom:0;margin-bottom:10px;align-items:center;gap:12px;flex-wrap:wrap;}
.tg-ic{width:52px;height:52px;border-radius:50%;background:var(--porcelain-2);border:1px solid var(--line);color:var(--bronze);display:grid;place-items:center;flex:0 0 auto;}
.tg-ic .kic{width:30px;height:30px;}
.tg-name{font-size:1.12rem;}
.tg-price{margin-left:auto;font-family:var(--f-body);font-weight:500;font-size:.78rem;letter-spacing:.02em;color:var(--bronze);border:1px solid var(--bronze);border-radius:999px;padding:.35em 1em;display:inline-flex;gap:.4em;align-items: center;}
.tg-price:hover{background:var(--bronze);color:#fff;}
.tg-card .mg-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:0 22px;}
.tg-card .mg-link{font-size:.92rem;padding:11px 2px;}
@media (max-width:900px){.tg-grid{grid-template-columns:1fr;}}

/* ---------- お悩みから探す／部位から探す（丸アイコングリッド） ---------- */
.find{padding-block:var(--sect-y);}
.find-tabs{display:flex;max-width:520px;margin:0 auto clamp(26px,4vh,40px);border:1px solid var(--bronze);border-radius:999px;overflow:hidden;background:#fff;}
.find-tab{flex:1;border:0;background:#fff;color:var(--bronze);font-family:var(--f-disp);font-weight:700;font-size:.98rem;padding:.9em 0;cursor:pointer;transition:background .3s,color .3s;}
.find-tab.active{background:var(--bronze);color:#fff;}
.find-panel{display:none;}
.find-panel.active{display:block;}
.find-grid{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(18px,3vw,34px) clamp(10px,2vw,24px);max-width:980px;}
.find-item{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;}
.find-ic{width:clamp(76px,9vw,104px);aspect-ratio:1;border-radius:50%;background:#fff;border:1px solid var(--line);color:var(--bronze);display:grid;place-items:center;box-shadow:0 14px 26px -20px rgba(33,30,26,.5);transition:transform .4s var(--ease),background .3s,color .3s,border-color .3s;}
.find-ic .kic{width:46%;height:46%;}
.find-item:hover .find-ic{background:var(--bronze);color:#fff;border-color:var(--bronze);transform:translateY(-3px);}
.find-lb{font-family:var(--f-body);font-weight:500;font-size:.86rem;line-height:1.5;color:var(--ink);}
@media (max-width:820px){.find-grid{grid-template-columns:repeat(3,minmax(0,1fr));}.find-lb{font-size:.8rem;}}

/* ---------- 症例カード（施術名・説明・担当医・費用・リスク） ---------- */
.ba-info .spec > div,.case-spec > div{grid-template-columns:92px 1fr;}
.ba-info dt,.case-spec dt{white-space:nowrap;}
.case-spec .is-desc dd,.ba-info .is-desc dd{color:var(--ink);}
.case-card{display:flex;flex-direction:column;background:#fff;}
.case-body{display:flex;flex-direction:column;flex:1;}
.case-more{margin-top:auto;padding-top:14px;font-size:.84rem;font-weight:500;color:var(--bronze);display:inline-flex;gap:.5em;}
.case-spec .is-desc dd{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;}
.case-spec dd{word-break:break-word;}
.find-lb{text-wrap:balance;}@media (max-width:820px){.find-lb{font-size:.76rem;}}

/* =========================================================================
   追加調整（2回目）
   ========================================================================= */
/* 特集枠：固定バーが出たら常にその上へ（PCでも重ならない） */
:root{--bar-h:56px;}
.fixed-bar.show ~ .feat-pop{bottom:calc(var(--bar-h) + 16px);}

/* ヘッダー（PC）：項目を増やした分、幅が狭い画面では一部を非表示 */
.nav{gap:clamp(12px,1.5vw,24px);}
@media (min-width:821px) and (max-width:1180px){.nav .nav-opt{display:none;}}

/* HERO：左寄せのキャッチ＋ピル型ボタン1つ（参考デザイン） */
.hero-top{align-items:flex-start;text-align:left;}
.hero-title{text-align:left;}
.hero-sub{margin-left:0;margin-right:0;text-align:left;}
.hero-cta{justify-content:flex-start;margin-top:clamp(22px,3vh,34px);}
.hero-access{margin-left:0;}
.hero-pill{display:inline-flex;align-items:center;gap:.9em;padding:.95em 1.1em .95em 1.8em;border-radius:999px;background:rgba(255,255,255,.88);backdrop-filter:blur(6px);border:1px solid rgba(154,123,79,.45);font-family:var(--f-body);font-weight:500;font-size:.95rem;letter-spacing:.03em;color:var(--ink);box-shadow:0 14px 30px -20px rgba(33,30,26,.55);transition:transform .35s var(--ease),background .3s,color .3s;}
.hero-pill i{width:26px;height:26px;border-radius:50%;background:var(--bronze);position:relative;flex:0 0 auto;}
.hero-pill i::before{content:"";position:absolute;left:8px;top:8px;width:7px;height:7px;border-top:2px solid #fff;border-right:2px solid #fff;transform:rotate(45deg);}
.hero-pill:hover{transform:translateY(-2px);background:#fff;}
.hero::after{background:linear-gradient(90deg,rgba(255,255,255,.78) 0%,rgba(255,255,255,.35) 45%,rgba(255,255,255,0) 72%),linear-gradient(180deg,rgba(255,255,255,.5) 0%,rgba(255,255,255,0) 22%,rgba(255,255,255,0) 72%,rgba(255,255,255,.85) 100%);}
.hero-title,.hero-sub{text-shadow:none;}
@media (max-width:768px){
  .hero-top{align-items:flex-start;}
  .hero::after{background:linear-gradient(180deg,rgba(255,255,255,.7) 0%,rgba(255,255,255,.35) 55%,rgba(255,255,255,.7) 100%);}
  .hero-pill{width:100%;justify-content:space-between;font-size:.9rem;}
}

/* NEWS（お知らせ） */
.news-sec{background:#fff;padding-block:clamp(36px,5vh,60px);border-bottom:1px solid var(--line);}
.news-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 18px;margin-bottom:12px;}
.news-head .tlink{margin-left:auto;}
.news-h{font-family:var(--f-disp);font-weight:700;font-size:1.25rem;margin:0;}
.news-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line);}
.news-list a{display:flex;align-items:baseline;gap:18px;padding:1em .3em;border-bottom:1px solid #f9f9f9;transition:color .3s,padding-left .3s var(--ease);}
.news-list a:hover{color:var(--bronze);padding-left:.8em;}
.news-list time{font-family:var(--f-lat);font-weight:500;letter-spacing:.08em;color:var(--bronze);font-size:.95rem;flex:0 0 auto;}
.news-t{flex:1;min-width:0;font-size:.95rem;line-height:1.7;}
.news-list i{font-style:normal;color:var(--bronze);}
.news-empty{margin:0;padding:1.2em 0;color:var(--ink-soft);font-size:.9rem;}
@media (max-width:600px){.news-list a{flex-wrap:wrap;gap:2px 12px;}.news-t{flex-basis:100%;order:3;}}

/* ctaband：ダークから柔らかいトーンへ */
.ctaband{background:linear-gradient(135deg,#FBF4EE,#F4EAE1);color:var(--ink);border-block:1px solid rgba(154,123,79,.18);}
.ctaband p{color:var(--ink-soft);}
.ctaband .btn-fill{background:var(--ink);color:#fff;}
.ctaband .btn-fill:hover{background:var(--bronze);}
.ctaband .btn-line{background:var(--line-green);border-color:var(--line-green);color:#fff;}
.ctaband .btn-line:hover{background:#05b04c;color:#fff;}

/* 症例：カード全体をリンクに */
a.ba-feature,a.case-card{color:inherit;text-decoration:none;}
a.ba-feature{display:grid;}
.ba-more{margin-top:24px;text-align:center;}
a.case-card{transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .3s;}
a.case-card:hover{transform:translateY(-3px);box-shadow:0 26px 44px -30px rgba(33,30,26,.5);border-color:var(--bronze);}
a.ba-feature:hover .btn-fill{background:var(--bronze);}
a.case-card:hover .case-more{color:var(--ink);}
.case-more span{margin-left:.5em;}

/* スライドの矢印：中央揃え（文字記号ではなくCSSの矢印に）。縦位置は画像の中心 */
.cases-prev,.cases-next,.hcar-prev,.hcar-next{display:grid;place-items:center;padding:0;font-size:0;line-height:0;}
.cases-prev::before,.cases-next::before,.hcar-prev::before,.hcar-next::before{content:"";width:10px;height:10px;border-top:2px solid currentColor;border-right:2px solid currentColor;}
.cases-prev::before,.hcar-prev::before{transform:rotate(-135deg);margin-left:4px;}
.cases-next::before,.hcar-next::before{transform:rotate(45deg);margin-right:4px;}
.cases-slider{container-type:inline-size;}
@supports (top:1cqw){
  .cases-prev,.cases-next{top:11.8cqw;}
  @container (max-width:700px){.cases-prev,.cases-next{top:31.5cqw;}}
}

/* ===== 症例詳細「関連する症例」カード（症例一覧と同じ項目構成・画像付き） ===== */
.rc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.4vw,30px);}
.rc-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:7px;overflow:hidden;color:inherit;transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .3s;}
.rc-card:hover{transform:translateY(-4px);box-shadow:0 22px 44px -26px rgba(33,30,26,.4);border-color:var(--bronze);}
.rc-thumb{display:block;aspect-ratio:7/5;overflow:hidden;background:var(--line);}
.rc-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.rc-body{display:flex;flex-direction:column;gap:9px;flex:1;padding:clamp(14px,1.6vw,20px);}
.rc-tags{display:flex;flex-wrap:wrap;gap:8px;}
.rc-tag{font-weight:700;font-size:.68rem;color:var(--bronze);border:1px solid var(--blush);border-radius:999px;padding:.24em .85em;}
.rc-mon{font-size:.7rem;color:var(--ink-faint);border:1px solid var(--line);border-radius:999px;padding:.24em .75em;}
.rc-title{font-family:var(--f-disp);font-weight:700;font-size:1.04rem;line-height:1.6;margin:0;min-height:3.2em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.rc-info{margin:auto 0 0;padding:0;border-top:1px solid var(--line);}
.rc-info>div{display:grid;grid-template-columns:5.2em 1fr;gap:8px;align-items:baseline;padding:.55em 0;border-bottom:1px solid var(--line);}
.rc-info dt{font-weight:700;font-size:.68rem;color:var(--bronze);white-space:nowrap;}
.rc-info dd{margin:0;font-size:.84rem;line-height:1.5;color:var(--ink-soft);min-width:0;overflow-wrap:anywhere;}
.rc-info>div:first-child dd{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rc-info .is-period dd{min-height:3em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.rc-info .is-price dd{color:var(--ink);font-weight:700;}
.rc-view{margin-top:6px;font-weight:500;font-size:.76rem;color:var(--bronze);display:inline-flex;gap:.5em;}
@media (max-width:980px){.rc-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:600px){
  .rc-grid{gap:12px;}
  .rc-body{padding:12px 12px 14px;gap:7px;}
  .rc-info>div{grid-template-columns:1fr;gap:1px;}
  .rc-info dt{font-size:.64rem;}.rc-info dd{font-size:.82rem;}
}
@media (max-width:380px){.rc-grid{grid-template-columns:1fr;}}

/* =========================================================================
   追加調整（3回目）
   ========================================================================= */
/* ---- 矢印を全箇所で統一（細く長い線＋短い矢じり。文字色に追従） ---- */
:root{--arw:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 10'%3E%3Cpath d='M.6 8.2h24.4M20.4 3.4L25 8' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");}
.arw,.tlink::after{content:"";display:inline-block;flex:0 0 auto;width:1.9em;height:.45em;font-style:normal;background:currentColor;-webkit-mask:var(--arw) center/contain no-repeat;mask:var(--arw) center/contain no-repeat;}
.tlink::after{transition:transform .4s var(--ease);}
.mg-link .ar.arw,.rc-view .arw,.case-more .arw,.cview .arw,.tg-price .arw{width:1.7em;}
.mg-link .ar{
  /* color:var(--ink-faint); */
  color:#e2d8c6;
}
.m-cat-h .arw{margin-left:auto;color:var(--bronze);width:1.6em;}
.m-overlay .m-cat-h i{font-style:normal;}
.hero-pill{display:none;}

/* ---- ファーストビュー：駅ボックスはボタンに見えない“文字だけ”の表現に ---- */
.hero-access{background:none;border:0;border-radius:0;box-shadow:none;padding:0;gap:.5em;font-size:1rem;font-weight:500;letter-spacing:.08em;color:var(--ink);text-shadow:0 0 14px rgba(255,255,255,.95);}
.hero-access .ha-ic{width:1.25em;height:1.25em;color:var(--bronze);}
.hero-access b{font-size:1.5em;line-height:1;margin:0 .1em;}
.hero-access span{border-bottom:1px solid var(--bronze);padding-bottom:.25em;}

/* ---- ファーストビュー：手書き風のキャッチコピー ---- */
.hero-title{font-family:var(--f-mincho);font-weight:700;font-size:clamp(2.4rem,7.2vw,4.8rem);line-height:1.4;letter-spacing:.05em;color:var(--ink);transform:none;text-shadow:0 0 30px rgba(255,255,255,.9);}
.hero-title .accent{color:var(--bronze);}
.hero-sub{font-family:var(--f-mincho);font-weight:500;font-size:clamp(.95rem,2.6vw,1.15rem);line-height:2.1;letter-spacing:.08em;color:var(--ink);transform:none;margin-top:clamp(18px,3vh,30px);}
@media (max-width:768px){.hero-title{font-size:clamp(2.2rem,10.5vw,3.2rem);}}

/* ---- ヘッダー：ダークのボタンをやめ、WEB予約・LINE予約（バッジ付き） ---- */
.nav{gap:clamp(12px,1.5vw,22px);}
.header .hd-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.86rem;letter-spacing:.02em;color:#fff!important;padding:.85em 1.5em;border-radius:999px;box-shadow:0 10px 20px -14px rgba(33,30,26,.5);transition:transform .35s var(--ease),filter .35s;}
.header .hd-btn:hover{transform:translateY(-1px);filter:brightness(1.06);}
.header .hd-web{background:#8A6B3F;}
.header .hd-line{background:var(--line-green);}
.header .hd-btn .act-badge{font-size:.6rem;padding:.42em .95em;}
.nav a.hd-btn::after{display:none;}
@media (min-width:821px) and (max-width:1180px){.nav .hd-btn{padding:.8em 1.1em;font-size:.8rem;}}

/* ---- 症例（トップ）：ホバーの影・浮き上がりを外す ---- */
a.case-card:hover,a.ba-feature:hover{transform:none;box-shadow:none;}
a.case-card,a.ba-feature{transition:border-color .3s;}
a.case-card:hover{border-color:var(--bronze);}
.btn-fill{box-shadow:none;}
.ba-more .btn-fill{box-shadow:none;}

/* ---- SNSアイコン：添付の画像を白い丸の上に ---- */
.sns-ic{background:#fff;color:var(--ink);border:1px solid var(--line);}
.sns-ic .kic{width:26px;height:26px;object-fit:contain;}
.sns-ic:hover{background:#fff;border-color:var(--bronze);transform:translateY(-2px);}
.sns-line{color:#06C755;}
.footer .sns-ic{background:#fff;border-color:#fff;color:var(--ink);}
.footer .sns-ic.sns-line{color:#06C755;}
.footer .sns-ic:hover{background:#fff;color:var(--ink);}

/* ---- お知らせ一覧（カテゴリーページ） ---- */
.news-arch{padding-block:clamp(28px,5vh,56px) var(--sect-y);background:#fff;}
.na-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line);max-width:920px;margin-inline:auto;}
.na-item{display:grid;grid-template-columns:10.5em 1fr auto;gap:8px 22px;align-items:center;padding:1.4em .4em;border-bottom:1px solid var(--line);transition:background .3s,padding-left .3s var(--ease);}
.na-item.has-thumb{grid-template-columns:10.5em 1fr 132px auto;}
.na-item:hover{background:var(--porcelain-2);padding-left:1em;}
.na-meta{display:flex;flex-direction:column;align-items:flex-start;gap:.5em;}
.na-meta time{font-family:var(--f-lat);font-weight:500;letter-spacing:.08em;font-size:1rem;color:var(--bronze);}
.na-cat{font-size:.68rem;font-weight:700;color:var(--bronze);border:1px solid var(--blush);border-radius:999px;padding:.2em .85em;}
.na-main{display:flex;flex-direction:column;gap:.4em;min-width:0;}
.na-title{font-family:var(--f-disp);font-weight:700;font-size:1.05rem;line-height:1.6;}
.na-ex{font-size:.86rem;line-height:1.8;color:var(--ink-soft);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.na-thumb{display:block;aspect-ratio:3/2;border-radius:4px;overflow:hidden;background:var(--line);}
.na-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.na-item .arw{color:var(--bronze);}
.na-pager{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:clamp(30px,5vh,48px);}
.na-pager .page-numbers{min-width:42px;height:42px;padding:0 .8em;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px;font-size:.92rem;color:var(--ink);background:#fff;transition:all .3s;}
.na-pager a.page-numbers:hover{border-color:var(--bronze);color:var(--bronze);}
.na-pager .page-numbers.current{background:var(--ink);border-color:var(--ink);color:#fff;}
.na-empty{text-align:center;color:var(--ink-soft);padding:56px 0;}
@media (max-width:700px){
  .na-item,.na-item.has-thumb{grid-template-columns:1fr auto;grid-template-areas:"meta arw" "main main" "thumb thumb";gap:10px 12px;}
  .na-meta{grid-area:meta;flex-direction:row;align-items:center;gap:12px;}
  .na-main{grid-area:main;}
  .na-thumb{grid-area:thumb;}
  .na-item .arw{grid-area:arw;}
}

/* ---- 記事下の「関連するお知らせ／コラム」リスト ---- */
.rel-sec{background:var(--porcelain-2);padding-block:clamp(44px,7vh,80px);}
.rel-head{margin-bottom:clamp(18px,3vh,28px);}
.rel-h{font-family:var(--f-disp);font-weight:700;font-size:clamp(1.25rem,4vw,1.6rem);margin:.4em 0 0;}
.rel-list{list-style:none;margin:0 auto;padding:0;max-width:920px;border-top:1px solid var(--line);}
.rel-list a{display:grid;grid-template-columns:7.5em 1fr auto;gap:6px 18px;align-items:center;padding:1.1em .3em;border-bottom:1px solid var(--line);transition:padding-left .3s var(--ease),color .3s;}
.rel-list a:hover{padding-left:.9em;color:var(--bronze);}
.rel-list time{font-family:var(--f-lat);font-weight:500;letter-spacing:.08em;color:var(--bronze);font-size:.95rem;}
.rel-t{font-size:.98rem;line-height:1.7;font-weight:500;min-width:0;}
.rel-list .arw{color:var(--bronze);}
.rel-back{display:flex;justify-content:center;margin-top:clamp(28px,4vh,40px);}
@media (max-width:600px){.rel-list a{grid-template-columns:1fr auto;}.rel-list time{grid-column:1/2;}.rel-t{grid-column:1/2;}.rel-list .arw{grid-column:2;grid-row:1/3;}}
@media (max-width:600px){.hero-sub{font-size:1rem;letter-spacing:.03em;}}

/* ---- 4回目調整 ---- */
/* スライダー左右ボタン：統一矢印を中央配置（左は反転） */
.cases-prev,.cases-next,.hcar-prev,.hcar-next{display:flex;align-items:center;justify-content:center;padding:0;font-size:0;line-height:0;}
.cases-prev::before,.cases-next::before,.hcar-prev::before,.hcar-next::before{content:"";display:block;width:20px;height:8px;border:0;margin:0;background:currentColor;-webkit-mask:var(--arw) center/contain no-repeat;mask:var(--arw) center/contain no-repeat;transform:none;}
.cases-prev::before,.hcar-prev::before{transform:scaleX(-1);}
.cases-next::before,.hcar-next::before{transform:none;}
/* 矢印の縦位置ずれ対策 */
.arw{vertical-align:middle;}
.case-more,.rc-view{display:flex;align-items:center;justify-content:space-between;width:100%;}
.case-more .arw,.rc-view .arw{margin-left:auto;}
/* お知らせ：一覧リンクは最下部・矢印なし */
.news-foot{display:flex;justify-content:flex-end;margin-top:16px;}
.news-list a{align-items:baseline;}
/* ハンバーガー：三本線を中央揃え */
@media (max-width:820px){
  .menu-toggle{width:44px;height:44px;padding:0;align-items:center;justify-content:center;gap:6px;}
  .menu-toggle span{display:block;width:24px;height:2px;margin:0;flex:0 0 auto;}
}
/* 全ページ共通：フッター上の特集バナー */
.feat-strip{background:var(--porcelain-2);padding:clamp(28px,5vh,48px) 0;border-top:1px solid var(--line);}
.feat-strip-a{display:block;max-width:880px;margin:0 auto;border:1px solid var(--line);background:#fff;position:relative;overflow:hidden;}
.feat-strip-a img{display:block;width:100%;height:auto;}
.feat-strip-a .feat-ph{display:flex;flex-direction:column;gap:6px;padding:clamp(28px,5vw,44px) clamp(20px,4vw,40px);padding-top:clamp(40px,6vw,56px);text-align:center;}

/* ---- 5回目調整 ---- */
/* ニュース見出し：症例と同じく「英字の下にタイトル」 */
.news-head{display:block;margin-bottom:clamp(18px,3vh,28px);}
.news-head .eyebrow{display:inline-flex;}
.news-h.h-sect{font-size:clamp(1.45rem,5.4vw,3rem);margin:.4em 0 0;}
/* ハンバーガー内SNS：丸の中でアイコンを中央に */
.m-overlay .m-sns .sns-ic{display:flex;align-items:center;justify-content:center;padding:0;border-bottom:1px solid var(--line);}
.m-overlay .m-sns .sns-ic .kic{display:block;margin:0;}
/* 右下の特集：バナー画像が読める大きさに */
.feat-pop{width:clamp(200px,20vw,280px);}
@media (max-width:820px){.feat-pop{width:170px;}}
.feat-img{aspect-ratio:1200/630;object-fit:cover;}

/* ---- 6回目調整 ---- */
/* 特集：ラベルなしのとき */
/* フッター上の特集バナー：控えめなサイズに */
.feat-strip{padding:clamp(18px,3vh,28px) 0;}
.feat-strip-a{max-width:520px;}
@media (max-width:600px){.feat-strip-a{max-width:none;}}
/* 診療時間表（●／―で表示） */
.info-table{width:100%;border-collapse:separate;border-spacing:0;margin-top:1.2em;font-size:.94rem;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;}
.info-table th,.info-table td{border-top:1px solid var(--line);border-left:1px solid var(--line);padding:1em .3em;text-align:center;font-weight:400;}
.info-table th:first-child,.info-table td:first-child{border-left:0;}
.info-table thead th{background:#F4EDE4;border-top:0;font-weight:700;letter-spacing:.04em;color:var(--ink);padding:.9em .3em;}
.info-table tbody th{text-align:center;color:var(--ink);font-weight:500;white-space:nowrap;padding-inline:.8em;}
.info-table .dot{display:inline-block;width:1.15em;height:1.15em;border-radius:50%;background:var(--bronze);vertical-align:middle;}
.info-table .dash{display:inline-block;width:1.05em;height:3px;border-radius:2px;background:#D9CFC2;vertical-align:middle;}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.info-note{margin:.9em 0 0;font-size:.84rem;color:var(--ink-soft);line-height:1.8;}
.info-meta{margin-top:.6em;}
@media (max-width:520px){.info-table{font-size:.86rem;}.info-table tbody th{padding-inline:.5em;font-size:.8rem;}}

/* 日付：ゴシック体・等幅数字で揃える（英字セリフだと数字の高さが不揃いになるため） */
.news-list time,.na-meta time,.rel-list time{font-family:var(--f-body);font-weight:500;font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"tnum" 1,"lnum" 1;letter-spacing:.06em;color:var(--bronze);font-size:.88rem;line-height:1.6;}
.na-meta time{font-size:.92rem;}

/* ---- 施術詳細ページ：相談セクション（無料カウンセリング／LINE）のブラッシュアップ ---- */
.tmt-cta{padding-block:clamp(54px,8vh,90px);text-align:center;}
.tmt-cta .tmt-cta-eyebrow{justify-content:center;margin-bottom:.6em;}
.tmt-points{list-style:none;margin:1.5em auto 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 10px;}
.tmt-points li{position:relative;padding:.5em 1.2em .5em 2.1em;border:1px solid rgba(154,123,79,.45);background:#fff;border-radius:999px;font-size:.84rem;color:var(--ink-soft);line-height:1.5;}
.tmt-points li::before,.lineblk-chips li::before{content:"";position:absolute;left:1em;top:50%;width:.7em;height:.38em;border-left:2px solid var(--bronze);border-bottom:2px solid var(--bronze);transform:translateY(-70%) rotate(-45deg);}
.tmt-cta .cta-acts3{margin-top:clamp(38px,5.5vh,52px);}
.tmt-cta .act-btn .act-tx{white-space:nowrap;}
/* LINEブロック */
.lineblk-head{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:.7em;}
.lineblk-head .eyebrow{display:inline-flex;margin:0;}
.lineblk-ic{color:var(--line-green);display:inline-grid;place-items:center;}
.lineblk-ic .kic{width:34px;height:34px;border-radius:8px;}
.lineblk-badge{display:inline-block;padding:.4em 1em;border-radius:999px;background:var(--badge-y);color:#3B3200;font-size:.7rem;font-weight:700;letter-spacing:.02em;line-height:1;}
.lineblk-chips{list-style:none;margin:0 0 1.6em;padding:0;display:flex;flex-wrap:wrap;gap:8px;}
.lineblk-chips li{position:relative;padding:.45em 1em .45em 2em;border:1px solid var(--line);background:#fff;border-radius:999px;font-size:.8rem;color:var(--ink-soft);line-height:1.5;}
.lineblk-chips li::before{left:.85em;}
.lineblk-card--line .acts,.lineblk-card--single .acts{display:flex;flex-direction:column;gap:28px;margin-top:auto;padding-top:16px;}
.lineblk-card--line .acts .act-btn,.lineblk-card--single .acts .act-btn{width:100%;}
.lineblk-card--single .acts{flex-direction:row;flex-wrap:wrap;gap:28px 14px;}
.lineblk-card--single .acts .act-btn{flex:1 1 240px;width:auto;}

/* 施術詳細：LINEブロックを1カラム（担当医カードなし）で表示 */
.lineblk--pair .lineblk-pair.is-single{grid-template-columns:1fr;max-width:900px;margin-inline:auto;}
.lineblk-pair.is-single .lineblk-card--line{padding:clamp(28px,4vw,52px);}
.lineblk-pair.is-single .lineblk-card--line .acts{flex-direction:row;flex-wrap:wrap;gap:28px 14px;}
.lineblk-pair.is-single .lineblk-card--line .acts .act-btn{flex:1 1 240px;width:auto;}

/* 施術詳細ページ：スマホ固定バー（LINEで相談／無料カウンセリング予約）を非表示 */
.kaneko-dock{display:none !important;}
body.page-template-template-treatment,body.single-treatment{padding-bottom:0 !important;}

/* 施術詳細：チェックマークと太字タイトルは横並び、「：」以降の説明文は次の行へ */
.kaneko-check-list li{display:flex !important;flex-wrap:wrap;align-items:center;column-gap:10px;}
.kaneko-check-list li::before{flex:0 0 auto;position:static !important;margin:0;}
.kaneko-check-list li > b,
.kaneko-check-list li > strong{display:block;flex:1 1 calc(100% - 44px);min-width:0;margin:0;line-height:1.6;}

/* ==========================================================
   メリット・デメリット2カラム比較（.kaneko-proscons）
   どの施術ページの本文にも使えます。使い方は下のコメント参照。
   <div class="kaneko-proscons">
     <div class="kaneko-proscons-col">
       <h4>見出し</h4>
       <p class="kaneko-proscons-label is-pro">MERIT</p>
       <ul class="kaneko-proscons-list is-pro"><li>…</li></ul>
       <p class="kaneko-proscons-label is-con">DEMERIT</p>
       <ul class="kaneko-proscons-list is-con"><li>…</li></ul>
     </div>
     <div class="kaneko-proscons-col">…</div>
   </div>
   ========================================================== */
:root {
  --kaneko-add-accent: var(--kaneko-accent, var(--bronze, #9A7B4F));
  --kaneko-add-line: var(--kaneko-line, var(--line, #e7dfd6));
  --kaneko-add-bg: var(--kaneko-card-bg, #ffffff);
  --kaneko-add-text-sub: var(--kaneko-text-sub, #6b6259);
}
.kaneko-proscons{display:grid;grid-template-columns:1fr;gap:16px;margin:20px 0;}
@media (min-width:768px){.kaneko-proscons{grid-template-columns:1fr 1fr;}}
.kaneko-proscons-col{padding:18px 18px 8px;background:var(--kaneko-add-bg);border:1px solid var(--kaneko-add-line);border-radius:12px;}
.kaneko-proscons-col h4{margin:0 0 12px;padding-bottom:8px;font-size:16px;border-bottom:2px solid var(--kaneko-add-accent);}
.kaneko-proscons-label{margin:12px 0 4px;font-size:12px;font-weight:700;letter-spacing:.08em;}
.kaneko-proscons-label.is-pro{color:var(--kaneko-add-accent);}
.kaneko-proscons-label.is-con{color:#8a7f75;}
.kaneko-proscons-col ul{margin:0 0 12px;padding-left:1.2em;font-size:14px;line-height:1.8;}
.kaneko-proscons-col ul.kaneko-proscons-list{list-style:none;padding-left:0;}
.kaneko-proscons-list li{position:relative;padding-left:1.9em;}
.kaneko-proscons-list li::before{position:absolute;left:0;top:.35em;width:1.3em;height:1.3em;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:12px;font-weight:700;line-height:1;}
.kaneko-proscons-list.is-pro li::before{content:"○";color:#fff;background:var(--kaneko-add-accent);}
.kaneko-proscons-list.is-con li::before{content:"×";color:#fff;background:#8a7f75;}

/* トップ：「医療」の文字色 */
.hero-title .accent{color:#96805e !important;}

/* ==========================================================
   症例スライダー（[kaneko_case_slider] / [kaneko_case display="card"] の
   カード内ミニ情報欄）の見た目を修正。
   ★これまで .kaneko-scroll-wrap 等に対応するCSSが一切無く、画像が原寸のまま
   縦に大きく表示されたり、キャプションや費用欄が無地のまま崩れて見える
   不具合が起きていました（施術詳細ページ・施術エリアページ・トップページなど、
   このショートコードを使うすべての箇所が対象。グローバルCSSのため全ページに効きます）。

   ★重要：.kaneko-swipe-item / .kaneko-swipe-caption という同じクラス名が、
   施術詳細ページ本文の「選ばれる理由」「ダウンタイム」スライダー
   （.kaneko-swipe-wrap > .kaneko-swipe-track > .kaneko-swipe-item …）
   側でも既に使われています。前回の修正でこれらを無条件に指定してしまい、
   症例スライダー用の見た目（横幅232px固定・画像サムネイル用の余白など）が
   ダウンタイム側のカードにも及んでしまう不具合が起きていました。
   今回、症例スライダーの親要素 .kaneko-scroll-track の中にある場合だけに
   絞り込み、ダウンタイム側のスタイルは元のまま触らないようにしています。
   ========================================================== */
.kaneko-scroll-wrap{margin:18px 0;}
.kaneko-scroll-track{display:flex;gap:16px;margin:0;padding:4px 4px 14px;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:thin;}
.kaneko-scroll-track::-webkit-scrollbar{height:6px;}
.kaneko-scroll-track::-webkit-scrollbar-thumb{background:var(--line,#d9d2c6);border-radius:999px;}
.kaneko-scroll-track > .kaneko-swipe-item{flex:0 0 232px;max-width:232px;scroll-snap-align:start;display:flex;flex-direction:column;gap:8px;}
.kaneko-scroll-track .kaneko-swipe-thumb{display:block;width:100%;aspect-ratio:4/3;margin:0;padding:0;border:1px solid var(--line,#d9d2c6);border-radius:10px;overflow:hidden;background:var(--porcelain,#f8f6f2);cursor:zoom-in;}
.kaneko-scroll-track .kaneko-swipe-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease;}
.kaneko-scroll-track .kaneko-swipe-thumb:hover img{transform:scale(1.05);}
.kaneko-scroll-track > .kaneko-swipe-item > .kaneko-swipe-caption{display:block;font-size:.84rem;font-weight:700;line-height:1.5;color:var(--ink,#211E1A);}
.kaneko-case-mini{margin:2px 0 0;display:flex;flex-direction:column;gap:4px;}
.kaneko-case-mini div{display:flex;align-items:baseline;gap:8px;font-size:.74rem;line-height:1.6;}
.kaneko-case-mini dt{flex:0 0 5.2em;color:var(--ink-faint,#a39c90);}
.kaneko-case-mini dd{margin:0;flex:1;min-width:0;color:var(--ink-soft,#6b655c);}
.kaneko-case-mini dd a{color:var(--bronze,#9A7B4F);text-decoration:underline;text-underline-offset:2px;}
.kaneko-case-mini dt{font-weight:700;}
.kaneko-case-mini dd{font-family:var(--f-body,sans-serif);}
/* 費用の数字だけ、施術詳細ページ・料金一覧と同じ太字ゴシックに揃える（英字セリフ体は使わない） */
.kaneko-case-mini .kcm-price dd{font-family:var(--f-disp,sans-serif);font-weight:700;color:var(--ink,#2b2620);}
/* ★更新：症例の費用行（.kcm-price）は文字自体が.74remと小さいため、「円」「(税込)」に
   通常サイズと同じ比率（1.18em／.86em／.56em）を掛けると、(税込)が読みづらいほど極小に
   なってしまう。この欄だけ「円」「(税込)」の縮小幅を抑え、金額との大小差を調整・統一する。 */
.kaneko-case-mini .kcm-price .kaneko-yen-amt{font-size:1.05em;}
.kaneko-case-mini .kcm-price .kaneko-yen-unit{font-size:.95em;}
.kaneko-case-mini .kcm-price .kaneko-yen-tax{font-size:.8em;}

/* ==========================================================
   [kaneko_case display="card"] の単独カード（.kaneko-case-card）
   ★これまでこのクラス一式にCSSが一切なく（figure等のブラウザ既定余白のみが
   効いた状態）、画像が細い帯状に見えるなど崩れて表示されていた。トップページの
   症例カード（.case-card）と同じトーン（角丸・写真4:3・タグ・タイトル・情報欄）で
   新規にスタイルを定義する。
   ========================================================== */
.kaneko-case-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line,#e4ddd2);border-radius:12px;overflow:hidden;transition:border-color .3s,transform .3s;}
.kaneko-case-card:hover{border-color:var(--bronze,#9A7B4F);}
.kaneko-case-photo{margin:0;aspect-ratio:4/3;background:var(--porcelain,#f8f6f2);}
.kaneko-case-photo .kaneko-swipe-thumb{width:100%;height:100%;aspect-ratio:auto;border:0;border-radius:0;}
.kaneko-case-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.kaneko-case-card-body{display:flex;flex-direction:column;gap:8px;padding:16px 18px 20px;}
.kaneko-case-tag{align-self:flex-start;font-size:.68rem;font-weight:700;color:var(--bronze,#9A7B4F);border:1px solid var(--blush,#e2d1c6);border-radius:999px;padding:.28em .9em;}
.kaneko-case-tag--monitor{color:#fff;background:var(--bronze,#9A7B4F);border-color:var(--bronze,#9A7B4F);margin-left:6px;}
.kaneko-case-card-title{margin:2px 0 0;font-size:1rem;line-height:1.6;font-weight:700;}
.kaneko-case-card-title a{color:var(--ink,#2b2620);text-decoration:none;}
.kaneko-case-card-title a:hover{color:var(--bronze,#9A7B4F);}
.kaneko-case-card .kaneko-case-mini{margin-top:6px;padding-top:10px;border-top:1px solid var(--line,#e4ddd2);}
@media (max-width:640px){
  .kaneko-case-card-body{padding:14px 16px 18px;}
}
@media (max-width:640px){
  .kaneko-scroll-track > .kaneko-swipe-item{flex-basis:78vw;max-width:78vw;}
}

/* ==========================================================
   施術詳細ページ本文の「選ばれる理由」「ダウンタイム」等のスライダー
   （.kaneko-swipe-wrap > .kaneko-swipe-track > .kaneko-swipe-item / .kaneko-reason-card）
   ★これまでCSSが一切無く、カードの見た目が付かずテキストが縦に並ぶだけになっていました。
   前後の矢印・ドットもJS側の対応クラス名の食い違いで動いていなかったため、
   footer.php の setupKanekoSliders() もあわせて修正しています。
   ========================================================== */
.kaneko-swipe-hint{margin:18px 0 10px;text-align:center;font-family:var(--f-lat,serif);font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-faint,#a39c90);}
.kaneko-swipe-wrap{position:relative;margin:0 0 10px;padding:0 46px;}
.kaneko-swipe-track{display:flex;gap:16px;margin:0;padding:4px 4px 10px;list-style:none;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.kaneko-swipe-track::-webkit-scrollbar{display:none;}
.kaneko-slider-prev,.kaneko-slider-next{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:40px;height:40px;margin:0;padding:0;border-radius:50%;border:1px solid var(--line,#d9d2c6);background:#fff;color:var(--ink,#211E1A);font-size:1.2rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s;}
.kaneko-slider-prev:hover,.kaneko-slider-next:hover{border-color:var(--bronze,#9A7B4F);color:var(--bronze,#9A7B4F);}
.kaneko-slider-prev{left:0;}
.kaneko-slider-next{right:0;}
.kaneko-dots{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:4px;}
.kaneko-dots .hdot{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:var(--line,#d9d2c6);cursor:pointer;transition:.2s;}
.kaneko-dots .hdot.active{background:var(--bronze,#9A7B4F);width:20px;border-radius:4px;}

/* --- ダウンタイム等：日数バッジ＋テキストのカード --- */
.kaneko-swipe-track > .kaneko-swipe-item{flex:0 0 268px;max-width:268px;scroll-snap-align:start;margin:0;padding:20px;background:#fff;border:1px solid var(--line,#e4ddd2);border-radius:12px;}
.kaneko-swipe-day{display:inline-block;margin-bottom:10px;padding:4px 12px;border-radius:999px;background:var(--porcelain,#f8f6f2);color:var(--bronze,#9A7B4F);font-family:var(--f-lat,serif);font-size:.78rem;font-weight:700;letter-spacing:.06em;}
.kaneko-swipe-track > .kaneko-swipe-item .kaneko-swipe-caption{display:block;margin:0;font-size:.86rem;line-height:1.85;color:var(--ink-soft,#6b655c);}
.kaneko-swipe-track > .kaneko-swipe-item .kaneko-swipe-caption b{display:block;margin-bottom:4px;color:var(--ink,#211E1A);font-size:.95rem;}

/* --- 選ばれる理由：写真＋本文のカード --- */
.kaneko-reason-card{flex:0 0 280px;max-width:280px;scroll-snap-align:start;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line,#e4ddd2);border-radius:12px;overflow:hidden;}
.kaneko-reason-photo{margin:0;aspect-ratio:4/3;background:var(--porcelain,#f8f6f2);}
.kaneko-reason-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.kaneko-reason-card-body{padding:20px;}
.kaneko-reason-no{margin:0 0 8px;font-family:var(--f-lat,serif);font-size:1.15rem;font-weight:700;color:var(--bronze,#9A7B4F);}
.kaneko-reason-card-body h3{margin:0 0 10px;font-size:1rem;line-height:1.5;}
.kaneko-reason-card-body p{margin:0;font-size:.86rem;line-height:1.85;color:var(--ink-soft,#6b655c);}
.kaneko-reason-card-body a{color:var(--bronze,#9A7B4F);text-decoration:underline;text-underline-offset:2px;}

@media (max-width:640px){
  .kaneko-swipe-wrap{padding:0 6px;}
  .kaneko-slider-prev,.kaneko-slider-next{display:none;}
  .kaneko-swipe-track > .kaneko-swipe-item{flex-basis:82vw;max-width:82vw;}
  .kaneko-reason-card{flex-basis:82vw;max-width:82vw;}
}

/* ==========================================================
   金額の表示統一：「119,800円(税込)」
   kaneko_yen_label() / kaneko_format_price_value()（functions.php）が、
   料金文字列の中の金額部分をこのマークアップに変換して出力する。
   数字（.kaneko-yen-amt）を少し大きく、「円」（.kaneko-yen-unit）はその次、
   「(税込)」（.kaneko-yen-tax）を一番小さく…と段階的にサイズを付ける。
   すべて em 単位なので、置かれた場所（料金一覧・施術エリアのカード・
   症例のミニ情報欄 など）のフォントサイズにそのまま追従する。
   ========================================================== */
.kaneko-yen{display:inline-flex;align-items:baseline;gap:.05em;white-space:nowrap;}
.kaneko-yen-amt{font-size:0.9em;font-weight:800;}
.kaneko-yen-unit{font-size:.6em;font-weight:700;}
.kaneko-yen-tax{font-size:.4em;font-weight:400;color:var(--ink-soft,#6b655c);margin-left:.15em;}
del .kaneko-yen-tax{color:inherit;}

/* ==========================================================
   [kaneko_case_slider display="box"] のボックス型スライド
   （.kaneko-case-card--slide）。従来のサムネイル（タップでモーダル拡大）
   ではなく、カード全体がそのまま症例ページへのリンクになっている表示。
   .kaneko-case-card（単独カード）のスタイルをそのまま流用し、横スクロール
   用の幅だけ .kaneko-scroll-track 側のルールで指定する。
   ========================================================== */
.kaneko-scroll-track > .kaneko-case-card--slide{flex:0 0 240px;max-width:240px;scroll-snap-align:start;margin:0;}
.kaneko-case-card--slide{text-decoration:none;color:inherit;}
.kaneko-case-card--slide .kaneko-case-card-body{padding:14px 16px 16px;gap:6px;}
.kaneko-case-card--slide .kaneko-case-card-title{font-size:.92rem;}
/* 5行のミニ情報欄（.kaneko-case-mini）は狭いカードでは崩れて見えるため使わず、
   費用だけを軽く添える（症例ページへ遷移すれば詳細が見られるため十分な情報量）。 */
.kaneko-case-card-price{margin:2px 0 0;font-size:.9rem;font-weight:700;color:var(--ink,#2b2620);}
.kaneko-case-card--slide .case-more{margin-top:8px;padding-top:0;}
