.marketing-title small{display:block;font-size:19px;margin-bottom:20px}.marketing-title>span{display:block;word-break:keep-all;overflow-wrap:anywhere}.marketing-service-page .marketing-title{font-size:clamp(28px,3.1vw,44px);line-height:1.65}.marketing-visual{padding:36px;background:#faf7f0;border:1px solid #e5dece;align-self:center}.marketing-visual-label{font:700 14px Oswald,sans-serif;letter-spacing:.14em;color:#8b601b;margin:0 0 24px}.marketing-search{display:flex;gap:14px;align-items:center;padding:18px;border:1px solid #dfd8ca;background:#fff;font-size:14px}.marketing-visual ol{padding:0;margin:24px 0 0;list-style:none}.marketing-visual li{display:grid;grid-template-columns:40px 1fr;gap:3px 14px;align-items:center;padding:18px 0;border-bottom:1px solid #dfd8ca}.marketing-visual li b{grid-row:span 2;font:700 30px Oswald,sans-serif;color:#a9690b}.marketing-visual li span{font-weight:900;font-size:21px}.marketing-visual li small{font-size:12px;color:#626977}.marketing-visual-note{font-size:11px;color:#626977;margin:18px 0 0}.marketing-services{display:grid;grid-template-columns:1fr 1fr;gap:0 48px}.marketing-services article{display:flex;gap:22px;padding:28px 0;border-top:1px solid #ded6c9}.marketing-services article>span{font:700 25px Oswald,sans-serif;color:#a9690b}.marketing-services h3{font-size:19px;margin:0 0 12px}.marketing-services p{font-size:14px;line-height:2;margin:0}.marketing-choice{display:grid;grid-template-columns:1fr 1fr;gap:60px}.marketing-choice p{line-height:2}.marketing-choice .web-textlink{display:block;margin-top:18px}.marketing-source{font-size:12px;line-height:1.9;margin-top:28px;color:#626977}.marketing-source a{color:inherit}.marketing-service-page .web-button{background:#a95d00;color:#fff}.marketing-service-page .web-button:hover{background:#874a00}.marketing-service-page .site-contact__form{background:#a95d00;color:#fff}.marketing-service-page .site-contact__form:hover{background:#874a00}
@media(max-width:760px){.marketing-services,.marketing-choice{grid-template-columns:1fr;gap:24px}.marketing-visual{padding:24px}.marketing-services article{padding:22px 0}.marketing-choice{gap:10px}}

/* ===== SEO：FV右の実績スライダー（自社の検索結果イメージと順位バッジ） ===== */
.rank-visual { display: grid; align-content: center; gap: 12px; aspect-ratio: 1200 / 630; max-height: 260px; padding: 18px 22px; background: #f6f3ec; }
.rank-visual__box { display: flex; align-items: center; gap: 10px; margin: 0; padding: 10px 16px; background: #fff; border: 1px solid #ddd6c8; border-radius: 999px; font-size: 14px; font-weight: 700; }
.rank-visual ol { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; }
.rank-visual li { display: flex; align-items: center; gap: 10px; padding: 7px 12px; background: #fff; border-radius: 8px; font-size: 13px; }
.rank-visual li b { font-family: Oswald, sans-serif; color: #8a909b; }
.rank-visual li span:empty { flex: 1; height: 8px; border-radius: 4px; background: #e8e5de; }
.rank-visual li.is-us { border: 2px solid #a95d00; font-weight: 900; }
.rank-visual li.is-us b { color: #a95d00; }
.rank-visual li em { margin-left: auto; padding: 2px 10px; border-radius: 999px; background: #a95d00; color: #fff; font-style: normal; font-size: 12px; }
.rank-badge { position: absolute; top: 10px; left: 10px; padding: 6px 14px; border-radius: 999px; background: #a95d00; color: #fff; font-size: 14px; font-weight: 900; box-shadow: 0 6px 16px #0002; }

/* ===== SEO：想定ケースで見る SEO vs 広告 ===== */
.seo-vs__tag { display: inline-block; margin-left: 10px; padding: 2px 10px; border: 1px solid #a95d00; border-radius: 999px; color: #a95d00; font-size: 12px; font-weight: 700; vertical-align: middle; }
.seo-story { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; margin: 40px 0 0; padding: 0; list-style: none; }
.seo-story li { position: relative; padding: 24px 20px; background: #fff; border: 1px solid #e3ded3; border-radius: 14px; }
.seo-story li:not(:last-child)::after { content: "→"; position: absolute; right: -22px; top: 50%; transform: translateY(-50%); color: #a95d00; font-weight: 700; }
.seo-story li.is-goal { background: #fff7ea; border-color: #e7c48b; }
.seo-story__step { margin: 0 0 12px; font-size: 12px; font-weight: 700; color: #a95d00; }
.seo-story h3 { margin: 12px 0 8px; font-size: 17px; line-height: 1.6; }
.seo-story li > p:last-child { margin: 0; font-size: 13px; line-height: 1.9; color: #4b5260; }

.seo-funnel { margin: 48px 0 0; padding: 32px; background: #faf7f0; border-radius: 16px; }
.seo-funnel__title { margin: 0 0 20px; font-size: 18px; font-weight: 900; }
.seo-funnel ol { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.seo-funnel li { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: var(--w); min-width: 260px; padding: 14px 20px; background: #fff; border-left: 6px solid #d9b77a; border-radius: 8px; font-size: 13px; line-height: 1.6; }
.seo-funnel li.is-goal { border-left-color: #a95d00; background: #fff1dc; }
.seo-funnel b { flex-shrink: 0; font-family: Oswald, sans-serif; font-size: 28px; color: #1e2a44; }
.seo-funnel li.is-goal b { color: #a95d00; }
.seo-funnel b small { font-family: inherit; font-size: 13px; margin-left: 2px; }
.seo-funnel__note { margin: 16px 0 0; font-size: 12px; color: #626977; line-height: 1.9; }

.seo-vs { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 20px; margin: 48px 0 0; }
.seo-vs__mark { margin: 0; font: 700 32px Oswald, sans-serif; color: #c9c2b4; }
.seo-vs__card { height: 100%; padding: 28px; background: #fff; border: 2px solid #e3ded3; border-radius: 16px; }
.seo-vs__card--seo { border-color: #a95d00; }
.seo-vs__card--ads { border-color: #4b6286; }
.seo-vs__label { margin: 0 0 18px; font: 700 26px Oswald, sans-serif; color: #a95d00; }
.seo-vs__card--ads .seo-vs__label { color: #4b6286; }
.seo-vs__label small { display: block; font-family: inherit; font-size: 13px; color: #4b5260; }
.seo-vs dl { margin: 0; }
.seo-vs dl div { display: grid; grid-template-columns: 7.5em 1fr; gap: 12px; padding: 12px 0; border-top: 1px solid #ece8df; font-size: 14px; line-height: 1.8; }
.seo-vs dt { color: #626977; font-size: 12px; }
.seo-vs dd { margin: 0; }
.seo-vs dd strong { color: #1e2a44; background: linear-gradient(transparent 62%, #ffe2ad 62%); }
.seo-vs__card--ads dd strong { background: linear-gradient(transparent 62%, #dbe5f4 62%); }
.seo-vs__good { margin: 16px 0 0; padding: 12px 14px; background: #faf7f0; border-radius: 8px; font-size: 13px; font-weight: 700; }

.seo-chart { margin: 48px 0 0; padding: 28px; background: #fff; border: 1px solid #e3ded3; border-radius: 16px; }
.seo-chart figcaption { font-size: 16px; font-weight: 900; }
.seo-chart figcaption span { display: block; font-size: 12px; font-weight: 400; color: #626977; }
.seo-chart svg { display: block; width: 100%; height: auto; margin-top: 12px; }
.seo-chart__grid line { stroke: #ece8df; stroke-width: 1; }
.seo-chart__axis text { font-size: 12px; fill: #626977; }
.seo-chart__area { fill: #a95d00; opacity: .08; }
.seo-chart__seo, .seo-chart__ads { fill: none; stroke-width: 4; stroke-linejoin: round; stroke-linecap: round; }
.seo-chart__seo { stroke: #a95d00; }
.seo-chart__ads { stroke: #4b6286; stroke-dasharray: 10 7; }
.seo-chart__dot-seo { fill: #a95d00; }
.seo-chart__dot-ads { fill: #4b6286; }
.seo-chart__label { font-size: 14px; font-weight: 700; }
.seo-chart__label--seo { fill: #a95d00; }
.seo-chart__label--ads { fill: #4b6286; }
.seo-chart__legend { display: flex; gap: 20px; margin: 8px 0 0; padding: 0; list-style: none; font-size: 13px; }
.seo-chart__legend li::before { content: ""; display: inline-block; width: 22px; height: 4px; margin-right: 8px; vertical-align: middle; background: #a95d00; }
.seo-chart__legend li.is-ads::before { background: repeating-linear-gradient(90deg, #4b6286 0 6px, transparent 6px 10px); }

.seo-vs__answer { display: flex; align-items: center; gap: 24px; margin: 48px 0 0; padding: 28px 32px; background: #fff7ea; border-radius: 16px; }
.seo-vs__answer img { flex-shrink: 0; width: 110px; height: auto; }
.seo-vs__answer h3 { margin: 0 0 8px; font-size: 20px; }
.seo-vs__answer p { margin: 0; font-size: 14px; line-height: 2; }
.seo-vs__disclaimer { margin: 20px 0 0; font-size: 11px; line-height: 1.9; color: #6b7280; }

/* ===== MEO：メリット・データ・想定ケース ===== */
.meo-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin: 40px 0 0; }
.meo-stats article { display: flex; flex-direction: column; padding: 24px 20px; background: #fff; border-top: 4px solid #a95d00; border-radius: 4px 4px 14px 14px; box-shadow: 0 10px 28px #1e2a440d; }
.meo-stats__num { margin: 0; font: 700 48px/1.1 Oswald, sans-serif; color: #a95d00; }
.meo-stats__num small { font-size: 20px; margin-left: 2px; }
.meo-stats article > p:not(.meo-stats__num) { margin: 12px 0 14px; font-size: 13px; line-height: 1.9; }
.meo-stats a { margin-top: auto; font-size: 11px; color: #626977; }

.meo-case { margin: 48px 0 0; padding: 32px; background: #faf7f0; border-radius: 16px; }
.meo-case__title { margin: 0 0 20px; font-size: 18px; font-weight: 900; }
.meo-case__compare { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 20px; }
.meo-case__arrow { margin: 0; font-size: 28px; color: #a95d00; font-weight: 700; }
.meo-card { padding: 20px; background: #fff; border: 1px solid #e3ded3; border-radius: 14px; }
.meo-card--after { border: 2px solid #a95d00; }
.meo-card__tag { display: inline-block; margin: 0 0 12px; padding: 2px 12px; border-radius: 999px; background: #e8e5de; font-size: 12px; font-weight: 700; }
.meo-card--after .meo-card__tag { background: #a95d00; color: #fff; }
.meo-card__map { position: relative; height: 90px; border-radius: 10px; background: linear-gradient(90deg, #eef1ec 48%, #fff 48% 52%, #eef1ec 52%); }
.meo-card__pin { position: absolute; left: 50%; top: 50%; width: 18px; height: 18px; border-radius: 50% 50% 50% 0; background: #c0c4cb; transform: translate(-50%, -60%) rotate(-45deg); }
.meo-card__photos { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 4px; height: 90px; }
.meo-card__photos span { border-radius: 8px; background: linear-gradient(135deg, #e9c89a, #c98a3f); }
.meo-card__photos span:nth-child(2) { background: linear-gradient(135deg, #d8dfe7, #8fa1b8); }
.meo-card__photos span:nth-child(3) { background: linear-gradient(135deg, #e4dccd, #b29d7c); }
.meo-card__name { margin: 12px 0 2px; font-weight: 900; }
.meo-card__stars { margin: 0; color: #e0a100; font-size: 14px; }
.meo-card__stars small { color: #626977; font-size: 12px; margin-left: 4px; }
.meo-card ul { margin: 12px 0 0; padding: 0 0 0 1.2em; font-size: 13px; line-height: 1.9; }
.meo-card--before ul { color: #6b7280; }
.meo-card__result { margin: 12px 0 0; padding-top: 12px; border-top: 1px dashed #ddd6c8; font-size: 13px; font-weight: 700; }
.meo-card--after .meo-card__result { color: #a95d00; }

.meo-merits { display: grid; grid-template-columns: 1fr 1fr; gap: 0 48px; margin: 40px 0 0; padding: 0; list-style: none; }
.meo-merits li { display: flex; gap: 18px; padding: 22px 0; border-top: 1px solid #ded6c9; }
.meo-merits img { flex-shrink: 0; }
.meo-merits h3 { margin: 0 0 6px; font-size: 18px; }
.meo-merits p { margin: 0; font-size: 14px; line-height: 1.9; }

@media (max-width: 960px) {
  .seo-story { grid-template-columns: 1fr 1fr; }
  .seo-story li:nth-child(2)::after { display: none; }
  .meo-stats { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
  .seo-story { grid-template-columns: 1fr; gap: 26px; }
  .seo-story li:not(:last-child)::after, .seo-story li:nth-child(2)::after { display: block; content: "↓"; right: auto; left: 50%; top: auto; bottom: -24px; transform: translateX(-50%); }
  .seo-funnel, .meo-case { padding: 22px 16px; }
  .seo-funnel li { width: 100%; min-width: 0; }
  .seo-funnel b { font-size: 22px; }
  .seo-vs, .meo-case__compare { grid-template-columns: 1fr; }
  .seo-vs__mark, .meo-case__arrow { text-align: center; }
  .meo-case__arrow { transform: rotate(90deg); }
  .seo-vs__card { padding: 22px 18px; }
  .seo-vs dl div { grid-template-columns: 6.5em 1fr; }
  .seo-chart { padding: 20px 12px; }
  .seo-vs__answer { flex-direction: column; text-align: center; padding: 24px 18px; }
  .seo-vs__answer p { text-align: left; }
  .meo-stats { gap: 12px; }
  .meo-stats article { padding: 18px 14px; }
  .meo-stats__num { font-size: 36px; }
  .meo-merits { grid-template-columns: 1fr; }
}
