/* 先方確認用・簡易パスワード認証。サイト本体のスタイルから独立。 */
.password-gate{display:none}
html.password-gate-locked{overflow:hidden}
html.password-gate-locked .password-gate{
  position:fixed;inset:0;z-index:10000;display:grid;place-items:center;
  min-height:100dvh;padding:24px;
  background:
    radial-gradient(520px 340px at 18% 18%,rgba(246,240,98,.48),transparent 72%),
    radial-gradient(620px 400px at 84% 88%,rgba(192,142,190,.38),transparent 70%),
    linear-gradient(160deg,#f8f1fa 0%,#fffdf6 52%,#f7edf7 100%);
  transition:opacity .26s ease,visibility .26s ease;
}
.password-gate::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.55;
  background-image:linear-gradient(to right,rgba(140,72,152,.07) 1px,transparent 1px),linear-gradient(to bottom,rgba(140,72,152,.07) 1px,transparent 1px);
  background-size:34px 34px;
}
.password-gate.is-unlocked{opacity:0;visibility:hidden}
.password-gate__card{
  position:relative;width:min(100%,390px);padding:42px 30px 32px;text-align:center;
  border:1px solid rgba(140,72,152,.18);border-radius:28px;background:rgba(255,253,246,.95);
  box-shadow:0 24px 60px rgba(80,40,110,.18);
}
.password-gate__logo{width:min(220px,72%);margin:0 auto 26px}
.password-gate__title{margin:0;color:var(--purple-d);font:900 23px/1.35 var(--f-round)}
.password-gate__lead{margin:12px 0 26px;color:var(--ink-2);font:500 14px/1.8 var(--f-goth)}
.password-gate__form{text-align:left}
.password-gate__label{display:block;margin:0 0 7px;color:var(--purple-d);font:700 13px/1.4 var(--f-round)}
.password-gate__input{
  width:100%;height:50px;padding:0 14px;border:1.5px solid var(--purple-l);border-radius:12px;
  background:#fff;color:var(--ink);font:500 17px var(--f-goth);outline:none;
}
.password-gate__input:focus{border-color:var(--purple);box-shadow:0 0 0 4px rgba(140,72,152,.14)}
.password-gate__error{margin:9px 0 0;color:#bd3b46;font:700 13px/1.4 var(--f-round)}
.password-gate__button{
  display:block;width:100%;height:52px;margin-top:18px;border-radius:999px;background:var(--purple);color:#fff;
  font:700 16px var(--f-round);box-shadow:0 8px 16px rgba(107,49,117,.2);transition:transform .18s ease,background .18s ease;
}
.password-gate__button:hover{background:var(--purple-d);transform:translateY(-1px)}
.password-gate__button:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
@media (max-width:420px){.password-gate__card{padding:36px 22px 28px;border-radius:24px}}
@media (prefers-reduced-motion:reduce){.password-gate,.password-gate__button{transition:none}}
