/* 職種別ページ（/ai/<slug>/）とガイド（/ai/guide/<slug>/）。app.css の上に重ねる */

.lp-hero { text-align: left; }
.lp-hero .lp-hero-in { text-align: left; padding: 18px 16px 36px; max-width: 1080px; }
@media (min-width: 720px) { .lp-hero .lp-hero-in { padding: 24px 16px 52px; } }
.crumbs ol { list-style: none; margin: 0 0 22px; padding: 0; display: flex; flex-wrap: wrap; font-size: .76rem; color: var(--sub); line-height: 1.6; }
.crumbs li:not(:last-child)::after { content: "›"; margin: 0 .5em; color: var(--line-d); }
.crumbs a { color: var(--sub); }
.lp-kicker { margin: 0 0 .3em; font-size: .8rem; font-weight: 700; color: var(--gold-d); letter-spacing: .08em; }
.lp-h1 { margin: 0 0 .6em; font-size: clamp(1.35rem, 5.4vw, 2.1rem); line-height: 1.5; letter-spacing: .03em; max-width: 30em; }
.lp-lead { color: #444; font-size: .95rem; line-height: 1.95; max-width: 44em; margin: 0 0 1.4em; }
.lp-cta { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.lp-cta .btn { max-width: 100%; text-align: center; }
.lp-cta-note { margin: 0; font-size: .8rem; color: var(--sub); }
@media (max-width: 559px) { .lp-cta { align-items: stretch; } .lp-cta .btn-lg { padding-left: 1em; padding-right: 1em; } .lp-cta-note { text-align: center; } }
.lp-cta-mid { margin-top: 28px; }
.gd-by { margin: 0; font-size: .8rem; color: var(--sub); }
.gd-by a { color: var(--navy); }

.lp-h3 { font-size: 1rem; margin: 0 0 .6em; }
.lp-sub { color: var(--sub); font-size: .86rem; margin: 0 0 .4em; }

/* 3つのこと */
.lp-pts { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; border-top: 1px solid var(--line); }
.lp-pts li { padding: 18px 0 16px; border-bottom: 1px solid var(--line); }
.lp-pt-h { margin: 0 0 .5em; font-size: 1.05rem; display: flex; gap: .6em; align-items: baseline; }
.lp-no { font-family: var(--en); color: var(--gold-d); font-weight: 600; flex: none; }
.lp-pt-d, .lp-pt-a { margin: 0 0 .4em; font-size: .9rem; line-height: 1.85; color: #333; }
.lp-tag { display: inline-block; font-size: .72rem; font-weight: 700; color: var(--navy); border: 1px solid var(--line-d); background: #fff; padding: 0 .5em; margin-right: .6em; line-height: 1.7; vertical-align: .08em; }
.lp-pt-a .lp-tag { color: #fff; background: var(--navy); border-color: var(--navy); }
@media (min-width: 900px) {
  .lp-pts { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 32px; border-top: 0; }
  .lp-pts li { border-top: 2px solid var(--navy); border-bottom: 0; }
}
.lp-ngok { margin-top: 32px; max-width: 860px; }

/* 聞かれること */
.lp-qs { list-style: none; counter-reset: q; margin: 0; padding: 0; border-top: 1px solid var(--line); max-width: 860px; }
.lp-qs li { counter-increment: q; position: relative; padding: 11px 0 11px 2.4em; border-bottom: 1px solid var(--line); }
.lp-qs li::before { content: counter(q, decimal-leading-zero); position: absolute; left: 0; top: 11px; font-family: var(--en); font-weight: 600; color: var(--gold-d); font-size: .9rem; }
.lp-qs b { display: block; color: var(--navy); font-size: .95rem; }
.lp-qs span { display: block; color: #4b5563; font-size: .86rem; line-height: 1.75; }
.lp-voice { margin: 20px 0 0; max-width: 860px; padding: 12px 16px; background: var(--cream); border-left: 3px solid var(--gold); font-size: .88rem; line-height: 1.85; }
.lp-voice b { color: var(--navy); }

/* 記入見本 */
.lp-sample { max-width: 820px; }
.lp-badge { display: inline-block; margin: 0 0 8px; font-size: .78rem; font-weight: 700; color: #fff; background: var(--gold-d); padding: .15em .8em; }
.lp-sample .paper { margin: 0; }
.lp-note { margin: 8px 0 0; font-size: .78rem; color: var(--sub); }

/* チェック */
.lp-check { display: grid; gap: 28px; }
@media (min-width: 900px) { .lp-check { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; } }
.lp-c5 { margin: 0 0 8px; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.lp-c5 li { padding: 9px 0; border-bottom: 1px solid var(--line); }
.lp-c5 b { display: block; color: var(--navy); font-size: .92rem; }
.lp-c5 span { display: block; font-size: .84rem; color: #4b5563; }
.lp-c3, .lp-self { margin: 0 0 22px; padding: 0 0 0 1.3em; font-size: .88rem; line-height: 1.8; }
.lp-c3 li { font-weight: 700; color: var(--navy); }
.lp-self { list-style: none; padding: 0; }
.lp-self li { position: relative; padding: 3px 0 3px 1.6em; }
.lp-self li::before { content: ""; position: absolute; left: 0; top: .55em; width: .95em; height: .95em; border: 1.5px solid var(--navy); background: #fff; }
.lp-check-note { font-size: .84rem; color: #444; margin: 8px 0 18px; max-width: 52em; }

/* リンク */
.lp-rel-h { margin-top: 28px; }
.lp-rel { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.lp-rel a { display: inline-block; padding: .35em .9em; border: 1px solid var(--line-d); background: #fff; color: var(--navy); text-decoration: none; font-size: .86rem; line-height: 1.5; }
.lp-rel a:hover { border-color: var(--navy); }
.lp-all { margin: 18px 0 0; font-size: .88rem; }
.lp-all a { color: var(--navy); font-weight: 700; }
.lp-credit { margin: 28px 0 0; padding-top: 14px; border-top: 1px solid var(--line); font-size: .8rem; color: var(--sub); display: flex; flex-wrap: wrap; gap: 4px 18px; }
.lp-credit a { color: var(--navy); }
.lp .links a { word-break: break-word; }

/* ガイド本文 */
.gd-body { max-width: 820px; }
.gd-body section { margin: 0 0 40px; }
.gd-body h2 { font-size: clamp(1.2rem, 4.4vw, 1.45rem); margin: 0 0 .8em; letter-spacing: .04em; }
.gd-body h2::after { content: ""; display: block; width: 32px; height: 2px; background: var(--gold); margin: .45em 0 0; }
.gd-body h3 { font-size: 1.04rem; margin: 1.6em 0 .5em; padding-left: .7em; border-left: 3px solid var(--navy); line-height: 1.5; }
.gd-body p, .gd-body li { font-size: .95rem; line-height: 1.95; color: #2b2b2b; }
.gd-body ul { padding-left: 1.3em; margin: 0 0 1em; }
.gd-body li { margin: .2em 0; }
.gd-body a { color: var(--teal); }
.gd-answer { background: #fff; border: 1px solid var(--line-d); border-top: 3px solid var(--navy); padding: 14px 18px 4px; margin: 0 0 1.2em; }
.gd-answer-l { margin: 0 0 .2em !important; font-size: .76rem !important; font-weight: 700; color: var(--gold-d) !important; letter-spacing: .12em; }
.gd-answer p { font-weight: 500; }
.gd-prompt { white-space: pre-wrap; word-break: break-word; overflow-wrap: anywhere; background: #fff; border: 1px solid var(--line-d); border-left: 3px solid var(--gold); padding: 14px 16px; font-family: var(--sans); font-size: .86rem; line-height: 1.85; color: #1f2937; margin: 0 0 1.2em; }
.gd-cta .lp-cta { align-items: flex-start; }
@media (max-width: 559px) { .gd-cta .lp-cta { align-items: stretch; } }

.sec-ja .nb { display: inline-block; }
.lp-h1 .nb, .lp-cta .btn .nb { display: inline-block; max-width: 100%; }
.lp-cta .btn { flex-wrap: wrap; gap: 0; }
.lp-sample .paper > .p-h:first-child { margin-top: 0; }
.lp .site-footer { margin-top: 0; }
.lp-credit { border-top: 0; padding-top: 0; }
.lp-cta { align-items: center; text-align: center; }
.lp-cta-note { text-align: center; }
.gd-cta .lp-cta { align-items: center; }
@media (max-width: 559px) { .lp-cta, .gd-cta .lp-cta { align-items: stretch; } }

/* v0.11 CTA をわかりやすく：記事バナーと同じオレンジ、大きめ、矢印つき。共通バナー */
.btn-go { background: #EE7B22; color: #fff; font-weight: 800; letter-spacing: .02em; }
.btn-go:hover { background: #D9680F; color: #fff; }
.lp-cta .btn-lg { font-size: 1.12rem; min-height: 60px; padding: .9em 2.4em; }
.go-arr { margin-left: .6em; font-weight: 700; }
.lp-cta .btn-sub { border-width: 2px; }
.lp-banner { margin: 28px auto 0; max-width: 640px; text-align: center; }
.lp-banner a { display: block; }
.lp-banner img { display: block; width: 100%; height: auto; }
.gd-body .lp-banner { margin: 32px auto; }
@media (max-width: 559px) { .lp-cta .btn-lg { font-size: 1.04rem; padding-left: 1em; padding-right: 1em; } }
.lp-rel-lead { margin: 0 0 10px; font-size: .9rem; color: var(--sub); line-height: 1.8; }
