/* インバウンドマーケティング */
.marketing-title-line { display: block; }
.marketing-content { font-size: 18px; line-height: 1.9; }
.marketing-content h2 { font-size: 32px; line-height: 1.5; font-weight: 700; }
.marketing-content h3 { font-size: 22px; line-height: 1.6; font-weight: 600; }
.marketing-content p { margin: 20px 0 0; }
.marketing-introduction { margin: 0 auto 64px; }
.marketing-introduction > p:first-child { margin-top: 0; }
.marketing-introduction h2 { margin-top: 48px; }
.marketing-channels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
.marketing-channel { display: flex; flex-direction: column; min-width: 0; }
.marketing-channel img { width: 100%; height: 260px; object-fit: cover; border-radius: 8px; }
.marketing-channel h2 { margin-top: 24px; }
.marketing-channel h3 { margin-top: 8px; }
.marketing-callout { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 20px; padding: 20px 24px; background: #fff6ec; border-radius: 8px; margin-top: 24px; }
.marketing-callout strong { font-size: 28px; line-height: 1.5; color: var(--brand); }
.marketing-callout span { font-size: 14px; }
.marketing-social { margin-top: 80px; padding: 40px; background: #faf7f2; border-radius: 12px; }
.marketing-markets { display: grid; gap: 16px; margin-top: 28px; }
.marketing-market { display: grid; grid-template-columns: 220px minmax(0, 1fr); background: white; border-radius: 8px; overflow: hidden; }
.marketing-market-logo { display: flex; align-items: center; justify-content: center; padding: 28px; }
.marketing-market-logo img { display: block; width: auto; height: auto; max-width: 164px; max-height: 64px; object-fit: contain; }
.marketing-market-copy { padding: 28px 32px; min-width: 0; }
.marketing-market .marketing-market-name { margin: 0 0 4px; font-size: 16px; font-weight: 600; color: var(--brand-ink); }
.marketing-market p:not(.marketing-market-name) { margin-top: 12px; }
.marketing-editorial { margin-top: 64px; padding: 36px 40px; border-radius: 12px; background: #fff6ec; }

.marketing-analysis { margin: 80px auto 0; }
.marketing-journey { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; padding: 0; margin: 32px 0 0; }
.marketing-journey li { padding: 24px 16px; border-radius: 8px; background: #f7f7f5; text-align: center; font-weight: 600; }
body[data-page="marketing"] .contact-band h2 { max-width: 700px; }
body[data-page="marketing"] .contact-band-description { max-width: 680px; margin-top: 16px; font-size: 18px; line-height: 1.9; }
body[data-page="marketing"] .contact-band .button { white-space: normal; text-align: center; }
@media (max-width: 767px) {
 .marketing-content { font-size: 16px; }
 .marketing-content h2 { font-size: 26px; }
 .marketing-content h3 { font-size: 20px; }
 .marketing-introduction { margin-bottom: 40px; }
 .marketing-introduction h2 { margin-top: 32px; }
 .marketing-channels { grid-template-columns: minmax(0, 1fr); gap: 40px; }
 .marketing-channel img { height: 210px; }
 .marketing-callout { padding: 16px 20px; }
 .marketing-callout strong { font-size: 26px; }
 .marketing-social { margin-top: 48px; padding: 24px 16px; }
 .marketing-market { grid-template-columns: minmax(0, 1fr); }
 .marketing-market-logo { justify-content: flex-start; padding: 24px 20px 0; }
 .marketing-market-copy { padding: 20px; }
 .marketing-editorial { margin-top: 40px; padding: 24px; }
 .marketing-analysis { margin-top: 48px; }
 .marketing-journey { grid-template-columns: minmax(0, 1fr); gap: 8px; }
 .marketing-journey li { padding: 16px; }
 body[data-page="marketing"] .contact-band-description { font-size: 16px; }
}
