/* CURRENT / CSU（CURRENT Setup Unit）ページ専用CSS。
 * .csu-page 配下にのみ影響するようスコープ済み。
 * 生成元: csu-static-design/app/globals.css（2026-08-28 最新版）から、
 * page-csu.php および functions.php（current_official_csu_urgent_contact()
 * が出力するHTML）が実際に出力するクラス（125種）のみを抽出し、
 * 自動スコープ変換。カスタムプロパティはサイト全体の :root（--navy 等）と
 * 衝突しないよう --csu- プレフィックスに変換している。
 * 【2026-08-28 不具合修正】初版はpage-csu.php単体のみをクラス抽出対象と
 * しており、functions.php側で生成されるurgent-contact系クラス
 * （urgent-contact／urgent-contact-inner／urgent-contact-signal／
 * urgent-contact-copy）の走査が漏れていた。この結果
 * .urgent-contact-signal .platform-logo（アイコン実寸指定）が生成CSSから
 * 欠落し、STAGING実機で急ぎ問い合わせバナーのInstagramアイコンが等身大
 * 表示されずレイアウトが崩れる不具合が発生した。本版でfunctions.php側も
 * 含めて再抽出し、該当ルール（PC:26px／モバイル:20px）を復元済み。
 * 元ファイルにあった削除済みセクション（BUSINESS SECURITY独立セクション、
 * INITIAL HEARING独立セクション、5枚診断パネル、Business Suite/Portfolio比較、
 * featured case長文、オプション一覧、10社定員の独立セクション等）のCSSは
 * 含めていない。
 * 静的デザイン側 page.tsx 独自のプレビュー用ヘッダー・フッター（site-header／
 * site-footer／footer-main／footer-bottom／logo-link／official-logo／
 * header-context）は、実サイトでは template-parts/site-header.php・
 * site-footer.php（共通ヘッダー・フッター）に置き換わるため、対応CSSも
 * 含めていない（page-csu.php側で使用していないクラスのため）。
 * 準備中CTA（.is-preparing 系）のCSSは、静的デザインに存在しないため
 * 既存csu.cssの実装パターンを踏襲して別途追加している（本ファイル末尾）。
 */
