/* ============================================================
   メニューの「サービス」のプルダウン（全ページ共通・2026-10-24）
   PC：マウスを載せる／キーで選ぶと下に開く。指で触る画面では1回目のタップで開く（site.js）
   スマホ：メニューの中の「サービス」を押すと下に開く
   ============================================================ */
.hd-drop{position:relative; display:flex; align-items:center}
.hd-drop-top{display:inline-flex; align-items:center; gap:6px}
.hd-drop-top i{width:7px; height:7px; margin-top:-3px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); transition:transform .2s ease}
.hd-drop-menu{position:absolute; top:100%; left:50%; z-index:60; display:grid; min-width:300px; margin-top:14px; padding:10px; background:#fff; border:1px solid var(--ln); border-radius:14px; box-shadow:var(--sh-h); opacity:0; visibility:hidden; transform:translate(-50%,6px); transition:opacity .18s ease, transform .18s ease, visibility .18s}
.hd-drop-menu::before{content:""; position:absolute; left:0; right:0; top:-16px; height:16px}  /* 開いた箱へマウスを動かす間に閉じないための橋 */
.hd-drop:hover .hd-drop-menu,.hd-drop:focus-within .hd-drop-menu,.hd-drop[data-open="1"] .hd-drop-menu{opacity:1; visibility:visible; transform:translate(-50%,0)}
.hd-drop:hover .hd-drop-top i,.hd-drop:focus-within .hd-drop-top i,.hd-drop[data-open="1"] .hd-drop-top i{transform:rotate(225deg); margin-top:3px}
.hd-nav .hd-drop-menu a{display:block; padding:10px 14px; border-radius:10px; font-size:14.5px; font-weight:500; line-height:1.6; color:var(--ink); white-space:nowrap; text-decoration:none}
.hd-nav .hd-drop-menu a:hover,.hd-nav .hd-drop-menu a:focus-visible{color:var(--or-d)}
.hd-nav .hd-drop-menu a + a{border-top:1px solid var(--ln); border-radius:0}
.hd-nav .hd-drop-menu a[aria-current="page"]{color:var(--or-d)}
.hd-nav .hd-drop-top.is-current{color:var(--or-d)}

/* スマホのメニュー */
.mnav-toggle{display:flex; align-items:center; justify-content:space-between; width:100%; margin:0; padding:16px var(--pad); border:0; border-bottom:1px solid var(--ln); background:#fff; font:inherit; font-weight:500; line-height:1.6; letter-spacing:inherit; color:var(--ink); text-align:left; cursor:pointer}
.mnav-toggle i{width:8px; height:8px; margin-right:4px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); transition:transform .2s ease}
.mnav-toggle[aria-expanded="true"] i{transform:rotate(225deg)}
.mnav-sub[hidden]{display:none}
.mnav .mnav-sub a{padding-left:calc(var(--pad) + 18px); font-size:15px; color:var(--ink2)}
.mnav .mnav-sub a[aria-current="page"]{color:var(--or-d)}

/* ---------- 一番上に戻るボタン（右下・全ページ。少し下に読み進めると出る） ---------- */
.to-top{position:fixed; right:calc(20px + env(safe-area-inset-right)); bottom:calc(20px + env(safe-area-inset-bottom)); z-index:70; display:grid; place-items:center; width:52px; height:52px; border-radius:50%; background:var(--ink); box-shadow:0 2px 6px rgba(26,20,16,.16),0 10px 24px rgba(26,20,16,.18); opacity:0; visibility:hidden; transform:translateY(8px); transition:opacity .25s ease, transform .25s ease, visibility .25s}
.to-top[data-show="1"]{opacity:1; visibility:visible; transform:translateY(0)}
.to-top i{width:12px; height:12px; margin-top:6px; border-left:2px solid #fff; border-top:2px solid #fff; transform:rotate(45deg); transition:transform .25s ease}
.to-top:hover{transform:translateY(-3px)} .to-top:hover i{border-color:var(--or)}
.to-top:focus-visible{outline:2px solid var(--or); outline-offset:3px}
@media (max-width:640px){ .to-top{width:46px; height:46px; right:calc(14px + env(safe-area-inset-right)); bottom:calc(14px + env(safe-area-inset-bottom))} }

/* トップのお知らせの題名も文節の切れ目（[hibana_news] が入れる <wbr>）だけで折る（2026-10-24） */
.news-list .ntitle:has(wbr){word-break:keep-all; overflow-wrap:anywhere; line-break:strict}
