/* =================================================================
   大工さん募集（/recruit/daiku/）— Page-scoped Styles
   2026-10-26 下書き。recruit.css（body.page-recruit）の上に重ねる。
   ★ 全部 body.page-daiku にスコープ。色・字は tokens.css を使う
================================================================= */

/* ----- 共通 ----- */
body.page-daiku section{padding:104px var(--gutter)}
body.page-daiku .sub-head{display:flex; justify-content:space-between; align-items:flex-end; gap:32px; margin-bottom:48px}
body.page-daiku .sub-head h2{font-family:var(--serif-jp); font-weight:500; font-size:clamp(26px,3vw,36px); line-height:1.5; color:var(--ink)}
body.page-daiku .dk-sub-note{max-width:420px; font-size:14px; line-height:1.9; color:var(--ink-3)}
body.page-daiku .eyebrow{font-family:var(--serif-en); letter-spacing:.08em}

/* ----- 写真の枠（無ければ札を出す） ----- */
body.page-daiku .dk-photo{margin:0; width:100%; overflow:hidden; background:var(--bg-sub); border-radius:18px}
body.page-daiku .dk-photo img{width:100%; height:100%; object-fit:cover; display:block}
body.page-daiku .dk-photo.is-empty{display:flex; align-items:center; justify-content:center; border:1px dashed var(--line); text-align:center}
body.page-daiku .dk-photo.is-empty span{font-size:13px; line-height:1.8; color:var(--mute)}
body.page-daiku .dk-photo.is-empty small{font-family:var(--mono); font-size:11px}

/* ----- ① HERO ----- */
body.page-daiku .page-hero.dk-hero{padding:calc(var(--header-h) + 96px) var(--gutter) 64px; background:var(--bg-warm)}
body.page-daiku .dk-hero h1{font-family:var(--serif-jp); font-weight:500; font-size:clamp(26px,3.2vw,42px); line-height:1.45; color:var(--ink)}
@media (min-width: 901px){ body.page-daiku .dk-hero .dk-nowrap{white-space:nowrap} }
body.page-daiku .dk-hero .dk-h1-answer{display:block; margin-top:14px; font-size:.78em}
body.page-daiku .dk-hero .accent{color:var(--teal-deep)}
body.page-daiku .dk-hero h1 .en{display:block; margin-top:18px; font-family:var(--serif-en); font-size:16px; font-style:italic; letter-spacing:.04em; color:var(--mute)}
body.page-daiku .dk-hero .strap{margin-top:22px; font-size:13px; letter-spacing:.06em; color:var(--ink-3)}
body.page-daiku .dk-hero .lede{font-size:15px; line-height:2; color:var(--ink-2); margin-bottom:10px}
body.page-daiku .dk-hero-points{display:flex; flex-wrap:wrap; gap:10px; margin-top:24px}
body.page-daiku .dk-hero-points span{padding:8px 16px; border:1px solid var(--teal-deep); border-radius:999px; font-size:13px; line-height:1.6; font-weight:500; color:var(--teal-deep); background:var(--bg)}
body.page-daiku .dk-hero-photo{max-width:var(--max); margin:56px auto 0}

/* ----- ② こんな悩み ----- */
body.page-daiku .dk-worries{background:var(--bg)}
body.page-daiku .dk-worry-list{list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(2,1fr); gap:14px 28px}
body.page-daiku .dk-worry-list li{position:relative; padding:22px 26px 22px 54px; background:var(--bg-warm); border:1px solid var(--line-soft); border-radius:18px; font-size:15px; line-height:1.85; color:var(--ink-2)}
body.page-daiku .dk-worry-list li::before{content:"✓"; position:absolute; left:24px; top:21px; color:var(--teal-deep); font-weight:700}
body.page-daiku .dk-worry-list strong{color:var(--ink); font-weight:600}
body.page-daiku .dk-worry-foot{margin-top:40px; font-family:var(--serif-jp); font-size:20px; line-height:1.9; color:var(--ink)}

