/* =========================================================
   FAJ works — 共通スタイル
   ========================================================= */

/* --- カラートークン（ライト） --- */
:root {
    --bg:           #ffffff;
    --surface:      #fafaf8;
    --surface-alt:  #FCF4E9;
    --amber:        #D07000;
    --amber-lt:     #f4ba63;
    --amber-pale:   #fff8ed;
    --text-h:       #1e1208;
    --text-b:       #4a3520;
    --text-m:       #7a6048;
    --text-inv:     #ffffff;
    --price:        #a85c00;
    --border:       #e8d9c0;
    --shadow:       rgba(30,18,8,0.07);
    /* 求職者セクション（固定ダーク） */
    --js-bg:        #1c1106;
    --js-surface:   #261809;
    --js-amber:     #e8970c;
    --js-text-h:    #f2e2c8;
    --js-text-b:    #c0996a;
    --js-text-m:    rgba(192,153,106,0.6);
    --js-border:    rgba(232,151,12,0.14);
}
@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) {
        --bg:          #0f0a04;
        --surface:     #1a1006;
        --surface-alt: #1e1409;
        --amber:       #D07000;
        --amber-lt:    #f4ba63;
        --amber-pale:  #201408;
        --text-h:      #f5e9d5;
        --text-b:      #c0a070;
        --text-m:      #8a6a40;
        --text-inv:    #0f0a04;
        --price:       #f4ba63;
        --border:      #2a1e0e;
        --shadow:      rgba(0,0,0,0.4);
    }
}
:root[data-theme="dark"] {
    --bg:          #0f0a04;
    --surface:     #1a1006;
    --surface-alt: #1e1409;
    --amber:       #D07000;
    --amber-lt:    #f4ba63;
    --amber-pale:  #201408;
    --text-h:      #f5e9d5;
    --text-b:      #c0a070;
    --text-m:      #8a6a40;
    --text-inv:    #0f0a04;
    --price:       #f4ba63;
    --border:      #2a1e0e;
    --shadow:      rgba(0,0,0,0.4);
}

/* --- リセット --- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;font-size:16px;}
body{
    font-family:'Hiragino Kaku Gothic ProN','Hiragino Sans','Noto Sans JP','Yu Gothic','Meiryo',sans-serif;
    background:var(--bg);color:var(--text-b);line-height:1.75;
    -webkit-font-smoothing:antialiased;
    print-color-adjust:exact;-webkit-print-color-adjust:exact;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
:focus-visible{outline:2px solid var(--amber);outline-offset:3px;}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;}html{scroll-behavior:auto;}}

/* --- レイアウト --- */
.wrap{max-width:960px;margin:0 auto;padding:0 24px;}
.wrap-narrow{max-width:660px;margin:0 auto;padding:0 24px;}
.section{padding:72px 24px;background:var(--bg);}
.section-alt{background:var(--surface-alt);}

/* --- タイポグラフィ --- */
.section-tag{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--amber);margin-bottom:12px;}
.section-title{font-size:clamp(1.25rem,3vw,1.65rem);font-weight:700;color:var(--text-h);margin-bottom:10px;text-wrap:balance;letter-spacing:-.01em;}
.section-lead{font-size:.92rem;color:var(--text-m);margin-bottom:44px;line-height:1.9;}

