/* ===== ページ固有スタイル（最小限・仮レイアウト用） ===== */
.sw-sec .h2{margin-bottom:16px}
.sw-lead{font-size:16px;line-height:2;color:var(--text-secondary);margin-bottom:44px}

/* 悩み→解決→比較→安心へ進む、中央V字のセクション境界 */
.sw-progress{position:relative}
.sw-progress-worry{background:#fff}
.sw-progress-solution{--sw-prev-bg:#fff;background:#F3F7FA!important}
.sw-progress-compare{--sw-prev-bg:#F3F7FA;background:#fff}
.sw-progress-reasons{--sw-prev-bg:#fff;background:#EDF4F8!important}
.sw-progress:not(.sw-progress-worry){padding-top:166px}
.sw-progress:not(.sw-progress-worry)::before{content:"";position:absolute;z-index:2;top:0;left:50%;width:224px;height:70px;transform:translateX(-50%);background:var(--sw-prev-bg);clip-path:polygon(0 0,100% 0,50% 100%);pointer-events:none}
@media(max-width:768px){.sw-progress:not(.sw-progress-worry){padding-top:126px}.sw-progress:not(.sw-progress-worry)::before{width:136px;height:44px}}

/* お悩みリスト */
.worry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.worry-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:24px 24px 24px 58px;position:relative;font-weight:700;color:#1a2433;line-height:1.75;box-shadow:0 4px 12px -6px rgba(3,76,146,.14)}
.worry-card::before{content:"✓";font-family:Arial,"Noto Sans JP",sans-serif;font-weight:900;position:absolute;left:20px;top:23px;width:24px;height:24px;border-radius:50%;background:#eaf2fa;color:#034c92;font-size:15px;line-height:24px;text-align:center}
@media(max-width:768px){.worry-grid{grid-template-columns:1fr}}

/* 解決カード：内容別アイコン */
.solution-card{position:relative;min-height:190px;padding:36px 36px 36px 118px}
.solution-icon{position:absolute;left:34px;top:36px;width:58px;height:58px;padding:14px;border-radius:50%;background:#eaf2fa;color:#034c92;box-sizing:border-box}
.solution-card h3{color:#112e56;font-size:21px}
@media(max-width:600px){.solution-card{min-height:0;padding:30px 24px 30px 92px}.solution-icon{left:24px;top:30px;width:48px;height:48px;padding:11px}.solution-card h3{font-size:19px}}

/* 安心して乗り換えられる理由：サポートページと共通の横長写真表現 */
.sw-reassurance-visual{margin:48px 0 0}
.sw-reassurance-media{position:relative;width:100%;aspect-ratio:12/5;max-height:460px;overflow:hidden;border-radius:6px}
.sw-reassurance-media::after{content:"";position:absolute;z-index:1;inset:0;background:rgba(3,35,70,.4);pointer-events:none}
.sw-reassurance-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center 12%}
.sw-reassurance-logo{position:absolute;z-index:2;right:28px;bottom:24px;width:min(25%,240px);height:auto;filter:drop-shadow(0 3px 10px rgba(0,0,0,.28))}
@media(max-width:900px){.sw-reassurance-logo{right:22px;bottom:20px;width:min(28%,210px)}}
@media(max-width:600px){.sw-reassurance-visual{margin-top:36px}.sw-reassurance-media{aspect-ratio:16/10;max-height:none}.sw-reassurance-photo{object-position:center center}.sw-reassurance-logo{right:16px;bottom:14px;width:min(42%,140px)}}

/* IMG-035 比較表Z2・ライトフォーカス（外装なし・横幅100%） */
.cmp-wrap{--cmp-radius:4px;width:100%;overflow:visible;margin-top:52px;padding:0;border:0;border-radius:0;background:none}
.cmp-wrap .compare{width:100%;min-width:0;table-layout:fixed;border-collapse:separate;border-spacing:0;background:transparent;border:0}
.cmp-wrap .compare th,.cmp-wrap .compare td{border:0;white-space:normal;overflow-wrap:anywhere;font-size:14px;line-height:1.7}
.cmp-wrap .compare thead th{position:relative;height:104px;padding:18px 22px;font-size:17px;font-weight:800}
.cmp-wrap .compare thead th:first-child,.cmp-wrap .compare tbody th{width:17%;background:#fff;color:#122F57;text-align:left}
.cmp-wrap .compare thead th:nth-child(2),.cmp-wrap .compare tbody td:nth-child(2){width:34%}
.cmp-wrap .compare thead th:nth-child(3),.cmp-wrap .compare thead th:nth-child(4),.cmp-wrap .compare tbody td:nth-child(3),.cmp-wrap .compare tbody td:nth-child(4){width:24.5%}
.cmp-wrap .compare thead th:first-child{border-radius:var(--cmp-radius) 0 0 0;text-align:center;border-bottom:2px solid #DDE6ED}
.cmp-item-head{display:flex;flex-direction:column;align-items:center}.cmp-item-head strong{font-size:16px}
.cmp-wrap .compare tbody th{padding:23px 22px;border-bottom:2px solid #E8EDF2;font-size:14px;font-weight:800;line-height:1.55}
.cmp-wrap .compare tbody tr:last-child th{border-bottom:0;border-radius:0 0 0 var(--cmp-radius)}
.cmp-wrap .compare thead th:nth-child(2){z-index:4;padding:0;background:transparent;overflow:visible}
.cmp-product-mark{position:absolute;inset:-24px 0 0;display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px 22px 14px;border-radius:var(--cmp-radius) var(--cmp-radius) 0 0;background:linear-gradient(135deg,#102B5A 0%,#07477F 100%);box-shadow:0 -4px 26px -14px rgba(8,43,82,.45)}
.cmp-product-mark::before{content:"OUR SERVICE";position:absolute;left:50%;top:-14px;transform:translateX(-50%);padding:6px 12px;border-radius:999px;background:#F8E7A0;color:#102B5A;font-size:9px;font-weight:800;letter-spacing:.1em;white-space:nowrap}
.cmp-product-mark img{width:min(170px,88%);height:auto;filter:drop-shadow(0 3px 8px rgba(0,22,52,.18))}
.cmp-wrap .compare thead th:nth-child(3),.cmp-wrap .compare thead th:nth-child(4){background:#606B77;color:#fff;text-align:center;border-bottom:3px solid #fff}
.cmp-wrap .compare thead th:nth-child(3){border-right:3px solid #fff}.cmp-wrap .compare thead th:nth-child(4){border-radius:0 var(--cmp-radius) 0 0}
.cmp-wrap .compare tbody td{min-width:0;padding:23px 28px;text-align:left}
.cmp-wrap .compare tbody td:nth-child(2){position:relative;z-index:3;padding:23px 22px 23px 64px;background:linear-gradient(180deg,#F0F7FB 0%,#EAF4F9 100%);color:#153B60;font-weight:700;border-bottom:1px solid #D6E5EE;box-shadow:-12px 0 24px -24px rgba(8,43,82,.5),12px 0 24px -24px rgba(8,43,82,.5)}
.cmp-wrap .compare tbody td:nth-child(2)::before{content:"✓";position:absolute;left:24px;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;color:#0A5DA0;font-family:Arial,sans-serif;font-size:17px;font-weight:800;line-height:1}
.cmp-wrap .compare tbody tr:first-child td:nth-child(2){color:#0C3158;font-size:16px;font-weight:800}.cmp-wrap .compare tbody tr:last-child td:nth-child(2){border-bottom:0;border-radius:0 0 var(--cmp-radius) var(--cmp-radius);box-shadow:0 14px 28px -22px rgba(8,43,82,.55)}
.cmp-wrap .compare tbody td:nth-child(3),.cmp-wrap .compare tbody td:nth-child(4){background:#EEF1F4;color:#657585;font-weight:500;border-bottom:3px solid #fff}
.cmp-wrap .compare tbody td:nth-child(3){border-right:3px solid #fff}.cmp-wrap .compare tbody tr:last-child td:nth-child(3){border-bottom:0}.cmp-wrap .compare tbody tr:last-child td:nth-child(4){border-bottom:0;border-radius:0 0 var(--cmp-radius) 0}
@media(max-width:768px){.cmp-wrap{margin-top:44px}.cmp-wrap .compare thead th{height:88px;padding:12px 10px;font-size:13px}.cmp-item-head strong{font-size:13px}.cmp-product-mark{inset:-18px 0 0;padding:16px 12px 10px}.cmp-product-mark::before{top:-11px;padding:4px 8px;font-size:7px}.cmp-product-mark img{width:min(132px,88%)}.cmp-wrap .compare th,.cmp-wrap .compare td{font-size:11.5px;line-height:1.6}.cmp-wrap .compare tbody th{padding:16px 10px;font-size:11.5px}.cmp-wrap .compare tbody td{padding:16px 11px}.cmp-wrap .compare tbody td:nth-child(2){padding:17px 10px 17px 44px}.cmp-wrap .compare tbody td:nth-child(2)::before{left:13px;width:22px;height:22px;font-size:14px}.cmp-wrap .compare tbody tr:first-child td:nth-child(2){font-size:13px}}
@media(max-width:600px){.switch-page .header-actions,.switch-page .tel-widget{display:none}.cmp-wrap{margin:36px 0 0}.cmp-wrap .compare thead th:first-child,.cmp-wrap .compare tbody th{width:17%}.cmp-wrap .compare thead th:nth-child(2),.cmp-wrap .compare tbody td:nth-child(2){width:37%}.cmp-wrap .compare thead th:nth-child(3),.cmp-wrap .compare thead th:nth-child(4),.cmp-wrap .compare tbody td:nth-child(3),.cmp-wrap .compare tbody td:nth-child(4){width:23%}.cmp-wrap .compare thead th{height:66px;padding:7px 3px;font-size:9px;line-height:1.35}.cmp-item-head strong{font-size:8px}.cmp-product-mark{inset:-12px 0 0;padding:12px 4px 6px}.cmp-product-mark::before{top:-8px;padding:3px 5px;font-size:5px;letter-spacing:.05em}.cmp-product-mark img{width:min(72px,88%)}.cmp-wrap .compare th,.cmp-wrap .compare td{font-size:8px;line-height:1.5;word-break:normal}.cmp-wrap .compare tbody th{padding:9px 4px;font-size:8.5px}.cmp-wrap .compare tbody td{padding:9px 4px}.cmp-wrap .compare tbody td:nth-child(2){padding:10px 4px 10px 24px}.cmp-wrap .compare tbody td:nth-child(2)::before{left:5px;width:15px;height:15px;font-size:10px}.cmp-wrap .compare tbody tr:first-child td:nth-child(2){font-size:9px}}

/* 導入事例：絞り込みバー */
.sw-filter{display:flex;flex-direction:column;gap:14px;margin-bottom:40px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:24px 28px;box-shadow:0 4px 12px -6px rgba(3,76,146,.12)}
.sw-filter-row{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}
.sw-filter-lbl{font-weight:800;color:var(--key);min-width:82px;font-size:14px;padding-top:6px}
.sw-tags{display:flex;flex-wrap:wrap;gap:8px}
.sw-tag{display:inline-block;font-size:13px;font-weight:700;color:#3a4a5e;background:#F0F4FA;border:1px solid #dbe4ee;border-radius:999px;padding:6px 16px}

/* 導入事例：カード */
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
@media(max-width:768px){.case-grid{grid-template-columns:1fr}}
.case-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden;box-shadow:0 4px 12px -6px rgba(3,76,146,.18);display:flex;flex-direction:column}
.case-photo{aspect-ratio:16/10;background:linear-gradient(97deg,#0E3058,#034C92);color:rgba(255,255,255,.85);display:flex;align-items:center;justify-content:center;font-weight:700;letter-spacing:.14em;font-size:18px}
.case-photo img{width:100%;height:100%;display:block;object-fit:cover}
.case-body{padding:22px 24px 8px;flex:1}
.case-meta{font-size:13.5px;color:var(--text-secondary);margin-bottom:4px}
.case-meta b{color:#1a2433}
.case-tags{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 14px}
.case-tags .sw-tag{font-size:12px;padding:4px 12px}
.case-comment{font-size:14.5px;line-height:1.9;color:var(--text)}
.case-foot{padding:0 24px 22px;text-align:right}
.case-more{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;color:var(--key)}
.case-actions{text-align:center;margin-top:40px}

/* ===== FAQ（faq.html の .fqe を移植） ===== */
.fqe{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.fqe details{border:1px solid #DCE6F1;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 6px 18px -12px rgba(3,76,146,.18)}
.fqe summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:18px 22px;font-weight:700;color:#17285F;font-size:15.5px;line-height:1.6;background:#F4F8FC;transition:background .25s,color .25s}
.fqe summary::-webkit-details-marker{display:none}
.fqe details[open] summary{background:linear-gradient(97deg,#0E3058 0%,#034C92 60%,#0E2F57 100%);color:#fff}
.fqe .q{flex:none;width:30px;height:30px;border-radius:8px;background:#034C92;color:#fff;font-family:"Oswald",sans-serif;font-weight:700;font-size:16px;display:flex;align-items:center;justify-content:center;transition:background .25s,color .25s}
.fqe details[open] summary .q{background:#fff;color:#034C92}
.fqe .qt{flex:1}
.fqe summary .ic{flex:none;margin-left:6px;font-size:13px;color:#5c8fc4;transition:transform .25s,color .25s}
.fqe details[open] summary .ic{color:#fff;transform:rotate(180deg)}
.fqe .a{display:flex;gap:14px;padding:20px 22px 22px;color:#48525F;font-size:14.5px;line-height:1.95}
.fqe .ab{flex:none;width:30px;height:30px;border-radius:8px;background:#EAF1F9;color:#034C92;font-family:"Oswald",sans-serif;font-weight:700;font-size:16px;display:flex;align-items:center;justify-content:center}
.fqe .at{flex:1;padding-top:3px}

/* CTA デモ種別ピル調整 */
.sw-cta .pills{justify-content:center;margin:0 auto 30px;max-width:640px}
.sw-cta .btns{justify-content:center}

/* 2026-08-22: 明朝体をゴシック体へ統一し、先方指摘の黄色い装飾線を削除 */
.switch-page .page-head h1,
.switch-page section .h2,
.switch-page section.case-sec .sec-head,
.switch-page .cta-box-title{font-family:"Noto Sans JP",sans-serif;font-weight:800;letter-spacing:.015em}
.switch-page .cta-box-title{font-weight:700}
.switch-page .page-head-desc::before{content:none;display:none}
