/* ==========================================
   マイページ
========================================== */

.my-page {
    max-width: 900px;
    margin: 0 auto;
    padding: 10 20px 30px;
}

.my-page-title {
    margin: 0 0 35px;
    color: #45B035;
    font-size: 32px;
    font-weight: 700;
}

.my-page-form {
    width: 100%;
}

.my-page-card {
    margin-bottom: 30px;
    padding: 30px;
    border: 1px solid #45B035;
    border-radius: 10px;
    background: #fff;
}

.my-page-card h2 {
    margin: 0 0 25px;
    padding-bottom: 12px;
    border-bottom: 1px solid #45B035;
    color: #45B035 !important;
    font-size: 24px !important;
}

.my-page-field {
    margin-bottom: 20px;
}

.my-page-field:last-child {
    margin-bottom: 0;
}

.my-page-field label {
    display: block;
    margin-bottom: 7px;
    font-weight: 600;
    color: #333;
}

.my-page-field label span {
    margin-left: 4px;
    color: #e00000;
}

.my-page-field input {
    width: 100%;
    box-sizing: border-box;
    padding: 11px 12px;
    border: 1px solid #ccc;
    border-radius: 5px;
    background: #fff;
    font-size: 16px;
}

.my-page-field input:focus {
    border-color: #45B035;
    outline: none;
    box-shadow: 0 0 0 2px rgba(69, 176, 53, 0.15);
}

.my-page-note {
    margin: -10px 0 20px;
    color: #666;
    font-size: 14px;
}

.my-page-required {
    margin-top: 0;
    color: #333;
    font-size: 14px;
}

.my-page-required span {
    color: #e00000;
}

.my-page-submit {
    margin-top: 10px;
    text-align: center;
}

.my-page-submit button {
    min-width: 220px;
    padding: 13px 30px;
    border: none;
    border-radius: 6px;
    background: #45B035;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
}

.my-page-submit button:hover {
    opacity: 0.85;
}

.my-page-success {
    margin: 0 0 25px;
    padding: 12px 15px;
    border: 1px solid #45B035;
    border-radius: 6px;
    background: #f5fbf3;
    color: #45B035;
}

.my-page-error {
    margin: 0 0 25px;
    padding: 12px 15px;
    border: 1px solid #d33;
    border-radius: 6px;
    background: #fff5f5;
    color: #c00;
}

.my-page-error ul {
    margin: 0;
    padding-left: 20px;
}

/* ログアウト */
.my-page-logout {
    margin-top: -40px;
    margin-bottom: 0;
    text-align: right;
}

.my-page-logout a {
    color: #45B035;
    text-decoration: underline;
    font-size: 14px;
}

.my-page-logout a:hover {
    color: #3a962d;
}

/* ==========================================
ログインページ（WP-Members）
========================================== */

#wpmem_login {
max-width: 700px;
margin: 0 auto;
transform: translateY(50px);
}

#wpmem_login_form {
margin: 0 20px;
padding: 0;
background: transparent;
border: none;
}

/* ログイン枠 */
#wpmem_login_form fieldset {
display: block;
width: 100%;
margin: 0 !important;
padding: 40px 45px !important;
background: #fff !important;
border: 1px solid #45B035 !important;
border-radius: 10px;
box-sizing: border-box;
}

/* 上部案内 */
#wpmem_login_form fieldset:before {
content: "ここから先のコンテンツは会員IDとパスワードが必要です。";
display: block;
width: 100%;
margin: 0 0 30px;
padding: 15px 18px;
background: #f3f9f1;
border: 1px solid #45B035;
border-radius: 6px;
color: #333;
font-weight: bold;
line-height: 1.6;
box-sizing: border-box;
}

/* 「既存ユーザのログイン」は非表示 */
#wpmem_login_form legend {
display: none;
}

/* ラベル */
#wpmem_login_form label {
display: block;
margin-bottom: 7px;
color: #333;
font-weight: 600;
}

/* 「ユーザー名またはメールアドレス」を「会員ID」に変更 */
#wpmem_login_form label[for="log"] {
font-size: 0;
}

#wpmem_login_form label[for="log"]:before {
content: "会員ID";
font-size: 16px;
}

/* 入力欄 */
#wpmem_login_form .div_text {
margin-bottom: 20px;
padding-left: 20px;
box-sizing: border-box;
}

#wpmem_login_form input.username,
#wpmem_login_form input.password {
width: 100%;
box-sizing: border-box;
padding: 11px 12px;
border: 1px solid #ccc;
border-radius: 5px;
background: #fff;
font-size: 16px;
}