/* --- ヘッダー --- */
.site-header{position:sticky;top:0;z-index:200;background:var(--bg);border-bottom:1px solid var(--border);}
.header-inner{max-width:960px;margin:0 auto;padding:0 24px;height:60px;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.logo{font-size:1.1rem;font-weight:700;color:var(--text-h);letter-spacing:-.02em;}
.logo span{color:var(--amber);}
.site-nav{display:flex;align-items:center;gap:22px;}
.site-nav a{font-size:.875rem;font-weight:500;color:var(--text-m);}
.site-nav a:hover{color:var(--amber);}
.site-nav .nav-cta{background:var(--amber);color:var(--text-inv);border-radius:5px;padding:8px 18px;font-weight:600;}
.site-nav .nav-cta:hover{opacity:.85;color:var(--text-inv);}
@media(max-width:640px){.site-nav .hide-sm{display:none;}}

/* --- ボタン --- */
.btn{display:inline-block;font-weight:600;font-size:.95rem;border-radius:5px;padding:13px 30px;transition:opacity .18s,background .18s;letter-spacing:.02em;}
.btn-fill{background:var(--amber);color:var(--text-inv);}
.btn-fill:hover{opacity:.85;}
.btn-ghost{background:transparent;color:var(--amber);border:1.5px solid var(--amber);}
.btn-ghost:hover{background:var(--amber-pale);}
.btn-sm{padding:9px 20px;font-size:.875rem;}

/* --- ジョブカード --- */
.job-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
@media(max-width:680px){.job-grid{grid-template-columns:1fr;}}
.job-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:24px;display:flex;flex-direction:column;gap:14px;transition:box-shadow .18s,border-color .18s;}
.job-card:hover{box-shadow:0 4px 20px var(--shadow);border-color:var(--amber-lt);}
.job-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.job-company{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--amber);}
.job-type-tag{font-size:.72rem;font-weight:600;border:1px solid var(--border);border-radius:3px;padding:3px 10px;color:var(--text-m);white-space:nowrap;}
.job-title{font-size:1.1rem;font-weight:700;color:var(--text-h);line-height:1.4;}
.job-meta{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.82rem;color:var(--text-m);}
.job-meta-item{display:flex;align-items:center;gap:5px;}
.job-meta-label{font-weight:600;color:var(--text-h);}
.job-desc{font-size:.875rem;color:var(--text-b);line-height:1.85;flex:1;}
.job-card-cta{display:inline-flex;align-items:center;gap:6px;font-size:.875rem;font-weight:600;color:var(--amber);}
.job-card-cta svg{width:14px;height:14px;transition:transform .18s;}
.job-card:hover .job-card-cta svg{transform:translateX(3px);}

