/* ============================================================
   HSG Additional CSS — CLEANED (掃除済み) 2026-08-08
   実機点検で確認した「未使用・重複・消滅ページ・地雷」を除去。
   --- 削除したもの ---
   1. 重複していた lecture-hub「HEADER+FOOTER」ブロックの1つ目（2つ目を保持）
   2. 旧プロフィール3種（.hsp-profile-section / .hsp-ig-profile-form / .hsp-ig-wrapper）※全ページ不在
   3. 消滅ページのCSS：page-id-865(Movie dropdown) / 1352(header restore+footer) / 1572(footer)
   4. 未使用機能：WOW card(.hsp-wow-*) / Seeker button(.seeker-plan-card) /
      Fluent join(.hs-join-fluent-*) / Gift cards(.hs-join-gift-*)
   5. 上書き済み：cat-count-pill 1/2/3（pill4を保持） / ロゴ max-height:120px（50pxを保持）
   6. 地雷：.entry-content > p:first-child{display:none}（全ページの一文目を隠す）
   7. :not() ヘッダー余白リストから 3233 / 3367 / 3833（404・ゴミ箱）を除去
   --- 保持したもの（現役 or 要精査）---
   Home(page-id-254)ヘッダー / 1599(Watch Online)footer / 5114(Movie)footer /
   Notes(.hs-notes-*) / User badge / モバイルメニュー / パスワード再設定 /
   Q&A(anspress)テーマ / グローバルheader/footer(2つ目) / SWPM非表示
============================================================ */

/* ===========================
   Simple WP Membership: hide default protection messages
   （地雷 .entry-content > p:first-child は削除済み）
=========================== */
.swpm-login-msg,
.swpm-login-form,
.swpm-post-not-logged-in-msg,
.swpm-restricted-content-msg{
  display:none !important;
}

/* ============================================================
   Footer hide — Watch Online (page-id-1599) のみ保持
   （1352 / 1572 は消滅ページのため削除）
============================================================ */
.page-id-1599 .site-footer,
.page-id-1599 footer,
.page-id-1599 .ast-footer-wrap,
.page-id-1599 .ast-footer-bar{
  display:none !important;
}

