/* バクヤスAI 記事代行 /lp ページ専用CSS（共通DS: techsuite-ds.css / 配色: theme.css の後に読み込む） */

/* ヘッダー */
@media (max-width: 1000px) { .hd_tel { display: none; } }

/* ヒーロー */
.hero_copy .btns{margin-top:clamp(24px,3vw,32px)}
.hero_emblems{margin-top:clamp(28px,4vw,44px);padding-top:clamp(22px,3vw,30px);border-top:1px solid var(--border)}
.hero_emblems .hero_note{max-width:680px;margin:clamp(14px,2vw,18px) auto 0;text-align:center}
.hero_stats--emblem{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(16px,4vw,56px);margin:0;padding:0;border:0}
.hero_stats--emblem .emb{display:flex;align-items:center;justify-content:center;gap:6px}
.hero_stats--emblem .emb_lead{min-height:2.6em;display:flex;align-items:center;justify-content:center}
.hero_stats--emblem .lrl{height:clamp(58px,7vw,80px);width:auto;flex:none}
.hero_stats--emblem .emb_in{text-align:center;line-height:1.05;padding:0 2px;flex:0 0 calc(clamp(24px,3.2vw,34px) * 4.7);width:calc(clamp(24px,3.2vw,34px) * 4.7)}
.hero_stats--emblem .emb_lead{font-size:11px;font-weight:700;color:var(--fg-muted);margin-bottom:6px;white-space:nowrap}
.hero_stats--emblem .emb_lead small{display:inline;font-size:9.5px;font-weight:600;color:var(--fg-dim);margin-left:2px}
.hero_stats--emblem .emb_v{font-family:var(--font-serif);font-style:italic;font-weight:700;color:var(--accent);font-size:clamp(24px,3.2vw,34px);white-space:nowrap}
.hero_stats--emblem .emb_v .u{font-family:var(--font-jp);font-style:normal;font-size:.38em;font-weight:700;color:var(--accent-2);margin-left:2px}
@media(max-width:560px){.hero_stats--emblem{gap:14px}.hero_stats--emblem .lrl{height:50px}.hero_stats--emblem .emb_lead small{display:block;margin:2px 0 0}}
.hero_stats--emblem .emb--wide .emb_in{flex-basis:auto;width:auto;max-width:190px}
.hero_stats--emblem .emb--wide .emb_lead{white-space:normal;line-height:1.35}
.hero h1.hero_h1{font-size:clamp(20px,3vw,39px)}
.btns--hero-mobile{display:none}
@media(max-width:760px){
  .hero h1.hero_h1{font-size:clamp(20px,6.2vw,24px)}
  .btns--hero-desktop{display:none}
  .btns--hero-mobile{display:flex;margin-top:clamp(20px,4vw,28px)}
}

/* お客様の声 */
#case .cs_grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:clamp(28px,4vw,42px)}
#case .cscard{background:#fff;border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden;display:flex;flex-direction:column;text-align:left}
#case a.cscard{text-decoration:none;color:inherit;transition:transform .18s var(--ease),box-shadow .18s var(--ease)}
#case a.cscard:hover{transform:translateY(-4px);box-shadow:var(--shadow-card)}
#case .cscard_thumb{aspect-ratio:16/9;background:var(--bg-soft);overflow:hidden}
#case .cscard_thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s var(--ease)}
#case a.cscard:hover .cscard_thumb img{transform:scale(1.05)}
#case .cscard_body{padding:18px 18px 20px;display:flex;flex-direction:column;flex:1}
#case .cscard_co{font-size:12px;font-weight:700;color:var(--accent-2)}
#case .cscard_ttl{margin:8px 0 0;font-weight:700;font-size:14.5px;line-height:1.62;color:var(--fg);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
#case .cscard_quote{margin:10px 0 0;font-family:var(--font-serif);font-style:italic;font-size:12.5px;line-height:1.7;color:var(--fg-body)}
#case .cscard_quote span{display:block;margin-top:6px;font-family:var(--font-jp);font-style:normal;font-size:11px;font-weight:600;color:var(--fg-dim)}
#case .cs_all{margin-top:clamp(26px,3vw,34px);text-align:center}
@media(max-width:900px){#case .cs_grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){#case .cs_grid{grid-template-columns:1fr}}

/* 導入事例の成果（横スクロール） */
.cr_scroll{position:relative;margin-top:clamp(28px,4vw,40px)}
.cr_viewport{overflow-x:auto;padding-bottom:14px;scroll-behavior:smooth}
.cr_track{display:flex;align-items:stretch;gap:20px;width:max-content}
.cr_card{flex:0 0 auto;width:min(86vw,420px);display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:28px 30px}
.cr_logo{display:block;height:30px;width:auto;object-fit:contain;margin-bottom:16px}
.cr_desc{min-height:68px;font-size:13.5px;line-height:1.7;color:var(--fg-body);margin:0 0 20px}
.cr_cols{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}
.cr_cols h3{font-family:var(--font-jp);font-style:normal;font-size:13px;font-weight:800;color:var(--accent-2);margin:0 0 10px}
.cr_cols ul{list-style:none;margin:0;padding:0}
.cr_cols li{position:relative;padding-left:16px;font-size:12px;line-height:1.75;color:var(--fg-muted);margin-bottom:6px}
.cr_cols li::before{content:"・";position:absolute;left:0;top:0;color:var(--accent)}
.cr_graphs{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:auto;margin-bottom:20px}
.cr_graphs figure{margin:0;text-align:center}
.cr_graphs figure.is-empty{visibility:hidden}
.cr_graphs .cr_graph_box{aspect-ratio:4/3;border-radius:8px;background:var(--bg-soft);display:flex;align-items:center;justify-content:center;overflow:hidden}
.cr_graphs img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}
.cr_graphs figcaption{margin-top:8px;height:32px;font-size:11px;line-height:1.4;color:var(--fg-dim);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cr_kw{width:100%;border-collapse:collapse;font-size:12px}
.cr_kw th{background:var(--bg-soft);color:var(--fg-muted);font-weight:700;padding:8px 10px;text-align:left;white-space:nowrap}
.cr_kw td{padding:8px 10px;border-top:1px solid var(--border);color:var(--fg-body);white-space:nowrap}
.cr_nav{position:absolute;top:50%;right:-22px;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--teal),var(--accent));border:3px solid #fff;box-shadow:0 10px 24px rgba(0,121,194,.35);color:#fff;font-size:26px;font-weight:700;cursor:pointer;flex:none;z-index:5}
.cr_nav:hover{filter:brightness(1.08);transform:translateY(-50%) scale(1.05)}
@media(max-width:900px){.cr_nav{right:6px;width:48px;height:48px;font-size:22px}}
@media(max-width:760px){.cr_cols{grid-template-columns:1fr}}