/* --- 特徴カード --- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media(max-width:680px){.cards{grid-template-columns:1fr;}}
.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:26px 22px;}
.section-alt .card{background:var(--bg);}
.card-icon{width:36px;height:36px;background:var(--amber-pale);border-radius:7px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.card-icon svg{width:17px;height:17px;color:var(--amber);}
.card h3{font-size:.97rem;font-weight:600;color:var(--text-h);margin-bottom:9px;line-height:1.5;}
.card p{font-size:.865rem;color:var(--text-b);line-height:1.9;}

/* --- 料金テーブル --- */
.table-scroll{overflow-x:auto;}
.pricing-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;font-variant-numeric:tabular-nums;}
.pricing-table thead th{background:var(--amber);color:#fff;font-size:.82rem;font-weight:600;letter-spacing:.05em;padding:14px 22px;text-align:left;}
.pricing-table tbody td{padding:15px 22px;font-size:.92rem;color:var(--text-b);border-top:1px solid var(--border);}
.pricing-table tbody tr:nth-child(odd) td{background:var(--surface-alt);}
.td-price{font-size:1.1rem;font-weight:700;color:var(--price);white-space:nowrap;}
.td-note{font-size:.82rem;color:var(--text-m);}
.table-note{font-size:.82rem;color:var(--text-m);line-height:2;margin-top:16px;}

/* --- フロー --- */
.flow-steps{display:flex;flex-direction:column;gap:10px;}
.flow-step{display:flex;align-items:flex-start;gap:16px;background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:18px 20px;}
.section-alt .flow-step{background:var(--bg);}
.step-num{flex-shrink:0;width:28px;height:28px;background:var(--amber);color:#fff;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;}
.flow-step h3{font-size:.92rem;font-weight:600;color:var(--text-h);margin-bottom:3px;}
.flow-step p{font-size:.83rem;color:var(--text-b);line-height:1.8;}

/* --- 求職者セクション（固定ダーク） --- */
.js-section{background:var(--js-bg);padding:72px 24px;}
.js-section .section-tag{color:var(--js-amber);}
.js-section .section-title{color:var(--js-text-h);}
.js-section .section-lead{color:var(--js-text-b);}
.js-card{background:var(--js-surface);border:1px solid var(--js-border);border-radius:10px;padding:26px 22px;}
.js-card-icon{width:36px;height:36px;background:rgba(232,151,12,.1);border-radius:7px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.js-card-icon svg{width:17px;height:17px;color:var(--js-amber);}
.js-card h3{font-size:.97rem;font-weight:600;color:var(--js-text-h);margin-bottom:9px;line-height:1.5;}
.js-card p{font-size:.865rem;color:var(--js-text-b);line-height:1.9;}
.js-flow-step{display:flex;align-items:flex-start;gap:16px;background:var(--js-surface);border:1px solid var(--js-border);border-radius:9px;padding:18px 20px;}
.js-step-num{flex-shrink:0;width:28px;height:28px;background:var(--js-amber);color:#1c1106;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;}
.js-flow-step h3{font-size:.92rem;font-weight:600;color:var(--js-text-h);margin-bottom:3px;}
.js-flow-step p{font-size:.83rem;color:var(--js-text-b);line-height:1.8;}

/* --- 会社情報テーブル --- */
.company-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface);}
.company-table th{width:30%;background:var(--surface-alt);color:var(--text-h);font-size:.85rem;font-weight:600;padding:14px 20px;text-align:left;vertical-align:top;border-top:1px solid var(--border);}
.company-table td{padding:14px 20px;font-size:.875rem;color:var(--text-b);line-height:1.8;border-top:1px solid var(--border);}
.company-table tr:first-child th,.company-table tr:first-child td{border-top:none;}
.company-table a{color:var(--amber);}
.company-table a:hover{text-decoration:underline;}

/* --- 求人詳細ページ専用 --- */
.job-header{background:var(--surface-alt);padding:52px 24px 44px;border-bottom:1px solid var(--border);}
.job-breadcrumb{font-size:.8rem;color:var(--text-m);margin-bottom:20px;}
.job-breadcrumb a{color:var(--amber);}
.job-header-company{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--amber);margin-bottom:10px;}
.job-header-title{font-size:clamp(1.4rem,4vw,2rem);font-weight:700;color:var(--text-h);margin-bottom:18px;text-wrap:balance;line-height:1.35;}
.job-header-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px;}
.job-tag{font-size:.78rem;font-weight:600;border:1px solid var(--border);border-radius:4px;padding:4px 12px;color:var(--text-m);}
.job-tag-accent{border-color:var(--amber);color:var(--amber);}
.job-key-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-top:24px;}
.job-fact{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:14px 16px;}
.job-fact-label{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-m);margin-bottom:5px;}
.job-fact-value{font-size:1rem;font-weight:700;color:var(--text-h);}
.job-fact-value.salary{color:var(--price);}
.job-body{display:grid;grid-template-columns:1fr 280px;gap:32px;align-items:start;}
@media(max-width:720px){.job-body{grid-template-columns:1fr;}}
.job-section{margin-bottom:32px;}
.job-section h3{font-size:1rem;font-weight:700;color:var(--text-h);border-left:3px solid var(--amber);padding-left:12px;margin-bottom:14px;}
.job-section p{font-size:.9rem;color:var(--text-b);line-height:1.9;}
.job-section ul{list-style:none;display:flex;flex-direction:column;gap:6px;}
.job-section ul li{font-size:.9rem;color:var(--text-b);padding-left:14px;position:relative;line-height:1.7;}
.job-section ul li::before{content:"";position:absolute;left:0;top:.7em;width:5px;height:5px;background:var(--amber);border-radius:50%;}
.job-sidebar{position:sticky;top:80px;}
.job-apply-box{background:var(--surface-alt);border:1px solid var(--border);border-radius:10px;padding:24px;}
.job-apply-box h4{font-size:.92rem;font-weight:700;color:var(--text-h);margin-bottom:16px;}
.job-apply-box .btn{width:100%;text-align:center;display:block;}
.job-apply-box .apply-note{font-size:.78rem;color:var(--text-m);margin-top:12px;line-height:1.8;text-align:center;}
.job-back{margin-top:48px;padding-top:24px;border-top:1px solid var(--border);}
.job-back a{font-size:.875rem;color:var(--amber);font-weight:600;}

/* --- CTA・フッター --- */
.cta-section{background:var(--surface-alt);border-top:1px solid var(--border);padding:72px 24px;text-align:center;}
.cta-section .section-title{margin-bottom:12px;}
.cta-section p{font-size:.95rem;color:var(--text-b);line-height:2;margin-bottom:32px;}
.cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.cta-mail{margin-top:20px;font-size:.875rem;color:var(--text-m);}
.cta-mail a{color:var(--price);font-weight:600;}
.site-footer{background:#92400e;padding:40px 24px;}
.footer-inner{max-width:960px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;}
.footer-logo{font-size:1rem;font-weight:700;color:rgba(255,255,255,.9);}
.footer-logo span{color:var(--amber-lt);}
.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 26px;}
.footer-links a{font-size:.82rem;color:rgba(255,255,255,.5);}
.footer-links a:hover{color:var(--amber-lt);}
.footer-license{font-size:.75rem;color:rgba(255,255,255,.35);letter-spacing:.04em;}
.footer-copy{font-size:.72rem;color:rgba(255,255,255,.22);}
