/* 「会員登録（無料）」ボタン（左下）と、無料会員・有料会員の選択画面。大TOP（index.html）とお試しの編集画面（edit-lab/）で使う。
   ログインしていない人・一般登録の受付中だけ表示（member-cta.js）。編集画面では「Aa」をこのボタンの上へ移す（edit-lab/style.css の has-member-cta） */
.member-cta{position:fixed;left:18px;bottom:18px;z-index:19;display:inline-flex;align-items:center;gap:6px;min-height:48px;padding:10px 18px;border:0;border-radius:999px;background:#1f7a55;color:#fff;font:inherit;font-size:15px;font-weight:700;line-height:1.3;box-shadow:0 6px 20px #10264030;cursor:pointer;white-space:nowrap}
.member-cta:hover{background:#196647}
.member-cta:focus-visible{outline:3px solid #6c9fe0;outline-offset:3px}
.member-cta[hidden]{display:none}
.member-cta.in-editor{bottom:calc(108px + env(safe-area-inset-bottom))}
body.modal-open .member-cta,.top-typing .member-cta,.full-preview-open .member-cta,.member-cta.is-typing{visibility:hidden}
@media(max-width:700px){
  .member-cta{left:12px;bottom:14px;min-height:44px;padding:8px 14px;font-size:14px}
  .member-cta.in-editor{bottom:calc(96px + env(safe-area-inset-bottom))}
  .top-photo-open .member-cta{visibility:hidden}
}
dialog.member-plan{border:0;border-radius:16px;padding:0;width:min(640px,calc(100% - 24px));max-height:calc(100dvh - 24px);color:#202a3a;box-shadow:0 18px 80px #10264044;font-family:inherit}
dialog.member-plan::backdrop{background:#0c1c32aa}
.member-plan-body{padding:24px;display:grid;gap:14px;line-height:1.75}
.member-plan h2{margin:0;font-size:22px;line-height:1.4}
.member-plan p{margin:0}
.member-plan .member-plan-beta{padding:12px 14px;border-radius:10px;background:#fff7e7;color:#6e4f12;font-size:14px}
.member-plan-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.member-plan-choice{display:grid;gap:10px;align-content:start;padding:16px;border:1px solid #dbe3ef;border-radius:12px;background:#fff}
.member-plan-choice.is-paid{border-color:#1f7a55;background:#f4fbf7}
.member-plan-choice h3{margin:0;font-size:18px}
.member-plan-choice ul{margin:0;padding-left:1.2em;font-size:14px}
.member-plan-choice small{color:#59657a;font-size:12.5px;line-height:1.7}
.member-plan-choice button{min-height:46px;border-radius:10px;border:1px solid #243b64;background:#fff;color:#243b64;font:inherit;font-weight:700;cursor:pointer}
.member-plan-choice.is-paid button{background:#1f7a55;border-color:#1f7a55;color:#fff}
.member-plan-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:14px}
.member-plan-foot a{color:#243b64;font-weight:700}
.member-plan-foot button{min-height:42px;padding:6px 16px;border-radius:10px;border:1px solid #cad7e6;background:#fff;color:#243b64;font:inherit;font-weight:700;cursor:pointer}
@media(max-width:560px){.member-plan-choices{grid-template-columns:1fr}.member-plan-body{padding:18px}.member-plan h2{font-size:20px}}
/* 2026-10-14：画面上部に置くとき（[data-member-slot]）。浮かせない。登録の案内は「無料で会員登録する」1つ */
.member-cta.in-head{position:static;min-height:40px;padding:6px 14px;font-size:14px;box-shadow:none;white-space:nowrap}
.member-cta.in-head.is-typing,.top-typing .member-cta.in-head{visibility:visible}
.member-plan-points{margin:0;padding-left:1.2em;font-size:15px}
.member-plan-go{min-height:52px;border:0;border-radius:12px;background:#1f7a55;color:#fff;font:inherit;font-size:17px;font-weight:700;cursor:pointer}.member-plan-go:hover{background:#196647}
@media(max-width:700px){.member-cta.in-head{min-height:36px;padding:4px 10px;font-size:12.5px}}
/* 大TOPのヘッダー：スマホでは「TOP」の文字を隠して（ロゴでTOPへ戻れる）ボタンの場所を作る */
.t-head-member:empty{display:none}
@media(max-width:560px){.hp-landing.has-member-cta .t-head-nav a[href="index.html"]{display:none}.hp-landing .t-head-nav{gap:12px}}
@media(max-width:430px){.hp-landing.has-member-cta .t-logo>span:not(.hp-mark){display:none}}
/* 大TOP：右下の「質問する」がフッターの文字に重ならないよう、下に余白 */
.hp-landing .t-foot{padding-bottom:88px}
/* ログイン中の「マイページ」（大TOPのヘッダー・編集画面の上部） */
.t-head .member-mypage{min-height:40px;padding:6px 14px;font-size:14px;font-weight:700;border-radius:999px;border:1px solid var(--brand,#243b64);color:var(--brand,#243b64);text-decoration:none;background:#fff}
.t-head-nav a.is-member[hidden]{display:none}
@media(max-width:700px){.t-head .member-mypage{min-height:36px;padding:4px 12px;font-size:12.5px}}
