@charset "UTF-8";
/* ==================================================
   KJP Account UI (Login / Signup / Account Hub)
   ================================================== */

/* -----------------------------------------
   1. アカウントハブ (/account/)
----------------------------------------- */
.company-hub { padding: 60px 0 100px; background: #f8fafc; min-height: 80vh; }
.company-hub-inner { max-width: 1000px; margin: 0 auto; padding: 0 20px; }
.company-hub-head { text-align: center; margin-bottom: 50px; }
.company-hub-title { font-size: 28px; font-weight: 700; color: #1e293b; margin-bottom: 10px; }
.company-hub-lead { color: #64748b; font-size: 15px; }

.company-hub-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; }
.company-hub-card { display: flex; align-items: center; gap: 20px; background: #fff; padding: 24px; border-radius: 20px; text-decoration: none; transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); border: 1px solid rgba(0,0,0,0.04); box-shadow: 0 4px 6px rgba(0,0,0,0.02); }
.company-hub-card:hover { transform: translateY(-4px); box-shadow: 0 15px 30px rgba(0,0,0,0.08); border-color: rgba(37, 99, 235, 0.2); }

.company-hub-ic { display: flex; align-items: center; justify-content: center; width: 60px; height: 60px; font-size: 32px; background: #f1f5f9; border-radius: 16px; flex-shrink: 0; line-height: 1; background-image: none !important; }
.is-company-list .company-hub-ic { background: #e0f2fe; color: #0284c7; }
.is-dashboard .company-hub-ic    { background: #f3e8ff; color: #9333ea; }
.is-logout .company-hub-ic       { background: #fee2e2; color: #dc2626; }
.is-contact .company-hub-ic      { background: #f1f5f9; color: #475569; }
.is-login .company-hub-ic        { background: #dcfce7; color: #16a34a; }
.is-signup .company-hub-ic       { background: #ffedd5; color: #ea580c; }

.company-hub-meta { display: flex; flex-direction: column; }
.company-hub-label { font-size: 18px; font-weight: 700; color: #1e293b; margin-bottom: 4px; }
.company-hub-desc { font-size: 13px; color: #94a3b8; font-weight: 500; }

@media (max-width: 600px) {
  .company-hub-grid { grid-template-columns: 1fr; }
  .company-hub-card { padding: 20px; }
}

/* アカウントページ専用：ヘッダーメニューを完全非表示 */
body.page-template-page-account .l-header__gnav,
body.page-template-page-account .c-gnav,
body.page-template-page-account .l-header__right,
body.page-template-page-account .l-header__menuBtn,
body.page-template-page-account .l-fixHeader__gnav {
  display: none !important;
}

/* -----------------------------------------
   2. ログイン (/login/ & wp-login.php)
----------------------------------------- */
body.page-slug-login, body.page-id-59241 { background: #f7f9fc; }
body.page-slug-login .c-pageTitle, body.page-slug-login .p-entry__title, body.page-slug-login .p-breadcrumb,
body.page-id-59241 .c-pageTitle, body.page-id-59241 .p-entry__title, body.page-id-59241 .p-breadcrumb { display:none !important; }

body.page-slug-login .auth-wrap, body.page-id-59241 .auth-wrap { max-width: 560px; margin: 56px auto 72px; padding: 0 16px; }
body.page-slug-login .auth-wrap .auth-brand, body.page-id-59241 .auth-wrap .auth-brand { display:none !important; }

body.page-slug-login .auth-card, body.page-id-59241 .auth-card { background:#fff; border:1px solid rgba(0,0,0,.08); border-radius:16px; padding:22px 18px; box-shadow:0 6px 18px rgba(0,0,0,.06); }
body.page-slug-login .auth-card form, body.page-id-59241 .auth-card form { display:grid; gap:12px; }

body.page-slug-login .auth-card input[type="text"], body.page-slug-login .auth-card input[type="email"], body.page-slug-login .auth-card input[type="password"],
body.page-id-59241 .auth-card input[type="text"], body.page-id-59241 .auth-card input[type="email"], body.page-id-59241 .auth-card input[type="password"] {
  width:100%; max-width:100%; padding:12px 12px; border-radius:12px; border:1px solid rgba(0,0,0,.14); background:#fff;
}
body.page-slug-login .auth-card input[type="text"]:focus, body.page-slug-login .auth-card input[type="email"]:focus, body.page-slug-login .auth-card input[type="password"]:focus,
body.page-id-59241 .auth-card input[type="text"]:focus, body.page-id-59241 .auth-card input[type="email"]:focus, body.page-id-59241 .auth-card input[type="password"]:focus {
  outline:none; border-color:rgba(0,0,0,.28); box-shadow:0 0 0 3px rgba(0,0,0,.06);
}

body.page-slug-login .auth-card input[type="submit"], body.page-slug-login .auth-card button[type="submit"],
body.page-id-59241 .auth-card input[type="submit"], body.page-id-59241 .auth-card button[type="submit"] {
  width:100%; padding:12px 14px; border-radius:999px; border:0; cursor:pointer; font-weight:700; box-shadow:none;
}
body.page-slug-login .auth-card a, body.page-id-59241 .auth-card a { text-decoration:none; }
body.page-slug-login .auth-card a:hover, body.page-id-59241 .auth-card a:hover { text-decoration:underline; }

/* -----------------------------------------
   3. 新規登録 (/company-signup/)
----------------------------------------- */
.kjp-signup-wrap { max-width: 640px; margin: 0 auto; padding: 28px 16px 64px; }
.kjp-signup-card { background: #fff; border: 1px solid rgba(0,0,0,.08); border-radius: 16px; padding: 22px 18px; box-shadow: 0 6px 18px rgba(0,0,0,.06); }
.kjp-signup-title { font-size: 22px; line-height: 1.4; margin: 0 0 6px; }
.kjp-signup-lead { margin: 0 0 16px; opacity: .78; font-size: 14px; }
.kjp-signup-meta { margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(0,0,0,.08); display: grid; gap: 8px; font-size: 14px; }
.kjp-signup-meta a { text-decoration: none; }
.kjp-signup-meta a:hover { text-decoration: underline; }

.kjp-signup-wrap form { display: grid; gap: 12px; }
.kjp-signup-wrap input[type="text"], .kjp-signup-wrap input[type="email"], .kjp-signup-wrap input[type="password"], .kjp-signup-wrap input[type="tel"], .kjp-signup-wrap select, .kjp-signup-wrap textarea {
  width: 100%; padding: 12px 12px; border-radius: 12px; border: 1px solid rgba(0,0,0,.14); background: #fff;
}
.kjp-signup-wrap input:focus, .kjp-signup-wrap select:focus, .kjp-signup-wrap textarea:focus {
  outline: none; border-color: rgba(0,0,0,.28); box-shadow: 0 0 0 3px rgba(0,0,0,.06);
}
.kjp-signup-wrap input[type="submit"], .kjp-signup-wrap button[type="submit"] {
  width: 100%; padding: 12px 14px; border-radius: 999px; border: 0; cursor: pointer; font-weight: 700;
}