/* =========================
   WP-Members 共通
========================= */

/* デフォルトのリンク非表示 */
#wpmem_login .link-text-forgot,
#wpmem_login .link-text-username,
#wpmem_login .link-text-reconfirm,
#wpmem_login .link-text-register {
  display: none;
}

/* タイトル */
.wpmem-form-title {
  font-size: 36px;
  font-weight: bold;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .wpmem-form-title {
    font-size: 30px;
  }
}

/* フォーム共通 */
.wpmem-form-wrap {
  display: flex;
  flex-direction: column;
  max-width: 317px;
  margin: 66px auto 0;
}

/* 登録フォームだけ余白調整 */
.wpmem-register-form {
  margin-top: 62px;
}

/* ラベル */
.wpmem-form-wrap label {
  display: block;
  margin-bottom: 7px;
}

/* 入力欄 */
.wpmem-form-wrap input[type="text"],
.wpmem-form-wrap input[type="email"],
.wpmem-form-wrap input[type="password"] {
  width: 100%;
  line-height: 28px;
  padding: 12px;
  border: 1px solid #333;
  border-radius: 10px;
  background-color: #f7f7f7;
  font-size: 15px;
}

/* ボタン共通 */
.wpmem-form-wrap input.buttons {
  width: 100%;
  padding: 18.5px;
  text-align: center;
  background: #f36b21;
  color: #fff;
  border: 1px solid transparent;
  border-radius: 30px;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  transition: 0.7s;
}

.wpmem-form-wrap input.buttons:hover {
  background: #fff;
  border-color: #F06622;
  color: #F06622;
}

/* フォーム下部リンク */
.wpmem-register {
  text-align: center;
  margin-top: 30px;
}

.wpmem-forgot {
    text-align: center;
    margin-top: 66px;
}

/* メッセージ */
.wpmem_msg {
  display: flex;
  justify-content: center;
  background: #E7EAF6;
  padding: 20px 15px;
  margin-bottom: 40px;
  color: #153499;
  line-height: 1.5;
}

/* =========================
   ログインフォーム
========================= */

.wpmem-form-wrap #wpmem_login {
  padding: 0;
}

.wpmem-form-wrap #wpmem_login .div_text {
  margin-bottom: 40px;
}

.wpmem-form-wrap #wpmem_login input.buttons {
  margin: 40px 0 20px;
  order: 1;
}

/* ログイン状態保持 */
.wpmem-form-wrap .button_div {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.wpmem-form-wrap .button_div label {
  display: inline-flex;
  align-items: center;
  margin-bottom: 0;
  order: 3;
}

.wpmem-form-wrap input[type="checkbox"] {
  appearance: none;
  width: 20px;
  height: 20px;
  border: 1.5px solid #000;
  border-radius: 4px;
  position: relative;
  cursor: pointer;
  margin: 0 13px;
  order: 2;
}

.wpmem-form-wrap input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 6px;
  width: 6px;
  height: 10px;
  border: solid #f36b21;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

/* =========================
   新規登録フォーム
========================= */

#wpmem_register_form fieldset {
  display: flex;
  flex-direction: column;
}

#wpmem_register_form .button_div {
  order: 5;
}

#wpmem_register_form .div_text {
  position: relative;
  margin-bottom: 43px;
}

#wpmem_register_form label[for="user_email"] + .div_text {
  margin-bottom: 0;
}

#wpmem_register_form .button_div input.buttons {
  margin-top: 40px;
}

/* 補足テキスト */
label[for="username"] + .div_text::after {
  content: "※半角英数字10文字以上";
  display: block;
  margin-top: 7px;
}

label[for="first_name"] + .div_text::after {
  content: "例：葛飾　太郎";
  display: block;
  margin-top: 7px;
}

label[for="phone_number"] + .div_text::after {
  content: "例：000-000-0000";
  display: block;
  margin-top: 7px;
}

label[for="user_email"] + .div_text::after {
  content: "例：name@example.com";
  display: block;
  margin-top: 7px;
}

/* 必須ラベル */
.req {
  font-size: 0;
}

.req::before {
  content: "必須";
  display: inline-block;
  padding: 6px 8px;
  margin-left: 1px;
  font-size: 10px;
  color: #fff;
  background-color: #E70000;
}

.wpmem-form-wrap label.text {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  align-items: center;
  gap: 6px;
}

.req-text,
.req-text .req {
  visibility: hidden;
}

/* =========================
   パスワードリセット
========================= */

.wpmem-form-desc {
  text-align: center;
  margin-top: 60px;
}

/* =========================
   SiteGuard CAPTCHA 共通
========================= */

#wpmem_login label[for="siteguard_captcha"] + br,
#wpmem_register_form label[for="siteguard_captcha"] + br {
    display: none;
}

#wpmem_login p:has(img[alt="CAPTCHA"]),
#wpmem_register_form p:has(img[alt="CAPTCHA"]) {
    margin-bottom: 5px;
}

/* 新規会員登録に自動で出力される画像認証を非表示
画像認証としては昨日していないため、css側で非表示 */
#wpmem_register_form p:has(img[alt="CAPTCHA"]),
#wpmem_register_form p:has(#siteguard_captcha) {
  display: none;
}

/* パスワード入力時のアイコン表示・非表示 */
.custom-password-field-wrap {
    position: relative;
    display: inline-block;
    width: 100%;
}

.custom-password-field-wrap input[type="password"],
.custom-password-field-wrap input[type="text"] {
    padding-right: 44px;
    box-sizing: border-box;
}

.custom-password-toggle {
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    border: none;
    background: transparent;
    cursor: pointer;
    padding: 0;
    color: #666;
    font-size: 16px;
    line-height: 1;
}

/* Edge標準の表示非表示アイコンを非表示 */
input[type="password"]::-ms-reveal {
    display: none;
}