/* 展示会支援ページの本文専用CSS。HTML内の main id="main" と id="ai-follow-up" が必要です。 */
main#main:has(#ai-follow-up) { --navy:#101f36;--ink:#172941;--blue:#235aa0;--muted:#596878;--line:#dce2e9;--pale:#f2f5f8;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--ink);font-size:16px;line-height:1.9;background:white;overflow-wrap:anywhere }
main#main:has(#ai-follow-up) * { box-sizing:border-box }
main#main:has(#ai-follow-up) a { color:inherit;text-decoration:none }
main#main:has(#ai-follow-up) button { font:inherit }
main#main:has(#ai-follow-up) h1,
main#main:has(#ai-follow-up) h2,
main#main:has(#ai-follow-up) h3,
main#main:has(#ai-follow-up) p { margin:0 }
main#main:has(#ai-follow-up) h1,
main#main:has(#ai-follow-up) h2,
main#main:has(#ai-follow-up) h3 { font-weight:700;line-height:1.55 }
main#main:has(#ai-follow-up) a:focus-visible,
main#main:has(#ai-follow-up) button:focus-visible { outline:3px solid #428ddd;outline-offset:5px }
main#main:has(#ai-follow-up) .wrap { max-width:1240px;margin:auto;padding-left:48px;padding-right:48px }
main#main:has(#ai-follow-up) section[id] { scroll-margin-top:95px }
main#main:has(#ai-follow-up) .header { height:96px;padding:0 40px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:10 }
main#main:has(#ai-follow-up) .brand { font-family:Arial,sans-serif;font-size:30px;font-weight:800;letter-spacing:.045em;line-height:1.2;white-space:nowrap }
main#main:has(#ai-follow-up) .brand span { display:block;font-size:10px;letter-spacing:.18em;margin-top:7px }
main#main:has(#ai-follow-up) nav { display:flex;align-items:center;gap:25px;font-size:14px;font-weight:600 }
main#main:has(#ai-follow-up) .nav-cta { background:var(--navy);color:white;padding:15px 20px }
main#main:has(#ai-follow-up) .nav-cta span { margin-left:15px }
main#main:has(#ai-follow-up) .menu-toggle { display:none }
main#main:has(#ai-follow-up) .hero { background:linear-gradient(110deg,#fff 25%,#edf2f8 100%);padding:72px 0 0 }
main#main:has(#ai-follow-up) .hero-grid { display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center }
main#main:has(#ai-follow-up) .eyebrow { font-family:Arial,sans-serif;font-size:12px;font-weight:700;letter-spacing:.17em;color:var(--blue);margin-bottom:24px }
main#main:has(#ai-follow-up) h1 { font-size:clamp(32px,3.5vw,48px);letter-spacing:-.04em;line-height:1.6 }
main#main:has(#ai-follow-up) .accent { color:var(--blue) }
main#main:has(#ai-follow-up) .hero-lead { font-size:20px;font-weight:600;line-height:1.9;margin-top:25px }
main#main:has(#ai-follow-up) .muted { color:var(--muted);font-size:14px;margin-top:20px }
main#main:has(#ai-follow-up) .actions { display:flex;align-items:center;gap:25px;margin-top:32px }
main#main:has(#ai-follow-up) .button { display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:17px 23px;font-size:15px;font-weight:600;transition:background .2s,transform .2s;min-height:56px }
main#main:has(#ai-follow-up) .button:hover { transform:translateY(-2px) }
main#main:has(#ai-follow-up) .primary { background:var(--navy);color:white }
main#main:has(#ai-follow-up) .primary:hover { background:var(--blue) }
main#main:has(#ai-follow-up) .text-link { display:inline-flex;align-items:center;gap:20px;font-size:14px;font-weight:600;border-bottom:1px solid #9ca9b7;padding:7px 0 }
main#main:has(#ai-follow-up) .hero-note { font-size:12px;color:var(--muted);margin-top:16px }
main#main:has(#ai-follow-up) .hero-map { background:var(--navy);color:white;padding:26px 30px 0;box-shadow:18px 20px 0 #dfe6ee }
main#main:has(#ai-follow-up) .map-top { display:flex;justify-content:space-between;gap:10px;font-size:9px;letter-spacing:.13em;color:#a5bad2;padding-bottom:10px }
main#main:has(#ai-follow-up) .map-row { display:flex;gap:26px;align-items:center;padding:22px 0;border-bottom:1px solid #35445a }
main#main:has(#ai-follow-up) .map-number { font-family:Georgia,serif;font-size:45px;color:#8eacca;line-height:1 }
main#main:has(#ai-follow-up) .map-row small { font-size:10px;letter-spacing:.2em;color:#aac0d9 }
main#main:has(#ai-follow-up) .map-row h2 { font-size:24px;margin:3px 0 }
main#main:has(#ai-follow-up) .map-row p { font-size:12px;color:#c0cddd }
main#main:has(#ai-follow-up) .map-base { padding:20px 0;display:flex;justify-content:space-between;gap:16px;align-items:center }
main#main:has(#ai-follow-up) .map-base span { font-size:11px;letter-spacing:.08em }
main#main:has(#ai-follow-up) .map-base p { font-size:12px;color:#c0cddd }
main#main:has(#ai-follow-up) .hero-bottom { margin-top:66px;display:flex;gap:40px;border-top:1px solid var(--line);padding-top:22px;padding-bottom:22px;font-size:13px;font-weight:600 }
main#main:has(#ai-follow-up) .hero-bottom span+span { border-left:1px solid #b8c6d6;padding-left:40px }
main#main:has(#ai-follow-up) .section { padding-top:100px;padding-bottom:100px }
main#main:has(#ai-follow-up) .section-heading { display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:45px }
main#main:has(#ai-follow-up) h2 { font-size:34px;letter-spacing:-.025em }
main#main:has(#ai-follow-up) .section-heading>p { color:var(--muted);font-size:15px;max-width:490px }
main#main:has(#ai-follow-up) .section-heading .eyebrow { margin-bottom:18px }
main#main:has(#ai-follow-up) .service-grid { display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line) }
main#main:has(#ai-follow-up) .service { padding:30px 30px 0 0 }
main#main:has(#ai-follow-up) .service+.service { border-left:1px solid var(--line);padding-left:30px }
main#main:has(#ai-follow-up) .service:last-child { padding-right:0 }
main#main:has(#ai-follow-up) .index { color:#7c92ad;font-family:Georgia,serif;font-size:36px }
main#main:has(#ai-follow-up) h3 { font-size:21px;margin-bottom:16px }
main#main:has(#ai-follow-up) .service h3 { margin-top:14px }
main#main:has(#ai-follow-up) .service p,
main#main:has(#ai-follow-up) .service li { font-size:15px }
main#main:has(#ai-follow-up) .service p { color:var(--muted) }
main#main:has(#ai-follow-up) ul { padding-left:1.3em;margin:22px 0 0 }
main#main:has(#ai-follow-up) li::marker { color:var(--blue) }
main#main:has(#ai-follow-up) .flow-section { background:var(--pale);padding:65px 0 }
main#main:has(#ai-follow-up) .sales-flow { padding:0;list-style:none;display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin:0 }
main#main:has(#ai-follow-up) .sales-flow li { background:white;padding:16px 13px;border-top:2px solid var(--blue);position:relative }
main#main:has(#ai-follow-up) .sales-flow li:not(:last-child):after { content:'›';position:absolute;right:-10px;top:50%;z-index:1;color:var(--blue);font-size:22px }
main#main:has(#ai-follow-up) .sales-flow span { font-family:Georgia,serif;color:#8295ab;font-size:25px }
main#main:has(#ai-follow-up) .sales-flow h3 { font-size:15px;margin:12px 0 8px }
main#main:has(#ai-follow-up) .sales-flow p { font-size:12px;color:var(--muted) }
main#main:has(#ai-follow-up) .flow-note { font-size:13px;margin-top:20px;color:var(--muted) }
main#main:has(#ai-follow-up) .exhibition-grid { display:grid;grid-template-columns:1fr 1.15fr;gap:85px }
main#main:has(#ai-follow-up) .exhibition h2 { font-size:38px }
main#main:has(#ai-follow-up) .lead { font-size:21px;font-weight:600;margin:25px 0 15px }
main#main:has(#ai-follow-up) .exhibition p:not(.eyebrow):not(.lead) { color:var(--muted);font-size:15px }
main#main:has(#ai-follow-up) .outline { border:1px solid var(--navy);margin-top:32px }
main#main:has(#ai-follow-up) .exhibition-steps article { display:flex;gap:22px;padding:20px 0;border-bottom:1px solid var(--line) }
main#main:has(#ai-follow-up) .exhibition-steps article:first-child { padding-top:0 }
main#main:has(#ai-follow-up) .exhibition-steps article>span { font-family:Georgia,serif;font-size:25px;color:var(--blue) }
main#main:has(#ai-follow-up) .exhibition-steps h3 { font-size:18px;margin-bottom:6px }
main#main:has(#ai-follow-up) .exhibition-steps .data-note { background:var(--pale);padding:18px;margin-top:20px;font-size:12px!important }
main#main:has(#ai-follow-up) .it-section { background:var(--navy);color:white }
main#main:has(#ai-follow-up) .it-section .eyebrow { color:#9fbcdc }
main#main:has(#ai-follow-up) .it-section .section-heading>p { color:#bbc8d7 }
main#main:has(#ai-follow-up) .it-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-bottom:30px }
main#main:has(#ai-follow-up) .it-grid article { border-top:1px solid #4b5b70;padding-top:25px }
main#main:has(#ai-follow-up) .it-grid span,
main#main:has(#ai-follow-up) .strength-grid span { font-size:11px;letter-spacing:.1em;color:#a5b9d0 }
main#main:has(#ai-follow-up) .it-grid h3 { font-size:20px;margin:15px 0 }
main#main:has(#ai-follow-up) .it-grid p { font-size:14px;color:#c1cedd }
main#main:has(#ai-follow-up) .strength-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:40px }
main#main:has(#ai-follow-up) .strength-grid span { color:var(--blue) }
main#main:has(#ai-follow-up) .strength-grid h3 { margin-top:16px }
main#main:has(#ai-follow-up) .strength-grid p { font-size:15px;color:var(--muted) }
main#main:has(#ai-follow-up) .company-bar { display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:50px;padding:30px;background:var(--pale) }
main#main:has(#ai-follow-up) .company-bar small { display:block;color:var(--blue);font-size:10px;letter-spacing:.1em }
main#main:has(#ai-follow-up) .company-bar strong { font-size:20px }
main#main:has(#ai-follow-up) .company-bar p { font-size:14px;color:var(--muted) }
main#main:has(#ai-follow-up) .pricing-section { background:var(--pale) }
main#main:has(#ai-follow-up) .price-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:20px }
main#main:has(#ai-follow-up) .price-grid article { background:white;padding:30px;border:1px solid var(--line);display:flex;flex-direction:column }
main#main:has(#ai-follow-up) .price-grid .featured { border-top:3px solid var(--blue) }
main#main:has(#ai-follow-up) .plan-label { font-size:12px;color:var(--blue);margin-bottom:12px }
main#main:has(#ai-follow-up) .price-grid h3 { font-size:21px }
main#main:has(#ai-follow-up) .price-grid article>p:not(.plan-label) { font-size:14px;color:var(--muted);margin-bottom:25px }
main#main:has(#ai-follow-up) .price-grid strong { font-size:23px;padding-top:20px;border-top:1px solid var(--line);margin-top:auto }
main#main:has(#ai-follow-up) .price-grid small { font-size:12px;color:var(--muted);margin-top:7px }
main#main:has(#ai-follow-up) .price-note { font-size:13px;color:var(--muted);margin-top:24px;max-width:970px }
main#main:has(#ai-follow-up) .start-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:35px }
main#main:has(#ai-follow-up) .start-grid article { border-top:1px solid var(--line);padding-top:20px }
main#main:has(#ai-follow-up) .start-grid span { font-size:14px;color:var(--blue) }
main#main:has(#ai-follow-up) .start-grid h3 { margin:10px 0 }
main#main:has(#ai-follow-up) .start-grid p { font-size:15px;color:var(--muted) }
main#main:has(#ai-follow-up) .contact-section { background:var(--navy);color:white;padding:80px 0 }
main#main:has(#ai-follow-up) .contact-grid { display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center }
main#main:has(#ai-follow-up) .contact-section .eyebrow { color:#abc3df }
main#main:has(#ai-follow-up) .contact-section h2 { font-size:36px }
main#main:has(#ai-follow-up) .contact-section p { font-size:15px;color:#bccbdd;margin-top:22px }
main#main:has(#ai-follow-up) .contact-panel { border-left:1px solid #46556a;padding-left:45px }
main#main:has(#ai-follow-up) .contact-panel h3 { font-size:22px;margin-bottom:8px }
main#main:has(#ai-follow-up) .contact-panel p { margin-top:0 }
main#main:has(#ai-follow-up) .light { background:white;color:var(--navy);width:100%;margin:25px 0 }
main#main:has(#ai-follow-up) .contact-guide { font-size:13px;color:#c4d1e1 }
main#main:has(#ai-follow-up) .contact-guide ul { margin-top:8px }
main#main:has(#ai-follow-up) .contact-guide li::marker { color:#a6c1e0 }
main#main:has(#ai-follow-up) .footer { padding-top:45px;padding-bottom:35px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:25px }
main#main:has(#ai-follow-up) .footer p { font-size:12px;margin-top:16px;color:var(--muted) }
main#main:has(#ai-follow-up) .footer-links { display:flex;gap:25px;font-size:13px }
main#main:has(#ai-follow-up) .footer>small { flex-basis:100%;font-size:11px;color:#687789;border-top:1px solid var(--line);padding-top:24px }
main#main:has(#ai-follow-up) .mobile-cta { display:none }
main#main:has(#ai-follow-up) .skip { position:absolute;top:-100px;left:10px;background:white;padding:10px;z-index:99 }
main#main:has(#ai-follow-up) .skip:focus { top:10px }
@media(max-width:1100px) {
main#main:has(#ai-follow-up) .header { padding:0 25px }
main#main:has(#ai-follow-up) nav { gap:15px;font-size:12px }
main#main:has(#ai-follow-up) .hero-grid { gap:30px }
main#main:has(#ai-follow-up) .wrap { padding-left:32px;padding-right:32px }
main#main:has(#ai-follow-up) .hero-map { padding:22px 23px 0 }
main#main:has(#ai-follow-up) .map-row { gap:18px }
main#main:has(#ai-follow-up) .sales-flow { grid-template-columns:repeat(4,1fr);gap:16px }
main#main:has(#ai-follow-up) .sales-flow li:after { display:none }
main#main:has(#ai-follow-up) .it-grid { grid-template-columns:repeat(2,1fr) }
main#main:has(#ai-follow-up) .exhibition-grid { gap:45px }
}
@media(max-width:800px) {
main#main:has(#ai-follow-up) .header { height:78px }
main#main:has(#ai-follow-up) .brand { font-size:26px }
main#main:has(#ai-follow-up) .brand span { font-size:9px }
main#main:has(#ai-follow-up) .menu-toggle { display:flex;gap:12px;align-items:center;background:white;border:1px solid var(--line);padding:8px 12px;font-size:14px;color:var(--navy) }
main#main:has(#ai-follow-up) nav { display:none;position:absolute;top:78px;left:0;right:0;background:white;padding:22px;box-shadow:0 12px 15px #10203915;font-size:16px }
main#main:has(#ai-follow-up) nav.open { display:grid;gap:0 }
main#main:has(#ai-follow-up) nav a { padding:12px }
main#main:has(#ai-follow-up) .hero { padding-top:45px }
main#main:has(#ai-follow-up) .hero-grid { grid-template-columns:1fr;gap:35px }
main#main:has(#ai-follow-up) .hero-copy { max-width:650px }
main#main:has(#ai-follow-up) h1 { font-size:42px }
main#main:has(#ai-follow-up) .hero-map { max-width:600px;width:100%;box-shadow:10px 10px 0 #dfe6ee }
main#main:has(#ai-follow-up) .map-row { padding:17px 0 }
main#main:has(#ai-follow-up) .map-row h2 { font-size:22px }
main#main:has(#ai-follow-up) .hero-bottom { margin-top:40px;gap:20px }
main#main:has(#ai-follow-up) .hero-bottom span+span { padding-left:20px }
main#main:has(#ai-follow-up) .section { padding-top:65px;padding-bottom:65px }
main#main:has(#ai-follow-up) .section-heading { display:block;margin-bottom:30px }
main#main:has(#ai-follow-up) .section-heading>p { margin-top:22px }
main#main:has(#ai-follow-up) .service-grid,
main#main:has(#ai-follow-up) .price-grid { grid-template-columns:1fr }
main#main:has(#ai-follow-up) .service { padding:24px 0 }
main#main:has(#ai-follow-up) .service+.service { border-left:0;border-top:1px solid var(--line);padding:24px 0 }
main#main:has(#ai-follow-up) .service h3 { margin-top:5px }
main#main:has(#ai-follow-up) .service ul { margin-top:12px }
main#main:has(#ai-follow-up) .exhibition-grid,
main#main:has(#ai-follow-up) .contact-grid { grid-template-columns:1fr;gap:35px }
main#main:has(#ai-follow-up) .exhibition h2 { font-size:32px }
main#main:has(#ai-follow-up) .strength-grid { grid-template-columns:1fr;gap:30px }
main#main:has(#ai-follow-up) .company-bar { flex-wrap:wrap }
main#main:has(#ai-follow-up) .start-grid { gap:25px }
main#main:has(#ai-follow-up) .contact-panel { border-left:0;border-top:1px solid #46556a;padding:30px 0 0 }
main#main:has(#ai-follow-up) .footer-links { flex-wrap:wrap }
main#main:has(#ai-follow-up) .mobile-cta { display:flex;position:fixed;bottom:12px;left:16px;right:16px;background:var(--navy);color:white;z-index:20;justify-content:space-between;padding:15px 22px;font-size:14px;box-shadow:0 3px 18px #0003;border:1px solid #57708f }
main#main:has(#ai-follow-up) .footer { padding-bottom:100px }
}
@media(max-width:480px) {
main#main:has(#ai-follow-up) .wrap { padding-left:23px;padding-right:23px }
main#main:has(#ai-follow-up) .header { padding:0 20px }
main#main:has(#ai-follow-up) h1 { font-size:32px }
main#main:has(#ai-follow-up) h2 { font-size:28px }
main#main:has(#ai-follow-up) .hero-lead { font-size:17px }
main#main:has(#ai-follow-up) .eyebrow { font-size:11px }
main#main:has(#ai-follow-up) .actions { align-items:flex-start;flex-direction:column;gap:12px }
main#main:has(#ai-follow-up) .actions .button { width:100% }
main#main:has(#ai-follow-up) .hero-bottom { gap:9px;font-size:10px }
main#main:has(#ai-follow-up) .hero-bottom span+span { padding-left:9px }
main#main:has(#ai-follow-up) .map-top { font-size:8px }
main#main:has(#ai-follow-up) .map-row p { font-size:11px }
main#main:has(#ai-follow-up) .map-base { display:block }
main#main:has(#ai-follow-up) .map-base p { margin-top:5px }
main#main:has(#ai-follow-up) .sales-flow { grid-template-columns:repeat(2,1fr) }
main#main:has(#ai-follow-up) .sales-flow li:last-child { grid-column:1/-1 }
main#main:has(#ai-follow-up) .it-grid,
main#main:has(#ai-follow-up) .start-grid { grid-template-columns:1fr }
main#main:has(#ai-follow-up) .company-bar { padding:22px;gap:15px }
main#main:has(#ai-follow-up) .contact-section h2 { font-size:30px }
main#main:has(#ai-follow-up) .contact-section { padding:60px 0 }
main#main:has(#ai-follow-up) .desktop { display:none }
main#main:has(#ai-follow-up) .footer-links { gap:14px }
main#main:has(#ai-follow-up) .button { gap:15px;font-size:14px }
}
@media(prefers-reduced-motion:reduce) {
main#main:has(#ai-follow-up) * { transition:none!important;scroll-behavior:auto!important }
}
main#main:has(#ai-follow-up) .staff-section { background:#f7f9fb;border-top:1px solid var(--line) }
main#main:has(#ai-follow-up) .staff-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px }
main#main:has(#ai-follow-up) .staff-card { background:white;border:1px solid var(--line) }
main#main:has(#ai-follow-up) .staff-card figure { margin:0;position:relative;background:#e8edf2 }
main#main:has(#ai-follow-up) .staff-card img { display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover }
main#main:has(#ai-follow-up) .staff-card figcaption { position:absolute;bottom:10px;right:10px;background:#ffffffed;color:#43546b;padding:3px 9px;font-size:12px }
main#main:has(#ai-follow-up) .staff-info { padding:24px 20px }
main#main:has(#ai-follow-up) .staff-info h3 { font-size:23px;margin:0 0 20px }
main#main:has(#ai-follow-up) .staff-info dl { margin:0 }
main#main:has(#ai-follow-up) .staff-info dt { font-size:13px;font-weight:700;color:var(--blue);margin-top:16px }
main#main:has(#ai-follow-up) .staff-info dd { font-size:15px;margin:5px 0 0;line-height:1.85 }
main#main:has(#ai-follow-up) .staff-note { font-size:13px;color:var(--muted);margin:24px 0 15px }
@media(min-width:801px) {
main#main:has(#ai-follow-up) nav { gap:16px;font-size:13px }
main#main:has(#ai-follow-up) .header { padding-left:26px;padding-right:26px }
}
@media(max-width:1050px) {
main#main:has(#ai-follow-up) .staff-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
}
@media(max-width:800px) {
main#main:has(#ai-follow-up) nav { font-size:16px }
}
@media(max-width:480px) {
main#main:has(#ai-follow-up) .staff-grid { grid-template-columns:1fr;gap:24px }
main#main:has(#ai-follow-up) .staff-info { padding:24px }
main#main:has(#ai-follow-up) .staff-card img { aspect-ratio:1.15/1;object-position:center 35% }
}
@media(min-width:801px) and (max-width:1100px) {
main#main:has(#ai-follow-up) .header { height:auto;min-height:96px;flex-wrap:wrap;padding-top:18px;padding-bottom:18px;gap:18px }
main#main:has(#ai-follow-up) nav { flex-wrap:wrap }
}
main#main:has(#ai-follow-up) .profile-draft { display:inline-block;margin-left:8px;padding:0 6px;background:#edf1f5;color:#5c6878;font-size:12px;font-weight:400;vertical-align:middle }
main#main:has(#ai-follow-up) .staff-card img[src*="shimada-official"] { object-fit:contain;aspect-ratio:1/1;padding:12px;background:#eef2f6 }
main#main:has(#ai-follow-up) .page-hero { background:var(--pale);padding:35px 0 62px;border-bottom:1px solid var(--line) }
main#main:has(#ai-follow-up) .breadcrumb { font-size:13px;color:var(--muted);margin-bottom:35px }
main#main:has(#ai-follow-up) .page-hero h1 { font-size:36px;line-height:1.5 }
main#main:has(#ai-follow-up) .page-content { max-width:1100px;padding-top:65px;padding-bottom:85px }
main#main:has(#ai-follow-up) .page-content p { margin:0 0 24px;line-height:2 }
main#main:has(#ai-follow-up) .page-content h2 { font-size:27px;border-left:4px solid var(--blue);padding-left:18px;margin:45px 0 22px }
main#main:has(#ai-follow-up) .page-content h3 { margin:30px 0 15px }
main#main:has(#ai-follow-up) .page-content img { max-width:100%;height:auto;display:block;margin:25px auto }
main#main:has(#ai-follow-up) .page-content table { width:100%;border-collapse:collapse;margin-bottom:45px }
main#main:has(#ai-follow-up) .page-content td,
main#main:has(#ai-follow-up) .page-content th { padding:20px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top }
main#main:has(#ai-follow-up) .page-content td:first-child { width:25%;font-weight:600;background:var(--pale) }
main#main:has(#ai-follow-up) .page-content blockquote { margin:0;padding:0 }
main#main:has(#ai-follow-up) .page-content a:not(.button):not(.page-card) { color:var(--blue);text-decoration:underline }
main#main:has(#ai-follow-up) .page-cards { display:grid;grid-template-columns:1fr 1fr;gap:24px }
main#main:has(#ai-follow-up) .page-card { border:1px solid var(--line);padding:30px;display:block }
main#main:has(#ai-follow-up) .page-card:hover { background:var(--pale) }
main#main:has(#ai-follow-up) .page-card>span { color:var(--blue) }
main#main:has(#ai-follow-up) .page-card h2 { font-size:23px;border:0;padding:0;margin:15px 0 }
main#main:has(#ai-follow-up) .contact-box { max-width:760px;margin:auto }
main#main:has(#ai-follow-up) .contact-box .button { margin:10px 0 20px }
main#main:has(#ai-follow-up) .footer-links { display:grid;grid-template-columns:repeat(3,1fr);gap:15px 25px;flex-basis:100% }
main#main:has(#ai-follow-up) .page-sections .wrap { max-width:1240px }
@media(max-width:600px) {
main#main:has(#ai-follow-up) .page-hero h1 { font-size:28px }
main#main:has(#ai-follow-up) .page-content { padding-top:35px;padding-bottom:50px }
main#main:has(#ai-follow-up) .page-content td,
main#main:has(#ai-follow-up) .page-content th { padding:12px;font-size:14px }
main#main:has(#ai-follow-up) .page-cards { grid-template-columns:1fr }
main#main:has(#ai-follow-up) .footer-links { grid-template-columns:1fr 1fr }
main#main:has(#ai-follow-up) .page-content h2 { font-size:23px }
}
main#main:has(#ai-follow-up) .page-content th { width:25%;background:var(--pale) }
main#main:has(#ai-follow-up) { margin:0 }
main#main:has(#ai-follow-up) .preview-lead { font-size:18px;line-height:1.9;margin:24px 0 30px }
main#main:has(#ai-follow-up) .preview-cards { display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:32px }
main#main:has(#ai-follow-up) .preview-cards article { padding:28px;border:1px solid #dce3ec;background:white }
main#main:has(#ai-follow-up) .preview-cards span { color:#376393;font-weight:bold }
main#main:has(#ai-follow-up) .preview-cards h3 { font-size:21px }
main#main:has(#ai-follow-up) .preview-cards p { line-height:1.9 }
main#main:has(#ai-follow-up) .preview-plan { background:#f2f5f9 }
main#main:has(#ai-follow-up) .preview-contact { background:#112238;color:white }
main#main:has(#ai-follow-up) .preview-contact h2 { color:white }
main#main:has(#ai-follow-up) .preview-contact .data-note { color:#ced9e5 }
main#main:has(#ai-follow-up) details { padding:24px 0;border-bottom:1px solid #dce3ec }
main#main:has(#ai-follow-up) summary { cursor:pointer;font-weight:bold;font-size:18px }
main#main:has(#ai-follow-up) details p { line-height:1.9 }
main#main:has(#ai-follow-up) .preview-banner { text-align:center;padding:9px;background:#e7edf5;color:#294c75;font-size:12px }
@media(max-width:760px) {
main#main:has(#ai-follow-up) .preview-cards { grid-template-columns:1fr }
main#main:has(#ai-follow-up) .page-hero h1 { font-size:32px }
main#main:has(#ai-follow-up) .preview-lead { font-size:16px }
}
main#main:has(#ai-follow-up) .ai-subtitle { margin-top:40px }
main#main:has(#ai-follow-up) .priority-grid,
main#main:has(#ai-follow-up) .quote-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0 }
main#main:has(#ai-follow-up) .priority-grid article,
main#main:has(#ai-follow-up) .quote-grid article { padding:24px;border:1px solid #dce3ec;background:#f8fafc }
main#main:has(#ai-follow-up) .priority-grid strong,
main#main:has(#ai-follow-up) .quote-grid span { color:#315f8d }
main#main:has(#ai-follow-up) .priority-grid p,
main#main:has(#ai-follow-up) .quote-grid p { line-height:1.8 }
main#main:has(#ai-follow-up) .quote-grid article { background:white }
@media(max-width:760px) {
main#main:has(#ai-follow-up) .priority-grid,
main#main:has(#ai-follow-up) .quote-grid { grid-template-columns:1fr }
}
/* 展示会支援の本文があるページだけ、上部の重複した帯を非表示 */
main:has(> .page-content #ai-follow-up) > .page-hero,
main:has(> .page-sections #ai-follow-up) > .page-hero {
  display: none;
}

/* テーマ側の本文幅と余白の制限を解除 */
.es-site .page-content.wrap:has(#ai-follow-up) {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}