/* ==== デスクトップ（メイン） ==== */
.csu-page { --csu-navy:#0a1a2f; --csu-ink:#122236; --csu-muted:#6b7887; --csu-line:#e3e7eb; --csu-paper:#fff; }
.csu-page * { box-sizing:border-box; }
.csu-page { margin:0; background:var(--csu-paper); color:var(--csu-ink); font-family:"Noto Sans JP","Yu Gothic","Hiragino Kaku Gothic ProN",Arial,sans-serif; font-feature-settings:"palt"; }
.csu-page a { color:inherit; text-decoration:none; }
.csu-page .copy-unit { display:inline-block; white-space:nowrap; }
.csu-page .content-width { width:min(1180px,calc(100% - 160px)); margin-inline:auto; }
.csu-page .platform-logo { display:block; flex:0 0 auto; filter:grayscale(1) saturate(0); }
.csu-page .csu-check { display:inline-block; position:relative; overflow:hidden; flex:0 0 auto; }
.csu-page .csu-check img { position:absolute; max-width:none; }
.csu-page .csu-brand-mark { position:relative; display:block; overflow:hidden; flex:0 0 auto; }
.csu-page .csu-brand-mark img { position:static; width:100%; height:100%; object-fit:contain; object-position:left center; }
.csu-page .brand-horizontal { width:205px; height:64px; }
.csu-page .check-small { width:64px; height:64px; }
.csu-page .check-small img { width:1024px; height:683px; left:-110px; top:-53px; }
.csu-page .hero { min-height:1080px; display:grid; grid-template-columns:88px 1fr; border-bottom:1px solid var(--csu-line); }
.csu-page .hero-rail { border-right:1px solid var(--csu-line); padding:64px 0; display:flex; flex-direction:column; align-items:center; justify-content:space-between; color:#82909e; font:600 10px/1 Arial,sans-serif; letter-spacing:.18em; }
.csu-page .hero-rail span:last-child { writing-mode:vertical-rl; }
.csu-page .hero-inner { position:relative; isolation:isolate; overflow:hidden; padding:86px 8vw 62px; display:flex; flex-direction:column; }
.csu-page .hero-inner::before { content:''; position:absolute; z-index:-1; inset:80px -4vw 0 0; background:url('/csu-network-lines-v1.png') center/cover no-repeat; opacity:.28; pointer-events:none; }
.csu-page .hero-brand { display:flex; align-items:baseline; justify-content:space-between; gap:40px; }
.csu-page .eyebrow { margin:0; color:var(--csu-navy); font-size:16px; font-weight:700; letter-spacing:.04em; }
.csu-page .service-line { margin:0; color:var(--csu-muted); font-size:13px; letter-spacing:.08em; }
.csu-page .hero-focus { position:absolute; top:225px; right:6vw; display:flex; align-items:center; gap:14px; padding:13px 0 13px 18px; border-left:1px solid #d7dce1; }
.csu-page .hero-focus .platform-logo { width:42px; height:42px; opacity:.78; }
.csu-page .hero-focus span,
.csu-page .hero-focus strong { display:block; }
.csu-page .hero-focus span { margin-bottom:7px; font:700 7px/1 Arial,sans-serif; letter-spacing:.16em; color:#87929d; }
.csu-page .hero-focus strong { font:500 14px/1 Arial,sans-serif; color:#435366; }
.csu-page .hero h1 { position:relative; z-index:1; width:88%; margin:145px 0 0; font-size:clamp(62px,6vw,96px); line-height:1.16; letter-spacing:-.055em; font-weight:500; }
.csu-page .hero h1 span { display:block; }
.csu-page .hero h1 span:nth-child(2) { margin-left:9vw; }
.csu-page .hero h1 span:nth-child(3) { margin-left:25vw; color:#445364; }
.csu-page .hero-conclusion { margin:74px 0 0 auto; width:fit-content; padding-top:24px; border-top:3px solid var(--csu-navy); display:flex; align-items:center; gap:18px; font-size:30px; font-weight:700; letter-spacing:.02em; }
.csu-page .hero-audience { width:min(760px,78%); margin:58px 0 52px auto; padding:25px 0; display:grid; grid-template-columns:175px 1fr; align-items:center; column-gap:34px; border-top:1px solid #aeb9c3; border-bottom:1px solid #d4dbe1; }
.csu-page .hero-audience>div { padding-left:18px; border-left:4px solid #1768d7; }
.csu-page .hero-audience>div span,
.csu-page .hero-audience>div strong { display:block; }
.csu-page .hero-audience>div span { margin-bottom:10px; font:700 8px/1 Arial,sans-serif; letter-spacing:.18em; color:#1768d7; }
.csu-page .hero-audience>div strong { font-size:17px; font-weight:600; }
.csu-page .hero-audience>p { margin:0; font-size:15px; line-height:1.85; font-weight:500; color:#31485d; }
.csu-page .hero-audience>small { grid-column:2; margin-top:10px; font-size:11px; color:#6b7a88; }
.csu-page .hero-footer { margin-top:auto; display:flex; gap:22px; align-items:center; color:#7c8791; font:600 9px/1 Arial,sans-serif; letter-spacing:.19em; }
.csu-page .scroll-line { width:110px; height:1px; background:#9aa4ae; }
.csu-page .section-head { min-height:108px; display:flex; align-items:center; justify-content:space-between; padding:0 80px; border-bottom:1px solid; font-size:11px; letter-spacing:.13em; }
.csu-page .section-head p { margin:0; }
.csu-page .section-head p:first-child { font-family:Arial,sans-serif; font-weight:700; }
.csu-page .section-head p:first-child span { display:inline-block; margin-right:22px; opacity:.55; }
.csu-page .section-head.light { border-color:var(--csu-line); color:#5f6d7a; }
.csu-page .section-head.dark { border-color:rgba(255,255,255,.16); color:rgba(255,255,255,.68); }
.csu-page .introduction { padding-bottom:165px; }
.csu-page .intro-lead { padding:135px 0 115px; }
.csu-page .intro-lead>p:first-child { width:77%; margin:0; font-size:34px; line-height:1.85; letter-spacing:.01em; font-weight:500; }
.csu-page .intro-hook { width:82%; margin:100px 0 0; font-size:40px; line-height:1.75; font-weight:500; letter-spacing:-.025em; color:var(--csu-navy); }
.csu-page .paths { background:var(--csu-navy); color:white; padding-bottom:145px; }
.csu-page .paths-title { padding:135px 0 95px; }
.csu-page .paths-title>p { margin:0 0 25px; font:600 10px/1 Arial,sans-serif; letter-spacing:.18em; color:#94a1af; }
.csu-page .paths-title h2 { margin:0; font-size:62px; line-height:1.35; font-weight:500; letter-spacing:-.035em; }
.csu-page .path-grid { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid rgba(255,255,255,.25); border-bottom:1px solid rgba(255,255,255,.25); }
.csu-page .path { padding:66px 54px 70px; }
.csu-page .path+.path { border-left:1px solid rgba(255,255,255,.25); }
.csu-page .path-number { display:flex; align-items:center; justify-content:space-between; }
.csu-page .path-number>span { display:block; font:400 64px/1 Arial,sans-serif; color:#708096; }
.csu-page .path-number .platform-logo { width:38px; height:38px; opacity:.62; }
.csu-page .path-heading>p { margin:25px 0 36px; font:700 10px/1 Arial,sans-serif; letter-spacing:.18em; color:#93a0ad; }
.csu-page .path-heading h3 { margin:0; font-size:38px; line-height:1.5; font-weight:500; letter-spacing:-.02em; }
.csu-page .path-intro { margin:65px 0 75px; padding-top:38px; border-top:1px solid rgba(255,255,255,.16); }
.csu-page .path-intro p { margin:0 0 24px; font-size:17px; line-height:2; color:rgba(255,255,255,.79); }
.csu-page .path-intro.compact { margin-bottom:62px; }
.csu-page .path-list h4,
.csu-page .trouble-list h4 { margin:0 0 42px; padding-top:30px; border-top:2px solid rgba(255,255,255,.72); font-size:30px; line-height:1.5; font-weight:500; letter-spacing:.01em; }
.csu-page .path-list ul { list-style:none; padding:0; margin:0; }
.csu-page .path-list li { position:relative; padding:21px 0 21px 26px; border-bottom:1px solid rgba(255,255,255,.11); font-size:15px; line-height:1.8; color:rgba(255,255,255,.76); }
.csu-page .path-list li::before { content:''; width:6px; height:6px; border:1px solid #9caaba; position:absolute; left:0; top:25px; }
.csu-page .trouble-row { display:grid; grid-template-columns:42px 1fr; gap:14px; padding:22px 0; border-bottom:1px solid rgba(255,255,255,.14); }
.csu-page .trouble-row>span { padding-top:4px; font:500 10px/1 Arial,sans-serif; color:#77879a; }
.csu-page .trouble-row h5 { margin:0 0 9px; font-size:15px; font-weight:600; }
.csu-page .trouble-row p { margin:0; font-size:13px; line-height:1.8; color:rgba(255,255,255,.66); }
.csu-page .path-assurance { margin-top:52px; padding:28px 0; border-top:2px solid white; border-bottom:1px solid rgba(255,255,255,.22); }
.csu-page .path-assurance strong { font-size:18px; }
.csu-page .path-assurance p { margin:14px 0 0; color:rgba(255,255,255,.68); font-size:14px; }
.csu-page .path-action { margin-top:58px; min-height:76px; border:1px solid rgba(255,255,255,.58); padding:0 24px; display:flex; align-items:center; gap:16px; font-size:14px; letter-spacing:.04em; transition:.2s ease; }
.csu-page .path-action:hover { background:white; color:var(--csu-navy); }
.csu-page .path-action span:last-child { margin-left:auto; font-size:22px; }
.csu-page .path-details { margin-top:28px; border-top:1px solid rgba(255,255,255,.25); border-bottom:1px solid rgba(255,255,255,.18); }
.csu-page .path-details>summary { min-height:58px; display:flex; align-items:center; justify-content:space-between; list-style:none; cursor:pointer; font-size:14px; font-weight:600; }
.csu-page .path-details>summary::-webkit-details-marker { display:none; }
.csu-page .path-details>summary span { font-size:20px; font-weight:300; }
.csu-page .path-details[open]>summary span { transform:rotate(45deg); }
.csu-page .path-details .path-list,
.csu-page .path-details .trouble-list { padding-bottom:20px; }
.csu-page .connection-map { background:#eef2f5; padding:48px 52px 58px; }
.csu-page .map-caption { display:flex; justify-content:space-between; align-items:center; padding-bottom:32px; border-bottom:1px solid #d5dce2; }
.csu-page .map-caption p { margin:0; font:700 9px/1 Arial,sans-serif; letter-spacing:.18em; color:#40566b; }
.csu-page .map-caption span { font-size:11px; color:#596b7c; }
.csu-page .map-flow { display:grid; grid-template-columns:repeat(6,1fr); padding:72px 0 56px; }
.csu-page .map-step { position:relative; display:flex; flex-direction:column; align-items:center; text-align:center; }
.csu-page .map-node { position:relative; z-index:1; width:76px; height:76px; border:1px solid #8f9eac; border-radius:50%; background:#eef2f5; display:flex; align-items:center; justify-content:center; gap:4px; }
.csu-page .map-node .platform-logo { width:32px; height:32px; opacity:.9; filter:grayscale(1) saturate(0) contrast(1.3); }
.csu-page .map-node.instagram .platform-logo { width:27px; height:27px; }
.csu-page .map-pictogram { position:relative; width:38px; height:38px; display:block; color:#263c51; }
.csu-page .map-ads { border:1px solid #53697d; }
.csu-page .map-ads b { position:absolute; left:7px; top:9px; font:700 10px/1 Arial,sans-serif; letter-spacing:.08em; }
.csu-page .map-ads i { position:absolute; right:6px; bottom:7px; width:11px; height:1px; background:#53697d; }
.csu-page .map-ads i::after { content:''; position:absolute; right:0; top:-5px; height:6px; width:1px; background:#53697d; }
.csu-page .map-data { display:flex; align-items:flex-end; justify-content:center; gap:4px; padding-bottom:5px; border-bottom:1px solid #53697d; }
.csu-page .map-data i { display:block; width:6px; background:#53697d; }
.csu-page .map-data i:first-child { height:12px; }
.csu-page .map-data i:nth-child(2) { height:22px; }
.csu-page .map-data i:nth-child(3) { height:33px; background:#152b40; }
.csu-page .map-ec { width:34px; height:31px; margin-top:6px; border:1px solid #53697d; }
.csu-page .map-ec i { position:absolute; left:8px; top:-9px; width:16px; height:12px; border:1px solid #53697d; border-bottom:0; border-radius:9px 9px 0 0; }
.csu-page .map-step>p { width:88%; min-height:44px; margin:22px 0 0; font-size:13px; line-height:1.65; color:#263b4f; }
.csu-page .map-step>i { position:absolute; z-index:0; top:38px; left:calc(50% + 38px); width:calc(100% - 76px); height:1px; background:#91a0ae; }
.csu-page .map-step>i::after { content:''; position:absolute; right:0; top:-3px; width:6px; height:6px; border-top:1px solid #8493a1; border-right:1px solid #8493a1; transform:rotate(45deg); }
.csu-page .connection-conflict { margin-top:12px; padding:34px 38px 30px; display:grid; grid-template-columns:150px 1fr auto; align-items:center; gap:35px; border-top:1px solid #c9d2da; background:#f8fafb; }
.csu-page .connection-conflict>p { margin:0; font:700 8px/1.4 Arial,sans-serif; letter-spacing:.18em; color:#66798b; }
.csu-page .connection-conflict>span { max-width:300px; font-size:11px; line-height:1.8; color:#526476; }
.csu-page .conflict-diagram { display:grid; grid-template-columns:92px 82px 160px; align-items:center; }
.csu-page .conflict-source { display:flex; flex-direction:column; align-items:center; gap:8px; font-size:10px; color:#43586c; }
.csu-page .conflict-source .platform-logo { width:28px; height:28px; opacity:.88; }
.csu-page .conflict-lines { position:relative; height:64px; }
.csu-page .conflict-lines i { position:absolute; left:0; width:75px; height:1px; background:#75889a; transform-origin:left center; }
.csu-page .conflict-lines i:first-child { top:23px; transform:rotate(-16deg); }
.csu-page .conflict-lines i:nth-child(2) { top:39px; border-top:1px dashed #7c8e9f; background:transparent; transform:rotate(16deg); }
.csu-page .conflict-lines b { position:absolute; right:2px; bottom:6px; width:18px; height:18px; display:grid; place-items:center; border-radius:50%; background:#1768d7; color:white; font:600 11px/1 Arial,sans-serif; }
.csu-page .conflict-targets { display:grid; gap:16px; }
.csu-page .conflict-targets>span { min-height:30px; padding:0 11px; display:flex; align-items:center; gap:8px; border:1px solid #9aa9b6; font-size:10px; color:#43576a; background:white; }
.csu-page .conflict-targets .platform-logo { width:19px; height:19px; opacity:.8; }
.csu-page .diagnostics { padding-bottom:110px; background:white; }
.csu-page .diagnostics-heading { padding:105px 0 70px; display:grid; grid-template-columns:1fr; }
.csu-page .diagnostics-heading>div { max-width:860px; }
.csu-page .diagnostics-heading>div>p { margin:0 0 26px; font:700 10px/1 Arial,sans-serif; letter-spacing:.19em; color:#758494; }
.csu-page .diagnostics-heading h2 { margin:0; font-size:52px; line-height:1.32; font-weight:500; letter-spacing:-.04em; }
.csu-page .diagnostics-brief { display:block; max-width:760px; margin-top:30px; padding-top:24px; border-top:1px solid var(--csu-line); font-size:14px; line-height:1.9; color:#5b6e7e; }
.csu-page .diagnostic-result { margin-top:125px; padding:72px 66px 62px; background:#f1f4f6; }
.csu-page .result-copy { display:grid; grid-template-columns:.4fr 1fr; align-items:start; gap:60px; }
.csu-page .result-copy p { margin:6px 0 0; font-size:14px; color:#687685; }
.csu-page .result-copy h3 { margin:0; font-size:40px; line-height:1.55; font-weight:500; letter-spacing:-.025em; }
.csu-page .urgent-contact { padding:42px 0; background:white; color:var(--csu-ink); }
.csu-page .urgent-contact-inner { position:relative; width:min(680px,calc(100% - 80px)); min-height:126px; padding:20px 20px 20px 22px; display:grid; grid-template-columns:64px 1fr 170px; gap:20px; align-items:center; background:white; border:1px solid #d5dce4; border-bottom:4px solid #1768d7; box-shadow:0 8px 24px rgba(16,37,59,.12); }
.csu-page .urgent-contact-inner::after { content:'IMPORTANT'; position:absolute; right:13px; top:10px; font:700 6px/1 Arial,sans-serif; letter-spacing:.2em; color:#6d94c7; }
.csu-page .urgent-contact-signal { position:relative; width:58px; height:58px; display:grid; place-items:center; background:#f2f5f8; color:#617386; }
.csu-page .urgent-contact-signal .platform-logo { width:26px; height:26px; filter:grayscale(1); opacity:.8; }
.csu-page .urgent-contact-signal>i { position:absolute; width:8px; height:8px; border-radius:50%; background:#1768d7; }
.csu-page .urgent-contact-signal>i:nth-of-type(1) { left:10px; bottom:9px; }
.csu-page .urgent-contact-signal>i:nth-of-type(2) { left:25px; bottom:5px; background:#536d89; }
.csu-page .urgent-contact-signal>i:nth-of-type(3) { right:9px; bottom:10px; background:#9aabba; }
.csu-page .urgent-contact-copy { padding-left:0; }
.csu-page .urgent-contact-copy>p { margin:0 0 6px; font:700 7px/1 Arial,sans-serif; letter-spacing:.17em; color:#1768d7; }
.csu-page .urgent-contact-copy h2 { margin:0; font-size:17px; line-height:1.5; font-weight:600; letter-spacing:-.015em; }
.csu-page .urgent-contact-copy>span { display:block; margin-top:5px; font-size:9px; line-height:1.45; color:#627187; }
.csu-page .urgent-contact a { min-height:50px; padding:0 16px; background:#1768d7; color:white; border:1px solid #1768d7; display:flex; align-items:center; gap:10px; font-size:13px; font-weight:600; white-space:nowrap; transition:.2s ease; }
.csu-page .urgent-contact a b { margin-left:auto; font-size:21px; font-weight:400; }
.csu-page .urgent-contact a:hover { background:var(--csu-navy); border-color:var(--csu-navy); color:white; }
.csu-page .support-flow { padding-bottom:165px; background:white; }
.csu-page .flow-heading { padding:140px 0 105px; display:grid; grid-template-columns:1fr .7fr; gap:105px; align-items:end; }
.csu-page .flow-heading>div>p { margin:0 0 28px; font:700 10px/1 Arial,sans-serif; letter-spacing:.19em; color:#768594; }
.csu-page .flow-heading h2 { margin:0; font-size:62px; line-height:1.45; font-weight:500; letter-spacing:-.04em; }
.csu-page .flow-key { display:grid; grid-template-columns:auto 1fr auto 1fr auto; align-items:center; gap:18px; padding-bottom:16px; }
.csu-page .flow-key span { font:400 27px/1 Arial,sans-serif; color:#7c8996; }
.csu-page .flow-key i { display:block; height:1px; background:#cbd2d8; }
.csu-page .flow-heading-side { display:flex; flex-direction:column; align-items:flex-end; gap:42px; }
.csu-page .flow-heading-side .brand-horizontal { opacity:.78; }
.csu-page .flow-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:2px solid var(--csu-navy); border-bottom:1px solid var(--csu-line); }
.csu-page .flow-month { padding:66px 48px 76px; }
.csu-page .flow-month+.flow-month { border-left:1px solid var(--csu-line); }
.csu-page .flow-month-head>span { display:block; margin-bottom:28px; font:400 14px/1 Arial,sans-serif; letter-spacing:.12em; color:#7d8a97; }
.csu-page .flow-month-head>p { margin:0 0 18px; font:700 9px/1 Arial,sans-serif; letter-spacing:.19em; color:#84909c; }
.csu-page .flow-title { display:flex; min-height:58px; align-items:center; justify-content:space-between; gap:24px; }
.csu-page .flow-month-head h3 { margin:0; font-size:31px; line-height:1.5; font-weight:500; }
.csu-page .flow-visual { position:relative; width:76px; height:50px; display:flex; align-items:center; justify-content:center; flex:0 0 auto; }
.csu-page .flow-visual .platform-logo { width:28px; height:28px; opacity:.72; }
.csu-page .flow-diagnosis { gap:7px; }
.csu-page .flow-diagnosis>i { width:13px; height:1px; background:#b9c2ca; }
.csu-page .flow-action .platform-logo { position:absolute; left:8px; top:11px; }
.csu-page .flow-action i { position:absolute; height:1px; background:#8f9ca8; transform-origin:left center; }
.csu-page .flow-action i:nth-of-type(1) { width:30px; left:37px; top:20px; transform:rotate(19deg); }
.csu-page .flow-action i:nth-of-type(2) { width:24px; left:37px; top:30px; transform:rotate(-16deg); }
.csu-page .flow-verify { border:1px solid #c9d1d7; }
.csu-page .verify-ring { width:25px; height:25px; border:1px solid #8896a3; border-radius:50%; }
.csu-page .verify-tick { position:absolute; right:12px; bottom:6px; width:22px; height:22px; display:grid; place-items:center; background:var(--csu-navy); color:white; font:500 13px/1 Arial,sans-serif; }
.csu-page .flow-intro { margin:52px 0 0; font-size:15px; line-height:2; color:#536475; }
.csu-page .flow-communication { margin-top:55px; display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--csu-line); border-bottom:1px solid var(--csu-line); }
.csu-page .flow-communication article { position:relative; min-height:185px; padding:32px 30px; }
.csu-page .flow-communication article+article { border-left:1px solid var(--csu-line); }
.csu-page .flow-communication article>p { margin:0 0 18px; font:700 8px/1 Arial,sans-serif; letter-spacing:.18em; color:#82909d; }
.csu-page .flow-communication h3 { margin:0 0 18px; font-size:22px; line-height:1.5; font-weight:500; }
.csu-page .flow-communication article>span { font-size:13px; line-height:1.8; color:#5a6a79; }
.csu-page .visit-note { margin-top:34px; padding-top:23px; display:grid; grid-template-columns:145px 1fr; gap:32px; border-top:1px solid #cdd5dc; }
.csu-page .visit-note b { font-size:15px; font-weight:600; color:#1768d7; }
.csu-page .visit-note span { font-size:12px; line-height:1.8; color:#5e6f80; }
.csu-page .plans { padding-bottom:160px; color:white; background:#0a1a2f; }
.csu-page .plans .section-head { border-bottom-color:rgba(255,255,255,.2); }
.csu-page .plans-heading { padding:135px 0 110px; display:grid; grid-template-columns:1.35fr .65fr; align-items:end; gap:100px; }
.csu-page .plans-heading>div>p { margin:0 0 25px; font:700 10px/1 Arial,sans-serif; letter-spacing:.2em; color:#91a1b2; }
.csu-page .plans-heading h2 { margin:0; font-size:54px; line-height:1.35; font-weight:500; letter-spacing:-.04em; }
.csu-page .plans-heading>p { margin:0; padding-top:28px; border-top:1px solid rgba(255,255,255,.5); font-size:17px; line-height:1.95; color:#c8d0d8; }
.csu-page .plan-row { display:grid; grid-template-columns:.86fr .8fr 1.34fr; border-top:1px solid rgba(255,255,255,.55); }
.csu-page .plan-row+.plan-row { margin-top:120px; }
.csu-page .plan-details { grid-column:1 / 4; border-top:1px solid rgba(255,255,255,.18); }
.csu-page .plan-details>summary { min-height:64px; padding:0 18px; display:flex; align-items:center; justify-content:space-between; list-style:none; cursor:pointer; font-size:13px; color:#d3dae1; }
.csu-page .plan-details>summary::-webkit-details-marker { display:none; }
.csu-page .plan-details>summary span { font-size:20px; font-weight:300; }
.csu-page .plan-details[open]>summary span { transform:rotate(45deg); }
.csu-page .plan-identity,
.csu-page .plan-price,
.csu-page .plan-description { padding:44px 38px 46px 0; }
.csu-page .plan-price,
.csu-page .plan-description { padding-left:38px; border-left:1px solid rgba(255,255,255,.18); }
.csu-page .plan-identity>span,
.csu-page .plan-price>p { display:block; margin:0 0 22px; font:700 9px/1 Arial,sans-serif; letter-spacing:.19em; color:#8fa0b1; }
.csu-page .plan-identity>p { margin:0 0 20px; font-size:12px; color:#aebac5; }
.csu-page .plan-identity h3 { margin:0; font-size:30px; line-height:1.55; font-weight:500; }
.csu-page .plan-price>strong { display:block; white-space:nowrap; font-size:18px; font-weight:500; }
.csu-page .plan-price>strong b { margin-right:7px; font-size:48px; line-height:1; letter-spacing:-.04em; font-weight:400; }
.csu-page .plan-price>small { display:block; margin-top:14px; font-size:11px; color:#aebac5; }
.csu-page .plan-price>div { margin-top:34px; padding-top:22px; border-top:1px solid rgba(255,255,255,.2); }
.csu-page .plan-price>div span { display:block; margin-bottom:8px; font:700 8px/1 Arial,sans-serif; letter-spacing:.16em; color:#8fa0b1; }
.csu-page .plan-price>div b { font-size:15px; font-weight:500; }
.csu-page .plan-description>p { margin:0; font-size:16px; line-height:1.9; color:#d2d8de; }
.csu-page .plan-description .plan-rhythm { margin-top:26px; padding-top:22px; border-top:1px solid rgba(255,255,255,.2); font-size:13px; color:#9eacb9; }
.csu-page .plan-scope { grid-column:1 / 4; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,255,255,.18); list-style:none; }
.csu-page .plan-scope li { min-height:54px; padding:0 16px; display:flex; align-items:center; gap:13px; border-bottom:1px solid rgba(255,255,255,.12); font-size:12px; color:#c6ced6; }
.csu-page .plan-scope li:not(:nth-child(4n+1)) { border-left:1px solid rgba(255,255,255,.12); }
.csu-page .plan-scope li span { font:400 8px/1 Arial,sans-serif; color:#6e8295; }
.csu-page .support-areas { grid-column:1 / 4; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.18); }
.csu-page .support-areas section { padding:35px 38px 42px; }
.csu-page .support-areas section+section { border-left:1px solid rgba(255,255,255,.18); }
.csu-page .support-areas h4 { margin:0 0 25px; font:700 11px/1 Arial,sans-serif; letter-spacing:.18em; color:#83aee5; }
.csu-page .support-areas ul { margin:0; padding:0; list-style:none; }
.csu-page .support-areas li { padding:9px 0; border-bottom:1px solid rgba(255,255,255,.1); font-size:12px; color:#c9d1d8; }
.csu-page .plan-capacity { margin-top:72px; padding:24px 0; display:flex; justify-content:space-between; gap:30px; border-top:1px solid rgba(255,255,255,.35); border-bottom:1px solid rgba(255,255,255,.18); color:white; }
.csu-page .plan-capacity strong { font-size:17px; }
.csu-page .plan-capacity span { font-size:12px; color:#aeb9c4; }
.csu-page .support-cases { padding-bottom:150px; background:white; }
.csu-page .support-cases-heading { padding:125px 0 95px; display:grid; grid-template-columns:1.15fr .85fr; align-items:end; gap:90px; }
.csu-page .support-cases-heading>div>p { margin:0 0 26px; font:700 9px/1 Arial,sans-serif; letter-spacing:.19em; color:#758596; }
.csu-page .support-cases-heading h2 { margin:0; font-size:52px; line-height:1.38; font-weight:500; letter-spacing:-.04em; }
.csu-page .support-cases-heading>p { margin:0; padding-top:26px; border-top:1px solid var(--csu-navy); font-size:14px; line-height:1.9; color:#5d6f80; }
.csu-page .support-case-list { border-top:2px solid var(--csu-navy); }
.csu-page .support-case-list>details { border-bottom:1px solid #cfd7de; }
.csu-page .support-case-list>details>summary { min-height:112px; padding:24px 0; display:grid; grid-template-columns:100px 150px 1fr 28px; align-items:center; gap:24px; cursor:pointer; list-style:none; }
.csu-page .support-case-list>details>summary::-webkit-details-marker { display:none; }
.csu-page .support-case-list>details>summary>span { font:700 9px/1 Arial,sans-serif; letter-spacing:.18em; color:#1768d7; }
.csu-page .support-case-list>details>summary>p { margin:0; font-size:11px; color:#768695; }
.csu-page .support-case-list>details>summary>strong { font-size:19px; line-height:1.5; font-weight:500; color:var(--csu-navy); }
.csu-page .support-case-list>details>summary>i { position:relative; width:24px; height:24px; border:1px solid #aebbc5; border-radius:50%; }
.csu-page .support-case-list>details>summary>i::before,
.csu-page .support-case-list>details>summary>i::after { content:''; position:absolute; left:6px; top:11px; width:10px; height:1px; background:#52687a; }
.csu-page .support-case-list>details>summary>i::after { transform:rotate(90deg); }
.csu-page .support-case-list>details[open]>summary>i::after { display:none; }
.csu-page .support-case-list>details>.support-case-flow { margin-bottom:34px; }
.csu-page .support-case-list>article { padding:54px 0 60px; display:grid; grid-template-columns:280px 1fr; gap:65px; border-bottom:1px solid #cfd7de; }
.csu-page .support-case-list header>span { display:block; margin-bottom:18px; font:700 9px/1 Arial,sans-serif; letter-spacing:.18em; color:#1768d7; }
.csu-page .support-case-list header>p { margin:0 0 20px; font-size:11px; color:#768695; }
.csu-page .support-case-list header h3 { margin:0; font-size:25px; line-height:1.55; font-weight:500; }
.csu-page .support-case-flow { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #aeb9c3; }
.csu-page .support-case-flow section { min-height:230px; padding:28px 24px 28px 0; }
.csu-page .support-case-flow section+section { padding-left:24px; border-left:1px solid #d8dee3; }
.csu-page .support-case-flow section>p { margin:0 0 20px; font:700 8px/1 Arial,sans-serif; letter-spacing:.17em; color:#8595a3; }
.csu-page .support-case-flow strong { display:block; margin-bottom:16px; font-size:14px; font-weight:600; color:#263e54; }
.csu-page .support-case-flow section>span { display:block; font-size:12px; line-height:1.9; color:#5c6e7e; }
.csu-page .support-case-flow .case-outcome { background:#f3f7fb; padding-right:24px; }
.csu-page .support-case-flow .case-outcome>p { color:#1768d7; }
.csu-page .support-case-note { margin-top:38px; padding-top:23px; border-top:1px solid #d6dde3; font-size:11px; line-height:1.8; color:#748391; }
.csu-page .scope-limitations { padding-bottom:145px; background:#f3f5f7; }
.csu-page .scope-heading { padding:120px 0 85px; }
.csu-page .scope-heading>p { margin:0 0 27px; font:700 9px/1 Arial,sans-serif; letter-spacing:.19em; color:#758596; }
.csu-page .scope-heading h2 { margin:0; max-width:1000px; font-size:48px; line-height:1.45; font-weight:500; letter-spacing:-.035em; }
.csu-page .not-official { margin:27px 0 22px; padding:18px 20px; background:#eef3f7; border-left:3px solid #1768d7; font-size:13px; line-height:1.75; font-weight:600; color:#263f55; }
.csu-page .scope-compact { background:white; border-top:2px solid var(--csu-navy); border-bottom:1px solid #bdc7d0; }
.csu-page .scope-compact>p { margin:0; padding:30px 34px; display:grid; grid-template-columns:180px 1fr; gap:28px; border-bottom:1px solid #d7dee4; }
.csu-page .scope-compact>p strong { font-size:18px; }
.csu-page .scope-compact>p span { font-size:14px; line-height:1.8; color:#5d6f7f; }
.csu-page .scope-compact details>summary { min-height:72px; padding:0 34px; display:flex; align-items:center; justify-content:space-between; list-style:none; cursor:pointer; font-size:15px; font-weight:600; }
.csu-page .scope-compact details>summary::-webkit-details-marker { display:none; }
.csu-page .scope-compact details>summary b { font-size:21px; font-weight:300; }
.csu-page .scope-compact details[open]>summary b { transform:rotate(45deg); }
.csu-page .scope-compact details>.not-official { margin:0 34px 18px; }
.csu-page .scope-compact details>ol { margin:0; padding:0 34px 30px; list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:0 28px; }
.csu-page .scope-compact details>ol li { min-height:48px; display:grid; grid-template-columns:30px 1fr; align-items:center; border-bottom:1px solid #dce1e5; font-size:12px; color:#526576; }
.csu-page .scope-compact details>ol li span { font-size:9px; color:#8796a2; }
.csu-page .environment-check { padding-bottom:145px; background:var(--csu-navy); color:white; }
.csu-page .check-heading { padding:120px 0 82px; display:grid; grid-template-columns:1fr auto; align-items:end; gap:80px; }
.csu-page .check-heading>div>p { margin:0 0 28px; font:700 9px/1 Arial,sans-serif; letter-spacing:.2em; color:#86a1bd; }
.csu-page .check-heading h2 { margin:0; font-size:54px; line-height:1.42; font-weight:500; letter-spacing:-.045em; }
.csu-page .check-paths { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid rgba(255,255,255,.5); border-bottom:1px solid rgba(255,255,255,.3); }
.csu-page .check-paths article { min-height:465px; padding:48px 55px 45px 0; display:grid; grid-template-columns:1fr auto; grid-template-rows:auto 78px auto 1fr auto; column-gap:30px; }
.csu-page .check-paths article+article { padding-right:0; padding-left:55px; border-left:1px solid rgba(255,255,255,.24); }
.csu-page .check-paths article>span { font:700 8px/1 Arial,sans-serif; letter-spacing:.19em; color:#8ba7c2; }
.csu-page .check-path-icon { grid-column:2; grid-row:1 / 3; position:relative; width:88px; height:88px; border:1px solid rgba(255,255,255,.35); border-radius:50%; display:grid; place-items:center; }
.csu-page .check-path-icon .platform-logo { width:34px; height:34px; filter:grayscale(1) brightness(0) invert(1); opacity:.82; }
.csu-page .check-path-icon i { position:absolute; width:7px; height:7px; border-radius:50%; background:#2684e8; }
.csu-page .check-path-icon i:first-of-type { right:7px; top:19px; }
.csu-page .check-path-icon i:last-of-type { right:1px; top:38px; width:5px; height:5px; background:#9fb7cd; }
.csu-page .check-path-icon.trouble::after { content:'!'; position:absolute; right:4px; top:-11px; width:27px; height:27px; border-radius:50%; display:grid; place-items:center; background:#2a80dc; color:white; font:700 15px/1 Arial,sans-serif; }
.csu-page .check-paths h3 { grid-column:1; margin:18px 0 28px; font-size:35px; line-height:1.5; font-weight:500; letter-spacing:-.025em; }
.csu-page .check-paths article>p { grid-column:1 / 3; max-width:470px; margin:0; padding-top:25px; border-top:1px solid rgba(255,255,255,.2); font-size:14px; line-height:1.95; color:rgba(255,255,255,.68); }
.csu-page .check-paths a { grid-column:1 / 3; align-self:end; width:100%; padding:24px 0 4px; display:flex; justify-content:space-between; align-items:center; color:white; border-bottom:1px solid rgba(255,255,255,.5); font-size:14px; font-weight:600; }
.csu-page .check-paths a b { font-size:22px; font-weight:400; }
.csu-page .check-paths a:hover { color:#75b5ff; border-color:#75b5ff; }
.csu-page .environment-check { padding-bottom:150px; background:#eef2f4; color:var(--csu-ink); }
.csu-page .environment-check .section-head { background:white; }
.csu-page .check-heading { padding:112px 0 78px; grid-template-columns:1.15fr .85fr; align-items:end; gap:100px; }
.csu-page .check-heading>div>p { color:#1972c9; }
.csu-page .check-heading h2 { font-size:50px; line-height:1.46; }
.csu-page .check-introduction { margin:0 0 8px; padding:28px 0 0; border-top:2px solid var(--csu-navy); font-size:15px; line-height:2; color:#5c6e7d; }
.csu-page .check-mode-label { min-height:50px; display:grid; grid-template-columns:50px auto 1fr; align-items:center; gap:16px; }
.csu-page .check-mode-label>span { width:38px; height:38px; border-radius:50%; display:grid; place-items:center; background:#1773cf; color:white; font:600 12px/1 Arial,sans-serif; }
.csu-page .check-mode-label>p { margin:0; font-size:15px; font-weight:600; }
.csu-page .check-mode-label>small { justify-self:end; font:700 8px/1 Arial,sans-serif; letter-spacing:.18em; color:#8a9aa7; }
.csu-page .check-paths { margin-top:20px; border:1px solid #c4ced6; border-radius:4px; background:white; box-shadow:0 13px 35px rgba(25,49,69,.07); overflow:hidden; }
.csu-page .check-paths article { min-height:385px; padding:40px 45px; grid-template-columns:1fr 74px; grid-template-rows:auto auto auto 1fr auto; column-gap:30px; }
.csu-page .check-paths article+article { padding:40px 45px; border-left:1px solid #cdd5dc; }
.csu-page .check-paths article>span { display:inline-flex; width:max-content; padding:8px 12px; border-radius:18px; background:#edf4fa; color:#1768b5; font:600 12px/1.2 sans-serif; letter-spacing:0; }
.csu-page .check-path-icon { width:68px; height:68px; border-color:#b8c5cf; }
.csu-page .check-path-icon .platform-logo { width:29px; height:29px; filter:grayscale(1); opacity:.68; }
.csu-page .check-path-icon i { background:#1773cf; }
.csu-page .check-path-icon i:last-of-type { background:#8ca0b1; }
.csu-page .check-path-icon.trouble::after { right:-2px; top:-8px; width:25px; height:25px; background:#1773cf; }
.csu-page .check-paths h3 { margin:28px 0 20px; font-size:26px; line-height:1.58; letter-spacing:-.02em; }
.csu-page .check-paths article>p { padding-top:20px; border-top:1px solid #d8dfe5; color:#5d6f7e; font-size:13px; line-height:1.9; }
.csu-page .check-paths a { padding:25px 0 5px; color:#155fa5; border-color:#8aa9c5; font-size:13px; }
.csu-page .check-paths a:hover { color:var(--csu-navy); border-color:var(--csu-navy); }
.csu-page .frequently-asked { padding-bottom:145px; background:white; }
.csu-page .faq-layout { padding-top:120px; display:grid; grid-template-columns:360px 1fr; gap:105px; }
.csu-page .faq-layout>header>p { margin:0 0 28px; font:700 9px/1 Arial,sans-serif; letter-spacing:.19em; color:#176fc4; }
.csu-page .faq-layout>header h2 { margin:0; font-size:42px; line-height:1.5; font-weight:500; letter-spacing:-.035em; }
.csu-page .faq-layout>header>span { display:block; margin-top:43px; padding-top:24px; border-top:1px solid #bec8d0; font-size:13px; line-height:1.9; color:#647583; }
.csu-page .faq-list { border-top:2px solid var(--csu-navy); }
.csu-page .faq-list details { border-bottom:1px solid #cfd7dd; }
.csu-page .faq-list summary { min-height:95px; padding:25px 3px; display:grid; grid-template-columns:42px 1fr 32px; gap:18px; align-items:center; list-style:none; cursor:pointer; }
.csu-page .faq-list summary::-webkit-details-marker { display:none; }
.csu-page .faq-list summary>span { font:400 11px/1 Arial,sans-serif; color:#8999a6; }
.csu-page .faq-list summary>strong { font-size:17px; line-height:1.7; font-weight:600; }
.csu-page .faq-list summary>i { position:relative; width:28px; height:28px; border:1px solid #b7c3cc; border-radius:50%; }
.csu-page .faq-list summary>i::before,
.csu-page .faq-list summary>i::after { content:''; position:absolute; left:8px; top:13px; width:10px; height:1px; background:#526a7e; }
.csu-page .faq-list summary>i::after { transform:rotate(90deg); transition:.2s ease; }
.csu-page .faq-list details[open] summary>i { background:#176fc4; border-color:#176fc4; }
.csu-page .faq-list details[open] summary>i::before,
.csu-page .faq-list details[open] summary>i::after { background:white; }
.csu-page .faq-list details[open] summary>i::after { transform:rotate(0); }
.csu-page .faq-list details>p { margin:0; padding:0 55px 35px 60px; font-size:13px; line-height:2; color:#5c6f7f; }
.csu-page .final-contact { padding:120px 0 105px; background:#f1f4f6; }
.csu-page .final-contact-heading { display:grid; grid-template-columns:1.18fr .82fr; gap:95px; align-items:end; }
.csu-page .final-contact-heading>div>p { margin:0 0 28px; font:700 9px/1 Arial,sans-serif; letter-spacing:.19em; color:#176fc4; }
.csu-page .final-contact-heading h2 { margin:0; font-size:43px; line-height:1.5; font-weight:500; letter-spacing:-.035em; }
.csu-page .final-contact-heading>p { margin:0; padding-top:25px; border-top:1px solid var(--csu-navy); font-size:16px; line-height:2; color:#4f6475; }
.csu-page .contact-choices { margin-top:78px; display:grid; grid-template-columns:repeat(2,1fr); border-top:2px solid var(--csu-navy); border-bottom:1px solid #bfc9d1; background:white; }
.csu-page .contact-choices>a { min-height:285px; padding:35px 32px 30px; position:relative; display:grid; grid-template-columns:1fr auto; grid-template-rows:auto 1fr auto auto; color:var(--csu-ink); }
.csu-page .contact-choices>a+a { border-left:1px solid #cdd5db; }
.csu-page .contact-choices>a>span { font:300 28px/1 Arial,sans-serif; color:#99a7b2; }
.csu-page .contact-choices>a>small { justify-self:end; font:700 7px/1 Arial,sans-serif; letter-spacing:.18em; color:#7f909e; }
.csu-page .contact-choices>a>strong { grid-column:1 / 3; align-self:end; margin-top:50px; padding-bottom:17px; font-size:21px; font-weight:600; border-bottom:1px solid #d4dbe0; }
.csu-page .contact-choices>a>p { margin:18px 0 0; font-size:12px; color:#637584; }
.csu-page .contact-choices>a>b { align-self:end; justify-self:end; font-size:23px; font-weight:400; color:#176fc4; }
.csu-page .contact-choices>a:hover { background:#eaf3fb; }
.csu-page .contact-choices>a.is-preparing { pointer-events:none; background:#e7ebee; color:#71808b; }
.csu-page .contact-choices>a.is-preparing>small,
.csu-page .contact-choices>a.is-preparing>b { color:#7e8d98; }
.csu-page .contact-notes { padding-top:31px; display:grid; grid-template-columns:1fr 1fr; gap:15px 50px; }
.csu-page .contact-notes>p { margin:0; font-size:11px; line-height:1.8; color:#607281; }
.csu-page .contact-notes>p strong { margin-right:13px; color:#263f55; }
.csu-page .contact-notes>small { grid-column:1 / 3; padding-top:20px; border-top:1px solid #cbd4db; font-size:9px; color:#86939d; }

/* ==== モバイル（900px以下・共通レイアウト調整） ==== */
@media (max-width:900px) {
.csu-page .content-width { width:min(100% - 40px,680px); }
.csu-page .hero { min-height:820px; grid-template-columns:42px 1fr; }
.csu-page .hero-inner { padding:54px 22px 40px; }
.csu-page .hero-inner::before { inset:150px -65% 0 -15%; background-position:66% center; opacity:.2; }
.csu-page .hero-brand { display:block; }
.csu-page .hero-focus { position:relative; top:auto; right:auto; width:180px; margin:68px 0 0 auto; }
.csu-page .service-line { margin-top:14px; line-height:1.7; }
.csu-page .hero h1 { width:100%; margin-top:70px; font-size:clamp(42px,10vw,66px); }
.csu-page .hero h1 span:nth-child(2),
.csu-page .hero h1 span:nth-child(3) { margin-left:0; }
.csu-page .hero-conclusion { font-size:22px; }
.csu-page .hero-audience { width:100%; margin:52px 0 42px; grid-template-columns:1fr; gap:22px; }
.csu-page .hero-audience>p,
.csu-page .hero-audience>small { grid-column:1; }
.csu-page .hero-audience>p br { display:none; }
.csu-page .section-head { padding:0 20px; }
.csu-page .urgent-contact { padding:18px 0; }
.csu-page .urgent-contact-inner { grid-template-columns:58px 1fr; gap:20px; }
.csu-page .urgent-contact-inner { width:min(100% - 40px,680px); padding:38px 26px 28px; }
.csu-page .urgent-contact-copy { padding-left:0; border-left:0; }
.csu-page .urgent-contact-copy h2 { font-size:20px; }
.csu-page .urgent-contact a { grid-column:1 / 3; width:100%; }
.csu-page .section-head p:last-child { display:none; }
.csu-page .intro-lead { padding:90px 0; }
.csu-page .intro-lead>p:first-child { width:100%; font-size:23px; }
.csu-page .intro-hook { width:100%; margin-top:70px; font-size:31px; }
.csu-page .paths-title h2 { font-size:42px; }
.csu-page .path-grid { grid-template-columns:1fr; }
.csu-page .path { padding:54px 0; }
.csu-page .path+.path { border-left:0; border-top:1px solid rgba(255,255,255,.25); }
.csu-page .path-list h4,
.csu-page .trouble-list h4 { font-size:25px; }
.csu-page .connection-map { padding:35px 22px; }
.csu-page .map-caption span { display:none; }
.csu-page .map-flow { grid-template-columns:1fr; padding:50px 0; gap:42px; }
.csu-page .map-step>i { top:76px; left:50%; width:1px; height:42px; }
.csu-page .map-step>i::after { right:-3px; top:auto; bottom:0; transform:rotate(135deg); }
.csu-page .diagnostics-heading { padding:100px 0 70px; grid-template-columns:1fr; gap:45px; }
.csu-page .diagnostics-heading h2 { font-size:48px; }
.csu-page .connection-conflict { grid-template-columns:1fr; gap:28px; padding:30px 22px; }
.csu-page .conflict-diagram { grid-template-columns:80px 70px 1fr; }
.csu-page .connection-conflict>span { max-width:none; }
.csu-page .diagnostic-result { margin-top:90px; padding:45px 24px; }
.csu-page .result-copy { grid-template-columns:1fr; gap:26px; }
.csu-page .result-copy h3 { font-size:30px; }
.csu-page .flow-heading { padding:100px 0 75px; grid-template-columns:1fr; gap:60px; }
.csu-page .flow-heading h2 { font-size:43px; }
.csu-page .flow-grid { grid-template-columns:1fr; }
.csu-page .flow-month { padding:52px 0; }
.csu-page .flow-month+.flow-month { border-left:0; border-top:1px solid var(--csu-line); }
.csu-page .flow-communication { grid-template-columns:1fr; }
.csu-page .flow-communication article+article { border-left:0; border-top:1px solid var(--csu-line); }
.csu-page .visit-note { grid-template-columns:1fr; gap:14px; }
.csu-page .plans-heading { grid-template-columns:1fr; gap:55px; }
.csu-page .plans-heading h2 { font-size:42px; }
.csu-page .plan-row { grid-template-columns:1fr; }
.csu-page .plan-identity,
.csu-page .plan-price,
.csu-page .plan-description { padding:35px 0; border-left:0; border-bottom:1px solid rgba(255,255,255,.15); }
.csu-page .plan-scope,
.csu-page .support-areas { grid-column:1; grid-template-columns:1fr; }
.csu-page .plan-scope li:not(:nth-child(4n+1)),
.csu-page .support-areas section+section { border-left:0; }
.csu-page .support-cases-heading { grid-template-columns:1fr; gap:50px; }
.csu-page .support-cases-heading h2 { font-size:42px; }
.csu-page .support-case-list>article { grid-template-columns:1fr; gap:38px; }
.csu-page .support-case-flow { grid-template-columns:1fr; }
.csu-page .support-case-flow section { min-height:0; padding:30px 0; }
.csu-page .support-case-flow section+section { padding-left:0; border-left:0; border-top:1px solid #d8dee3; }
.csu-page .support-case-flow .case-outcome { padding:30px 22px; }
.csu-page .scope-heading h2 { font-size:38px; }
.csu-page .check-heading { padding:95px 0 65px; grid-template-columns:1fr; gap:42px; }
.csu-page .check-heading h2 { font-size:40px; }
.csu-page .check-introduction { font-size:14px; }
.csu-page .check-mode-label { grid-template-columns:45px 1fr; }
.csu-page .check-mode-label>small { grid-column:2; justify-self:start; }
.csu-page .check-paths { grid-template-columns:1fr; }
.csu-page .check-paths article { min-height:405px; padding:38px 26px; }
.csu-page .check-paths article+article { padding:38px 26px; border-left:0; border-top:1px solid #cdd5dc; }
.csu-page .check-paths h3 { font-size:26px; }
.csu-page .check-path-icon { width:72px; height:72px; }
.csu-page .faq-layout { padding-top:90px; grid-template-columns:1fr; gap:58px; }
.csu-page .faq-layout>header h2 { font-size:36px; }
.csu-page .faq-list summary { min-height:86px; grid-template-columns:30px 1fr 28px; gap:12px; }
.csu-page .faq-list summary>strong { font-size:15px; }
.csu-page .faq-list details>p { padding:0 40px 30px 42px; }
.csu-page .final-contact { padding:90px 0 80px; }
.csu-page .final-contact-heading { grid-template-columns:1fr; gap:45px; }
.csu-page .final-contact-heading h2 { font-size:35px; }
.csu-page .contact-choices { margin-top:60px; grid-template-columns:1fr; }
.csu-page .contact-choices>a { min-height:220px; }
.csu-page .contact-choices>a+a { border-left:0; border-top:1px solid #cdd5db; }
.csu-page .contact-notes { grid-template-columns:1fr; gap:13px; }
.csu-page .contact-notes>small { grid-column:1; }
}

/* ==== モバイル（900px以下・タイポグラフィ／コンポーネント個別調整、GPT改訂版） ==== */
@media (max-width:900px) {
.csu-page .content-width { width:calc(100% - 32px); }
.csu-page .section-head { min-height:78px; padding:0 16px; }
.csu-page .hero { min-height:650px; grid-template-columns:34px 1fr; }
.csu-page .hero-inner { padding:44px 16px 34px; }
.csu-page .hero h1 { margin-top:58px; font-size:28px; line-height:1.35; letter-spacing:-.03em; }
.csu-page .hero-conclusion { margin-top:54px; font-size:19px; }
.csu-page .paths-title,
.csu-page .scope-heading { padding-top:72px; padding-bottom:52px; }
.csu-page .paths-title h2,
.csu-page .diagnostics-heading h2,
.csu-page .flow-heading h2,
.csu-page .plans-heading h2,
.csu-page .support-cases-heading h2,
.csu-page .scope-heading h2,
.csu-page .check-heading h2,
.csu-page .faq-layout>header h2,
.csu-page .final-contact-heading h2 {
    font-size:20px;
    line-height:1.55;
    letter-spacing:-.02em;
  }
.csu-page .path-heading h3 { font-size:19px; line-height:1.55; }
.csu-page .path-list h4,
.csu-page .trouble-list h4 { font-size:18px; }
.csu-page .result-copy h3 { font-size:19px; line-height:1.6; }
.csu-page .flow-month-head h3 { font-size:19px; }
.csu-page .plan-identity h3 { font-size:18px; }
.csu-page .support-case-list header h3 { font-size:18px; }
.csu-page .check-paths h3 { font-size:18px; }
.csu-page .plan-price>strong { font-size:16px; }
.csu-page .plan-price>strong b { font-size:30px; }
.csu-page .plan-price>div b { font-size:14px; }
.csu-page .intro-lead,
.csu-page .diagnostics-heading,
.csu-page .flow-heading,
.csu-page .final-contact { padding-top:72px; padding-bottom:64px; }
.csu-page .check-heading { padding-top:72px; padding-bottom:52px; }
.csu-page .faq-layout { padding-top:72px; gap:42px; }
.csu-page .check-paths article { min-height:0; padding:32px 24px; }
.csu-page .contact-choices>a { min-height:170px; }
.csu-page .connection-map { padding:30px 18px 38px; }
.csu-page .map-flow {
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:repeat(3,auto);
    column-gap:36px;
    row-gap:46px;
    padding:44px 0 34px;
  }
.csu-page .map-step:nth-child(1) { grid-column:1; grid-row:1; }
.csu-page .map-step:nth-child(2) { grid-column:2; grid-row:1; }
.csu-page .map-step:nth-child(3) { grid-column:2; grid-row:2; }
.csu-page .map-step:nth-child(4) { grid-column:1; grid-row:2; }
.csu-page .map-step:nth-child(5) { grid-column:1; grid-row:3; }
.csu-page .map-step:nth-child(6) { grid-column:2; grid-row:3; }
.csu-page .map-node { width:64px; height:64px; }
.csu-page .map-node .platform-logo { width:28px; height:28px; }
.csu-page .map-step>p { width:100%; min-height:40px; margin-top:14px; font-size:12px; }
.csu-page .map-step>i { display:none; }
.csu-page .map-step::after {
    position:absolute;
    z-index:2;
    color:#718394;
    font-size:18px;
    line-height:1;
  }
.csu-page .map-step:nth-child(1)::after,
.csu-page .map-step:nth-child(5)::after { content:'→'; top:23px; right:-28px; }
.csu-page .map-step:nth-child(3)::after { content:'←'; top:23px; left:-28px; }
.csu-page .map-step:nth-child(2)::after,
.csu-page .map-step:nth-child(4)::after { content:'↓'; left:calc(50% - 5px); bottom:-29px; }
.csu-page .support-cases-heading { padding-top:72px; padding-bottom:52px; }
.csu-page .support-case-list>details>summary { min-height:92px; padding:20px 0; grid-template-columns:1fr 26px; gap:8px 16px; }
.csu-page .support-case-list>details>summary>span,
.csu-page .support-case-list>details>summary>p { grid-column:1; }
.csu-page .support-case-list>details>summary>p { margin-top:3px; }
.csu-page .support-case-list>details>summary>strong { grid-column:1; font-size:17px; }
.csu-page .support-case-list>details>summary>i { grid-column:2; grid-row:1 / 4; }
.csu-page .support-case-list>details>.support-case-flow { margin-bottom:24px; }
.csu-page .introduction { padding-bottom:64px; }
.csu-page .intro-lead { padding-top:42px; padding-bottom:42px; }
.csu-page .intro-lead>p:first-child { font-size:16px; line-height:1.9; }
.csu-page .intro-hook { margin-top:30px; font-size:17px; line-height:1.75; }
.csu-page .intro-lead>p:last-child { margin-top:28px; font-size:14px; line-height:1.9; color:#596979; }
.csu-page .urgent-contact { padding:10px 0; }
.csu-page .urgent-contact-inner {
    width:calc(100% - 32px);
    min-height:0;
    padding:14px;
    grid-template-columns:40px minmax(0,1fr);
    gap:6px 12px;
    border-bottom-width:3px;
    box-shadow:0 4px 14px rgba(16,37,59,.09);
  }
.csu-page .urgent-contact-inner::after { right:9px; top:7px; font-size:5px; }
.csu-page .urgent-contact-signal { width:40px; height:40px; }
.csu-page .urgent-contact-signal .platform-logo { width:20px; height:20px; }
.csu-page .urgent-contact-signal>i { display:none; }
.csu-page .urgent-contact-copy>p { margin-bottom:4px; font-size:6px; }
.csu-page .urgent-contact-copy h2 { font-size:14px; line-height:1.45; }
.csu-page .urgent-contact-copy>span { display:none; }
.csu-page .urgent-contact a {
    grid-column:2;
    width:150px;
    min-height:36px;
    padding:0 11px;
    font-size:11px;
  }
.csu-page .urgent-contact a b { font-size:16px; }
.csu-page .paths-title { padding-top:52px; padding-bottom:38px; }
.csu-page .path { padding:36px 0; }
.csu-page .path-intro p { margin-bottom:14px; font-size:14px; line-height:1.8; }
.csu-page .path-list h4,
.csu-page .trouble-list h4 { margin-bottom:18px; padding-top:20px; }
.csu-page .path-list li { padding-top:12px; padding-bottom:12px; font-size:13px; line-height:1.65; }
.csu-page .path-list li::before { top:16px; }
.csu-page .trouble-row { padding:14px 0; }
.csu-page .path-action { margin-top:32px; min-height:58px; }
.csu-page .path-details { margin-top:18px; }
.csu-page .path-details>summary { min-height:50px; font-size:13px; }
.csu-page .diagnostics-heading { padding-top:52px; padding-bottom:38px; }
.csu-page .diagnostic-result { margin-top:48px; padding:28px 20px; }
.csu-page .flow-heading { padding-top:52px; padding-bottom:38px; }
.csu-page .flow-month { padding:34px 0; }
.csu-page .flow-intro { margin-top:24px; }
.csu-page .flow-communication { margin-top:42px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.csu-page .flow-communication article { min-height:150px; padding:24px 18px; }
.csu-page .flow-communication article+article { border-top:0; border-left:1px solid var(--csu-line); }
.csu-page .plans-heading { padding:58px 0 42px; gap:34px; }
.csu-page .plan-identity,
.csu-page .plan-price,
.csu-page .plan-description { padding:24px 0; }
.csu-page .plan-details { grid-column:1; }
.csu-page .plan-scope { grid-template-columns:repeat(2,minmax(0,1fr)); }
.csu-page .plan-scope li { min-height:46px; padding:8px 10px; }
.csu-page .plan-scope li:not(:nth-child(4n+1)) { border-left:0; }
.csu-page .plan-scope li:nth-child(even) { border-left:1px solid rgba(255,255,255,.12); }
.csu-page .support-areas { grid-template-columns:repeat(2,minmax(0,1fr)); }
.csu-page .support-areas section { padding:22px 16px; }
.csu-page .support-areas section+section { border-left:0; }
.csu-page .support-areas section:nth-child(even) { border-left:1px solid rgba(255,255,255,.18); }
.csu-page .support-areas section:nth-child(3) { border-top:1px solid rgba(255,255,255,.18); }
.csu-page .plan-capacity { margin-top:42px; padding:18px 0; flex-direction:column; gap:8px; }
.csu-page .scope-limitations { padding-bottom:72px; }
.csu-page .scope-heading { padding-top:58px; padding-bottom:42px; }
.csu-page .scope-compact>p { padding:24px 20px; grid-template-columns:1fr; gap:10px; }
.csu-page .scope-compact>p strong { font-size:17px; }
.csu-page .scope-compact details>summary { min-height:60px; padding:0 20px; font-size:14px; }
.csu-page .scope-compact details>.not-official { margin:0 20px 16px; }
.csu-page .scope-compact details>ol { padding:0 20px 24px; grid-template-columns:1fr; }
.csu-page .check-heading { padding-top:58px; padding-bottom:42px; }
.csu-page .check-paths article { padding:26px 20px; }
.csu-page .faq-layout { padding-top:58px; gap:34px; }
.csu-page .final-contact { padding-top:58px; padding-bottom:52px; }
.csu-page .contact-choices { margin-top:42px; }
.csu-page .contact-choices>a { min-height:110px; }
.csu-page h3 { font-size:18px; line-height:1.6; }
.csu-page h4 { font-size:16px; line-height:1.6; }
}

/* --- 診断ページCTAの「準備中」非活性表示 ---
 * 対象：META ENVIRONMENT CHECKセクションの診断導線2箇所（.check-paths a.is-preparing）、
 * 最終CTA「02 Meta環境を5分で診断」（.contact-choices>a.is-preparing）。
 * 静的デザインではこれらは /diagnosis へのリンクとして実装されているが、
 * /diagnosis ページは現状未公開のため、既存方針（診断ページCTAは現在の
 * 公開方針を維持・勝手に本番公開しない）に従い、href なし・aria-disabled・
 * 「準備中」バッジ表示の非活性CTAとして実装する。
 * なお、CONSULTATIONセクションの相談CTA2箇所（path-action）は、
 * 2026-08-28山田様確認により home_url('/#contact') へ接続するライブCTAの
 * ため、.is-preparing は付与していない（is-preparing用CSSも対象外）。
 */
.csu-page a.is-preparing { pointer-events: none; cursor: default; }

.csu-page .check-paths a.is-preparing { color: #9aa7b1; border-color: #d8dfe5; }
.csu-page .check-paths a.is-preparing:hover { color: #9aa7b1; border-color: #d8dfe5; }
.csu-page .check-paths a.is-preparing b,
.csu-page .contact-choices>a.is-preparing b {
  display: inline-block;
  padding: 5px 12px;
  border-radius: 999px;
  background: #d7dee3;
  color: #55636e;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
}
.csu-page .contact-choices>a.is-preparing { pointer-events: none; background: #e7ebee; color: #71808b; }
.csu-page .contact-choices>a.is-preparing>small,
.csu-page .contact-choices>a.is-preparing>b { color: #7e8d98; }
.csu-page .contact-choices>a.is-preparing:hover { background: #e7ebee; }