#wpmem_login_form input.username:focus,
#wpmem_login_form input.password:focus {
border-color: #45B035;
outline: none;
box-shadow: 0 0 0 2px rgba(69, 176, 53, 0.15);
}

/* チェックボックス＋ログインボタン */
#wpmem_login_form .button_div {
display: flex;
align-items: center;
gap: 8px;
margin-top: 10px;
}

/* チェックボックス */
#wpmem_login_form input[type="checkbox"] {
margin: 0;
}

/* チェックボックスのラベル */
#wpmem_login_form .button_div label {
display: inline;
margin: 0;
font-weight: normal;
}

/* ログインボタン */
#wpmem_login_form input[type="submit"] {
margin-left: auto;
padding: 12px 40px;
border: none;
border-radius: 6px;
background: #45B035;
color: #fff;
font-size: 16px;
font-weight: bold;
cursor: pointer;
}

#wpmem_login_form input[type="submit"]:hover {
opacity: 0.8;
}

/* 新規登録リンク */
#wpmem_login_form .link-text {
margin-top: 25px;
padding-top: 20px;
border-top: 1px solid #ddd;
text-align: center;
color: #666;
}

#wpmem_login_form .link-text a {
color: #45B035;
text-decoration: none;
font-weight: bold;
}

#wpmem_login_form .link-text a:hover {
text-decoration: underline;
}

/* スマホ対応 */
@media screen and (max-width:768px) {
    #wpmem_login {
    margin: 0 auto;
    transform: translateY(0);
    }

    #wpmem_login_form {
        margin: 0 15px;
    }

    #wpmem_login_form fieldset {
        padding: 30px 20px !important;
    }

    #wpmem_login_form .div_text {
        padding-left: 10px;
    }

    #wpmem_login_form .button_div {
    flex-wrap: wrap;
    }

    #wpmem_login_form input[type="submit"] {
        margin-left: auto;
    }

}

/* ==========================================
   ログインエラー
   「パスワードをお忘れですか？」リンク
========================================== */

.wpmem_msg a {
    color: #0000ee !important;
    text-decoration: underline !important;
}

 /* ==========================================
    ログインエラー
    エラーメッセージ枠を中央寄せ
 ========================================== */

.wpmem_msg {
    max-width: 700px;
    margin: 15px auto !important;
    box-sizing: border-box;
}

 /* ==========================================
    パスワード再設定
    ショートコード内の重複タイトルを非表示
 ========================================== */

.password-reset-form h2 {
    display: none;
}

 /* ==========================================
    パスワード再設定
    入力フォーム・送信ボタン
 ========================================== */

.password-reset-form {
    max-width: 700px;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
}

/* 入力欄 */
.password-reset-form input[type="text"] {
    width: 100%;
    box-sizing: border-box;
    padding: 11px 12px;
    border: 1px solid #ccc;
    border-radius: 5px;
    background: #fff;
    font-size: 16px;
}

/* 入力欄フォーカス */
.password-reset-form input[type="text"]:focus {
    border-color: #45B035;
    outline: none;
    box-shadow: 0 0 0 2px rgba(69, 176, 53, 0.15);
}

/* 再設定メール送信ボタン */
.password-reset-form input[type="submit"] {
    padding: 12px 40px;
    border: none;
    border-radius: 6px;
    background: #45B035;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
}

.password-reset-form input[type="submit"]:hover {
    opacity: 0.8;
}

 /* ==========================================
    パスワード再設定
    メール送信ボタンを中央寄せ
 ========================================== */

.password-reset-form form p:last-child {
    display: flex;
    justify-content: center;
}

.password-reset-form input[type="submit"] {
    padding: 12px 40px;
    border: none;
    border-radius: 6px;
    background: #45B035;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
}

.password-reset-form input[type="submit"]:hover {
    opacity: 0.8;
}

/* ==========================================
   パスワード再設定
   メール送信後にて「ログイン画面に戻る」ボタン
========================================== */

.password-reset-login {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}

.password-reset-login a {
    display: inline-block;
    padding: 12px 40px;
    border: none;
    border-radius: 6px;
    background: #45B035;
    color: #fff !important;
    font-size: 16px;
    font-weight: bold;
    text-decoration: none;
    cursor: pointer;
}

.password-reset-login a:hover {
    opacity: 0.8;
}

