/* Recolta 会員UI / サイトのデザイントークンに合わせる(紫は使わない) */
.gm-head{display:flex;align-items:center;gap:12px;justify-content:space-between;font-size:15px;min-width:0}
.gm-hi{color:#26303f;font-size:16px;font-weight:800;max-width:min(52vw,360px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gm-cta{background:linear-gradient(135deg,#e0920f,#ef7620);color:#fff;border:0;border-radius:999px;
  padding:9px 18px;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;white-space:nowrap}
.gm-link{background:none;border:1px solid #c7d6e5;border-radius:999px;padding:5px 12px;font-size:12px;
  color:#26303f;cursor:pointer;font-family:inherit;text-decoration:none;display:inline-block}
a.gm-cta{text-decoration:none;display:inline-block}

.gm-btns{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.gm-btn{border:1px solid #c7d6e5;background:#fff;color:#7b8794;border-radius:999px;padding:4px 12px;
  font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .12s}
.gm-btn[aria-pressed="true"].gm-own{background:#e0920f;border-color:#e0920f;color:#fff}
.gm-btn[aria-pressed="true"].gm-want{background:#ef7620;border-color:#ef7620;color:#fff}
.gm-btn[aria-pressed="true"].gm-fav{background:#e5468f;border-color:#e5468f;color:#fff}

.gm-overlay{position:fixed;inset:0;background:rgba(30,50,80,.45);display:flex;align-items:center;
  justify-content:center;z-index:9999;padding:16px}
.gm-modal{position:relative;background:#fff;box-sizing:border-box;border-radius:14px;padding:26px 24px 24px;width:100%;max-width:360px;
  box-shadow:0 12px 40px rgba(30,50,80,.28);font-family:system-ui,-apple-system,"Segoe UI","Noto Sans JP",sans-serif}
.gm-x{position:absolute;top:10px;right:12px;background:none;border:0;font-size:24px;line-height:1;color:#7b8794;cursor:pointer}
.gm-tabs{display:flex;gap:0;margin-bottom:18px;border-bottom:1px solid #d7e3f0}
.gm-tab{flex:1;background:none;border:0;padding:10px 0;font-size:14px;font-weight:700;color:#7b8794;cursor:pointer;
  border-bottom:2px solid transparent;font-family:inherit}
.gm-tab[aria-pressed="true"]{color:#e0920f;border-bottom-color:#e0920f}
.gm-f{display:block;font-size:12px;color:#7b8794;margin-bottom:12px;font-weight:700}
.gm-opt{color:#adb7c2;font-weight:400}
.gm-help{display:block;margin-top:5px;font-size:11.5px;font-weight:400;color:#8794a2;line-height:1.5}
.gm-help b{color:#5a6673;font-weight:700}
.gm-f input,.gm-f select{display:block;box-sizing:border-box;width:100%;margin-top:5px;padding:10px 12px;
  border:1px solid #c7d6e5;border-radius:8px;font-size:15px;color:#26303f;font-family:inherit;background:#fff}
.gm-f input:focus,.gm-f select:focus{outline:2px solid #e0920f;outline-offset:-1px}
/* ブラウザの自動入力で欄が薄紫になるのを止める(サイトは紫を使わない) */
.gm-f input:-webkit-autofill,.gm-f input:-webkit-autofill:hover,.gm-f input:-webkit-autofill:focus{
  -webkit-box-shadow:0 0 0 1000px #fff inset;box-shadow:0 0 0 1000px #fff inset;
  -webkit-text-fill-color:#26303f;caret-color:#26303f}
.gm-check{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;color:#26303f;margin:4px 0 16px;line-height:1.5}
.gm-check input{margin-top:2px;flex:0 0 auto}
.gm-check a{color:#ef7620}
.gm-err{color:#d0342c;font-size:12.5px;margin:0 0 12px;background:#fdeceb;border:1px solid #f3c4c0;border-radius:8px;padding:8px 10px}
.gm-submit{width:100%;background:linear-gradient(135deg,#e0920f,#ef7620);color:#fff;border:0;border-radius:10px;
  padding:12px;font-size:15px;font-weight:800;cursor:pointer;font-family:inherit}
.gm-submit:disabled{opacity:.6;cursor:default}

/* 退会 */
.gm-quiet{color:#7b8794;border-color:#d7e3f0}
.gm-title{font-size:17px;font-weight:800;color:#26303f;margin:0 0 8px}
.gm-note{font-size:12.5px;color:#7b8794;line-height:1.6;margin:0 0 16px;background:#fdf6ec;border:1px solid #f2ddb8;border-radius:8px;padding:9px 11px}
.gm-note b{color:#ef7620}
.gm-noad{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:800;color:#fff;
  background:linear-gradient(135deg,#e0920f,#ef7620);border-radius:999px;padding:6px 15px;margin:0 0 12px;
  box-shadow:0 2px 8px rgba(224,146,15,.3)}
.gm-wd-actions{display:flex;gap:10px;align-items:center;margin-top:4px}
.gm-wd-actions .gm-link{flex:0 0 auto}
.gm-wd-actions .gm-submit{flex:1}
.gm-danger{background:linear-gradient(135deg,#d0342c,#e5468f)}

/* ===== 独立ページ(登録/ログイン/会員メニュー/会員情報/お気に入り/退会) ===== */
/* ★はみ出し対策は個別指定ではなく一括で。width:100%+paddingの欄/ボタンが枠を越えないよう、
   会員UIの箱は全部 border-box(padding/borderを内側に含める)にする */
.gm-body *{box-sizing:border-box}
.gm-body *::before,.gm-body *::after{box-sizing:border-box}
.gm-body{background:#f4f8fc;color:#26303f;margin:0;padding:24px 14px 60px;
  font-family:system-ui,-apple-system,"Segoe UI","Noto Sans JP",sans-serif}
.gm-card{background:#fff;box-sizing:border-box;max-width:440px;margin:0 auto;border-radius:14px;padding:26px 22px;
  box-shadow:0 8px 30px rgba(30,50,80,.12)}
.gm-h1{font-size:20px;font-weight:800;margin:0 0 18px;
  background:linear-gradient(135deg,#e0920f,#ef7620);-webkit-background-clip:text;background-clip:text;color:transparent}
.gm-form a{color:#ef7620}
.gm-sub{font-size:13px;color:#7b8794;margin:16px 0 0;text-align:center}
.gm-sub a{color:#ef7620}
.gm-hello{font-size:14px;color:#26303f;margin:0 0 16px}

/* パスワード欄の目マーク(表示/隠す) */
.gm-pw{position:relative;display:block;margin-top:5px}
.gm-pw input{margin-top:0;padding-right:60px}
.gm-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:#eef4fa;border:1px solid #c7d6e5;
  border-radius:6px;color:#26303f;font-size:12px;font-weight:700;padding:6px 9px;cursor:pointer;font-family:inherit;line-height:1}

/* 会員メニュー */
.gm-menu{display:flex;flex-direction:column;gap:10px}
.gm-menu a,.gm-menu-item{display:block;width:100%;text-align:left;background:#f7fafd;border:1px solid #d7e3f0;
  border-radius:10px;padding:14px 16px;font-size:14px;font-weight:700;color:#26303f;cursor:pointer;
  font-family:inherit;text-decoration:none}
.gm-menu a:hover,.gm-menu-item:hover{border-color:#e0920f}

/* 会員情報 詳細 */
.gm-acct{margin:0 0 8px}
.gm-acct-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #eef2f6;font-size:13px}
.gm-acct-row dt{color:#7b8794;margin:0}
.gm-acct-row dd{margin:0;color:#26303f;font-weight:700;text-align:right;word-break:break-all}
.gm-sec{margin-top:22px}
.gm-sec-t{font-size:13px;font-weight:800;color:#26303f;margin:0 0 10px}
.gm-ok{color:#0a7b53;font-size:12.5px;margin:0 0 12px;background:#e9f7f0;border:1px solid #b7e3cf;border-radius:8px;padding:8px 10px}
.gm-danger-zone{margin-top:26px;padding-top:18px;border-top:1px solid #f2ddb8}

/* お気に入り一覧 */
.gm-fav-group{margin-top:18px}
.gm-fav-group h3{font-size:14px;margin:0 0 8px;color:#26303f}
.gm-fav-list{margin:0;padding-left:18px;font-size:13px;color:#26303f;line-height:1.7;word-break:break-all}
.gm-empty{color:#7b8794;font-size:13px;margin:0}

/* 掲載リクエスト */
.gm-f textarea{display:block;box-sizing:border-box;width:100%;margin-top:5px;padding:10px 12px;border:1px solid #c7d6e5;
  border-radius:8px;font-size:15px;color:#26303f;font-family:inherit;background:#fff;min-height:84px;resize:vertical}
.gm-f textarea:focus{outline:2px solid #e0920f;outline-offset:-1px}
.gm-req-group{margin-top:22px}
.gm-req-group h3{font-size:14px;margin:0 0 8px;color:#26303f}
.gm-req-list{margin:0;padding-left:18px;font-size:13px;color:#26303f;line-height:1.7;word-break:break-all}
.gm-req-status{font-size:11px;font-weight:700;border-radius:999px;padding:2px 8px;margin-left:6px;background:#eef4fa;color:#5a6673}
.gm-req-added{background:#e9f7f0;color:#0a7b53}
.gm-req-rejected{background:#fdeceb;color:#d0342c}

/* ☰ ハンバーガー + 左からのドロワー(ABEMA TV 風の暗色サイドナビ) */
.gm-head-r{display:flex;align-items:center;gap:10px}
.gm-burger{display:inline-flex;flex-direction:column;justify-content:center;gap:4px;
  width:42px;height:36px;padding:8px 9px;background:#fff;border:1px solid #c7d6e5;border-radius:9px;
  cursor:pointer;flex:0 0 auto}
.gm-burger span{display:block;height:2px;background:#26303f;border-radius:2px}
.gm-burger:hover{border-color:#e0920f}

.gm-drawer-ov{position:fixed;inset:0;background:rgba(10,16,24,.55);z-index:9998;opacity:0;transition:opacity .2s}
.gm-drawer-ov.gm-open{opacity:1}
/* ★はみ出し対策: ドロワーは body 直下に作られ .gm-body の外なので、ここで自前に border-box を効かせる
   (width:100%+padding の項目が枠の左右を越えないように) */
.gm-drawer,.gm-drawer *,.gm-drawer *::before,.gm-drawer *::after{box-sizing:border-box}
.gm-drawer{position:fixed;top:0;left:0;bottom:0;width:min(78vw,240px);max-width:240px;background:#fff;color:#26303f;
  z-index:9999;border-right:1px solid #d7e3f0;box-shadow:2px 0 20px rgba(40,70,110,.10);transform:translateX(-100%);transition:transform .22s ease;
  display:flex;flex-direction:column;padding:8px 0 16px;overflow-y:auto;overflow-x:hidden;
  font-family:system-ui,-apple-system,"Segoe UI","Noto Sans JP",sans-serif}
.gm-drawer.gm-open{transform:translateX(0)}
/* ドロワー内の ☰(× をやめ、この ☰ で開閉する)。閉じるとヘッダーの ☰ が現れて開ける */
.gm-drawer-burger{align-self:flex-start;display:flex;flex-direction:column;justify-content:center;gap:4px;
  width:40px;height:34px;padding:8px 9px;margin:2px 0 4px 10px;background:none;border:0;cursor:pointer;flex:0 0 auto}
.gm-drawer-burger span{display:block;height:2px;width:100%;background:#7b8794;border-radius:2px}
.gm-drawer-burger:hover span{background:#e0920f}
/* アカウント欄(上部) */
.gm-drawer-acct{display:flex;align-items:center;gap:11px;padding:6px 16px 14px;margin-bottom:6px;
  border-bottom:1px solid #e6eef6}
.gm-drawer-av{flex:0 0 auto;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;
  justify-content:center;font-size:17px;font-weight:800;color:#fff;
  background:linear-gradient(135deg,#e0920f,#ef7620)}
.gm-drawer-acct-guest .gm-drawer-av{background:#eef4fb;color:#7b8794}
.gm-drawer-who{min-width:0;display:flex;flex-direction:column;line-height:1.3}
.gm-drawer-nm{font-size:16px;font-weight:800;color:#26303f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gm-drawer-sub{font-size:12px;color:#7b8794}
/* ナビ項目(アイコン+ラベルの縦並び) */
.gm-drawer-list{display:flex;flex-direction:column;padding:6px 0}
.gm-drawer-i{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:none;border:0;
  border-left:3px solid transparent;padding:12px 16px;font-size:14px;font-weight:700;color:#3a4656;
  cursor:pointer;text-decoration:none;font-family:inherit}
.gm-drawer-i:hover{background:#eef4fb;color:#26303f;border-left-color:#e0920f}
.gm-drawer-i>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gm-ic{flex:0 0 auto;width:20px;height:20px}
.gm-drawer-cta{color:#ef7620}
.gm-drawer-out{color:#8794a2}
.gm-drawer-home{margin-top:auto;border-left:0;border-top:1px solid #e6eef6;color:#8794a2;font-weight:600}
.gm-drawer-home:hover{border-left:0}

/* ===== PC(広画面): ☰メニューを左に常駐させる(ABEMA TV 風の固定サイドナビ) ===== */
/* 既定で左に開いた状態で常駐。ただし ☰ で開閉できる形は残す(閉じると本体が全幅に広がる)。
   ドロワーが作られたページ(カタログ)だけ body を右へ寄せる。会員フォーム単独ページには効かせない */
@media (min-width:1100px){
  /* 開いている時だけ本体を右へ寄せる。閉じれば padding が外れて全幅になる */
  body.gm-drawer-open{padding-left:240px}
  /* 開いている時はスライドではなく定位置に置く(常駐サイドナビ) */
  .gm-drawer.gm-open{transform:none;box-shadow:2px 0 18px rgba(40,70,110,.12)}
  /* PCでは暗幕(オーバーレイ)を出さない。サイドナビを出したまま本体を操作できる */
  .gm-has-drawer .gm-drawer-ov{display:none!important}
  /* PCでは左バナーを常時表示にする(Chami指示 2026-09-23)。
     バナー外のヘッダー☰と、バナーを畳む内側☰は消して、畳めない常駐にする。
     スマホ(<1100px)は従来どおり☰で開閉できる。 */
  .gm-burger{display:none!important}
  .gm-drawer-burger{display:none!important}
}