/* 内容（対応可能なサービス範囲） */
.content_grid{display:grid;grid-auto-flow:column;grid-template-rows:repeat(3,1fr);grid-template-columns:1fr 1fr;gap:16px;margin-top:clamp(24px,3vw,32px)}
.content_cat{background:#fff;border:1.5px solid var(--border);border-radius:var(--r-sm);padding:18px 22px}
.content_cat_hd{display:flex;align-items:center;gap:12px;font-family:var(--font-serif);font-weight:700;font-size:16px;color:var(--fg);margin-bottom:12px}
.content_cat_icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:var(--accent-soft);color:var(--accent);flex:none}
.content_cat_icon svg{width:20px;height:20px}
.content_cat ul{list-style:none;margin:0;padding:0}
.content_cat li{position:relative;padding-left:18px;font-size:13.5px;color:var(--fg-muted);line-height:1.85}
.content_cat li::before{content:"・";position:absolute;left:0;top:0;color:var(--accent)}
.content_legend{text-align:center;margin:clamp(20px,3vw,26px) 0 0;font-size:12.5px;color:var(--fg-dim)}
@media(max-width:760px){.content_grid{grid-auto-flow:row;grid-template-columns:1fr;grid-template-rows:none}}
#content .midcta--gold{margin-top:clamp(32px,4vw,44px)}

