
/* ページルート。色・寸法・レイアウトの定義はこの1ブロックへ集約する（旧版は2箇所に分かれていた） */
    .afm-page{
      /* 配色 */
      --navy:#1d2088;--navy2:#001379;--navy3:#1f3591;--pink:#e4007f;
      --sky:#00a0e9;--grey:#ededf3;--lav:#d2cde6;--ink:#1d2088;
      --sub:#555b93;--line:#d9d9ec;--white:#fff;--soft:#f7f7fb;

      /* --afm-header-h ＝「共通ヘッダー本体＋ヘッダー下の帯（.l-header::before）」の合計。
         サブヘッダーを置く位置とページ上部の余白の基準になる。
         15.8rem は共通テーマの実寸（ヘッダー10rem＋帯5.8rem）に合わせた初期表示用の値で、
         読み込み後はJavaScriptが実測値（px）で上書きする。 */
      --afm-header-h:15.8rem;
      --afm-header-noise-h:5.8rem;
      --afm-local-header-top:var(--afm-header-h,15.8rem);
      --afm-local-header-h:0px;
      --afm-anchor-offset:calc(var(--afm-local-header-top) + var(--afm-local-header-h));

      /* 相談フォームiframeの高さ。実フォームの実高さに合わせてこの2つだけを直す。
         フォーム側から高さ通知（postMessage）が届いた場合はJavaScriptが上書きする。 */
      --afm-form-h:900px;

      position:relative;z-index:0;isolation:isolate;display:block;
      width:100%;max-width:100%;margin:0;padding-top:var(--afm-header-h);overflow-x:clip;
      color:var(--ink);background:#fff;
      font-family:YakuHanJP,"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
      font-weight:500;line-height:1.75;letter-spacing:.08em;
    }
    .afm-page,.afm-page *{box-sizing:border-box}
    :where(.afm-page) img{display:block;max-width:100%;height:auto}
    :where(.afm-page) button,:where(.afm-page) a{font:inherit}
    :where(.afm-page) button{color:inherit}
    :where(.afm-page) a{color:inherit;text-decoration:none}
    :where(.afm-page) :focus-visible{outline:3px solid var(--sky);outline-offset:4px}
    .afm-u-visuallyhidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
    .afm-l-container{width:min(1200px,calc(100% - 48px));margin:0 auto}
    .afm-c-section{padding:112px 0;position:relative;overflow:hidden}
    .afm-c-section.afm-_grey{background:var(--grey)}
    .afm-c-heading{text-align:center;margin-bottom:48px}
    .afm-c-heading__en{margin:0 0 6px;color:var(--pink);font-family:Arial,sans-serif;font-size:15px;font-weight:700;letter-spacing:.18em}
    .afm-c-heading__ttl{margin:0;font-size:36px;line-height:1.5;letter-spacing:.11em}
    .afm-c-heading__line{display:block;width:49px;height:4px;margin:22px auto 0;background:var(--navy)}
    .afm-c-lead{max-width:850px;margin:0 auto 44px;text-align:center;font-size:16px;line-height:2}
    .afm-c-btn{display:inline-flex;align-items:center;justify-content:center;min-height:60px;padding:14px 28px;border:2px solid var(--navy);border-radius:999px;background:var(--navy);color:#fff;font-size:15px;font-weight:700;line-height:1.45;letter-spacing:.06em;transition:.325s cubic-bezier(.25,.25,.75,.75)}
    .afm-c-btn:hover{border-color:var(--pink);background:var(--pink)}
    .afm-c-btn::after{content:"";width:11px;height:13px;margin-left:14px;background:currentColor;clip-path:polygon(0 0,100% 50%,0 100%)}
    /* 共通サイトのa:hoverより優先し、FV／ページ内ヘッダーCTAの文字と矢印を常に白で保つ */
    .afm-page :is(.afm-l-localNav__cta,.afm-p-mv__actions) .afm-c-btn:is(:link,:visited,:hover,:focus-visible,:active),
    .afm-page .afm-l-header__spCta:is(:link,:visited,:hover,:focus-visible,:active){color:#fff}
    .afm-c-textLink{display:inline-flex;align-items:center;gap:9px;border-bottom:2px solid var(--navy);padding:8px 0 5px;font-weight:700;transition:.2s}
    .afm-c-textLink:hover{color:var(--pink);border-color:var(--pink)}
    .afm-c-textLink::after{content:"↗";font-size:15px}
    .afm-c-tagList{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
    .afm-c-tag{padding:7px 13px 8px;border-radius:999px;background:var(--grey);font-size:12px;font-weight:700;line-height:1}
    .afm-p-underline{background:linear-gradient(transparent 80%,var(--lav) 80%)}

    /* LP用1段ヘッダー */
    .afm-l-header{background:#fff;box-shadow:0 1px 0 rgba(29,32,136,.12)}
    .afm-l-localNav{position:relative;width:min(1400px,calc(100% - 32px));min-height:78px;margin:auto;display:flex;align-items:center;gap:24px}
    .afm-l-localNav__name{flex:0 0 245px;margin:0;font-size:14px;font-weight:700;line-height:1.45;letter-spacing:.04em}
    .afm-l-localNav__list{display:flex;align-items:center;justify-content:center;gap:20px;flex:1;margin:0;padding:0;list-style:none}
    .afm-l-localNav__list a{font-size:12px;font-weight:700;white-space:nowrap}
    .afm-l-localNav__list a:hover{color:var(--pink)}
    .afm-l-localNav__cta{flex:0 0 342px}
    .afm-l-localNav__cta .afm-c-btn{width:100%;min-height:56px;padding:9px 18px;font-size:12px;line-height:1.45;text-align:center}
    .afm-l-header__spCta{display:none}

    /* S-01：Hero */
    .afm-p-mv{position:relative;overflow:hidden;background:linear-gradient(145deg,#fff 15%,#f0f3fb 100%)}
    .afm-p-mv::before,.afm-p-mv::after{content:"";position:absolute;border-radius:50%;pointer-events:none}
    .afm-p-mv::before{width:280px;height:280px;right:-90px;top:-90px;background:rgba(0,160,233,.09)}
    .afm-p-mv::after{width:160px;height:160px;left:-70px;bottom:30px;background:rgba(228,0,127,.08)}
    .afm-p-mv__inner{width:min(1400px,calc(100% - 48px));min-height:760px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(480px,620px);gap:54px;align-items:center;padding:72px 0 68px}
    .afm-p-mv h1{margin:0;font-size:50px;line-height:1.36;letter-spacing:.05em}
    .afm-p-mv__description{max-width:680px;margin:28px 0 0;font-size:17px;line-height:2}
    .afm-p-mv__products{margin-top:26px}
    .afm-p-mv__actions{margin-top:30px}
    .afm-p-mv__actions .afm-c-btn{min-width:min(440px,100%);text-align:center}
    .afm-p-mv__award{display:grid;grid-template-columns:58px 1fr;gap:15px;align-items:center;max-width:555px;margin-top:24px;padding:15px 19px;border:1px solid rgba(29,32,136,.25);border-radius:12px;background:rgba(255,255,255,.84);box-shadow:0 8px 24px rgba(29,32,136,.06)}
    .afm-p-mv__awardIcon{width:54px;height:54px;object-fit:contain}
    .afm-p-mv__award p{margin:0}
    .afm-p-mv__award strong{display:block;font-size:12px;line-height:1.55}
    .afm-p-mv__award span{display:block;margin-top:2px;color:var(--navy);font-size:12px;font-weight:700;line-height:1.55;letter-spacing:.02em}
    .afm-p-mv__visual{position:relative}
    .afm-p-mv__circle{display:block;overflow:hidden;border-radius:50%;box-shadow:0 24px 60px rgba(29,32,136,.13)}
    .afm-p-mv__circle img{width:100%;aspect-ratio:1;object-fit:cover;object-position:center}
    .afm-p-mv__geo{position:absolute;z-index:-1}
    .afm-p-mv__geo.afm-_a{width:75px;height:75px;right:-12px;top:40px;border-radius:50%;border:16px solid var(--pink)}
    .afm-p-mv__geo.afm-_b{width:62px;height:62px;left:-18px;bottom:58px;background:var(--sky);clip-path:polygon(0 0,100% 100%,0 100%)}

    /* S-02：課題 */
    .afm-p-challengeGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
    .afm-p-challenge{position:relative;padding:34px 28px 30px;border:1px solid var(--line);border-radius:18px;background:#fff}
    .afm-p-challenge__num{position:absolute;right:20px;top:15px;color:var(--lav);font-family:Arial,sans-serif;font-size:34px;font-weight:700;letter-spacing:0}
    .afm-p-challenge__icon{width:82px;height:82px;margin:0 auto 19px}
    .afm-p-challenge__label{text-align:center;color:var(--pink);font-family:Arial,sans-serif;font-size:13px;font-weight:700;letter-spacing:.16em}
    .afm-p-challenge h3{margin:8px 0 18px;text-align:center;font-size:19px;line-height:1.65}
    .afm-p-challenge ul{margin:0;padding:18px 0 0;border-top:1px dashed var(--line);list-style:none}
    .afm-p-challenge li{position:relative;padding-left:19px;color:var(--sub);font-size:14px;line-height:1.8}
    .afm-p-challenge li+li{margin-top:10px}
    .afm-p-challenge li::before{content:"";position:absolute;left:0;top:.68em;width:9px;height:9px;border-radius:50%;background:var(--pink)}

    /* S-05：選ばれる理由 */
    .afm-p-reasonBody{display:grid;grid-template-columns:minmax(360px,640px) minmax(0,1fr);gap:70px;align-items:center}
    .afm-p-reasonVisual{padding:28px;border-radius:18px;background:#fff}
    .afm-p-reasonVisual,.afm-p-reasonDiagram{min-width:0}
    .afm-p-reasonTitleBreak{display:inline}
    .afm-p-reasonDiagram{position:relative}
    .afm-p-reasonDiagram__data{position:absolute;left:9%;top:59.2%;width:21%;height:6.9%;display:grid;place-items:center;border-radius:999px;background:#1d2088;color:#fff;font-size:clamp(12px,1.35vw,19px);font-weight:700;line-height:1;letter-spacing:.02em;white-space:nowrap}
    .afm-p-reasonCopy h3{margin:0;font-size:27px;line-height:1.7}
    .afm-p-reasonCopy p{margin:22px 0 0;color:var(--sub);font-size:16px;line-height:2}
    .afm-p-proofGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:46px}
    .afm-p-proof{display:grid;grid-template-rows:232px 1fr;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 10px 30px rgba(29,32,136,.06)}
    .afm-p-proof__media{height:auto;padding:24px;display:grid;place-items:center;background:#f7f7fb}
    .afm-p-proof__media.afm-_ai{padding:26px 20px}
    .afm-p-proof__media.afm-_line{position:relative;padding:0}
    .afm-p-proof__media.afm-_award{padding:18px}
    .afm-p-proof__media img{width:100%;height:100%;object-fit:contain}
    .afm-p-proof__media.afm-_line img{position:absolute;left:50%;top:50%;width:auto;height:auto;max-width:calc(100% - 48px);max-height:calc(100% - 20px);margin:auto;object-fit:contain;transform:translate(-50%,-50%)}
    .afm-p-proof__body{min-height:166px;padding:22px 22px 24px;border-top:1px solid var(--line);background:#fff}
    .afm-p-proof__title{margin:0;color:var(--navy);font-size:17px;font-weight:700;line-height:1.55;letter-spacing:.025em}
    .afm-p-proof__description{margin:11px 0 0;color:var(--sub);font-size:13px;font-weight:500;line-height:1.8;letter-spacing:.025em}
    .afm-p-proofNote{margin:14px 0 0;color:var(--sub);font-size:11px;text-align:right}

    /* S-23/S-24：ユースケース */
    .afm-p-caseBlock{padding:52px;border:1px solid var(--line);border-radius:18px;background:#fff}
    .afm-p-caseBlock+.afm-p-caseBlock{margin-top:36px}
    .afm-p-caseBadge{display:inline-flex;padding:6px 12px;border-radius:999px;background:var(--pink);color:#fff;font-family:Arial,"Noto Sans JP","Yu Gothic",sans-serif;font-size:12px;font-weight:700;letter-spacing:.12em}
    .afm-p-caseBlock h3{margin:16px 0 0;font-size:28px;line-height:1.65}
    .afm-p-caseBlock__copy{margin:18px 0 0;color:var(--sub);font-size:15px;line-height:2}
    .afm-p-agentProcess{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:34px 0 0;padding:0;list-style:none}
    .afm-p-agentProcess li{position:relative;padding:18px 8px 16px;border-radius:12px;background:var(--grey);text-align:center}
    .afm-p-agentProcess li:not(:last-child)::after{content:"";position:absolute;z-index:2;right:-10px;top:50%;width:18px;height:18px;background:var(--navy);clip-path:polygon(0 0,100% 50%,0 100%);transform:translateY(-50%) scale(.45)}
    .afm-p-agentProcess strong{display:block;font-size:13px}
    .afm-p-agentProcess span{display:block;margin-top:3px;color:var(--sub);font-family:Arial,sans-serif;font-size:10px;letter-spacing:.08em}
    .afm-p-demoArea{min-width:0;margin:34px 0 0;padding:0;border:0}
    .afm-p-tabState{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;opacity:.001;clip-path:inset(50%)}
    .afm-p-demoTabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:0;padding:0;list-style:none}
    .afm-p-demoTab{position:relative;z-index:1;width:100%;min-height:64px;padding:10px;border:2px solid var(--navy);border-radius:14px 14px 0 0;background:#fff;color:var(--navy);display:grid;place-items:center;text-align:center;font-size:13px;font-weight:700;cursor:pointer;pointer-events:auto}
    .afm-p-demoTab[aria-selected="true"]{background:var(--navy);color:#fff}
    .afm-p-demoPanel{display:none;padding:28px;border:2px solid var(--navy);border-top:0;border-radius:0 0 16px 16px;background:#f8f8fc}
    .afm-p-demoPanel.afm-is-active{display:grid;grid-template-columns:1fr 1.28fr;gap:26px;align-items:center}
    #demo-state-plan:checked~.afm-p-demoTabs label[for="demo-state-plan"],#demo-state-lp:checked~.afm-p-demoTabs label[for="demo-state-lp"],#demo-state-email:checked~.afm-p-demoTabs label[for="demo-state-email"]{background:var(--navy);color:#fff}
    #demo-state-plan:checked~#demo-panel-plan,#demo-state-lp:checked~#demo-panel-lp,#demo-state-email:checked~#demo-panel-email{display:grid;grid-template-columns:1fr 1.28fr;gap:26px;align-items:center}
    #demo-state-plan:focus-visible~.afm-p-demoTabs label[for="demo-state-plan"],#demo-state-lp:focus-visible~.afm-p-demoTabs label[for="demo-state-lp"],#demo-state-email:focus-visible~.afm-p-demoTabs label[for="demo-state-email"]{outline:3px solid var(--sky);outline-offset:4px}
    .afm-p-ioFlow{display:grid;gap:10px}
    .afm-p-ioItem{display:grid;grid-template-columns:74px 1fr;gap:12px;align-items:center;padding:12px;border-radius:9px;background:#fff}
    .afm-p-ioItem span{color:var(--pink);font-family:Arial,sans-serif;font-size:11px;font-weight:700;letter-spacing:.1em}
    .afm-p-ioItem strong{font-size:13px;line-height:1.55}
    .afm-p-videoCard{position:relative;width:100%;padding:0;border:0;border-radius:14px;overflow:hidden;background:#eef3ff;display:block;aspect-ratio:16/9}
    .afm-p-videoEmbed{position:absolute;inset:0;width:100%;height:100%;border:0;background:#eef3ff}
    .afm-p-adaptive{display:grid;grid-template-columns:1.05fr 1fr;grid-template-areas:"media content" "media link";column-gap:44px;row-gap:0;align-items:center}
    .afm-p-adaptive__media{grid-area:media}
    .afm-p-adaptive__content{grid-area:content}
    .afm-p-adaptive__content h3{margin-top:16px}
    .afm-p-adaptive__link{grid-area:link;align-self:start;margin:24px 0 0}
    .afm-p-adaptive__note{margin:20px 0 0;padding:16px;border-left:4px solid var(--pink);background:var(--grey);color:var(--sub);font-size:13px;line-height:1.8}

    /* S-14：支援内容 */
    .afm-p-supportTabs{max-width:1020px;min-width:0;margin:0 auto;padding:0;border:0}
    .afm-p-supportTabList{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
    .afm-p-supportTab{position:relative;z-index:1;min-height:82px;padding:10px 8px;border:2px solid var(--navy);border-radius:16px 16px 0 0;background:#fff;display:grid;place-items:center;text-align:center;font-size:13px;font-weight:700;cursor:pointer;pointer-events:auto}
    .afm-p-supportTab small{display:block;margin-top:4px;color:var(--sub);font-family:Arial,sans-serif;font-size:10px;letter-spacing:.08em}
    .afm-p-supportTab[aria-selected="true"]{background:var(--navy);color:#fff}.afm-p-supportTab[aria-selected="true"] small{color:#cfd2ff}
    .afm-p-supportPanel{display:none;padding:34px 42px;border:2px solid var(--navy);border-top:0;border-radius:0 0 16px 16px;background:#fff}
    .afm-p-supportPanel.afm-is-active{display:block}
    #support-state-consulting:checked~.afm-p-supportTabList label[for="support-state-consulting"],#support-state-data:checked~.afm-p-supportTabList label[for="support-state-data"],#support-state-build:checked~.afm-p-supportTabList label[for="support-state-build"],#support-state-operation:checked~.afm-p-supportTabList label[for="support-state-operation"]{background:var(--navy);color:#fff}
    #support-state-consulting:checked~.afm-p-supportTabList label[for="support-state-consulting"] small,#support-state-data:checked~.afm-p-supportTabList label[for="support-state-data"] small,#support-state-build:checked~.afm-p-supportTabList label[for="support-state-build"] small,#support-state-operation:checked~.afm-p-supportTabList label[for="support-state-operation"] small{color:#cfd2ff}
    #support-state-consulting:checked~#support-panel-consulting,#support-state-data:checked~#support-panel-data,#support-state-build:checked~#support-panel-build,#support-state-operation:checked~#support-panel-operation{display:block}
    #support-state-consulting:focus-visible~.afm-p-supportTabList label[for="support-state-consulting"],#support-state-data:focus-visible~.afm-p-supportTabList label[for="support-state-data"],#support-state-build:focus-visible~.afm-p-supportTabList label[for="support-state-build"],#support-state-operation:focus-visible~.afm-p-supportTabList label[for="support-state-operation"]{outline:3px solid var(--sky);outline-offset:4px}
    .afm-p-supportPanel ul{display:grid;grid-template-columns:1fr 1fr;gap:14px 28px;margin:0;padding:0;list-style:none}
    .afm-p-supportPanel li{position:relative;padding:12px 12px 12px 34px;border-bottom:1px dashed var(--line);font-size:14px;line-height:1.7}
    .afm-p-supportPanel li::before{content:"✓";position:absolute;left:8px;top:12px;color:var(--pink);font-weight:700}
    .afm-p-products{margin-top:48px;padding:34px;border-radius:18px;background:var(--grey)}
    .afm-p-products h3{margin:0;text-align:center;font-size:20px}
    .afm-p-products__lead{max-width:780px;margin:12px auto 24px;text-align:center;color:var(--sub);font-size:13px;line-height:1.9}
    .afm-p-products__grid{display:grid;grid-template-columns:1.25fr .75fr;gap:16px}
    .afm-p-productGroup{padding:22px;border:1px solid rgba(29,32,136,.1);border-radius:14px;background:#fff}
    .afm-p-productSubgroup+.afm-p-productSubgroup{margin-top:18px;padding-top:18px;border-top:1px dashed var(--line)}
    .afm-p-productGroup__label{display:flex;align-items:center;gap:9px;margin:0 0 14px;color:var(--navy);font-size:13px;font-weight:700}
    .afm-p-productGroup__label::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--pink)}
    .afm-p-productGroup .afm-c-tag{padding:9px 14px;background:#f0f1f7;line-height:1.35}

    /* S-09：進め方 */
    .afm-p-stepList{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin:0;padding:0;list-style:none}
    .afm-p-step{position:relative;padding:26px 20px;border:1px solid var(--line);border-radius:16px;background:#fff}
    .afm-p-step__num{width:44px;height:44px;margin-bottom:18px;border-radius:50%;background:var(--pink);color:#fff;display:grid;place-items:center;font-family:Arial,sans-serif;font-size:18px;font-weight:700}
    .afm-p-step h3{margin:0;font-size:17px;line-height:1.6}
    .afm-p-step p{margin:13px 0 0;color:var(--sub);font-size:13px;line-height:1.8}
    .afm-p-step__deliverable{display:block;margin-top:16px;padding-top:14px;border-top:1px dashed var(--line);font-size:11px;font-weight:700}
    .afm-p-roleGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:34px}
    .afm-p-role{min-height:88px;padding:22px 16px;border-radius:14px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;font-size:13px;font-weight:700;line-height:1.6}
    .afm-p-role__text{display:block}
    .afm-p-roleLead{margin:24px 0 0;text-align:center;color:var(--sub);font-size:14px}

    /* S-10：FAQ */
    .afm-p-faq{max-width:960px;margin:0 auto}
    .afm-p-faqItem{border-bottom:1px solid var(--line)}
    .afm-p-faqQ{position:relative;z-index:1;width:100%;min-height:82px;padding:20px 66px 20px 54px;border:0;background:#fff;display:flex;align-items:center;text-align:left;font-size:16px;font-weight:700;line-height:1.7;list-style:none;cursor:pointer;pointer-events:auto;touch-action:manipulation}
    .afm-p-faqQ::-webkit-details-marker{display:none}
    .afm-p-faqQ::before{content:"Q";position:absolute;left:10px;top:20px;color:var(--pink);font-family:Arial,sans-serif;font-size:22px}
    .afm-p-faqQ::after{content:"＋";position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:24px}
    .afm-p-faqItem[open] .afm-p-faqQ::after{content:"−"}
    .afm-p-faqA{padding:4px 54px 26px;background:var(--grey)}
    .afm-p-faqA p{margin:0;color:var(--sub);font-size:14px;line-height:2}

    /* 中間CTA */
    .afm-p-midCta{padding:42px 24px;background:var(--navy);color:#fff}
    .afm-p-midCta__inner{display:flex;align-items:center;justify-content:center;gap:36px}
    .afm-p-midCta p{margin:0;font-size:18px;font-weight:700;line-height:1.7}
    .afm-p-midCta .afm-c-btn{flex:0 0 auto;border-color:#fff;background:#fff;color:var(--navy);text-align:center}
    .afm-p-midCta .afm-c-btn:hover{border-color:var(--pink);background:var(--pink);color:#fff}

    /* S-22：外部フォーム */
    .afm-p-finalCta{position:relative;overflow:hidden;padding:88px 24px;background:linear-gradient(125deg,var(--navy2),var(--navy3));color:#fff;text-align:center}
    .afm-p-finalCta::before,.afm-p-finalCta::after{content:"";position:absolute;border-radius:50%;border:30px solid rgba(255,255,255,.08)}
    .afm-p-finalCta::before{width:300px;height:300px;left:-120px;top:-100px}.afm-p-finalCta::after{width:220px;height:220px;right:-80px;bottom:-100px}
    .afm-p-finalCta h2{position:relative;margin:0;font-size:34px;line-height:1.55}
    .afm-p-finalCta p{position:relative;max-width:730px;margin:18px auto 0;color:#d9ddff;font-size:15px;line-height:2}
    .afm-p-contactForm__inner{position:relative;width:min(900px,100%);margin:0 auto}
    .afm-p-contactForm__frame{position:relative;margin:34px auto 0;padding:24px;border-radius:18px;background:#fff;box-shadow:0 18px 50px rgba(0,0,0,.2)}
    /* 高さは --afm-form-h で管理する。PC初期値900px、SPは下のSPブロックで1180pxへ切り替える。
       フォーム側から高さ通知が届いた場合はJavaScriptが実測値で上書きする。
       通知がない場合は、実フォームを開いて実高さを測り、--afm-form-h の値だけを直せばよい。 */
    .afm-p-contactForm__frame iframe{display:block;width:100%;height:var(--afm-form-h,900px);border:0;background:#fff}

    @media(max-width:1080px){
      .afm-l-localNav__list a{display:block;min-height:44px;padding:10px 12px}
      .afm-l-localNav__cta{margin-left:auto}
      .afm-p-mv__inner{grid-template-columns:minmax(0,1fr) minmax(0,480px)}.afm-p-mv h1{font-size:42px}
      .afm-p-agentProcess{grid-template-columns:repeat(3,1fr)}
      .afm-p-stepList{grid-template-columns:repeat(3,1fr)}
    }
    @media(max-width:767.98px){
      /* SPの字送りとフォーム高、--afm-header-h は末尾の統合レイヤー側で一括指定する */
      .afm-u-pcOnly{display:none!important}
      .afm-l-container{width:min(100% - 30px,680px)}
      .afm-c-section{padding:72px 0}.afm-c-heading{margin-bottom:32px}.afm-c-heading__en{font-size:12px}.afm-c-heading__ttl{font-size:25px}.afm-c-heading__line{margin-top:16px}.afm-c-lead{text-align:left;font-size:14px;line-height:1.9;margin-bottom:30px}
      .afm-c-btn{width:100%;min-height:58px;padding:12px 20px;font-size:13px}
      .afm-l-localNav{min-height:64px;gap:12px}.afm-l-localNav__name{min-width:0;flex:1;font-size:12px}.afm-l-localNav__list{display:none}.afm-l-localNav__cta{display:none}.afm-l-header__spCta{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:88px;min-height:44px;margin-left:auto;padding:8px 15px;border-radius:999px;background:var(--navy);color:#fff;font-size:12px;font-weight:700;letter-spacing:.06em}
      .afm-p-mv__inner{width:min(100% - 30px,680px);min-height:auto;display:flex;flex-direction:column;gap:32px;padding:52px 0 56px}.afm-p-mv__content{width:100%}.afm-p-mv h1{font-size:32px;line-height:1.45}.afm-p-mv__description{font-size:14px;line-height:1.9}.afm-p-mv__products{margin-top:20px}.afm-p-mv__actions .afm-c-btn{min-width:0}.afm-p-mv__award{grid-template-columns:48px 1fr;padding:12px}.afm-p-mv__awardIcon{width:46px;height:46px}.afm-p-mv__visual{order:2;width:100%;max-width:520px}.afm-p-mv__actions{order:3}.afm-p-mv__geo.afm-_a{right:-6px}.afm-p-mv__geo.afm-_b{left:-5px}
      .afm-p-challengeGrid{grid-template-columns:1fr;gap:16px}.afm-p-challenge{padding:28px 22px}.afm-p-challenge h3{font-size:18px}.afm-p-challenge__icon{width:72px;height:72px}
      .afm-p-reasonTitleBreak{display:block}.afm-p-reasonBody{grid-template-columns:minmax(0,1fr);gap:30px}.afm-p-reasonVisual{padding:16px}.afm-p-reasonCopy h3{text-align:center;font-size:22px}.afm-p-reasonCopy p{text-align:left;font-size:14px}.afm-p-proofGrid{grid-template-columns:1fr;gap:16px}.afm-p-proof{grid-template-rows:220px 1fr}.afm-p-proof__media.afm-_ai{padding:28px 18px}.afm-p-proof__media.afm-_line{padding:0}.afm-p-proof__body{min-height:148px;padding:19px 18px 22px}.afm-p-proof__title{font-size:16px}.afm-p-proof__description{font-size:13px}.afm-p-proofNote{text-align:left}
      .afm-p-caseBlock{padding:28px 18px}.afm-p-caseBlock h3{font-size:22px}.afm-p-caseBlock__copy{font-size:14px}.afm-p-agentProcess{display:flex;gap:10px;margin-right:-18px;padding:0 18px 10px 0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.afm-p-agentProcess::-webkit-scrollbar{display:none}.afm-p-agentProcess li{flex:0 0 72%;min-width:218px;scroll-snap-align:start}.afm-p-demoArea{position:relative}.afm-p-demoTabs{display:flex;overflow-x:auto;gap:8px;padding:0 22% 5px 0;scroll-snap-type:x proximity;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x}.afm-p-demoTabs::-webkit-scrollbar{display:none}.afm-p-demoTabs li{flex:0 0 72%;scroll-snap-align:start}.afm-p-demoTab{border-radius:12px;min-height:58px;touch-action:manipulation}.afm-p-demoPanel{padding:18px;border-top:2px solid var(--navy);border-radius:12px}.afm-p-demoPanel.afm-is-active,#demo-state-plan:checked~#demo-panel-plan,#demo-state-lp:checked~#demo-panel-lp,#demo-state-email:checked~#demo-panel-email{grid-template-columns:1fr}.afm-p-ioItem{grid-template-columns:64px 1fr}.afm-p-adaptive{grid-template-columns:1fr;grid-template-areas:"content" "media" "link";row-gap:20px}.afm-p-adaptive__link{margin:0}.afm-p-adaptive__media{width:100%}
      .afm-p-supportTabList{display:flex;overflow-x:auto;gap:8px;padding:0 22% 5px 0;scroll-snap-type:x proximity;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x}.afm-p-supportTabList::-webkit-scrollbar{display:none}.afm-p-supportTab{flex:0 0 72%;min-width:0;border-radius:12px;min-height:68px;scroll-snap-align:start;touch-action:manipulation}.afm-p-supportPanel{padding:22px 18px;border-top:2px solid var(--navy);border-radius:12px}.afm-p-supportPanel ul{grid-template-columns:1fr;gap:8px}.afm-p-products{padding:24px 18px}.afm-p-products__lead{text-align:left;font-size:12px}.afm-p-products__grid{grid-template-columns:1fr}.afm-p-productGroup{padding:18px}
      .afm-p-stepList{grid-template-columns:1fr}.afm-p-step{padding:22px 18px}.afm-p-step h3{white-space:nowrap;font-size:16px}.afm-p-roleGrid{grid-template-columns:1fr 1fr;gap:10px}.afm-p-role{height:84px;min-height:84px;padding:15px 10px;font-size:12px;line-height:1.55}.afm-p-role.afm-_salesforce{padding-left:6px;padding-right:6px;font-size:11px;letter-spacing:.02em}.afm-p-role.afm-_salesforce .afm-p-role__text>span{white-space:nowrap}.afm-p-roleLead{text-align:left}
      .afm-p-faqQ{min-height:76px;padding:18px 48px 18px 42px;font-size:14px}.afm-p-faqQ::before{left:7px;top:17px}.afm-p-faqQ::after{right:10px}.afm-p-faqA{padding:4px 18px 22px 42px}.afm-p-faqA p{font-size:13px}
      .afm-p-midCta{padding:34px 15px}.afm-p-midCta__inner{display:block}.afm-p-midCta p{text-align:center;font-size:16px}.afm-p-midCta .afm-c-btn{width:100%;margin-top:20px}
      .afm-p-finalCta{padding:68px 15px}.afm-p-finalCta h2{font-size:25px}.afm-p-finalCta p{text-align:left;font-size:14px}.afm-p-contactForm__frame{margin-top:28px;padding:10px;border-radius:14px}
    }
    @media (prefers-reduced-motion:reduce){
      .afm-page{scroll-behavior:auto}
      .afm-page *,.afm-page *::before,.afm-page *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}
    }
  

/* WordPress管理バーを含む実測値はJavaScriptからCSS変数へ反映する（適用は .afm-page 配下の1本に統一） */

    /* WordPress共通ヘッダー／フッターとの競合を防ぐ統合レイヤー */
    /* 項目11：will-change:top の常時指定を外し、動きを減らす設定では追従アニメーションを止める */
    .afm-page .afm-l-header{
      position:sticky;z-index:90;top:var(--afm-local-header-top,var(--afm-header-h));left:auto;width:100%;
      transition:top .325s cubic-bezier(.25,.25,.75,.75);
    }
    @media (prefers-reduced-motion:reduce){.afm-page .afm-l-header{transition:none}}
    .afm-page .afm-main{display:block;position:relative;z-index:0}
    .afm-page section[id]{scroll-margin-top:var(--afm-anchor-offset)}
    body.admin-bar .afm-page .afm-l-header{top:var(--afm-local-header-top,var(--afm-header-h))}
    /* overflow-x:hidden は overflow-y を auto 化してスクロールコンテナを作り、
       内部の position:sticky（サブヘッダー）を止めてしまう。
       clip 非対応ブラウザでは、sticky の祖先ではない .afm-main 側で横はみ出しを抑える。 */
    @supports not (overflow:clip){
      .afm-page{overflow-x:visible}
      .afm-page .afm-main{overflow-x:hidden}
    }
    @media(min-width:768px) and (max-width:1080px){
      .afm-page .afm-l-localNav{min-height:auto;flex-wrap:wrap;align-items:center;row-gap:10px;padding:14px 0 0}
      .afm-page .afm-l-localNav__name{order:1;flex:1 1 260px}
      .afm-page .afm-l-localNav__cta{display:block;order:2;flex:0 1 300px;margin-left:auto}
      .afm-page .afm-l-localNav__list{
        position:static;display:flex;order:3;flex:0 0 100%;justify-content:flex-start;
        flex-direction:row;align-items:center;flex-wrap:nowrap;
        width:100%;max-height:none;margin:0;padding:6px 0 10px;overflow-x:auto;overflow-y:hidden;
        gap:6px;border-top:1px solid rgba(29,32,136,.12);background:#fff;box-shadow:none;
        overscroll-behavior-x:contain;scrollbar-width:thin;-webkit-overflow-scrolling:touch;
      }
      .afm-page .afm-l-localNav__list li{flex:0 0 auto}
      .afm-page .afm-l-localNav__list a{display:flex;align-items:center;min-height:44px;padding:8px 12px}
    }
    @media(max-width:767.98px){
      .afm-page{--afm-header-h:17.8rem;--afm-form-h:1180px;letter-spacing:.06em}
    }

    /* --------------------------------------------------------------
       共通ヘッダー下の帯（.l-header::before）の扱い

       この帯は共通ヘッダーと同じ重ね順で描画されるため、ページ側から
       サブヘッダーを帯の上に出すことはできない。取り得る形は2つだけ。

       ［A］このページだけ帯を出さない（＝下の1行。既定でON）
            共通ヘッダーの直下にサブヘッダーが並び、上部が最も詰まる。
            テーマファイルは変更せず、このページのhead挿入欄だけで効く。
            共通クラスより詳細度を1つ上げているため、main.cssの
            読み込み順に関係なく必ず適用される。

       ［B］帯を残し、帯の高さ分だけサブヘッダーを下げる
            下の1行をCSSコメントで囲んで無効化するだけで切り替わる。
            JavaScriptが帯の張り出しを実測して自動で余白を確保するため、
            他の修正は不要。共通ヘッダーとサブヘッダーの間に、
            帯の高さ分（PCで約55px）の余白が入る。

       どちらでも帯がサブヘッダーへ重なることはない。
       -------------------------------------------------------------- */
    .l-header.js-header::before{content:none;display:none}

