/* Round 3: approved copy and cream / black / yellow visual language. */
.page-home .site-header { background:#111111; color:#fff; border-color:#333; }
.page-home .site-header .logo, .page-home .nav-list > li > a { color:#fff; }
.page-home .menu-toggle span { background:#fff; }
.page-home .service-dropdown { color:#111; }
.page-home main > .breadcrumb { display:none; }
.page-home .round3-hero { background:#111111; color:#fff; padding:88px 0 100px; }
.page-home .round3-hero > .container { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); grid-template-rows:auto; gap:64px; align-items:center; }
.round3-hero-copy { min-width:0; }
.hero-kicker { color:#FFD719; font-weight:700; font-size:16px; margin:0 0 24px; }
.round3-hero h1 { font-size:clamp(36px,4.7vw,66px); font-weight:900; line-height:1.4; margin:0 0 28px; letter-spacing:-.03em; }
.hero-description { font-size:16px; line-height:2.1; margin:0; }
.round3-hero .hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.round3-hero .button-secondary { color:#fff; border:2px solid #fff; background:transparent; }
.round3-hero-art { position:relative; padding:26px 18px 32px; min-width:0; }
.round3-hero-image { margin:0; }
.round3-hero-image img { width:100%; height:auto; border:8px solid #fff; border-radius:28px; background:#fff; }
.hero-pills { position:absolute; inset:0; pointer-events:none; }
.hero-pill { position:absolute; border-radius:999px; padding:9px 22px; background:#FFD719; color:#111; border:2px solid #111; font-size:15px; font-weight:700; box-shadow:3px 3px 0 #fff; }
.hero-pill:nth-child(1) { top:0; left:0; transform:rotate(-8deg); }
.hero-pill:nth-child(2) { top:14%; right:0; transform:rotate(6deg); background:#fff; }
.hero-pill:nth-child(3) { bottom:24%; left:0; transform:rotate(-6deg); background:#fff; }
.hero-pill:nth-child(4) { bottom:0; left:10%; transform:rotate(4deg); }
.hero-pill:nth-child(5) { bottom:10%; right:0; transform:rotate(-8deg); }
.page-home .service-group { grid-template-columns:repeat(4,minmax(0,1fr)); grid-template-rows:auto repeat(2,minmax(0,1fr)); gap:24px; padding-right:8px; }
.page-home .service-group > h3 { grid-row:auto; background:transparent; color:#111; padding:0; }
.page-home .service-line { border:1.5px solid #111 !important; box-shadow:7px 7px 0 #FFD719; border-radius:20px; padding:20px; height:100%; }
.page-home .service-line h4 { font-size:18px; }
.page-home .service-group:first-child { grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto; }
.page-home .service-group:first-child .service-line { grid-template-columns:minmax(0,1fr) 28px minmax(0,1.4fr) 24px; grid-template-rows:auto auto; align-items:center; background:#111; color:#fff; padding:32px; gap:20px; }
.page-home .service-group:first-child .service-line img { grid-column:1; grid-row:1 / 3; margin:0; }
.page-home .service-group:first-child .service-line .num { grid-column:2; grid-row:1; color:#FFD719; }
.page-home .service-group:first-child .service-line h4 { grid-column:3; grid-row:1; font-size:clamp(22px,2.5vw,32px); }
.page-home .service-group:first-child .service-line p { grid-column:3 / 5; grid-row:2; color:#fff; align-self:start; }
.page-home .service-group:first-child .service-line > .arrow { grid-column:4; grid-row:1; }
.strategy-connector { display:flex; justify-content:center; margin:24px 0; color:#111; font-size:38px; line-height:1; }
.page-service .sv-service-grid { grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:1fr; gap:24px; padding-right:8px; }
.page-service .sv-service-card { height:100%; padding:20px; }
.page-service .sv-service-card h3 { font-size:18px; }
.sv-card-link { display:flex; flex-direction:column; height:100%; }
.sv-card-link:hover { text-decoration:none !important; }
.sv-card-link:hover h3 { text-decoration:underline; }
.page-service .round3-strategy { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); gap:40px; align-items:center; padding:36px; background:#111; color:#fff; border-radius:24px; box-shadow:10px 10px 0 #FFD719; }
.page-service .round3-strategy .strategy-card { background:transparent; border:0; box-shadow:none; padding:0; }
.round3-strategy .sv-visual { margin:0; }
.round3-strategy .sv-visual img { box-shadow:none; }
.round3-strategy .text-link { color:#FFD719; }
.round3-strategy-section { border-bottom:0 !important; padding-bottom:0 !important; }
.page-service .round3-flow .flow-list { display:grid; grid-template-columns:1fr; gap:28px; max-width:1000px; margin:auto; padding:0; }
.round3-flow .flow-item { display:grid; grid-template-columns:80px minmax(0,1fr); gap:24px; padding:0; border:0; }
.round3-flow .flow-content { display:grid; grid-template-columns:200px minmax(0,1fr); gap:28px; align-items:center; padding:24px; background:#F8F6F1; border:1px solid #111; border-radius:20px; box-shadow:6px 6px 0 #FFD719; }
.round3-flow .flow-step { align-self:stretch; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; padding-top:24px; position:relative; }
.round3-flow .flow-item::before { display:none; }
.round3-flow .step-number { font-size:44px; line-height:1.3; }
.round3-flow .step-label { font-size:12px; }
.round3-flow .flow-item:not(:last-child) .flow-step::after { content:""; position:absolute; width:2px; top:96px; bottom:-28px; background:#111; }
.round3-flow .flow-visual { margin:0; }
.round3-flow .flow-visual img { width:100%; border-radius:14px; }
.round3-flow .flow-copy { min-width:0; }
.round3-flow .flow-copy h3 { margin:0 0 12px; font-size:22px; }
.round3-flow .flow-copy p { margin:0; }
.consultation-list { margin-bottom:32px; }
.consultation-list p { margin:8px 0; }
.qa-answer .answer { margin:0; padding:0; white-space:normal; }
.media-tags { display:flex; flex-wrap:wrap; gap:12px; padding:0; margin:40px 0 0; list-style:none; }
.media-tags li { padding:12px 20px; border:1.5px solid #111; border-radius:999px; background:#F8F6F1; font-weight:700; box-shadow:3px 3px 0 #FFD719; }
.privacy-body { max-width:800px; padding-block:56px 88px; }
.privacy-body > p { margin:0 0 28px; }
.privacy-clause { padding:28px 0; border-top:1px solid #D8D2C5; }
.privacy-clause h2 { margin:0 0 18px; font-size:23px; line-height:1.6; }
.privacy-clause p { margin:10px 0; line-height:2; }
.page-contact .lead-form { width:100%; max-width:720px; margin:28px auto; }
.page-contact .lead-form .consent { align-items:flex-start; }
.page-contact .consent input { flex:0 0 20px; margin-top:6px; }
.breadcrumb ol { align-items:center; }
.breadcrumb li { display:flex; align-items:center; min-height:44px; line-height:1.8; }
.breadcrumb li > a, .breadcrumb li > span { display:inline-flex; align-items:center; min-height:44px; line-height:1.8; }
.pg-hero-copy { min-width:0; overflow:hidden; }
.pg-hero-copy .pg-hero-bg { position:static; display:block; margin:24px 0 -8px; width:100%; font-size:clamp(40px,7vw,100px); line-height:1.05; white-space:nowrap; letter-spacing:-.04em; }
@media (max-width:1100px) {
 .page-home .service-group, .page-service .sv-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .page-home .service-group { grid-template-rows:auto repeat(4,minmax(0,1fr)); }
 .page-home .service-group:first-child { grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto; }
 .page-home .round3-hero > .container { gap:32px; }
}
@media (max-width:767px) {
 .page-home .round3-hero { padding:44px 0 64px; }
 .page-home .round3-hero > .container { grid-template-columns:minmax(0,1fr); gap:36px; }
 .round3-hero h1 { font-size:38px; }
 .hero-kicker { font-size:14px; }
 .round3-hero .hero-actions { flex-direction:column; align-items:stretch; }
 .hero-pill { font-size:12px; padding:7px 14px; }
 .page-home .service-group, .page-service .sv-service-grid { grid-template-columns:minmax(0,1fr); grid-template-rows:none; grid-auto-rows:auto; }
 .page-home .service-group:first-child .service-line { grid-template-columns:24px minmax(0,1fr) 24px; grid-template-rows:auto auto auto; padding:20px; gap:12px; }
 .page-home .service-group:first-child .service-line img { grid-column:1 / -1; grid-row:1; }
 .page-home .service-group:first-child .service-line .num { grid-column:1; grid-row:2; }
 .page-home .service-group:first-child .service-line h4 { grid-column:2; grid-row:2; font-size:22px; }
 .page-home .service-group:first-child .service-line p { grid-column:2 / -1; grid-row:3; }
 .page-home .service-group:first-child .service-line > .arrow { grid-column:3; grid-row:2; }
 .page-service .round3-strategy { grid-template-columns:minmax(0,1fr); gap:28px; padding:22px; margin-right:10px; }
 .round3-flow .flow-item { grid-template-columns:44px minmax(0,1fr); gap:12px; }
 .round3-flow .flow-content { grid-template-columns:minmax(0,1fr); padding:18px; gap:20px; margin-right:6px; }
 .round3-flow .step-number { font-size:28px; }
 .round3-flow .step-label { font-size:11px; }
 .pg-hero-copy .pg-hero-bg { font-size:clamp(34px,10vw,70px); }
 .privacy-clause h2 { font-size:20px; }
 .page-home .site-nav { background:#111; color:#fff; }
 .page-home .site-nav .service-dropdown { background:#111; color:#fff; }
 .service-dropdown { max-width:100%; }
}
/* サービス詳細への誘導カード（2026-10-02） */
.sd-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:28px}
.sd-card{position:relative;display:grid;grid-template-rows:auto auto 1fr;gap:8px;padding:14px 14px 20px;background:#fff;border:1.5px solid #111;border-radius:16px;box-shadow:6px 6px 0 #FFD719;transition:transform .2s,box-shadow .2s}
.sd-card:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 #FFD719}
.sd-card figure{margin:0 0 8px;border-radius:10px;overflow:hidden;background:#F8F6F1}
.sd-card img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.sd-kind{justify-self:start;font-size:11px;font-weight:700;padding:2px 10px;border:1px solid #111;border-radius:999px}
.sd-name{font-weight:700;font-size:15px;line-height:1.6;padding-right:28px}
.sd-card .arrow{position:absolute;right:16px;bottom:20px;width:18px;height:18px;fill:none;stroke:#111;stroke-width:2}
.sd-card.is-strategy{background:#111;color:#fff}
.sd-card.is-strategy .sd-kind{background:#FFD719;color:#111;border-color:#FFD719}
.sd-card.is-strategy .arrow{stroke:#FFD719}
@media(max-width:1023px){.sd-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.sd-grid{gap:14px}.sd-name{font-size:14px}}

/* 実行サービス7枚：4枚＋3枚（下段は中央寄せ）で揃える（2026-10-02） */
@media (min-width: 1024px) {
  .page-home .service-group:not(:first-child) { grid-template-columns: repeat(8, minmax(0, 1fr)); grid-template-rows: auto; }
  .page-home .service-group:not(:first-child) > h3 { grid-column: 1 / -1; }
  .page-home .service-group:not(:first-child) > a.service-line { grid-column: span 2; }
  .page-home .service-group:not(:first-child) > a.service-line:nth-of-type(5) { grid-column: 2 / span 2; }
  .page-service .sv-service-grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .page-service .sv-service-grid > .sv-service-card { grid-column: span 2; }
  .page-service .sv-service-grid > .sv-service-card:nth-child(5) { grid-column: 2 / span 2; }
}

/* トップのメニューボタン（黒地で見えるように） */
.page-home .menu-toggle { background: transparent; border: 1.5px solid #fff; }

/* スマホ：最初の画面にイラストを出す */
@media (max-width: 767px) {
  .page-home .round3-hero { padding: 20px 0 48px; }
  .page-home .round3-hero > .container { gap: 18px; }
  .page-home .round3-hero-art { order: -1; padding: 10px 14px 14px; max-width: 340px; margin: 0 auto; width: 100%; }
  .page-home .round3-hero-image img { border-width: 5px; border-radius: 18px; max-height: 30vh; object-fit: cover; }
  .page-home .round3-hero-art [class*="tag"], .page-home .round3-hero-art .hero-tag { font-size: 10px; padding: 4px 9px; }
  .page-home .round3-hero h1 { font-size: 32px; margin-bottom: 14px; }
  .page-home .round3-hero .hero-actions { margin-top: 20px; gap: 10px; }
}
@media (max-width: 767px){.page-home .round3-hero-art .hero-pill{font-size:10px;padding:4px 9px}}
@media (max-width: 767px){.page-home .round3-hero h1{font-size:28px}}
/* TBロゴ（2026-10-02）。白地の元画像を、明るい面はmultiply・暗い面は反転＋screenで背景になじませる */
.logo { display: inline-flex; align-items: center; gap: 10px; }
.logo-mark { width: 34px; height: 34px; flex-shrink: 0; mix-blend-mode: multiply; }
.page-home .site-header .logo-mark, .site-footer .logo-mark { filter: invert(1); mix-blend-mode: screen; }
.site-footer .logo-mark { width: 40px; height: 40px; }
@media (max-width: 767px) { .logo-mark { width: 28px; height: 28px; } }

/* ===== 2026-10-02 6回目 ===== */
/* トップのヘッダーを白地に戻し、ロゴは黒地に白（元の配色）で見せる */
.page-home .site-header { background:#fff; color:#111; border-color:var(--color-line); }
.page-home .site-header .logo, .page-home .nav-list > li > a { color:#111; }
.page-home .menu-toggle { background:#fff; border:1.5px solid #111; }
.page-home .menu-toggle span { background:#111; }
@media (max-width: 1023px) { .page-home .site-nav, .page-home .site-nav .service-dropdown { background:#fff; color:#111; } }
.logo-mark, .page-home .site-header .logo-mark { filter:none; mix-blend-mode:multiply; }
/* フッター（黒地）：マークは元の黒丸のまま、白い縁で輪郭を出す */
.site-footer .logo-mark { filter:none; mix-blend-mode:normal; border-radius:50%; box-shadow:0 0 0 2px #fff; }

/* トップ：STEP04〜05を毎月くり返す */
.flow-loop.flow-loop-v2 { width:120px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; color:#111; }
.flow-loop-v2 svg { width:auto; height:auto; }
.flow-loop-v2 .loop-rail { position:absolute; top:0; bottom:0; left:14px; width:26px; border:3px solid #FFD719; border-left:0; border-radius:0 18px 18px 0; }
.flow-loop-v2 .loop-rail::before, .flow-loop-v2 .loop-rail::after { content:""; position:absolute; left:-10px; width:0; height:0; border:7px solid transparent; }
.flow-loop-v2 .loop-rail::before { top:-8.5px; border-right:10px solid #FFD719; border-left:0; }
.flow-loop-v2 .loop-rail::after { bottom:-8.5px; border-right:10px solid #FFD719; border-left:0; }
.flow-loop-v2 .loop-badge { position:relative; z-index:1; display:grid; place-items:center; width:64px; height:64px; margin-left:28px; background:#FFD719; border:2px solid #111; border-radius:50%; }
.flow-loop-v2 .loop-badge svg { width:32px; height:32px; fill:none; stroke:#111; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.flow-loop-v2 .loop-label { position:relative; z-index:1; margin-left:28px; padding:8px 10px; font-size:13px; font-weight:700; line-height:1.5; text-align:center; writing-mode:horizontal-tb; color:#111; background:#fff; border:1.5px solid #111; border-radius:10px; }
@media (max-width: 767px) {
  .flow-loop.flow-loop-v2 { width:64px; gap:8px; }
  .flow-loop-v2 .loop-rail { left:6px; width:16px; border-width:2.5px; }
  .flow-loop-v2 .loop-badge { width:40px; height:40px; margin-left:14px; }
  .flow-loop-v2 .loop-badge svg { width:22px; height:22px; }
  .flow-loop-v2 .loop-label { margin-left:14px; padding:6px 4px; font-size:10px; }
}

/* ホームページ制作：タイトルの改行を語の切れ目に */
.nw { display:inline-block; }

/* お問い合わせ */
.ct-body { padding:88px 0 112px; background:#fff; }
.ct-grid { display:grid; grid-template-columns:320px minmax(0, 640px); gap:64px; justify-content:center; }
.ct-aside { position:sticky; top:110px; align-self:start; }
.ct-aside h2 { font-size:24px; margin:0 0 24px; }
.ct-points { display:grid; gap:12px; margin:0; padding:0; list-style:none; }
.ct-points li { display:flex; align-items:center; gap:14px; padding:16px 18px; font-weight:700; font-size:15px; background:var(--color-bg); border:1px solid var(--color-line); border-radius:14px; }
.ct-check { position:relative; flex-shrink:0; width:28px; height:28px; background:#FFD719; border:1.5px solid #111; border-radius:50%; }
.ct-check::after { content:""; position:absolute; left:8px; top:5px; width:7px; height:12px; border:solid #111; border-width:0 2.5px 2.5px 0; transform:rotate(45deg); }
.ct-form-card { padding:44px 48px; background:var(--color-bg); border:1.5px solid #111; border-radius:24px; box-shadow:10px 10px 0 #FFD719; }
.ct-form-card .lead-form { max-width:none; margin:0; }
@media (max-width: 1023px) { .ct-grid { grid-template-columns:minmax(0,1fr); gap:36px; } .ct-aside { position:static; } }
@media (max-width: 767px) { .ct-body { padding:48px 0 72px; } .ct-form-card { padding:26px 20px; box-shadow:6px 6px 0 #FFD719; margin-right:6px; } }
.page-home .round3-hero h1{font-size:clamp(34px,4vw,56px)}
@media (max-width: 767px){.page-home .round3-hero h1{font-size:28px}}
/* 旧 .flow-loop span の指定を打ち消す */
.flow-loop-v2 .loop-rail { background:transparent; padding:0; writing-mode:horizontal-tb; letter-spacing:0; }
.flow-loop-v2 .loop-badge { padding:0; writing-mode:horizontal-tb; letter-spacing:0; }
.flow-loop-v2 .loop-label { white-space:nowrap; letter-spacing:.04em; border-radius:10px; background:#fff; }
/* SEO・AIO：支援内容の3つの柱 */
.sv-pillars { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:28px; }
.sv-pillar { padding:32px 28px; background:#fff; border:1.5px solid #111; border-radius:20px; box-shadow:8px 8px 0 #FFD719; }
.sv-pillar-no { display:inline-grid; place-items:center; width:48px; height:48px; font-weight:700; background:#FFD719; border:1.5px solid #111; border-radius:50%; }
.sv-pillar h3 { margin:18px 0 12px; font-size:20px; line-height:1.5; }
.sv-pillar p { margin:0; line-height:2; }
@media (max-width: 1023px) { .sv-pillars { grid-template-columns:minmax(0,1fr); } }
@media (max-width: 767px) { .sv-pillar { padding:24px 20px; box-shadow:6px 6px 0 #FFD719; margin-right:6px; } }
/* スマホ：毎月くり返すを、流れの下の横長の帯にする（本文と重ならないように） */
@media (max-width: 767px) {
  .flow-section .flow-list { margin-right: 0; }
  .flow-loop.flow-loop-v2 { position: static; width: auto; flex-direction: row; justify-content: center; gap: 12px; margin: 20px 0 0; padding: 12px 16px; background: #FFD719; border: 1.5px solid #111; border-radius: 999px; }
  .flow-loop-v2 .loop-rail { display: none; }
  .flow-loop-v2 .loop-badge { width: 36px; height: 36px; margin: 0; background: #fff; }
  .flow-loop-v2 .loop-badge svg { width: 20px; height: 20px; }
  .flow-loop-v2 .loop-label { margin: 0; padding: 0; font-size: 14px; background: transparent; border: 0; }
  .flow-loop-v2 .loop-label br { display: none; }
  .flow-loop-v2 .loop-label::before { content: "STEP04〜05を"; }
}