/* AIで自分でもできる？ */
#scope .scope{margin-top:clamp(28px,4vw,44px)}
#scope .scope_head{display:grid;grid-template-columns:180px 1fr 1fr;background:var(--accent);border-radius:var(--r-sm) var(--r-sm) 0 0;overflow:hidden}
#scope .scope_head span{padding:13px 18px;color:#fff;font-size:13px;font-weight:700}
#scope .scope_head .c2{background:rgba(255,255,255,.10)}
#scope .scope_grid{border:1px solid var(--border);border-top:0;border-radius:0 0 var(--r-sm) var(--r-sm);overflow:hidden}
#scope .scope_row{display:grid;grid-template-columns:180px 1fr 1fr;border-top:1px solid var(--border)}
#scope .scope_row:first-child{border-top:0}
#scope .scope_row>div{padding:16px 18px}
#scope .sc_step{background:var(--bg-soft);color:var(--fg);font-weight:700;font-size:15px;display:flex;align-items:center}
#scope .sc_diy{color:var(--fg-muted);font-size:14px;line-height:1.65}
#scope .sc_our{background:var(--accent-soft);color:var(--fg-body);font-size:14px;line-height:1.65}
#scope .sc_our b{color:var(--accent-2);font-weight:700}
#scope .sc_lbl{display:none}
@media(max-width:760px){
  #scope .scope_head{display:none}
  #scope .scope_row{grid-template-columns:1fr}
  #scope .scope_row>div{border-top:1px solid var(--border)}
  #scope .sc_step{border-top:0}
  #scope .sc_lbl{display:block;font-size:12px;font-weight:700;color:var(--fg-dim);margin-bottom:4px}
}
.scope_conclusion{margin:clamp(28px,4vw,40px) auto 0;max-width:640px;background:#fff;border-left:4px solid var(--accent);border-radius:0 var(--r-sm) var(--r-sm) 0;box-shadow:var(--shadow-card);padding:22px 30px;text-align:center}
.scope_conclusion p{margin:0;font-family:var(--font-serif);font-size:clamp(15px,1.8vw,17px);line-height:1.8;color:var(--fg)}
.scope_conclusion b{color:var(--accent-2)}
.scope_conclusion em{font-style:normal;color:var(--fg-muted);font-size:.92em}

/* 選ばれる理由 */
#features .point_grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:clamp(28px,4vw,42px)}
#features .point_card{position:relative;background:#fff;border:1px solid var(--border);border-radius:var(--r-sm);padding:30px 32px 30px 36px;overflow:hidden}
#features .point_card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(180deg,var(--teal),var(--accent))}
#features .point_hd{display:flex;align-items:baseline;gap:12px;margin-bottom:14px}
#features .point_lbl{font-family:var(--font-en);font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--accent-2)}
#features .point_no{font-family:var(--font-en);font-size:clamp(28px,3.2vw,36px);font-weight:700;color:var(--accent);line-height:1}
#features .point_card h3{margin:0 0 10px;font-size:clamp(16px,1.9vw,19px);line-height:1.55;font-weight:700;color:var(--fg)}
#features .point_card p{margin:0;font-size:13.5px;line-height:1.85;color:var(--fg-muted)}
@media(max-width:760px){#features .point_grid{grid-template-columns:1fr}}

/* ソリューション（STEP1-3） */
#solution .sol_step{margin-top:clamp(32px,4.5vw,48px)}
#solution .sol_step:first-of-type{margin-top:clamp(20px,3vw,32px)}
#solution .sol_step h3{display:flex;align-items:center;flex-wrap:wrap;gap:14px;font-size:clamp(16px,1.9vw,19px);line-height:1.6;font-weight:700;color:var(--fg);margin:0 0 18px}
#solution .sol_num{display:inline-flex;align-items:baseline;gap:3px;flex:none;font-family:var(--font-en);font-weight:700;font-size:15px;letter-spacing:.08em;color:#fff;background:linear-gradient(135deg,var(--teal),var(--accent));border-radius:var(--pill);padding:7px 16px}
#solution .sol_num em{font-style:normal;font-size:20px}
#solution .sol_step picture,#solution .sol_step img{display:block;width:100%;height:auto;border-radius:var(--r-sm)}
#solution .level_grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:22px 0}
#solution .level_card{background:#fff;border:1px solid var(--border);border-radius:var(--r-sm);padding:20px 22px}
#solution .level_card figure{margin:0 0 14px;aspect-ratio:500/376;background:var(--bg-soft);border-radius:10px;overflow:hidden}
#solution .level_card figure img{width:100%;height:100%;object-fit:cover;display:block}
#solution .level_card h4{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:var(--fg);margin:0 0 8px}
#solution .level_card h4 .badge{height:14px;width:auto}
#solution .level_card p{font-size:13px;line-height:1.8;color:var(--fg-muted);margin:0}
#solution .expert{margin-top:clamp(24px,3vw,34px);background:#fff;border-radius:var(--r);box-shadow:0 18px 40px rgba(14,42,67,.10);padding:clamp(28px,3.6vw,40px)}
#solution .expert h4{text-align:center;font-family:var(--font-serif);font-size:clamp(16px,1.9vw,19px);font-weight:700;color:var(--fg);margin:0 0 22px}
#solution .expert_icons{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin:0 0 clamp(24px,3vw,34px);padding:0}
#solution .expert_icons li{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;font-size:13px;font-weight:700;color:var(--fg-muted);line-height:1.5}
#solution .expert_icons img{width:84px;height:84px;border-radius:50%;background:var(--bg-soft);object-fit:contain;padding:14px}
#solution .expert_list2{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;background:var(--bg-soft);border-radius:var(--r-sm);padding:24px 26px}
#solution .expert_list2 h5{font-size:13px;font-weight:800;color:var(--accent-2);margin:0 0 12px}
#solution .expert_list2 ul{list-style:none;margin:0;padding:0}
#solution .expert_list2 li{font-size:12.5px;color:var(--fg-body);line-height:2}
@media(max-width:900px){#solution .level_grid{grid-template-columns:1fr}#solution .expert_icons{grid-template-columns:repeat(3,1fr)}#solution .expert_list2{grid-template-columns:1fr}}

/* 入稿の手間まで徹底的に効率化（フロー図） */
.flowdiag{margin-top:clamp(32px,4vw,44px);background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:clamp(24px,3vw,36px)}
.flowdiag_title{text-align:center;font-family:var(--font-serif);font-weight:700;font-size:clamp(16px,1.9vw,19px);color:var(--fg);margin:0 0 18px}
.flowdiag_legend{display:flex;justify-content:center;gap:24px;margin-bottom:26px;font-size:12.5px;color:var(--fg-muted)}
.fd_dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.fd_dot--main{background:var(--accent)}
.fd_dot--sub{background:var(--border-strong)}
.fd_row{display:flex;align-items:center;gap:16px;margin-bottom:18px}
.fd_label{flex:0 0 84px;font-weight:700;font-size:12.5px;color:var(--fg);line-height:1.4;text-align:center}
.fd_track{flex:1;display:flex;align-items:center;gap:8px;overflow-x:auto;padding:4px 2px;min-width:0}
.fd_step{flex:0 0 auto;padding:11px 16px;border-radius:8px;font-size:12px;font-weight:700;white-space:nowrap}
.fd_step--main{background:var(--accent);color:#fff}
.fd_step--sub{background:var(--bg-soft);color:var(--fg-muted);border:1px solid var(--border)}
.fd_step--goal{background:linear-gradient(135deg,var(--teal),var(--accent));color:#fff}
.fd_step--outline{background:#fff;border:1.5px solid var(--accent);color:var(--accent-2)}
.fd_arrow{flex:0 0 auto;color:var(--border-strong);font-size:14px}
.fd_track--client{justify-content:space-between;position:relative}
.fd_track--client::before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px dashed var(--border-strong);z-index:0}
.fd_track--client .fd_step{position:relative;z-index:1}
.fd_bridge{margin:4px 0 0 100px;font-size:12px;color:var(--fg-dim)}
.fd_note{margin:18px 0 0;text-align:center;background:var(--accent-soft);border-radius:10px;padding:12px 16px;font-size:12.5px;font-weight:600;color:var(--accent-2)}
@media(max-width:640px){
  .fd_row{flex-direction:column;align-items:stretch;gap:8px}
  .fd_label{text-align:left}
  .fd_track{flex-direction:column;align-items:stretch;overflow-x:visible;width:100%}
  .fd_step{width:100%;white-space:normal}
  .fd_arrow{align-self:center;transform:rotate(90deg);margin:-2px 0}
  .fd_track--client{gap:8px}
  .fd_track--client::before{display:none}
  .fd_bridge{margin-left:0}
}

/* 料金プラン */
#price .btns--center{margin-top:clamp(24px,3vw,32px)}
.btn--gold{color:#3a2405;background:linear-gradient(135deg,#ffd97a 0%,#f2a83c 100%);box-shadow:0 12px 26px rgba(242,168,60,.35)}
.btn--gold:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(242,168,60,.45)}
.btn--gold::after{content:"→";font-weight:700}

/* 体制・チーム */
.team_legend{display:flex;justify-content:center;gap:24px;margin:clamp(20px,3vw,26px) 0 clamp(24px,3vw,32px);font-size:12.5px;color:var(--fg-muted)}
.team_grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.team_card{background:#fff;border:1.5px solid var(--border);border-radius:var(--r-sm);padding:28px 24px;text-align:center}
.team_card--main{border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}
.team_card img{width:64px;height:64px;margin:0 auto 16px;display:block}
.team_card h3{margin:0 0 10px;font-size:15.5px}
.team_card p{margin:0;font-size:13px;line-height:1.8;color:var(--fg-muted)}
@media(max-width:760px){.team_grid{grid-template-columns:1fr}}

/* FAQ */
.faq .a a{color:var(--accent);font-weight:700;text-decoration:underline}

/* お役立ち情報 */
.res_group{margin-top:clamp(28px,4vw,40px)}
.res_group:first-of-type{margin-top:clamp(24px,3.2vw,34px)}
.res_hd{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--border)}
.res_hd h3{margin:0;font-size:clamp(18px,2.1vw,22px)}
.res_more{flex:none;font-size:12.5px;font-weight:700;color:var(--accent);text-decoration:none;white-space:nowrap}
.res_more:hover{text-decoration:underline}
.res_grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.res_card{display:block;background:#fff;border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden;text-decoration:none;color:inherit;transition:transform .18s var(--ease),box-shadow .18s var(--ease)}
.res_card:hover{transform:translateY(-3px);box-shadow:var(--shadow-card)}
.res_thumb{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--bg-soft)}
.res_ttl{margin:0;padding:14px 16px;font-size:13px;line-height:1.7;color:var(--fg);font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:760px){.res_grid{grid-template-columns:1fr}}

/* 中央寄せの狭幅ブロック（見出し+リード文のみのセクションで使用） */
.narrow--center{text-align:center}