/* =========================
   Journal / Notes layout
========================= */
.hs-notes-journal{
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  gap:0;
  max-width:980px;
  margin:40px auto;
  background:linear-gradient(135deg,#f9fafb,#fff);
  border-radius:24px;
  box-shadow:
    0 24px 60px rgba(15,23,42,.15),
    0 0 0 1px rgba(229,231,235,.8);
  overflow:hidden;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.hs-notes-sidebar{
  background:linear-gradient(180deg,#f3f4ff 0%,#eff6ff 40%,#fdf2f8 100%);
  padding:16px 10px 16px 14px;
  border-right:1px solid rgba(209,213,219,.8);
  display:flex;
  flex-direction:column;
}
.hs-notes-month{
  font-size:.78rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#4b5563;
  margin-bottom:10px;
}
.hs-notes-list{
  flex:1 1 auto;
  overflow-y:auto;
  padding-right:4px;
}
.hs-notes-list::-webkit-scrollbar{ width:6px; }
.hs-notes-list::-webkit-scrollbar-thumb{
  background:rgba(148,163,184,.7);
  border-radius:999px;
}
.hs-notes-list-item{
  width:100%;
  display:grid;
  grid-template-columns:56px minmax(0,1fr);
  gap:8px;
  border-radius:16px;
  padding:8px 10px;
  margin-bottom:6px;
  border:none;
  background:rgba(255,255,255,.7);
  box-shadow:0 8px 18px rgba(15,23,42,.08);
  cursor:pointer;
  text-align:left;
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease;
}
.hs-notes-list-item:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 26px rgba(15,23,42,.14);
  background:rgba(255,255,255,.95);
}
.hs-notes-list-item.is-active{
  background:linear-gradient(135deg,#2563eb,#38bdf8);
  box-shadow:
    0 16px 34px rgba(37,99,235,.45),
    0 0 0 1px rgba(255,255,255,.8);
  color:#f9fafb;
}
.hs-notes-list-date{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  padding:4px 2px;
  background:rgba(15,23,42,.06);
}
.hs-notes-list-item.is-active .hs-notes-list-date{
  background:rgba(15,23,42,.2);
}
.hs-notes-list-weekday{
  font-size:.65rem;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.hs-notes-list-day{
  font-size:1.1rem;
  font-weight:700;
}
.hs-notes-list-content{ min-width:0; }
.hs-notes-list-title{
  font-size:.82rem;
  font-weight:600;
  margin-bottom:2px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.hs-notes-list-preview{
  font-size:.74rem;
  line-height:1.4;
  color:#4b5563;
  max-height:2.2em;
  overflow:hidden;
}
.hs-notes-list-item.is-active .hs-notes-list-preview{
  color:rgba(249,250,251,.9);
}
.hs-notes-main{
  padding:20px 28px 24px;
  background:radial-gradient(circle at top left,#f9fafb 0%,#fff 40%,#eff6ff 100%);
  display:flex;
  flex-direction:column;
}
.hs-notes-main-header{ margin-bottom:16px; }
.hs-notes-main-date{
  font-size:.9rem;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#6b7280;
}
.hs-notes-main-time{
  font-size:.8rem;
  color:#9ca3af;
  margin-top:2px;
}
.hs-notes-main-body{
  flex:1 1 auto;
  font-size:.95rem;
  line-height:1.8;
  color:#111827;
  background:#fff;
  border-radius:18px;
  box-shadow:
    0 18px 40px rgba(15,23,42,.08),
    0 0 0 1px rgba(229,231,235,.9);
  padding:18px 20px;
}
.hs-notes-main-body br + br{ line-height:1.1; }
@media (max-width:800px){
  .hs-notes-journal{ grid-template-columns:1fr; }
  .hs-notes-sidebar{
    border-right:none;
    border-bottom:1px solid rgba(209,213,219,.8);
    padding-bottom:10px;
  }
}

/* ============================================================
   User badge click layers (LOGIN-AWARE)
============================================================ */
.hsp-user-badge,
.hsp_user_badge{
  position:relative !important;
  pointer-events:auto !important;
}
.hsp-user-badge-link{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  z-index:50 !important;
  border-radius:inherit !important;
}
.hsp-user-avatar,
.hsp-user-text{
  position:relative !important;
  z-index:10 !important;
}
.hsp-user-badge.is-logged-in .hsp-user-logout{
  position:relative !important;
  z-index:80 !important;
  pointer-events:auto !important;
}
.hsp-user-badge.is-logged-in .hsp-user-actions,
.hsp-user-badge.is-logged-in .hsp-plan-badge{
  position:relative !important;
  z-index:10 !important;
  pointer-events:none !important;
}
.hsp-user-badge.is-logged-in .hsp-user-actions .hsp-user-logout{
  pointer-events:auto !important;
}
.hsp-user-badge.is-logged-out .hsp-user-actions,
.hsp-user-badge.is-logged-out .hsp-user-logout{
  pointer-events:auto !important;
  position:relative !important;
  z-index:60 !important;
}

/* ============================================================
   HS+ HOME (page-id-254) — 要精査（Home=254で現役だが自作HTMLと重複の可能性）
   Transparent glass header over hero video -> solid after hero
============================================================ */
body.page-id-254{
  --hsp-header-h: 90px;
  --hsp-nav-dark: rgba(24,42,74,.92);
  --hsp-nav-light: rgba(255,255,255,.94);
}
body.page-id-254 header.site-header,
body.page-id-254 #masthead{
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999999 !important;
  width: 100%;
}
body.page-id-254 #content,
body.page-id-254 .site-content{
  padding-top: var(--hsp-header-h) !important;
}
body.page-id-254 .main-header-bar,
body.page-id-254 .ast-primary-header-bar,
body.page-id-254 .ast-main-header-wrap{
  transition:
    background-color .25s ease,
    backdrop-filter .25s ease,
    border-color .25s ease,
    box-shadow .25s ease,
    color .25s ease;
}
body.page-id-254.hsp-home-header--transparent .main-header-bar,
body.page-id-254.hsp-home-header--transparent .ast-primary-header-bar{
  background: rgba(255,255,255,.10) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 18px 60px rgba(0,0,0,.22);
}
body.page-id-254.hsp-home-header--transparent
  #ast-desktop-header .main-header-menu a,
body.page-id-254.hsp-home-header--transparent
  #ast-desktop-header .main-header-menu a.menu-link,
body.page-id-254.hsp-home-header--transparent
  #ast-desktop-header .ast-header-button-1 a,
body.page-id-254.hsp-home-header--transparent
  header .elementor-nav-menu--main a,
body.page-id-254.hsp-home-header--transparent
  header .elementor-nav-menu--main .elementor-item{
  color: var(--hsp-nav-light) !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.45);
}
body.page-id-254.hsp-home-header--transparent
  #ast-desktop-header .main-header-menu .sub-menu,
body.page-id-254.hsp-home-header--transparent
  header .elementor-nav-menu--dropdown{
  background: rgba(255,255,255,.96) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(15,23,42,.10);
  box-shadow: 0 22px 60px rgba(15,23,42,.18);
}
body.page-id-254.hsp-home-header--transparent
  #ast-desktop-header .main-header-menu .sub-menu a,
body.page-id-254.hsp-home-header--transparent
  header .elementor-nav-menu--dropdown a,
body.page-id-254.hsp-home-header--transparent
  header .elementor-nav-menu--dropdown .elementor-item{
  color: var(--hsp-nav-dark) !important;
  text-shadow: none !important;
}
body.page-id-254.hsp-home-header--solid .main-header-bar,
body.page-id-254.hsp-home-header--solid .ast-primary-header-bar{
  background: rgba(255,255,255,.98) !important;
  border-bottom: 1px solid rgba(15,23,42,.10);
  box-shadow: 0 16px 44px rgba(15,23,42,.10);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
body.page-id-254.hsp-home-header--solid
  #ast-desktop-header .main-header-menu a,
body.page-id-254.hsp-home-header--solid
  #ast-desktop-header .main-header-menu a.menu-link,
body.page-id-254.hsp-home-header--solid
  #ast-desktop-header .ast-header-button-1 a,
body.page-id-254.hsp-home-header--solid
  header .elementor-nav-menu--main a,
body.page-id-254.hsp-home-header--solid
  header .elementor-nav-menu--main .elementor-item{
  color: var(--hsp-nav-dark) !important;
  text-shadow: none !important;
}
body.page-id-254.hsp-home-header--solid
  #ast-desktop-header .main-header-menu a:hover,
body.page-id-254.hsp-home-header--solid
  header .elementor-nav-menu--main a:hover{
  color: rgba(24,42,74,.92) !important;
}
@media (max-width: 921px){
  body.page-id-254.hsp-home-header--transparent .main-header-bar,
  body.page-id-254.hsp-home-header--transparent .ast-primary-header-bar{
    background: rgba(255,255,255,.14) !important;
  }
}
/* HOME header: transparent + remove white gap under header (page-id-254) */
body.page-id-254 .elementor-location-header{
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 99999 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-bottom: none !important;
}
body.page-id-254 .elementor-location-header .elementor-section,
body.page-id-254 .elementor-location-header .elementor-container,
body.page-id-254 .elementor-location-header .elementor-widget-wrap{
  background: transparent !important;
}
body.page-id-254 #content,
body.page-id-254 .site-content,
body.page-id-254 main,
body.page-id-254 .entry-content{
  margin-top: 0 !important;
  padding-top: 0 !important;
}
body.page-id-254 .elementor-section-wrap > .elementor-section:first-child,
body.page-id-254 .elementor > .elementor-section:first-child,
body.page-id-254 .e-con:first-child{
  margin-top: 0 !important;
  padding-top: 0 !important;
}
body.page-id-254 .elementor-location-header .elementor-nav-menu--main a{
  color: rgba(255,255,255,.96) !important;
}
body.page-id-254 .elementor-location-header .elementor-nav-menu--main a:hover{
  opacity: .85;
}
body.page-id-254 .elementor-location-header .elementor-nav-menu--dropdown{
  background: rgba(15,23,42,.72) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
body.page-id-254 .elementor-location-header img{
  filter: drop-shadow(0 10px 18px rgba(0,0,0,.35));
}

/* ===== Page ID 5114：フッター文字を白に ===== */
body.page-id-5114 .elementor-location-footer,
body.page-id-5114 .elementor-location-footer *{
  color:#ffffff !important;
}
body.page-id-5114 .elementor-location-footer .elementor-heading-title,
body.page-id-5114 .elementor-location-footer p,
body.page-id-5114 .elementor-location-footer span,
body.page-id-5114 .elementor-location-footer li{
  color:#ffffff !important;
}
body.page-id-5114 .elementor-location-footer a{
  color:#ffffff !important;
}
body.page-id-5114 .elementor-location-footer a:hover{
  color:#f6d36a !important;
}
body.page-id-5114 .elementor-location-footer svg,
body.page-id-5114 .elementor-location-footer svg *{
  fill:#ffffff !important;
}
body.page-id-5114 .elementor-location-footer a:hover svg,
body.page-id-5114 .elementor-location-footer a:hover svg *{
  fill:#f6d36a !important;
}

/* =========================================================================
   HEADER + FOOTER を「lecture-hub」デザイン（フォント・色）に統一
   ※ 重複していた1つ目は削除。これが唯一の有効版。
   フォントはOS標準 sans に統一。
========================================================================= */
.elementor-location-header,
.elementor-location-footer{
  --hsg-serif: ui-sans-serif, system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --hsg-sans:  ui-sans-serif, system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
/* HEADER — 透過ガラス + 白文字 + ゴールド差し色 */
.elementor-location-header{
  position: fixed !important;
  top:0; left:0; right:0; width:100% !important;
  z-index: 99999 !important;
  background: transparent !important;
  box-shadow:none !important; border-bottom:none !important;
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  padding-top:12px !important; padding-bottom:12px !important;
  box-sizing:border-box !important;
  overflow: visible !important;
  font-family: var(--hsg-sans) !important;
}
.elementor-location-header,
.elementor-location-header .elementor-section,
.elementor-location-header .elementor-container,
.elementor-location-header .e-con,
.elementor-location-header .e-con-inner,
.elementor-location-header .elementor-widget-wrap{ background: transparent !important; }
.elementor-location-header::before{
  content:""; position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(13,34,64,.42), rgba(13,34,64,.12));
  pointer-events:none; z-index:0;
}
.elementor-location-header > *{ position:relative; z-index:1; }
.elementor-location-header .e-con,
.elementor-location-header .e-con-inner,
.elementor-location-header .elementor-container,
.elementor-location-header .elementor-row,
.elementor-location-header .elementor-column,
.elementor-location-header .elementor-column-wrap,
.elementor-location-header .elementor-widget-wrap{
  align-items: center !important;
  align-content: center !important;
}
.elementor-location-header .e-con-inner,
.elementor-location-header .elementor-container,
.elementor-location-header .elementor-widget-wrap,
.elementor-location-header .elementor-nav-menu,
.elementor-location-header .elementor-nav-menu > ul,
.elementor-location-header .elementor-nav-menu > ul > li{
  overflow: visible !important;
}
.elementor-location-header .elementor-nav-menu--dropdown,
.elementor-location-header .elementor-nav-menu__container.elementor-nav-menu--dropdown{
  z-index: 100000 !important;
}
.elementor-location-header img,
.elementor-location-header .elementor-widget-image img,
.elementor-location-header .elementor-widget-theme-site-logo img{
  max-height: 50px !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  display: block !important;
}
.elementor-location-header a,
.elementor-location-header .elementor-nav-menu a,
.elementor-location-header .elementor-item{
  color: rgba(255,255,255,.95) !important;
  font-family: var(--hsg-serif) !important;
  letter-spacing:.3px;
}
.elementor-location-header .elementor-item:hover{ color:#cda968 !important; }
.elementor-location-header .sub-arrow{
  display:inline-flex !important; align-items:center !important; margin-left:5px !important;
  visibility:visible !important; opacity:1 !important;
}
.elementor-location-header .sub-arrow svg,
.elementor-location-header .sub-arrow .e-font-icon-svg,
.elementor-location-header .menu-item-has-children > a .e-font-icon-svg{
  width:.72em !important; height:.72em !important;
  fill: currentColor !important; color: rgba(255,255,255,.95) !important;
  display:inline-block !important; visibility:visible !important; opacity:1 !important;
}
.elementor-location-header .sub-arrow i,
.elementor-location-header .menu-item-has-children > a::after{
  font-family:"eicons","Font Awesome 6 Free","Font Awesome 5 Free","FontAwesome" !important;
}
.elementor-location-header .elementor-nav-menu--dropdown{
  background: rgba(255,255,255,.97) !important;
  box-shadow: 0 14px 40px rgba(13,34,64,.18) !important;
  width: max-content !important;
  min-width: 220px !important;
  max-width: 92vw !important;
}
.elementor-location-header .elementor-nav-menu--dropdown li{ width:100% !important; }
.elementor-location-header .elementor-nav-menu--dropdown a,
.elementor-location-header .elementor-nav-menu--dropdown .elementor-item,
.elementor-location-header .elementor-nav-menu--dropdown .elementor-sub-item{
  color:#15355c !important; opacity:1 !important;
  font-family: var(--hsg-serif) !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
.elementor-location-header .elementor-nav-menu--dropdown a:hover{
  background: rgba(180,141,76,.12) !important; color:#15355c !important;
}
/* ホバー/フォーカスでサブメニューを開く（会員環境の不具合修正） */
.elementor-location-header .elementor-nav-menu > ul > li.menu-item-has-children:hover > ul,
.elementor-location-header .elementor-nav-menu > ul > li.menu-item-has-children:focus-within > ul,
.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu li:hover > .elementor-nav-menu--dropdown,
.elementor-location-header .elementor-nav-menu--dropdown li.menu-item-has-children:hover > ul{
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
.hsp-user-badge a, .hsp_user_badge a,
.hsp-user-badge .hsp-user-logout, .hsp_user_badge .hsp-user-logout{
  color:#15355c !important; opacity:1 !important;
}
/* 固定ヘッダー分、ホーム以外のページ本文を下げる（404/ゴミ箱の 3233/3367/3833 は除去済み） */
:root{ --hsp-header-offset: 92px; }
body:not(.home):not(.page-id-254):not(.page-id-4842):not(.page-id-4685):not(.page-id-4043):not(.page-id-3325):not(.page-id-537):not(.page-id-2839){
  padding-top: var(--hsp-header-offset);
}
@media (max-width: 768px){ body:not(.home){ padding-top: 72px; } }
/* FOOTER — ネイビー + ゴールド + serif見出し */
.elementor-location-footer,
.elementor-location-footer .elementor,
.elementor-location-footer > div,
.elementor-location-footer section,
.elementor-location-footer .elementor-section,
.elementor-location-footer .elementor-container,
.elementor-location-footer .e-con,
.elementor-location-footer .e-con-inner,
.elementor-location-footer .elementor-column,
.elementor-location-footer .elementor-widget-wrap,
.elementor-location-footer .elementor-widget-container{
  background-color: transparent !important;
  background-image: none !important;
}
.elementor-location-footer{
  background: linear-gradient(180deg, #1d3f66, #152f4d) !important;
  border-top: 3px solid #b48d4c !important;
  font-family: var(--hsg-sans) !important;
}
.elementor-location-footer,
.elementor-location-footer p,
.elementor-location-footer li,
.elementor-location-footer span,
.elementor-location-footer .elementor-widget-text-editor,
.elementor-location-footer .elementor-icon-list-text{ color:#cfe0f3 !important; }
.elementor-location-footer .elementor-widget-text-editor,
.elementor-location-footer .elementor-widget-text-editor p,
.elementor-location-footer .elementor-widget-text-editor span,
.elementor-location-footer .elementor-widget-text-editor div,
.elementor-location-footer p,
.elementor-location-footer .elementor-icon-list-text{
  font-family: var(--hsg-sans) !important;
}
.elementor-location-footer h1,.elementor-location-footer h2,.elementor-location-footer h3,
.elementor-location-footer h4,.elementor-location-footer h5,.elementor-location-footer h6,
.elementor-location-footer .elementor-heading-title{
  color:#ffffff !important;
  font-family: var(--hsg-serif) !important;
  font-weight:500 !important;
}
.elementor-location-footer a,
.elementor-location-footer .elementor-nav-menu a,
.elementor-location-footer .elementor-item{ color:#bcd3ec !important; transition:.16s; letter-spacing:.3px; }
.elementor-location-footer .elementor-nav-menu a,
.elementor-location-footer .elementor-item{ font-family: var(--hsg-serif) !important; }
.elementor-location-footer a:hover,
.elementor-location-footer .elementor-item:hover{ color:#cda968 !important; }
.elementor-location-footer .sub-arrow,
.elementor-location-footer .sub-arrow i,
.elementor-location-footer .elementor-nav-menu i,
.elementor-location-footer .elementor-item::after,
.elementor-location-footer .menu-item-has-children > a::after{
  font-family: "eicons","Font Awesome 6 Free","Font Awesome 5 Free","FontAwesome" !important;
  color:#bcd3ec !important; fill:#bcd3ec !important;
}

/* ============================================================
   MOBILE MENU = ボトムシート + ドリルダウン（対応JSとセット）
============================================================ */
.hsp-overlay,
.hsp-sheet{ display:none; }
@media (max-width: 1024px){
  body.hsp-ms-ready .elementor-location-header .elementor-nav-menu__container.elementor-nav-menu--dropdown{
    display:none !important;
  }
  .hsp-overlay{
    display:block;
    position:fixed; inset:0;
    background:rgba(8,18,38,.45);
    opacity:0; visibility:hidden;
    transition:opacity .3s ease, visibility .3s ease;
    z-index:2147483000;
  }
  body.hsp-sheet-open .hsp-overlay{ opacity:1; visibility:visible; }
  .hsp-sheet{
    display:block;
    position:fixed; left:0; right:0; bottom:0; top:auto;
    width:100%; max-width:100%;
    max-height:82vh; overflow-y:auto; -webkit-overflow-scrolling:touch;
    background:#fff;
    border-radius:22px 22px 0 0;
    box-shadow:0 -18px 60px rgba(8,18,38,.35);
    padding:16px 0 calc(env(safe-area-inset-bottom, 0px) + 16px);
    box-sizing:border-box;
    z-index:2147483001;
    transform:translateY(100%); visibility:hidden;
    transition:transform .32s cubic-bezier(.22,1,.36,1), visibility .32s;
  }
  body.hsp-sheet-open .hsp-sheet{ transform:translateY(0); visibility:visible; }
  .hsp-sheet::before{
    content:""; display:block; width:42px; height:4px; margin:2px auto 14px;
    border-radius:999px; background:rgba(8,18,38,.18);
  }
  .hsp-ms{ position:relative; overflow:hidden; transition:height .3s ease; }
  .hsp-sheet .hsp-ms-panel{
    position:absolute; top:0; left:0; width:100%;
    background:#fff;
    transform:translateX(100%);
    transition:transform .3s cubic-bezier(.22,1,.36,1);
  }
  .hsp-sheet .hsp-ms-panel.is-root,
  .hsp-sheet .hsp-ms-panel.is-active{ transform:translateX(0); }
  .hsp-sheet .hsp-ms-list{ list-style:none; margin:0; padding:0; }
  .hsp-sheet .hsp-ms-list li{ margin:0; }
  .hsp-sheet .hsp-ms-list a,
  .hsp-sheet .hsp-ms-next{
    display:flex; align-items:center; justify-content:space-between;
    width:100%; box-sizing:border-box;
    padding:16px 22px;
    font-size:16px; line-height:1.3;
    color:#15355c !important;
    text-decoration:none;
    background:transparent !important;
    border:0; border-bottom:1px solid rgba(8,18,38,.06);
    box-shadow:none !important;
    -webkit-appearance:none; appearance:none;
    text-align:left; cursor:pointer; font-family:inherit;
  }
  .hsp-sheet .hsp-ms-next .hsp-ms-chev{ color:#b48d4c; font-size:22px; line-height:1; margin-left:12px; }
  .hsp-sheet .hsp-ms-list a:active,
  .hsp-sheet .hsp-ms-next:active{ background:rgba(180,141,76,.12) !important; }
  .hsp-sheet .hsp-ms-back{
    display:flex; align-items:center; gap:6px;
    width:100%; box-sizing:border-box;
    padding:12px 18px; margin-bottom:4px;
    background:transparent !important; box-shadow:none !important;
    -webkit-appearance:none; appearance:none;
    border:0; border-bottom:1px solid rgba(8,18,38,.10);
    font-size:15px; font-weight:600; color:#b48d4c !important;
    cursor:pointer; font-family:inherit;
  }
  .hsp-sheet .hsp-ms-back .hsp-ms-arrow{ font-size:22px; line-height:1; }
}

/* ============================================================
   "Set a new password" form (SWPM reset via email link)
============================================================ */
.swpm-pw-reset-using-link-widget-form{
  --ink:#15355c; --ink2:#4a648a; --ink3:#7790ad;
  --blue-d:#2a5489; --blue-deep:#1d3f66; --sky:#6fa3d6; --line:#d7e4f2;
  --gold1:#cda968; --gold2:#b48d4c;
  --serif:Georgia,"Times New Roman",serif;
  --sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  width:min(440px,92%);
  margin:22px auto;
  box-sizing:border-box;
  background:#ffffff;
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:0 14px 40px rgba(24,56,99,.12);
  padding:28px 26px 24px;
  font-family:var(--sans);
  color:var(--ink);
  text-align:center;
  animation:hsp-np-rise .6s cubic-bezier(.2,.7,.3,1) both;
}
@keyframes hsp-np-rise{ from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:none} }
.swpm-pw-reset-using-link-widget-form::before{
  content:"Set a new password";
  display:block;
  font-family:var(--serif);
  font-weight:500; font-size:23px; color:var(--ink);
  margin-bottom:10px;
}
.swpm-pw-reset-strong-pass-message{
  max-width:360px; margin:0 auto 16px auto;
  font-size:12.5px; line-height:1.5; color:var(--ink2);
}
.swpm-pw-reset-using-link-widget-form .swpm_label{
  display:block;
  width:100%; max-width:360px;
  margin:0 auto 6px auto;
  font-size:13px; font-weight:500; color:var(--ink2);
  text-align:left;
}
.swpm-pw-reset-using-link-widget-form .swpm-pw-reset-email{ margin-top:10px; }
.swpm-pw-reset-using-link-widget-form input[type="password"],
input[name="swpm_new_password"],
input[name="swpm_reenter_new_password"]{
  display:block;
  width:100%; max-width:360px;
  box-sizing:border-box;
  margin:0 auto 4px auto;
  padding:12px 16px;
  border-radius:999px;
  border:1px solid var(--line);
  background:linear-gradient(180deg,#ffffff 0%, #f4f8fd 100%);
  color:var(--ink); font-size:14px;
  font-family:var(--sans);
  outline:none; box-shadow:none;
  transition:border .2s ease, box-shadow .2s ease;
}
input[name="swpm_new_password"]:focus,
input[name="swpm_reenter_new_password"]:focus{
  border-color:var(--sky);
  box-shadow:0 0 0 4px rgba(111,163,214,.18);
}
.swpm-pw-reset-submit-button{ margin-top:16px; }
input[name="swpm-password-reset-using-link"]{
  display:block;
  width:100%; max-width:360px;
  box-sizing:border-box;
  margin:0 auto;
  border:none; cursor:pointer;
  border-radius:999px;
  padding:13px 22px;
  font-size:13.5px; font-weight:700;
  letter-spacing:.10em; text-transform:uppercase;
  color:#ffffff;
  font-family:var(--sans);
  background:linear-gradient(180deg,var(--gold1) 0%, var(--gold2) 100%);
  box-shadow:0 14px 30px rgba(180,141,76,.30), 0 0 0 1px rgba(255,255,255,.55) inset;
  transition:transform .16s ease, background .2s ease, box-shadow .16s ease;
}
input[name="swpm-password-reset-using-link"]:hover{
  transform:translateY(-1px);
  background:linear-gradient(180deg,var(--blue-d) 0%, var(--blue-deep) 100%);
  box-shadow:0 18px 36px rgba(29,63,102,.34), 0 0 0 1px rgba(255,255,255,.30) inset;
}
.swpm-pw-reset-widget-error{
  max-width:360px; margin:0 auto 8px auto;
  color:#9a2b2b; font-size:13px; line-height:1.5;
  background:none; border:0; padding:0;
}
.swpm-pw-reset-key-invalid-error,
.swpm-red-error-text{ color:#9a2b2b; }
.formErrorContent{
  background:#9a2b2b; color:#ffffff; border:none;
  border-radius:10px; padding:9px 12px;
  font-size:12px; line-height:1.45; max-width:240px;
  box-shadow:0 10px 24px rgba(154,43,43,.28);
  font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}
.formErrorArrow div,
.formErrorArrowBottom div{ background:#9a2b2b; box-shadow:none; }
@media (max-width:600px){
  .swpm-pw-reset-using-link-widget-form{ padding:22px 16px; }
  .swpm-pw-reset-using-link-widget-form::before{ font-size:21px; }
  .formErrorContent{ max-width:200px; }
}
@media (prefers-reduced-motion: reduce){
  .swpm-pw-reset-using-link-widget-form{ animation:none; }
}

/* ============================================================
   HSG Q&A LIGHT THEME v1 (AnsPress) — 現役（/questions/）
============================================================ */
.anspress{
  --gold:#b7891f; --gold2:#caa24a;
  --goldA:#e2c374; --goldB:#c69b3f;
  --ink:#20202a; --title:#182233; --muted:#8b909a;
  --line:#e8eaef; --line2:#eef0f4;
  --bg:#f5f6f8; --card:#ffffff; --chip:#f0f1f4;
  --red:#e0483d; --blue:#2b6cb0;
  font-family:-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,Roboto,sans-serif;
  color:var(--ink);
  max-width:1120px; margin:0 auto; padding:0 14px;
}
.anspress *{box-sizing:border-box;}
.ap-page-base .site-main,
.ap-page-base .ehp-content-wrapper,
body.anspress-content .entry-content{background:var(--bg)!important;}
.anspress .ap-row{display:block!important;margin:0!important;}
.anspress .ap-col-12,.anspress #ap-lists{width:100%!important;float:none!important;padding:0!important;}
.hsg-qa-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start;}
@media(max-width:880px){.hsg-qa-grid{grid-template-columns:1fr;}.hsg-side{order:2;}}
.ap-list-head{background:transparent!important;border:0!important;padding:0 0 6px!important;margin-bottom:10px!important;position:relative;}
.ap-btn-ask,a.ap-btn-ask{
  background:linear-gradient(180deg,var(--goldA),var(--goldB))!important;
  color:#2a2413!important;border:0!important;border-radius:999px!important;
  padding:10px 20px!important;font-weight:700!important;font-size:14px!important;
  box-shadow:0 2px 8px rgba(198,155,63,.35)!important;text-decoration:none!important;
  display:inline-block;transition:filter .15s,transform .15s;
}
.ap-btn-ask:hover{filter:brightness(1.06);transform:translateY(-1px);}
.ap-search-form{background:#fff!important;border:1px solid var(--line)!important;border-radius:999px!important;overflow:hidden;box-shadow:0 1px 2px rgba(20,20,40,.04);}
.ap-search-form input[type=text],.ap-search-inner input{border:0!important;background:transparent!important;color:var(--ink)!important;padding:10px 14px!important;font-size:14px!important;}
.ap-search-btn{background:transparent!important;color:var(--muted)!important;border:0!important;}
.ap-filters{display:flex!important;flex-wrap:wrap;gap:8px!important;background:transparent!important;border:0!important;padding:8px 0 0!important;align-items:center;}
.ap-filters .ap-dropdown,.ap-filter{position:relative;}
.ap-filter>a,.ap-filter .ap-dropdown-toggle,.ap-filters .ap-filter>a{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--chip)!important;color:#41454d!important;border:1px solid transparent!important;
  border-radius:999px!important;padding:7px 14px!important;font-size:13px!important;font-weight:600!important;
  text-decoration:none!important;transition:background .15s,color .15s;
}
.ap-filter>a:hover{background:#e7e9ee!important;}
.ap-filter.active>a,.ap-filter>a.active,.ap-filter.ap-active>a{
  background:linear-gradient(180deg,var(--goldA),var(--goldB))!important;color:#2a2413!important;
  box-shadow:0 2px 6px rgba(198,155,63,.3)!important;
}
#ap-filter-reset{background:transparent!important;color:var(--muted)!important;border:0!important;font-size:12px!important;text-decoration:underline;cursor:pointer;}
.ap-dropdown-menu,.ap-filter-menu{background:#fff!important;border:1px solid var(--line)!important;border-radius:10px!important;box-shadow:0 12px 34px rgba(20,20,40,.14)!important;padding:6px!important;color:var(--ink)!important;}
.ap-dropdown-menu a,.ap-filter-menu a,.ap-dropdown-menu label{color:#333!important;border-radius:7px!important;padding:7px 10px!important;font-size:13px!important;}
.ap-dropdown-menu a:hover,.ap-filter-menu a:hover{background:var(--chip)!important;color:var(--gold)!important;}
.ap-questions{background:#fff!important;border:1px solid var(--line)!important;border-radius:14px!important;overflow:hidden;box-shadow:0 1px 3px rgba(20,20,40,.05);}
.ap-questions-item{background:#fff!important;border:0!important;border-bottom:1px solid var(--line2)!important;padding:16px 18px!important;margin:0!important;transition:background .12s;}
.ap-questions-item:last-child{border-bottom:0!important;}
.ap-questions-item:hover{background:#fafbfc!important;}
.ap-questions-inner{display:flex!important;gap:14px!important;align-items:flex-start;position:relative;}
.ap-questions-item .ap-avatar{display:none!important;}
.ap-list-counts{display:flex!important;flex-direction:column;gap:6px;flex:0 0 auto;min-width:52px;text-align:center;order:2;}
.ap-questions-count{background:var(--chip)!important;border-radius:9px!important;padding:6px 4px!important;font-size:11px!important;color:#6a6f78!important;line-height:1.1;display:block;text-decoration:none!important;border:0!important;}
.ap-questions-count span{display:block;font-size:17px!important;font-weight:800!important;color:#3a3f47!important;}
.ap-questions-acount{background:#fff7e6!important;}
.ap-questions-acount span{color:var(--gold)!important;}
.ap-questions-acount:after{content:"回答";display:block;font-size:10px;color:#b08a3a;}
.ap-questions-vcount:after{content:"👍";display:block;font-size:10px;filter:grayscale(.3);opacity:.7;}
.ap-questions-summery{flex:1 1 auto;order:1;min-width:0;}
.hsg-qcat{display:inline-block;font-size:11px;color:var(--muted);font-weight:600;margin-bottom:3px;letter-spacing:.02em;}
.ap-questions-title{display:block;margin:0 0 5px!important;}
.ap-questions-hyperlink{color:var(--title)!important;font-size:16px!important;font-weight:700!important;line-height:1.5!important;text-decoration:none!important;}
.ap-questions-hyperlink:hover{color:var(--gold)!important;text-decoration:underline!important;}
.ap-display-question-meta{display:flex!important;flex-wrap:wrap;gap:12px!important;margin-top:4px!important;}
.ap-display-meta-item{color:var(--muted)!important;font-size:12px!important;display:inline-flex;align-items:center;gap:4px;}
.ap-display-meta-item a{color:var(--muted)!important;}
.ap-pagination,.ap-pagination a,.pagination a{color:var(--gold)!important;}
.ap-pagination .current,.pagination .current{background:linear-gradient(180deg,var(--goldA),var(--goldB))!important;color:#2a2413!important;border:0!important;border-radius:8px;}
#ap-single,.ap-q{background:#fff!important;border:1px solid var(--line)!important;border-radius:14px!important;padding:22px!important;box-shadow:0 1px 3px rgba(20,20,40,.05);color:var(--ink)!important;}
#ap-single a{color:var(--gold)!important;}
.ap-question-meta,.ap-q-metas{color:var(--muted)!important;font-size:13px!important;border-color:var(--line)!important;}
.ap-q-metas a{color:var(--muted)!important;}
.ap-content,.ap-q-content,.question-content{color:#26262f!important;font-size:15.5px!important;line-height:1.75!important;}
.ap-content p{color:#26262f!important;}
#ap-single .ap-avatar img{border-radius:50%!important;border:2px solid var(--line)!important;}
.ap-single-vote,.ap-vote{color:var(--muted)!important;}
.ap-vote a,.ap-vote .apicon-thumb-up,.ap-vote .apicon-thumb-down{color:#a9adb5!important;}
.ap-vote a:hover{color:var(--gold)!important;}
.ap-vote .net-vote,.vote-count,.ap-vote-count{color:#3a3f47!important;font-weight:800!important;}
#answers,.ap-answers{margin-top:20px!important;}
.ap-avatar+.ap-cell,.answer,.ap-answer,[id^=answer_],[id^=post-]{color:var(--ink)!important;}
.answer{background:#fff!important;border-top:1px solid var(--line)!important;padding:18px 0!important;}
.ap-answers-label,.ap-questions-answer-count,.ap-answers-count-label{color:var(--title)!important;font-weight:800!important;font-size:18px!important;border-bottom:2px solid var(--gold)!important;display:inline-block;padding-bottom:4px;margin:6px 0 14px!important;}
.ap-best-answer,.best-answer,.answer.best-answer{background:#fffdf5!important;border:1px solid #efdca6!important;border-radius:12px!important;padding:16px!important;}
.ap-best-answer-label{background:linear-gradient(180deg,var(--goldA),var(--goldB))!important;color:#2a2413!important;border-radius:999px;padding:3px 12px;font-weight:700;font-size:12px;}
.ap-btn.ap-actions-handle,.ap-actions-handle{background:var(--chip)!important;color:#6a6f78!important;border:0!important;border-radius:999px!important;}
.ap-actions-handle:hover{background:#e7e9ee!important;color:var(--ink)!important;}
.ap-dropdown-menu li a{color:#333!important;}
.have-comments,apcomments{color:var(--ink)!important;}
.ap-comment-content,.ap-comment{color:#3a3f47!important;font-size:13.5px!important;}
.ap-comment{border-bottom:1px solid var(--line2)!important;padding:10px 0!important;}
.ap-comment .ap-comment-author,.ap-comment a{color:var(--gold)!important;}
.ap-btn-newcomment{color:var(--gold)!important;font-weight:600!important;text-decoration:none!important;}
.ap-btn-newcomment:hover{text-decoration:underline!important;}
.ap-modal .ap-modal-body,.ap-modal .ap-modal-body.ap-modal-medium{background:#fff!important;border:1px solid var(--line)!important;border-radius:14px!important;box-shadow:0 14px 40px rgba(20,20,40,.14)!important;overflow:hidden!important;color:var(--ink)!important;}
.ap-modal .ap-modal-header{background:#f8f9fb!important;border-bottom:1px solid var(--line)!important;}
.ap-modal .ap-modal-header strong,.ap-modal .ap-modal-header b,.ap-modal .ap-modal-header h3{color:var(--title)!important;}
.ap-modal .ap-modal-content{background:#fff!important;color:var(--ink)!important;}
.ap-modal .ap-modal-close{color:#9a9aa4!important;opacity:1!important;}
.ap-modal .ap-modal-close:hover{color:var(--ink)!important;}
.ap-minimal-editor,#answer-form-c,.ap-form,form.ap-form{background:#fff!important;color:var(--ink)!important;}
.anspress textarea,.anspress input[type=text],.anspress input[type=email],.anspress input[type=url],.anspress .wp-editor-area,.ap-modal textarea,.ap-modal input[type=text]{
  background:#fff!important;border:1px solid var(--line)!important;color:#26262f!important;border-radius:10px!important;padding:11px 13px!important;font-size:14px!important;
}
.anspress textarea:focus,.anspress input:focus,.ap-modal textarea:focus{border-color:var(--gold2)!important;box-shadow:0 0 0 3px rgba(202,162,74,.18)!important;outline:0!important;}
.anspress label,.ap-form-label{color:#41454d!important;font-weight:600!important;}
.mce-toolbar,.mce-panel,.quicktags-toolbar,.wp-editor-tools{background:#f8f9fb!important;border-color:var(--line)!important;}
.anspress .ap-btn,button.ap-btn-submit,.ap-btn-submit,input[type=submit]{
  background:linear-gradient(180deg,var(--goldA),var(--goldB))!important;color:#2a2413!important;border:0!important;
  border-radius:999px!important;padding:9px 20px!important;font-weight:700!important;box-shadow:0 2px 8px rgba(198,155,63,.3)!important;cursor:pointer;
}
.anspress .ap-btn.ap-actions-handle{background:var(--chip)!important;}
.anspress .ap-btn-cancel,.ap-btn-cancel{background:#eef0f4!important;color:#555!important;box-shadow:none!important;}
[class*="apicon-"]::before{font-family:inherit!important;font-style:normal!important;content:""!important;}
.apicon-gear::before,.apicon-more::before{content:"\22EF"!important;}
.apicon-thumb-up::before{content:"\25B2"!important;}
.apicon-thumb-down::before{content:"\25BC"!important;}
.apicon-check::before,.apicon-check-circle::before{content:"\2713"!important;color:#2fae57!important;}
.apicon-x::before,.apicon-cross::before,.apicon-cancel::before{content:"\2715"!important;}
.apicon-comment::before,.apicon-comments::before{content:"\1F4AC"!important;}
.apicon-reply::before{content:"\21A9"!important;}
.apicon-flag::before{content:"\2691"!important;}
.apicon-pencil::before,.apicon-edit::before{content:"\270E"!important;}
.apicon-link::before{content:"\1F517"!important;}
.apicon-clock::before,.apicon-pulse::before,.apicon-eye::before{content:""!important;}
.ap-categories,.ap-terms{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))!important;gap:14px!important;list-style:none!important;padding:0!important;}
.ap-category,.ap-term-item{background:#fff!important;border:1px solid var(--line)!important;border-radius:12px!important;padding:16px!important;transition:box-shadow .15s,transform .15s;list-style:none!important;}
.ap-category:hover,.ap-term-item:hover{box-shadow:0 6px 18px rgba(20,20,40,.08)!important;transform:translateY(-2px);border-color:#efdca6!important;}
.ap-category a,.ap-term-title,.ap-category-title{color:var(--title)!important;font-weight:700!important;font-size:15px!important;text-decoration:none!important;}
.ap-category-count,.ap-term-count{color:var(--gold)!important;font-size:12px!important;font-weight:700!important;}
.hsg-side{}
.hsg-rank-card{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 1px 3px rgba(20,20,40,.05);overflow:hidden;margin-bottom:18px;}
.hsg-rank-head{font-weight:800;font-size:15px;color:var(--title);padding:14px 16px 10px;border-bottom:2px solid var(--gold);}
.hsg-rank-list{list-style:none;margin:0;padding:4px 0;}
.hsg-rank-item{display:flex;gap:11px;align-items:flex-start;padding:11px 16px;border-bottom:1px solid var(--line2);}
.hsg-rank-item:last-child{border-bottom:0;}
.hsg-rank-item:hover{background:#fafbfc;}
.hsg-rank-num{flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:var(--chip);color:#6a6f78;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;margin-top:1px;}
.hsg-rank-item:nth-child(1) .hsg-rank-num{background:linear-gradient(180deg,var(--goldA),var(--goldB));color:#2a2413;}
.hsg-rank-item:nth-child(2) .hsg-rank-num{background:#d8dde3;color:#3a3f47;}
.hsg-rank-item:nth-child(3) .hsg-rank-num{background:#e9c9a0;color:#6b4a1e;}
.hsg-rank-link{color:var(--title);font-size:13.5px;line-height:1.5;text-decoration:none;font-weight:600;}
.hsg-rank-link:hover{color:var(--gold);text-decoration:underline;}
.hsg-rank-meta{display:block;color:var(--muted);font-size:11px;margin-top:2px;}
@media(max-width:600px){
  .anspress{padding:0 8px;}
  #ap-single,.ap-q{padding:16px!important;}
  .ap-questions-item{padding:13px 12px!important;}
  .ap-questions-hyperlink{font-size:15px!important;}
  .ap-list-counts{min-width:46px;}
}
/* Q&A category index page */
ul.ap-term-category-box{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important;gap:14px!important;list-style:none!important;padding:0!important;margin:14px 0 0!important;}
ul.ap-term-category-box>li{list-style:none!important;margin:0!important;float:none!important;width:auto!important;}
.ap-category-item{background:#fff!important;border:1px solid var(--line)!important;border-radius:12px!important;overflow:hidden!important;transition:box-shadow .15s,transform .15s;height:100%;}
.ap-category-item:hover{box-shadow:0 6px 18px rgba(20,20,40,.08)!important;transform:translateY(-2px);border-color:#efdca6!important;}
.ap-cat-img-c{position:relative!important;height:88px!important;background:linear-gradient(135deg,#efe6cf,#e2c374)!important;overflow:hidden;}
.ap-category-defimage{width:100%!important;height:88px!important;opacity:.35;}
.ap-cat-img-c .ap-term-count{position:absolute!important;top:8px;right:8px;background:rgba(20,20,30,.55)!important;color:#fff!important;font-size:11px!important;font-weight:700!important;padding:3px 9px!important;border-radius:999px!important;}
.ap-term-title{padding:12px 14px!important;}
.ap-term-title a.term-title{color:var(--title)!important;font-weight:700!important;font-size:15px!important;text-decoration:none!important;}
.ap-term-title a.term-title:hover{color:var(--gold)!important;}
/* cat-defimage-hide */
.ap-cat-img-c .ap-category-defimage{display:none!important;}
/* cat-count-pill（最終版 pill4 のみ。旧 pill/2/3 は削除済み） */
#anspress ul.ap-term-category-box li .ap-cat-img-c span.ap-term-count{height:24px!important;line-height:18px!important;padding:3px 10px!important;font-size:11px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:calc(100% - 16px)!important;box-sizing:border-box!important;display:inline-block!important;}
/* HSG Additional CSS — CLEANED end */