/* ----- ③ メリット ----- */
body.page-daiku .dk-merits{background:var(--bg-warm)}
body.page-daiku .dk-merit-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px}
body.page-daiku .dk-merit{padding:34px 28px 32px; background:var(--bg); border:1px solid var(--line-soft); border-top:3px solid var(--teal); border-radius:18px; box-shadow:0 1px 2px rgba(0,0,0,.03), 0 8px 24px rgba(0,0,0,.04)}
body.page-daiku .dk-merit .num{font-family:var(--serif-en); font-size:28px; color:var(--teal-deep)}
body.page-daiku .dk-merit h3{margin:12px 0 12px; font-family:var(--serif-jp); font-weight:600; font-size:18px; line-height:1.6; color:var(--ink)}
body.page-daiku .dk-merit p{font-size:14px; line-height:1.95; color:var(--ink-3)}

/* ----- ④ 代表の言葉 ----- */
body.page-daiku .dk-voice{background:var(--bg)}
body.page-daiku .dk-voice-wrap{display:grid; grid-template-columns:5fr 7fr; gap:64px; align-items:center}
body.page-daiku .dk-voice-body h2{margin:14px 0 28px; font-family:var(--serif-jp); font-weight:500; font-size:clamp(24px,2.6vw,32px); line-height:1.6}
body.page-daiku .dk-voice blockquote{margin:0 0 18px; padding:20px 24px; border-left:3px solid var(--teal); border-radius:18px; background:var(--bg-warm)}
body.page-daiku .dk-voice blockquote p{font-family:var(--serif-jp); font-size:16px; line-height:2; color:var(--ink)}
body.page-daiku .dk-voice-note{margin-top:22px; font-size:14px; line-height:2; color:var(--ink-3)}
body.page-daiku .dk-voice-name{margin-top:16px; font-size:13px; letter-spacing:.06em; color:var(--mute)}

/* ----- ④-2 大工の悩み ----- */
body.page-daiku .dk-nayami{background:var(--bg-warm)}
body.page-daiku .dk-nayami-list{display:grid; grid-template-columns:repeat(2,1fr); gap:20px 28px}
body.page-daiku .dk-nayami-list article{padding:28px 28px 26px; background:var(--bg); border-left:3px solid var(--teal); border-radius:18px}
body.page-daiku .dk-nayami-list h3{margin:0 0 12px; font-family:var(--serif-jp); font-weight:600; font-size:17px; line-height:1.6; color:var(--ink)}
body.page-daiku .dk-nayami-list p{font-size:14px; line-height:1.95; color:var(--ink-3)}

/* ----- ⑤ 仕事 ----- */
body.page-daiku .dk-works{background:var(--bg-warm)}
body.page-daiku .dk-work-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:32px}
body.page-daiku .dk-work h3{margin:20px 0 10px; font-family:var(--serif-jp); font-weight:600; font-size:20px}
body.page-daiku .dk-work p{font-size:14px; line-height:1.95; color:var(--ink-3)}

