/* ==========================================================
 * Flacter — 統合スタイルシート
 * flacter.php内の<style>ブロックから分離（v0.9.0）
 * ========================================================== */

/* ◆ 共通：公開ページ・ログイン必須・エラー ◆ */
.flacter-public{max-width:480px;margin:0 auto;text-align:center;font-family:"Hiragino Sans","Yu Gothic",sans-serif;padding:60px 20px}


/* ◆ ダッシュボード - 応募管理 ◆ */
.flacter-dashboard{max-width:860px;margin:0 auto;font-family:"Hiragino Sans","Yu Gothic",sans-serif;padding:0 16px}
.flacter-app-list{list-style:none;padding:0}
.flacter-app-list li{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px;margin-bottom:12px}
.flacter-app-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.flacter-app-status{padding:4px 10px;border-radius:8px;font-size:0.95em}
.flacter-app-status.new{background:#fce8e6;color:#c5221f}
.flacter-app-status.confirmed{background:#e8f0fe;color:#1557b0}
.flacter-app-status.contacted{background:#fef3e0;color:#8a4700}
.flacter-app-status.hired{background:#e6f4ea;color:#155a2d}
.flacter-app-status.rejected{background:#f1f3f4;color:#666}
.flacter-app-tel-btn{display:inline-block;padding:10px 20px;background:#155a2d;color:#fff;border-radius:8px;text-decoration:none;font-weight:bold;margin:8px 0;min-height:44px;line-height:24px}
.flacter-app-tel-btn:hover{background:#0f3d20;color:#fff;text-decoration:none}
.flacter-app-tel-btn:focus-visible{outline:3px solid #1a73e8;outline-offset:2px;border-radius:8px}
.flacter-app-status-select{padding:10px;font-size:16px;border-radius:8px;border:1px solid #949494;font-family:inherit;min-height:44px}
.flacter-app-status-select:focus-visible{outline:3px solid #1a73e8;outline-offset:2px;border-radius:8px}
.flacter-btn-primary-link{display:inline-block;padding:12px 24px;background:#1557b0;color:#fff;border-radius:12px;text-decoration:none;font-weight:bold;min-height:44px;line-height:20px}
.flacter-btn-primary-link:hover{background:#0d3c7a;color:#fff;text-decoration:none}
.flacter-btn-primary-link:focus-visible{outline:3px solid #1a73e8;outline-offset:2px;border-radius:12px}
.flacter-btn-back-to-job{display:inline-block;padding:12px 28px;background:#e8f5e9;color:#155a2d;border-radius:12px;text-decoration:none;font-weight:bold;min-height:44px;line-height:20px}
.flacter-btn-back-to-job:hover{background:#c8e6c9;color:#155a2d;text-decoration:none}
.flacter-btn-back-to-job:focus-visible{outline:3px solid #1a73e8;outline-offset:2px;border-radius:12px}

/* ◆ ダッシュボード - 名刺PDF ◆ */
/* 注意: .flacter-dashboardはmax-width:640pxだが応募管理で860px。名刺側は上書きなし（後述のsettingsと同様） */
.flacter-namecard-preview{border:2px solid #333;border-radius:4px;padding:20px;max-width:350px;background:#fff;margin-bottom:24px}
.flacter-namecard-preview .company-name{font-size:0.85em;color:#666;margin-bottom:4px}
.flacter-namecard-preview .person-name{font-size:1.3em;font-weight:bold;margin-bottom:12px}
.flacter-namecard-preview .info-line{font-size:0.8em;color:#444;margin-bottom:2px}
.flacter-namecard-preview .qr-area{text-align:right;margin-top:12px}
.flacter-namecard-print{display:none}
@media print{
/* 求人ページ印刷 */
.fv1-cta,.fv1-share-wrap,.fv1-powered,.flacter-closed-notice,.fv1-interest-note{display:none!important}
.fv1-public{max-width:none;padding:0}
.fv1-hero{text-align:left;padding:0 0 8pt}
.fv1-hero h1{font-size:16pt}
.cl-list{break-inside:avoid}
.cl-item{font-size:10pt;padding:4pt 0;border-bottom:0.5pt solid #ddd}
/* 名刺印刷 */
.flacter-dashboard,.flacter-back-link,.flacter-btn{display:none!important}
.flacter-namecard-print{display:grid;grid-template-columns:repeat(2,91mm);grid-template-rows:repeat(5,55mm);gap:0;margin:0;padding:0;width:182mm}
.flacter-namecard-print .card{border:0.5px solid #ccc;padding:6mm 8mm;box-sizing:border-box;font-family:"Hiragino Sans","Yu Gothic",sans-serif;position:relative;overflow:hidden}
.flacter-namecard-print .card .cn{font-size:8pt;color:#666;margin-bottom:2mm}
.flacter-namecard-print .card .pn{font-size:12pt;font-weight:bold;margin-bottom:4mm}
.flacter-namecard-print .card .il{font-size:7pt;color:#444;margin-bottom:1mm}
.flacter-namecard-print .card .qr{position:absolute;bottom:6mm;right:8mm}
}

/* ◆ ダッシュボード - 設定 ◆ */
.flacter-section-title{font-size:1.2em;margin-top:32px;margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid #1a73e8}

/* ◆ 公開ページ - 応募フォーム（v0.8.0） ◆ */
.flacter-apply-header{margin-bottom:24px}
.flacter-apply-header h1{font-size:1.3em}
.flacter-apply-form .field-group{margin-bottom:16px}
.flacter-apply-form label{display:block;font-weight:bold;margin-bottom:4px}
.flacter-apply-form label .required{color:#c5221f;font-size:0.85em}
.flacter-apply-form input,.flacter-apply-form textarea{width:100%;padding:12px;border:2px solid #949494;border-radius:8px;font-size:16px;font-family:inherit;box-sizing:border-box}
.flacter-apply-form input:focus,.flacter-apply-form textarea:focus{border-color:#1a73e8;outline:none}
.flacter-apply-form input:focus-visible,.flacter-apply-form textarea:focus-visible{outline:3px solid #1a73e8;outline-offset:2px}
.flacter-apply-msg{padding:12px 16px;border-radius:8px;margin-bottom:16px;display:none}
.flacter-apply-msg.error{background:#fce8e6;color:#c5221f;display:block}
.flacter-apply-result{text-align:center;padding:40px 0;display:none}
.flacter-apply-result h2{color:#155a2d}
.flacter-apply-submit-btn{width:100%;padding:16px;font-size:1.1em;background:#1557b0;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:bold;min-height:52px;font-family:inherit}
.flacter-apply-submit-btn:hover{background:#0d3c7a}
.flacter-apply-submit-btn:focus-visible{outline:3px solid #1a73e8;outline-offset:2px;border-radius:8px}
.flacter-apply-submit-btn:disabled{opacity:0.4;cursor:not-allowed}
.flacter-apply-more-btn{background:none;border:none;color:#1557b0;font-size:0.95em;cursor:pointer;padding:8px 0;margin-bottom:8px;text-decoration:underline;font-family:inherit}
.flacter-apply-more-btn:focus-visible{outline:3px solid #1a73e8;outline-offset:2px;border-radius:4px}

/* ◆ v1.0 応募フォーム ◆ */
.fv1-apply-wrap{max-width:480px;margin:0 auto;padding:24px 16px}
.fv1-apply-back{display:inline-block;color:#595959;font-size:0.9em;text-decoration:none;margin-bottom:16px}
.fv1-apply-title{font-size:1.2em;font-weight:bold;margin-top:0;margin-bottom:4px}
.fv1-apply-sub{color:#666;font-size:0.9em;margin-bottom:24px}
.fv1-apply-field{margin-bottom:16px}
.fv1-apply-field label{display:block;font-weight:bold;margin-bottom:6px;font-size:0.95em}
.fv1-apply-field input,.fv1-apply-field textarea{width:100%;padding:12px;border:1px solid #949494;border-radius:8px;font-size:16px;font-family:inherit}
.fv1-apply-field input:focus,.fv1-apply-field textarea:focus{border-color:#1a73e8;outline:none}
.fv1-apply-field input:focus-visible,.fv1-apply-field textarea:focus-visible{outline:3px solid #1a73e8;outline-offset:2px;border-radius:8px}
.fv1-apply-submit{display:block;width:100%;padding:18px;background:#1557b0;color:#fff;border:none;border-radius:12px;font-size:1.1em;font-weight:bold;cursor:pointer;font-family:inherit;min-height:56px;margin-top:8px}
.fv1-apply-submit:hover,.fv1-apply-submit:focus{background:#1557b0;color:#fff}
.fv1-apply-submit:active{background:#1557b0}
.fv1-apply-msg{padding:12px 14px;border-radius:8px;font-size:0.9em;margin-bottom:12px;display:none}
.fv1-apply-msg.warn{background:#fff3e0;color:#8a4700;border:1px solid #ffcc80;display:block}
.fv1-apply-done{text-align:center;padding:48px 0;display:none}
.fv1-apply-done h2{color:#155a2d}
.fv1-btn-loading{opacity:.7;pointer-events:none;cursor:not-allowed}

/* ◆ v1.0 公開求人ページ ◆ */
.fv1-public{max-width:720px;margin:0 auto;font-family:"Hiragino Sans","Yu Gothic",sans-serif;padding:0 24px 180px;overflow-x:hidden}
.flacter-closed-notice{background:#fce4ec;border:1px solid #e57373;border-radius:12px;padding:14px 18px;margin-bottom:16px;color:#b71c1c;font-weight:bold;text-align:center;font-size:1em}
.fv1-hero{background:#f5f7fa;margin:0 -24px;padding:28px 24px 20px;border-bottom:1px solid #e8eaed}
.fv1-hero h1{font-size:1.9em;margin:0 0 8px;line-height:1.3;color:#111;font-weight:bold;word-break:break-word;overflow-wrap:anywhere}
.fv1-hero-sub{font-size:1em;color:#555;line-height:1.6}
.fv1-hero-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.fv1-hero-tag{display:inline-block;background:#e8f0fe;color:#1557b0;font-size:.8em;font-weight:bold;padding:4px 10px;border-radius:20px}
.fv1-pub-section{margin-bottom:28px;padding-top:20px}
.fv1-pub-heading{font-size:.85em;font-weight:bold;color:#1557b0;letter-spacing:.06em;margin-top:0;margin-bottom:12px;padding-left:10px;border-left:3px solid #1a73e8}
.fv1-desc{font-size:1em;line-height:1.9;color:#333;white-space:pre-wrap}
.fv1-cond-list{padding:0;margin:0;background:#fff;border:1px solid #e8eaed;border-radius:12px;overflow:hidden}
.fv1-cond-list>div{display:flex;flex-direction:column;gap:2px;padding:12px 16px;border-bottom:1px solid #f0f0f0;font-size:.95em}
.fv1-cond-list>div:last-child{border-bottom:none}
.fv1-cond-list .cl-lbl{color:#767676;font-size:.8em;font-weight:bold;letter-spacing:.03em;margin:0}
.fv1-cond-list .cl-val{color:#222;font-weight:bold;font-size:1em;line-height:1.5;margin:0}
.fv1-cta{position:fixed;bottom:0;left:0;right:0;background:#fff;padding:12px 16px 16px;border-top:1px solid #e0e0e0;z-index:100}
.fv1-interest-btn{display:block;width:100%;padding:20px;background:#1557b0;color:#fff;border:none;border-radius:12px;font-size:1.15em;font-weight:bold;cursor:pointer;font-family:inherit;min-height:60px}
.fv1-interest-btn:hover,.fv1-interest-btn:focus{background:#1557b0;color:#fff}
.fv1-interest-btn:active{background:#1557b0}
.fv1-apply-link{display:block;width:100%;padding:16px;background:#fff;color:#1557b0;border:2px solid #1557b0;border-radius:12px;font-size:1em;font-weight:bold;text-align:center;text-decoration:none;margin-top:10px;min-height:52px;line-height:1.5}
.fv1-apply-link:hover,.fv1-apply-link:focus{background:#e8f0fe;color:#1557b0;text-decoration:none}
.fv1-powered{text-align:center;font-size:0.75em;color:#767676;margin-top:8px}
.fdb-jobs .fdbj-copy-url{background:none;border:1px solid #1557b0;color:#1557b0;border-radius:8px;padding:6px 12px;font-size:.85em;cursor:pointer;font-family:inherit;min-height:36px;white-space:nowrap}
.fdb-jobs .fdbj-copy-url:hover{background:#e8f0fe}
.fv1-share-wrap{margin:20px 0 8px;text-align:center}
.fv1-share-label{font-size:0.8em;color:#767676;display:block;margin-bottom:10px}
.fv1-share-btns{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.fv1-share-line{display:inline-flex;align-items:center;padding:10px 20px;background:#067b3e;color:#fff;border-radius:24px;text-decoration:none;font-weight:bold;font-size:0.95em;min-height:44px}
.fv1-share-line:hover{background:#055e2e;color:#fff}
.fv1-share-x{display:inline-flex;align-items:center;padding:10px 20px;background:#000;color:#fff;border-radius:24px;text-decoration:none;font-weight:bold;font-size:0.95em;min-height:44px}
.fv1-share-x:hover{background:#333;color:#fff}
.flacter-contact-section{background:#e8f0fe;border-radius:12px;padding:20px;margin-top:20px}
.flacter-phone{display:block;font-size:28px;font-weight:bold;color:#1a73e8;text-decoration:none;letter-spacing:.05em;margin-bottom:4px}
.flacter-contact-email{display:block;font-size:18px;font-weight:bold;color:#1557b0;text-decoration:none;margin-bottom:4px;word-break:break-all}
.flacter-contact-label{font-size:12px;color:#555;margin:0}
.fv1-interest-note{font-size:12px;color:#767676;text-align:center;margin-top:8px;line-height:1.5}
.fv1-interest-btn.fv1-interest-sent{background:#f5f5f5;color:#999;border:1px solid #e0e0e0;pointer-events:none}
.fv1-interest-btn:focus-visible,.fv1-apply-submit:focus-visible,.fv1-apply-link:focus-visible,.flacter-top-btn:focus-visible,.flacter-btn:focus-visible,.flacter-phone:focus-visible,.flacter-contact-email:focus-visible,.fv1-apply-back:focus-visible,.flacter-back-link:focus-visible,.fv1-jl-back:focus-visible,.fv1-jl-footer a:focus-visible{outline:3px solid #1a73e8;outline-offset:2px}
.fv1-share-line:focus-visible,.fv1-share-x:focus-visible{outline:3px solid #1a73e8;outline-offset:2px;border-radius:24px}
.fdb-jobs .fdbj-copy-url:focus-visible{outline:3px solid #1a73e8;outline-offset:2px;border-radius:8px}


/* ◆ v1.0 求人一覧 ◆ */
.fv1-jl{max-width:600px;margin:0 auto;padding:24px 16px 60px}
.fv1-jl-header{margin-bottom:24px}
.fv1-jl-header h1{font-size:1.4em;margin:0 0 8px;color:#111}
.fv1-jl-header p{color:#595959;font-size:0.9em;margin:0}
.fv1-jl-card{display:block;background:#fff;border:1px solid #949494;border-radius:12px;padding:16px;margin-bottom:12px;text-decoration:none;color:inherit;transition:box-shadow 0.15s}
.fv1-jl-card:hover{box-shadow:0 2px 8px rgba(0,0,0,0.08)}
.fv1-jl-card:focus-visible{outline:3px solid #1a73e8;outline-offset:2px}
.fv1-jl-title{font-size:1.05em;font-weight:bold;color:#111;margin-top:0;margin-bottom:6px}
.fv1-jl-meta{font-size:0.85em;color:#666;line-height:1.5}
.fv1-jl-empty{text-align:center;padding:60px 20px;color:#767676}
.fv1-jl-back{display:inline-block;color:#595959;font-size:0.9em;text-decoration:none;margin-bottom:16px}
.fv1-jl-footer{text-align:center;margin-top:32px;padding-top:20px;border-top:1px solid #e0e0e0}
.fv1-jl-footer a{color:#1557b0;text-decoration:none;font-weight:bold}

/* ◆ トップページ ◆ */
.flacter-top{min-height:60vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px 24px;background:#fff}
.flacter-top-copy{font-size:clamp(22px,5vw,32px);font-weight:bold;line-height:1.6;color:#1a1a1a;margin-bottom:24px;text-align:left;max-width:360px;width:100%}
.flacter-top-tags{display:flex;flex-wrap:wrap;gap:8px;max-width:360px;width:100%;margin-bottom:32px}
.flacter-top-tag{display:inline-block;padding:6px 14px;background:#f1f3f4;color:#555;border-radius:20px;font-size:14px;cursor:default;-webkit-user-select:none;user-select:none}
.flacter-top-btn{display:block;width:100%;max-width:360px;padding:20px;background:#1557b0;color:#fff;border:none;border-radius:12px;font-size:18px;font-weight:bold;text-align:center;cursor:pointer;text-decoration:none;margin-bottom:12px}
.flacter-top-btn:hover,.flacter-top-btn:focus{background:#1557b0;color:#fff;text-decoration:none}
.flacter-top-btn:active{background:#1557b0}
.flacter-top-note{font-size:16px;color:#555;text-align:center;max-width:360px;width:100%;margin:0;line-height:1.8}
.flacter-top-joblink a:hover{color:#555}
.flacter-top-reassure{font-size:13px;color:#767676;text-align:center;max-width:360px;width:100%;margin:16px 0 40px}
.flacter-top-divider{width:100%;max-width:360px;border:none;border-top:1px solid #e0e0e0;margin-bottom:16px}
.flacter-top-joblink{font-size:13px;color:#767676;text-align:center;margin:0}
.flacter-top-joblink a{color:#767676;text-decoration:underline}
.flacter-top-joblink a:focus-visible{outline:3px solid #1a73e8;outline-offset:2px;border-radius:4px}

/* ◆ グローバル共通ボタン・バッジ ◆ */
.flacter-btn{display:inline-block;padding:12px 24px;border-radius:8px;text-decoration:none;font-weight:bold;text-align:center;cursor:pointer;border:none;font-size:1em;font-family:inherit;transition:background 0.2s}
.flacter-btn-primary{background:#1557b0;color:#fff}
.flacter-btn-primary:hover{background:#1557b0;color:#fff}
.flacter-btn-secondary{background:#f1f3f4;color:#333}
.flacter-btn-secondary:hover{background:#e0e0e0;color:#333}
.flacter-btn-link{background:none;border:none;color:#666;font-size:0.9em;cursor:pointer;text-decoration:underline;padding:12px 8px;min-height:44px}
.flacter-btn:disabled,.flacter-btn[disabled]{opacity:0.4;cursor:not-allowed}
.flacter-btn-link:focus-visible{outline:3px solid #1a73e8;outline-offset:2px;border-radius:4px}
.flacter-back-link{display:inline-block;margin-bottom:16px;color:#1557b0;text-decoration:none}
.flacter-test-badge{display:inline-block;background:#fef3e0;color:#8a4700;padding:4px 12px;border-radius:12px;font-size:0.85em;margin-bottom:16px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