/* ==========================================
   パスワード再設定
   メールURLからの誘導：新しいパスワード入力欄
========================================== */

.password-reset-form form p:has(#new_password),
.password-reset-form form p:has(#new_password_confirm) {
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

.password-reset-form form p:has(#new_password) label,
.password-reset-form form p:has(#new_password_confirm) label {
    display: block;
    margin-bottom: 7px;
    color: #333;
    font-weight: 600;
}

.password-reset-form input[type="password"] {
    width: 100%;
    box-sizing: border-box;
    padding: 11px 12px;
    border: 1px solid #ccc;
    border-radius: 5px;
    background: #fff;
    font-size: 16px;
}

.password-reset-form input[type="password"]:focus {
    border-color: #45B035;
    outline: none;
    box-shadow: 0 0 0 2px rgba(69, 176, 53, 0.15);
}











/* ==========================================
ログイン後の表示
========================================== */

.login_status {
max-width: 700px;
margin: 0 auto !important;
padding: 30px 40px;
background: #fff;
border: 1px solid #45B035;
border-radius: 10px;
box-sizing: border-box;
text-align: center;
color: #333;
font-size: 20px;
font-weight: 600;
line-height: 1.8;
}

.login_status a {
display: inline;
margin-top: 0;
padding: 0;
background: none;
color: #45B035;
text-decoration: underline;
font-size: 16px;
font-weight: normal;
}

.login_status a:hover {
background: none;
color: #3a962d;
}

/* ==========================================
   新規会員登録フォーム
========================================== */
#wpmem_reg {
    width:100%;
}

#wpmem_register_form {
    max-width:700px;
    margin:0 auto !important;
}

#wpmem_register_form::before {
    content:"申請内容を確認のうえ、事務局で承認手続きを行います。\A承認が完了しましたら、ログインに必要な情報をメールでお送りしますが、数日経過しても連絡が無い場合は事務局までご連絡をお願いいたします。";
    display:block;
    width:100%;
    margin:0 0 20px;
    padding:18px 20px;
    background:#f3faef;
    border:1px solid #ddd;
    border-radius:8px;
    box-sizing:border-box;
    color:#555;
    font-size:14px;
    line-height:1.8;
    text-align:left;
    white-space:pre-line;
}

#wpmem_register_form fieldset {
    display:flex !important;
    flex-direction:column !important;
    position:relative !important;
    margin:0 !important;
    padding:40px 45px !important;
    background:#fff !important;
    border:1px solid #45B035 !important;
    border-radius:10px;
    box-sizing:border-box;
}

#wpmem_register_form legend {
    display:none;
}

#wpmem_register_form label {
    display:block;
    margin-bottom:7px;
    color:#333;
    font-weight:600;
}

#wpmem_register_form .div_text {
    margin-bottom:20px;
}

#wpmem_register_form input.textbox {
    width:100%;
    box-sizing:border-box;
    padding:11px 12px;
    border:1px solid #ccc;
    border-radius:5px;
    background:#fff;
    font-size:16px;
}

#wpmem_register_form input.textbox:focus {
    border-color:#45B035;
    outline:none;
    box-shadow:0 0 0 2px rgba(69,176,53,.15);
}

#wpmem_register_form .req-text {
    order:1 !important;
    margin-top:10px !important;
    margin-bottom:10px !important;
    color:#666;
    font-size:14px;
}

#wpmem_register_form .button_div {
    order:2 !important;
    position:static !important;
    width:100% !important;
    margin-top:15px !important;
    text-align:center !important;
}

#wpmem_register_form .button_div input.buttons {
    display:block !important;
    float:none !important;
    margin:0 auto !important;
    padding:12px 40px;
    border:none;
    border-radius:6px;
    background:#45B035;
    color:#fff;
    font-size:16px;
    font-weight:bold;
    cursor:pointer;
}

#wpmem_register_form .button_div input.buttons:hover {
    opacity:.8;
}

/* ==========================================
   新規会員登録
   サイトポリシー未同意時の申請ボタン
========================================== */
#wpmem_reg input[type="submit"]:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}


/* ==========================================
   新規会員登録
   サイトポリシーリンク
   外部リンクアイコン
========================================== */
#wpmem_register_form .site-policy-agreement a {
    color:#45B035;
}

#wpmem_register_form .site-policy-agreement a::after {
    display:inline-block;
    content:"\f35d";
    font-family:"Font Awesome 5 Free";
    font-weight:700;
    margin-left:5px;
    padding:0;
}