/* ----- ⑥ 正直に ----- */
body.page-daiku .dk-honest{background:var(--bg-dark); color:#fff}
body.page-daiku .dk-honest .inner{max-width:760px; margin:0 auto}
body.page-daiku .dk-honest .eyebrow{color:var(--teal)}
body.page-daiku .dk-honest h2{margin:14px 0 26px; font-family:var(--serif-jp); font-weight:500; font-size:clamp(24px,2.6vw,32px); line-height:1.6; color:#fff}
body.page-daiku .dk-honest p{font-size:15px; line-height:2.05; color:rgba(255,255,255,.86); margin-bottom:12px}

/* ----- ⑦ 条件 ----- */
body.page-daiku .dk-terms{background:var(--bg)}
body.page-daiku .dk-terms-table{max-width:960px; margin:0; display:grid; grid-template-columns:220px 1fr; border-top:1px solid var(--line)}
body.page-daiku .dk-terms-table dt,body.page-daiku .dk-terms-table dd{margin:0; padding:20px 0; border-bottom:1px solid var(--line-soft)}
body.page-daiku .dk-terms-table dt{font-family:var(--serif-en); font-size:13px; letter-spacing:.1em; text-transform:uppercase; color:var(--mute)}
body.page-daiku .dk-terms-table dt .ja{display:block; margin-top:4px; font-family:var(--sans-jp); font-size:14px; letter-spacing:.04em; text-transform:none; font-weight:600; color:var(--ink)}
body.page-daiku .dk-terms-table dd{font-size:15px; line-height:1.95; color:var(--ink-2)}

/* ----- ⑧ こんな方 ----- */
body.page-daiku .dk-fit{background:var(--bg-warm)}
body.page-daiku .dk-fit-list{list-style:none; padding:0; margin:0; max-width:820px}
body.page-daiku .dk-fit-list li{padding:16px 0 16px 34px; border-bottom:1px solid var(--line-soft); position:relative; font-size:15px; line-height:1.85; color:var(--ink-2)}
body.page-daiku .dk-fit-list li::before{content:""; position:absolute; left:6px; top:27px; width:12px; height:2px; background:var(--teal-deep)}

/* ----- ⑨ 無料相談 ----- */
body.page-daiku .dk-consult-limit{margin:18px 0 8px; font-size:14px; color:var(--ink-2)}
body.page-daiku .dk-consult-limit strong{color:var(--teal-deep)}
body.page-daiku .dk-flow-lead{margin:32px 0 0; font-size:14px; color:var(--ink-2)}
body.page-daiku .dk-flow{list-style:none; padding:0; margin:14px 0 40px; display:grid; grid-template-columns:repeat(4,1fr); gap:12px}
body.page-daiku .dk-flow li{padding:18px 12px; background:var(--bg); border:1px solid var(--line-soft); border-radius:18px; text-align:center; font-size:14px; color:var(--ink-2)}
body.page-daiku .dk-flow li span{display:block; margin-bottom:6px; font-family:var(--serif-en); font-size:22px; color:var(--teal-deep)}

/* ----- ⑩ FAQ ----- */
body.page-daiku .dk-faq{background:var(--bg)}
body.page-daiku .dk-faq-list{max-width:860px; margin:0}
body.page-daiku .dk-faq-list dt{margin-top:26px; font-weight:600; font-size:16px; color:var(--ink)}
body.page-daiku .dk-faq-list dt::before{content:"Q. "; font-family:var(--serif-en); color:var(--teal-deep)}
body.page-daiku .dk-faq-list dd{margin:8px 0 0; padding-bottom:20px; border-bottom:1px solid var(--line-soft); font-size:14px; line-height:1.95; color:var(--ink-3)}
body.page-daiku .dk-back{margin-top:44px; font-size:14px}
body.page-daiku .dk-back a{color:var(--teal-deep); text-decoration:underline; text-underline-offset:4px}

/* ----- スマホ ----- */
@media (max-width: 900px){
  body.page-daiku section{padding:72px var(--gutter-mobile)}
  body.page-daiku .page-hero.dk-hero{padding:calc(var(--header-h) + 56px) var(--gutter-mobile) 48px}
  body.page-daiku .sub-head{display:block}
  body.page-daiku .dk-sub-note{margin-top:14px}
  body.page-daiku .dk-worry-list{grid-template-columns:1fr}
  body.page-daiku .dk-merit-grid{grid-template-columns:1fr}
  body.page-daiku .dk-voice-wrap{grid-template-columns:1fr; gap:32px}
  body.page-daiku .dk-work-grid{grid-template-columns:1fr}
  body.page-daiku .dk-nayami-list{grid-template-columns:1fr}
  body.page-daiku .dk-flow{grid-template-columns:1fr 1fr}
  body.page-daiku .dk-terms-table{grid-template-columns:1fr}
  body.page-daiku .dk-terms-table dt{padding-bottom:4px; border-bottom:none}
  body.page-daiku .dk-terms-table dd{padding-top:4px}
}
@media (max-width: 560px){
  body.page-daiku .dk-merit-grid{grid-template-columns:1fr}
}

/* ----- LINE（目立たせる） ----- */
body.page-daiku .dk-cta-row{display:flex; flex-wrap:wrap; gap:12px; margin-top:22px}
body.page-daiku .dk-btn-line{display:inline-flex; align-items:center; justify-content:center; padding:14px 26px; border-radius:999px; background:#06C755; color:#fff; font-weight:700; font-size:15px; letter-spacing:.04em; text-decoration:none}
body.page-daiku .dk-btn-line:hover{opacity:.88}
body.page-daiku .dk-btn-line.is-big{margin-top:22px; padding:18px 32px; font-size:16px}
body.page-daiku .dk-btn-tel{display:inline-flex; align-items:center; padding:14px 22px; border-radius:999px; border:1px solid var(--line); color:var(--ink); font-size:14px; text-decoration:none; background:var(--bg)}
body.page-daiku .dk-line-box{display:grid; grid-template-columns:1fr 240px; gap:40px; align-items:center; max-width:880px; margin:0 auto 40px; padding:36px 40px; background:var(--bg); border:2px solid #06C755; border-radius:18px; text-align:left}
body.page-daiku .dk-line-badge{display:inline-block; padding:4px 12px; border-radius:999px; background:#06C755; color:#fff; font-size:12px; font-weight:700}
body.page-daiku .dk-line-box h3{margin:14px 0 12px; font-family:var(--serif-jp); font-weight:600; font-size:24px; line-height:1.6; color:var(--ink)}
body.page-daiku .dk-line-box p{font-size:14px; line-height:1.95; color:var(--ink-3)}
body.page-daiku .dk-line-qr p{margin-top:10px; font-size:12px; line-height:1.7; color:var(--mute); text-align:center}
body.page-daiku .dk-sticky{display:none}
body.page-daiku .rc-casual-channels.dk-channels-sub{grid-template-columns:repeat(2,1fr); max-width:880px; margin-left:auto; margin-right:auto}
@media (max-width: 900px){
  body.page-daiku .dk-line-box{grid-template-columns:1fr; padding:28px 22px}
  body.page-daiku .dk-line-qr{display:none}
  body.page-daiku .dk-sticky{display:flex; position:fixed; left:0; right:0; bottom:0; z-index:90; gap:8px; padding:10px 12px calc(10px + env(safe-area-inset-bottom)); background:rgba(255,255,255,.96); border-top:1px solid var(--line-soft)}
  body.page-daiku .dk-sticky a{flex:1; display:flex; align-items:center; justify-content:center; padding:13px 0; border-radius:999px; font-weight:700; font-size:15px; text-decoration:none}
  body.page-daiku .dk-sticky-line{background:#06C755; color:#fff}
  body.page-daiku .dk-sticky-tel{border:1px solid var(--line); color:var(--ink); background:#fff}
  body.page-daiku{padding-bottom:72px}
  body.page-daiku .page_top_btn{bottom:84px !important}
  body.page-daiku .rc-casual-channels.dk-channels-sub{grid-template-columns:1fr}
}

/* ----- 行の終わりに1文字だけ落ちんように（2026-10-27） ----- */
body.page-daiku .dk-hero .lede{max-width:520px}
body.page-daiku .dk-merit h3,body.page-daiku .dk-nayami-list h3,body.page-daiku .dk-worry-list li,body.page-daiku .dk-hero .lede,body.page-daiku .dk-merit p,body.page-daiku .dk-nayami-list p,body.page-daiku .dk-voice blockquote p{text-wrap:pretty}
body.page-daiku .dk-keep{display:inline-block}

/* ----- 電話・メールのカードも角丸（2026-10-27 打ち合わせ） ----- */
body.page-daiku .dk-channels-sub .rc-casual-channel{border-radius:18px; overflow:hidden}

/* ----- 写真がまだ無い時（本番で枠を出さん）の詰め（2026-10-27） ----- */
body.page-daiku .dk-hero-photo:empty{display:none}
body.page-daiku .dk-voice-wrap:has(.dk-voice-photo:empty){grid-template-columns:1fr; max-width:860px}
body.page-daiku .dk-voice-photo:empty{display:none}
body.page-daiku .dk-line-box:not(:has(.dk-line-qr)){grid-template-columns:1fr}
