/* ============================================================
   エステユニフォーム.com サイドメニュー v1
   PCサイドバーのみ機能（スマホは既存のハンバーガーメニューをそのまま使用）
   カラー: uni_common.css 準拠 / 最終更新: 2026-06-04
   v2: B方式URL検知（現在カテゴリを自動展開＋現在位置ハイライト）
       職種・カウンセリングは中→小2階層対応
   設置：FFFTPで /files/css/uni_sidemenu.css にアップロード
   読込：<HEAD>追加タグ欄に追加
     <link rel="stylesheet" href="/files/css/uni_sidemenu.css?v=20260706">
   ============================================================ */
:root{
  --eu-ink:#4b4b4d;--eu-ink-2:#666;--eu-line:#e0d8d0;
  --eu-bg:#fbf6f4;--eu-bg-2:#fffbf3;
  --eu-accent:#9f7a72;--eu-accent-2:#c9a7a0;--eu-accent-3:#d4a84a;
  --eu-cta:#9f7a72;--eu-cta-hover:#7d5e57;--eu-link:#a30036;
  --eu-tag-new:#c40e2f;--eu-tag-sale:#d4a84a;--eu-tag-pop:#9f7a72;
  --eu-font-jp:"游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;
  --eu-font-en:"Book Antiqua","Palatino Linotype",Georgia,serif;
  --eu-font-ui:"Yu Gothic","游ゴシック","Hiragino Sans","Meiryo",sans-serif;
}
.eu-sidenav{font-family:var(--eu-font-jp);color:var(--eu-ink);margin:0 0 16px;line-height:1.85;letter-spacing:.05em;font-size:13px;}
.eu-sidenav *{box-sizing:border-box;}
.eu-sidenav a{color:inherit;text-decoration:none;}
.eu-sidenav a:hover{color:var(--eu-link);}
/* CTA: カテゴリページとの衝突回避 */
.eu-sidenav .eu-cta{
  background:var(--eu-bg-2) !important;border:1px solid var(--eu-accent-2) !important;
  padding:14px 12px 12px !important;margin-bottom:14px !important;
  display:block !important;gap:0 !important;flex-wrap:nowrap !important;
}
.eu-sidenav .eu-cta .eu-cta__title{
  font-family:var(--eu-font-jp) !important;font-size:12px !important;font-weight:500 !important;
  margin:0 0 10px !important;padding:0 !important;text-align:center !important;color:var(--eu-ink) !important;
  letter-spacing:0 !important;line-height:1.5 !important;
  white-space:normal !important;word-break:keep-all !important;display:block !important;
}
.eu-sidenav .eu-cta__btn{
  display:block !important;padding:11px 10px !important;margin:6px 0 !important;
  text-align:center !important;font-size:13px !important;font-weight:500 !important;
  font-family:var(--eu-font-jp) !important;letter-spacing:.08em !important;transition:opacity .15s !important;
}
.eu-sidenav .eu-cta__btn--primary{background:var(--eu-cta) !important;color:#fff !important;}
.eu-sidenav .eu-cta__btn--primary:hover{background:var(--eu-cta-hover) !important;color:#fff !important;}
.eu-sidenav .eu-cta__btn--secondary{background:#fff !important;color:var(--eu-accent) !important;border:1px solid var(--eu-accent) !important;}
.eu-sidenav .eu-cta__btn--secondary:hover{background:var(--eu-accent) !important;color:#fff !important;}
.eu-sidenav .eu-cta__note{font-size:11px !important;color:var(--eu-ink-2) !important;text-align:center !important;margin:8px 0 0 !important;letter-spacing:.04em !important;font-family:var(--eu-font-ui) !important;}
.eu-sec{margin:0 0 12px;}
.eu-sec__head{font-family:var(--eu-font-jp);font-size:13px;font-weight:500;color:#fff;background:var(--eu-accent);padding:9px 12px;letter-spacing:.12em;display:flex;align-items:center;}
.eu-sec__body{border:1px solid var(--eu-line);border-top:0;background:#fff;}
/* 職種から探す（大分類アコーディオン） */
.eu-job{margin:0;padding:0;list-style:none;}
.eu-job > li{border-bottom:1px solid var(--eu-line);}
.eu-job > li:last-child{border-bottom:0;}
.eu-job__row{display:flex;align-items:center;width:100%;gap:10px;padding:10px 12px;font-size:13px;cursor:pointer;background:transparent;border:0;text-align:left;color:inherit;font-family:var(--eu-font-jp);letter-spacing:.05em;}
.eu-job__row:hover{background:var(--eu-bg);}
.eu-job__link{display:flex;align-items:center;gap:10px;padding:10px 12px;font-size:13px;font-family:var(--eu-font-jp);}
.eu-job__link:hover{background:var(--eu-bg);}
.eu-job .ico{width:24px;height:24px;flex:0 0 24px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--eu-bg);color:var(--eu-accent);font-size:12px;font-family:var(--eu-font-jp);}
.eu-job .lbl{flex:1;font-family:var(--eu-font-jp);}
.eu-job .arr{color:var(--eu-accent-2);font-size:10px;font-family:var(--eu-font-en);}
.eu-job .toggle{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:var(--eu-accent);font-size:14px;transition:transform .2s;}
.eu-job > li.is-open > .eu-job__row .toggle{transform:rotate(180deg);}
.eu-job__sub{display:none;list-style:none;margin:0;padding:0 0 8px 12px;background:var(--eu-bg);}
.eu-job > li.is-open > .eu-job__sub{display:block;}
.eu-job__sub > li{border-top:1px dashed var(--eu-line);}
.eu-job__sub > li > a{display:block;padding:7px 12px 7px 34px;font-size:12px;color:var(--eu-ink);font-family:var(--eu-font-jp);}
.eu-job__sub > li > a:hover{color:var(--eu-link);}
.eu-job__all{display:block;padding:7px 12px 7px 34px;font-size:11.5px;font-weight:500;color:var(--eu-link);font-family:var(--eu-font-jp);}
.eu-job__sub > li.eu-job__sub-head{
  font-size:10.5px;font-weight:600;color:var(--eu-accent);
  padding:8px 12px 4px 14px;letter-spacing:.1em;
  background:var(--eu-bg-2);border-top:1px solid var(--eu-line);font-family:var(--eu-font-jp);
}
.eu-job__sub > li.eu-job__sub-head:first-child{border-top:0;padding-top:6px;}
.eu-job__sub > li.eu-job__sub-head::before{content:"━ ";color:var(--eu-accent-2);}
/* 職種ネスト：中分類→小分類（受付・カウンセリング用） */
.eu-job__sub > li.has-children{padding:0;}
.eu-job__sub-row{
  display:flex;align-items:center;width:100%;gap:6px;
  padding:7px 12px 7px 34px;font-size:12px;cursor:pointer;
  background:transparent;border:0;text-align:left;color:var(--eu-ink);
  font-family:var(--eu-font-jp);
}
.eu-job__sub-row:hover{background:var(--eu-bg-2);}
.eu-job__sub-row .name{flex:1;}
.eu-job__sub-row .toggle{width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;color:var(--eu-accent);font-size:11px;transition:transform .2s;}
.eu-job__sub > li.has-children.is-open > .eu-job__sub-row .toggle{transform:rotate(180deg);}
.eu-job__sub-sub{display:none;list-style:none;margin:0;padding:0 0 6px 0;background:#fff;}
.eu-job__sub > li.has-children.is-open > .eu-job__sub-sub{display:block;}
.eu-job__sub-sub li{border-top:1px dotted var(--eu-line);}
.eu-job__sub-sub a{display:block;padding:6px 12px 6px 50px;font-size:11.5px;color:var(--eu-ink);font-family:var(--eu-font-jp);}
.eu-job__sub-sub a:hover{color:var(--eu-link);background:var(--eu-bg-2);}
.eu-job__sub-all{display:block;padding:6px 12px 6px 50px;font-size:11px;font-weight:500;color:var(--eu-link);font-family:var(--eu-font-jp);}
/* 現在位置ハイライト（B方式 URL検知） */
.eu-sidenav a.is-current{
  background:var(--eu-bg) !important;
  color:var(--eu-link) !important;
  font-weight:600 !important;
  position:relative;
}
.eu-sidenav a.is-current::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--eu-accent);
}
.eu-feat{display:flex;flex-wrap:wrap;gap:0;margin:0;padding:0;list-style:none;}
.eu-feat li{flex:1 1 50%;border-bottom:1px solid var(--eu-line);border-right:1px solid var(--eu-line);}
.eu-feat li:nth-child(2n){border-right:0;}
.eu-feat li:nth-last-child(-n+2){border-bottom:0;}
.eu-feat a{display:block;padding:13px 8px;text-align:center;font-size:11.5px;font-weight:500;line-height:1.4;font-family:var(--eu-font-jp);}
.eu-feat a:hover{background:var(--eu-bg);}
.eu-feat .tag{display:inline-block;font-size:9.5px;padding:1px 6px;color:#fff;margin-bottom:4px;letter-spacing:.08em;font-weight:500;font-family:var(--eu-font-en);}
.eu-feat .tag--new{background:var(--eu-tag-new);}
.eu-feat .tag--pop{background:var(--eu-tag-pop);}
.eu-feat .tag--sale{background:var(--eu-tag-sale);}
.eu-feat .tag--hot{background:var(--eu-accent-2);}
/* アイテムから探す（アコーディオン） */
.eu-item{margin:0;padding:0;list-style:none;}
.eu-item > li{border-bottom:1px solid var(--eu-line);}
.eu-item > li:last-child{border-bottom:0;}
.eu-item__row{display:flex;align-items:center;width:100%;padding:10px 12px;font-size:13px;cursor:pointer;background:transparent;border:0;text-align:left;color:inherit;font-family:var(--eu-font-jp);letter-spacing:.05em;}
.eu-item__row:hover{background:var(--eu-bg);}
.eu-item__row .name{flex:1;}
.eu-item__row .toggle{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:var(--eu-accent);font-size:14px;transition:transform .2s;}
.eu-item > li.is-open > .eu-item__row .toggle{transform:rotate(180deg);}
.eu-item__sub{display:none;list-style:none;margin:0;padding:0 0 8px 12px;background:var(--eu-bg);}
.eu-item > li.is-open > .eu-item__sub{display:block;}
.eu-item__sub li{border-top:1px dashed var(--eu-line);}
.eu-item__sub a{display:block;padding:7px 12px;font-size:12px;color:var(--eu-ink);font-family:var(--eu-font-jp);}
.eu-item__sub a:hover{color:var(--eu-link);}
.eu-item__all{display:block;padding:7px 12px;font-size:11.5px;font-weight:500;color:var(--eu-link);font-family:var(--eu-font-jp);}
/* アイテム3階層目（中分類＞小分類） */
.eu-item__sub > li.has-children{padding:0;border-top:1px dashed var(--eu-line);}
.eu-item__sub-row{display:flex;align-items:center;justify-content:space-between;width:100%;padding:7px 12px;font-size:12px;line-height:1.4;background:transparent;border:0;text-align:left;color:var(--eu-ink);cursor:pointer;font-family:var(--eu-font-jp);}
.eu-item__sub-row:hover{color:var(--eu-link);background:var(--eu-bg-2);}
.eu-item__sub-row .name{flex:1;}
.eu-item__sub-row .toggle{width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;color:var(--eu-accent);font-size:11px;transition:transform .2s;}
.eu-item__sub > li.has-children.is-open > .eu-item__sub-row .toggle{transform:rotate(180deg);}
.eu-item__sub-sub{display:none;list-style:none;margin:0;padding:0 0 6px 0;background:#fff;}
.eu-item__sub > li.has-children.is-open > .eu-item__sub-sub{display:block;}
.eu-item__sub-sub li{border-top:1px dotted var(--eu-line);}
.eu-item__sub-sub a{display:block;padding:6px 12px 6px 32px;font-size:11.5px;color:var(--eu-ink);font-family:var(--eu-font-jp);}
.eu-item__sub-sub a:hover{color:var(--eu-link);background:var(--eu-bg-2);}
.eu-item__sub-all{display:block;padding:6px 12px 6px 32px;font-size:11px;font-weight:500;color:var(--eu-link);font-family:var(--eu-font-jp);}
.eu-brand{margin:0;padding:0;list-style:none;}
.eu-brand li{border-bottom:1px solid var(--eu-line);}
.eu-brand li:last-child{border-bottom:0;}
.eu-brand a{display:block;padding:9px 12px;font-size:12.5px;line-height:1.45;}
.eu-brand a:hover{background:var(--eu-bg);}
.eu-brand .en{display:block;font-family:var(--eu-font-en);font-weight:600;color:var(--eu-ink);letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.eu-brand .jp{display:block;font-size:11px;color:var(--eu-ink-2);margin-top:2px;font-family:var(--eu-font-jp);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.eu-brand .all{font-weight:500;color:var(--eu-link);font-family:var(--eu-font-jp);}
.eu-brand__more details{margin:0;padding:0;}
.eu-brand__more summary{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;font-size:12.5px;cursor:pointer;font-family:var(--eu-font-jp);font-weight:500;color:var(--eu-link);background:var(--eu-bg);list-style:none;letter-spacing:.05em;}
.eu-brand__more summary::-webkit-details-marker{display:none;}
.eu-brand__more summary::marker{content:"";}
.eu-brand__more summary:hover{background:var(--eu-bg-2);}
.eu-brand__more-mark{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--eu-accent);border-radius:50%;font-size:12px;line-height:1;color:var(--eu-accent);transition:transform .2s;font-family:var(--eu-font-en);}
.eu-brand__more details[open] .eu-brand__more-mark{transform:rotate(45deg);}
.eu-brand--hidden{margin:0;padding:0;list-style:none;background:var(--eu-bg-2);}
.eu-brand--hidden li{border-top:1px dashed var(--eu-line);border-bottom:0;}
.eu-brand--hidden a{padding:9px 12px;}
.eu-brand--hidden .en{font-size:12px;}
/* ブランドアコーディオン：小分類を持つcid系ブランド用 */
.eu-brand > li.has-children, .eu-brand--hidden > li.has-children{padding:0;}
.eu-brand__row{
  display:block;width:100%;padding:9px 32px 9px 12px;
  font-size:12.5px;line-height:1.45;background:transparent;border:0;
  text-align:left;color:inherit;cursor:pointer;font-family:inherit;
  position:relative;
}
.eu-brand__row:hover{background:var(--eu-bg);}
.eu-brand__row .en{display:block;font-family:var(--eu-font-en);font-weight:600;color:var(--eu-ink);letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.eu-brand__row .jp{display:block;font-size:11px;color:var(--eu-ink-2);margin-top:2px;font-family:var(--eu-font-jp);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.eu-brand__row .toggle{
  position:absolute;right:12px;top:50%;
  width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;
  color:var(--eu-accent);font-size:11px;
  transform:translateY(-50%);transition:transform .2s;
}
li.has-children.is-open > .eu-brand__row .toggle{transform:translateY(-50%) rotate(180deg);}
.eu-brand__sub{display:none;list-style:none;margin:0;padding:4px 0 6px;background:var(--eu-bg-2);}
li.has-children.is-open > .eu-brand__sub{display:block;}
.eu-brand__sub li{border-top:1px dotted var(--eu-line);border-bottom:0;}
.eu-brand__sub a{display:block;padding:6px 12px 6px 26px;font-size:11.5px;color:var(--eu-ink);font-family:var(--eu-font-jp);}
.eu-brand__sub a:hover{color:var(--eu-link);background:var(--eu-bg);}
.eu-brand__all{display:block;padding:6px 12px 6px 26px;font-size:11px;font-weight:500;color:var(--eu-link);font-family:var(--eu-font-jp);}
/* ブランド3階層目（中分類＞小分類） */
.eu-brand__sub > li.has-children{padding:0;}
.eu-brand__sub-row{
  display:block;width:100%;padding:6px 32px 6px 26px;
  font-size:11.5px;line-height:1.45;background:transparent;border:0;
  text-align:left;color:var(--eu-ink);cursor:pointer;font-family:var(--eu-font-jp);
  position:relative;
}
.eu-brand__sub-row:hover{color:var(--eu-link);background:var(--eu-bg);}
.eu-brand__sub-row .name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.eu-brand__sub-row .toggle{
  position:absolute;right:12px;top:50%;
  width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;
  color:var(--eu-accent);font-size:11px;
  transform:translateY(-50%);transition:transform .2s;
}
li.has-children.is-open > .eu-brand__sub-row .toggle{transform:translateY(-50%) rotate(180deg);}
.eu-brand__sub-sub{display:none;list-style:none;margin:0;padding:2px 0 4px;background:var(--eu-bg);}
li.has-children.is-open > .eu-brand__sub-sub{display:block;}
.eu-brand__sub-sub li{border-top:1px dotted var(--eu-line);border-bottom:0;}
.eu-brand__sub-sub a{display:block;padding:6px 12px 6px 38px;font-size:11px;color:var(--eu-ink);font-family:var(--eu-font-jp);}
.eu-brand__sub-sub a:hover{color:var(--eu-link);background:var(--eu-bg-2);}
.eu-brand__sub-all{display:block;padding:6px 12px 6px 38px;font-size:10.5px;font-weight:500;color:var(--eu-link);font-family:var(--eu-font-jp);}
.eu-axes{margin:0;padding:0;list-style:none;}
.eu-axes li{border-bottom:1px solid var(--eu-line);}
.eu-axes li:last-child{border-bottom:0;}
.eu-axes a{display:flex;align-items:center;gap:10px;padding:10px 12px;font-size:12.5px;font-family:var(--eu-font-jp);}
.eu-axes a:hover{background:var(--eu-bg);}
.eu-axes .em{font-size:13px;width:22px;text-align:center;color:var(--eu-accent);font-family:var(--eu-font-en);font-weight:600;}
.side .cat-list a[href*="/esp/shop?key=CL-"]{display:none !important;}
@media screen and (max-width: 749px){
  .eu-sidenav{display:none !important;}
}
