:root{
  --navy:#0B2C5A;        /* 見出し・本文・プライマリボタン */
  --navy-d:#08203F;      /* フッター */
  --navy-c:#0E3468;      /* 濃紺カード */
  --cyan:#1FB4E5;        /* アクセント・ハイライト */
  --cyan-l:#7FD9F2;
  --cyan-p:#E9F7FD;      /* 淡いブルー背景 */
  --tint:#F1F8FC;
  --line:#DCE7EF;
  --body:#002a5b;
  --white:#fff;
  --w:1080px;
}

img{max-width:100%}
a{color:var(--navy)}
p{color:var(--body)}

section{position:relative;padding:76px 0}
.inner{max-width:var(--w);margin:0 auto;padding:0 40px}
.sec-id{position:absolute;top:8px;left:8px;z-index:5;background:var(--navy);color:#fff;font-size:11px;font-weight:700;padding:2px 8px;border-radius:4px}
.note{border-left:4px solid var(--cyan);background:#F2FAFE;padding:12px 16px;margin:22px 0 0;font-size:12.5px;line-height:1.75;color:#1A4E6E;border-radius:0 6px 6px 0}
.note b{display:block;font-size:11px;letter-spacing:.06em;color:#0E7CA8;margin-bottom:2px}
.note.warn{border-left-color:#D9723F;background:#FDF4EE;color:#6B3A19}
.note.warn b{color:#B25A22}
body.hide-notes .note,body.hide-notes .sec-id{display:none}

/* ワイヤーフレーム表示 */
body.wf .viewport{filter:grayscale(1) contrast(.94)}
body.wf section{outline:1px dashed #9AA7AE;outline-offset:-1px}
body.wf .card,body.wf .plan,body.wf .step,body.wf .faq-item,body.wf .mock,body.wf .pkg-item{outline:1px dashed #9AA7AE}
body.wf .note{filter:none}

/* ===== 見出し（サービスサイト踏襲：中央寄せ・カナ読みキッカー） ===== */
.sec-head{text-align:center;margin-bottom:44px}
.sec-head.left{text-align:left}
.kicker{display:block;font-weight:700;color:var(--cyan);letter-spacing:.08em;margin-bottom:6px}
h2{font-size:31px;line-height:1.5;margin:0;font-weight:900;letter-spacing:-.01em}
h3{font-size:16px;margin:0 0 8px;font-weight:700}
.hl{background:var(--cyan);color:#fff;padding:1px 12px;border-radius:5px;display:inline-block;line-height:1.45}
.lead{max-width:720px;margin:14px auto 0;font-size:16px;font-weight:500}
.sec-head.left .lead{margin-left:0}
.tint{background:var(--tint)}
.pale{background:linear-gradient(180deg,#F4FBFE,#E9F5FB)}

@media (max-width: 767px) {
h2{font-size:20px}    
.lead{font-size:14px;line-height:1.85}
}

/* ===== ボタン（サイト踏襲） ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:700;text-decoration:none;border-radius:8px;padding:16px 34px;font-size:14px;white-space:nowrap;border:2px solid transparent;width:250px}
.btn::after{content:"›";font-size:19px;line-height:1;opacity:.9}
.btn-primary{background:var(--navy);color:#fff!important}
.btn-outline{background:#fff;color:var(--navy);border-color:var(--navy)}
.btn-white{background:#fff;color:var(--navy)}
.btn-sm{padding:11px 20px;font-size:13.5px;border-radius:6px}
.btn-lg{padding:19px 56px;font-size:17px;width:100%;max-width:520px}

@media (max-width: 767px) {
.btn{width:100%}
}

/* ===== S00 ヘッダー ===== */
.topbar{background:var(--tint);font-size:11.5px;padding:5px 0;color:var(--body)}
.topbar .inner{display:flex;gap:16px;padding:0 40px}
.topbar .r{margin-left:auto}
.gnav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(6px)}
.gnav .inner{display:flex;align-items:center;gap:22px;height:70px;padding:0 40px}
.logo{font-weight:900;font-size:19px;letter-spacing:.01em;color:var(--navy)}
.logo span{color:var(--cyan)}
.gnav nav{display:flex;gap:22px;font-size:13.5px;margin-left:auto;font-weight:500}
.gnav nav a{text-decoration:none}

/* ===== S01 ページタイトル帯 ===== */
.pagettl{background:var(--tint);padding:26px 0;text-align:center;border-bottom:1px solid var(--line)}
.pagettl h1{font-size:25px;margin:0;font-weight:900}
.crumb{font-size:11.5px;color:var(--body);padding:10px 0}
.crumb .inner{padding:0 40px}

/* ===== S02 締切バー ===== */
.deadline{background:var(--navy);color:#fff; margin-top: 50px; padding:13px 0;font-size:14px;font-weight:700}
.deadline .inner{display:flex;gap:18px;align-items:center;justify-content:center;flex-wrap:wrap}
.deadline .big{font-size:20px;color:var(--cyan-l)}
.deadline .tagx{background:var(--cyan);padding:2px 10px;border-radius:4px;font-size:12px}

/* ===== S03 FV ===== */
.fv{padding:0;background:linear-gradient(125deg,#E8F6FD 0%,#F7FCFE 42%,#DFF1FA 100%);overflow:hidden}
.fv .inner{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding:60px 40px 64px}
.fv .badge{display:inline-block;background:#fff;border:1px solid var(--cyan);color:var(--navy);font-weight:700;font-size:12.5px;padding:6px 14px;border-radius:6px;margin-bottom:18px}
.fv h1{font-size:43px;line-height:1.38;margin:0 0 18px;font-weight:900;letter-spacing:-.02em}
.fv p.sub{font-size:16px;font-weight: 500;line-height:30px;margin:0 0 28px;max-width:520px}
.fv .cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.fv .fine{font-size:12px;color:#7A8DA0;margin:0}
.price-card{background:#fff;border-radius:14px;padding:26px;box-shadow:0 14px 34px rgba(11,44,90,.14);border:1px solid #E3F1F8}
.price-card .pc-ttl{font-size:14px;font-weight:700;color:var(--body);margin-bottom:12px;text-align:center}
.pc-row{display:flex;justify-content:space-between;align-items:baseline;padding:9px 0;border-bottom:1px solid var(--line)}
.pc-row .l{font-size:14px;font-weight:500;color:var(--body)}
.pc-row .v{font-weight:700;font-size:16px}
.pc-total{background:var(--cyan-p);margin:14px -14px 0;padding:16px 14px;border-radius:10px;text-align:center}
.pc-total .num{font-size:36px;font-weight:900;color:var(--navy);line-height:1.2}
.pc-total .num small{font-size:14px}
.pc-total .cap{font-size:12px;font-weight:500;color:var(--body)}
.strike{color:#9AA7AE;text-decoration:line-through;font-size:13.5px}

.fv .sp-cta-row{display:none}

@media (max-width: 767px) {
.fv p.sub{font-size:14px;line-height:1.85;margin:0 0 28px;}
.fv .fine{font-size:10px;}

.fv .cta-row{display: none;}
.fv .sp-cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:14px}
}


/* ===== S04 リード文 ===== */
.lead-text{font-size:16px;font-weight:500;line-height:30px}

@media (max-width: 767px) {
.lead-text{font-size:14px;line-height:1.85}
}

/* ===== 汎用グリッド ===== */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:50px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:26px 24px}
.card .num{font-size:36px;font-weight:900;color:var(--navy);line-height:1.3}
.card .num small{font-size:15px;font-weight:700}
.card .cap{font-size:14px;font-weight:500; color:var(--body)}
.card p{margin:0;font-size:14px;font-weight:500;line-height: 30px}
.nc{width:40px;height:40px;border-radius:20px;background:var(--cyan-p);color:var(--cyan);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:20px;margin-bottom:12px}
.mock{background:repeating-linear-gradient(45deg,#EEF4F8 0 10px,#E5EDF3 10px 20px);border:1px solid var(--line);border-radius:8px;
  display:flex;align-items:center;justify-content:center;color:#7E93A1;font-size:12.5px;font-weight:700;text-align:center;padding:12px;min-height:150px}
.mock::after{content:attr(data-label)}

@media (max-width: 767px) {
.card p{line-height:1.85}
}

/* ===== 課題（サイトの濃紺カード踏襲） ===== */
.pains{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pains li{list-style:none;background:var(--navy-c);color:#fff;border-radius:8px;padding:18px 20px 18px 52px;font-size:16px;font-weight:500;position:relative;line-height:1.7}
.pains li::before{content:"✓";position:absolute;left:20px;top:17px;color:var(--cyan);font-weight:900;font-size:17px}

@media (max-width: 767px) {
.pains li{padding:18px 20px 18px 52px;font-size:14px;line-height:1.85}
}


/* ===== パッケージ構成 ===== */
.pkg{display:grid;grid-template-columns:1fr 40px 1fr 40px 1fr;gap:0;align-items:stretch}
.pkg-item{background:#fff;border:2px solid var(--cyan);border-radius:10px;padding:22px 18px;text-align:center}
.pkg-item .cat{font-size:14px;font-weight:700;color:#fff;background:var(--navy);display:inline-block;padding:3px 10px;border-radius:4px;margin-bottom:10px}
.pkg-item .ttl{font-weight:700;font-size:16px;margin-bottom:6px;line-height:1.6}
.pkg-item .amt{font-size:14px;font-weight:500;color:var(--body)}
.pkg-op{display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:900;color:var(--cyan)}
.calc{display:grid;grid-template-columns:1fr 40px 1fr 40px 1fr;gap:0;align-items:stretch;margin-top:26px}
.calc .box{background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px 18px;text-align:center}
.calc .box .l{font-size:14px;font-weight:500;color:var(--body)}
.calc .box .v{font-size:26px;font-weight:900}
.calc .op{display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:900;color:var(--body)}
.calc .box.hl{background:var(--navy);border-color:var(--navy)}
.calc .box.hl .l{color:var(--cyan-l)}
.calc .box.hl .v{color:#fff}
.tax{font-size:14px;font-weight:500;color:var(--body);margin-top:16px}

@media (max-width: 767px) {
.calc{grid-template-columns:1fr}
.tax{font-size:12px}    
}

/* ===== 対象枠マトリクス ===== */
.frame{width:100%;border-collapse:collapse;font-size:14px;font-weight:500;background:#fff;max-width:1080px;margin:0 auto}
.frame th,.frame td{border:1px solid var(--line);padding:10px 8px;text-align:center}
.frame th{background:var(--c-bg);font-weight:700;font-size:14px;width:25%}
.frame td.on{background:var(--cyan);color:#fff;font-weight:700}
.frame td.off{color:#A9B7C2}

@media (max-width: 767px) {
.frame{font-size:10px}
.frame th{font-size:10px}
}

/* ===== 支援内容 ===== */
.svc{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:16px}
.svc-h{display:flex;align-items:center;gap:14px;padding:16px 20px;background:var(--tint);border-bottom:1px solid var(--line)}
.svc-h .ph{font-size:14px;font-weight:700;color:#fff;background:var(--cyan);padding:3px 10px;border-radius:4px}
.svc-h .t{font-weight:700;font-size:16px}
.svc-h .h{margin-left:auto;font-weight:900;color:var(--navy);font-size:16px}
.svc-b{padding:15px 20px}
.svc-b table{width:100%;border-collapse:collapse;font-size:14px;font-weight:500}
.svc-b th {width: 70%}
.svc-b th,.svc-b td{text-align:left;padding:15px 10px;border-bottom:1px solid var(--line);vertical-align:top;font-weight:500}
.svc-b tr:last-child th,.svc-b tr:last-child td{border-bottom:0}
.svc-b td.d{color:var(--body);font-size:14px;white-space:nowrap;width:15%;}
.svc-b td.r{text-align:right;white-space:nowrap;font-weight:700;color:var(--navy)width:15%;}

/* ===== 料金表 ===== */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:start;background:unset!important;padding: 0!important}
.plan{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;position:relative}
.plan.rec{border:2px solid var(--cyan);box-shadow:0 10px 26px rgba(31,180,229,.18)}
.plan .flag{position:absolute;top:0;right:0;background:var(--cyan);color:#fff;font-size:11.5px;font-weight:700;padding:4px 12px;border-radius:0 0 0 8px}
.plan-h{padding:24px 20px 16px;text-align:center;border-bottom:1px solid var(--line)}
.plan-h .name{font-size:20px;font-weight:900}
.plan-h .stores{font-size:14px;font-weight:500;color:var(--body)}
.plan-b{padding:18px 20px}
.plan-b .row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dotted var(--line);font-size:14px;font-weight:500;}
.plan-b .row dt{color:var(--body);margin:0}
.plan-b .row dd{margin:0;font-weight:700}
.plan-real{background:var(--cyan-p);margin:14px -20px -18px;padding:18px 20px;text-align:center}
.plan-real .l{font-size:14px;font-weight:500;color:var(--body)}
.plan-real .v{font-size:31px;font-weight:900;line-height:1.25}
.plan-real .v small{font-size:14px}
.plan-real .m{font-size:14px;font-weight:500;color:var(--body)}

/* ===== シミュレーション（横フロー） ===== */
.sim{display:grid;grid-template-columns:1fr 44px 1fr 44px 1fr;align-items:center}
.sim-col{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 18px;text-align:center;height:100%}
.sim-col.dash{border:2px dashed var(--cyan);background:#F7FCFE}
.sim-col.fin{background:var(--navy);border-color:var(--navy)}
.sim-col.fin *{color:#fff}
.sim-col .cap{font-size:14px;color:var(--body);font-weight:700}
.sim-col .money{font-size:29px;font-weight:900;line-height:1.3;margin:6px 0 2px}
.sim-col .money small{font-size:13px}
.sim-col .sub{font-size:14px;color:var(--body);margin:0;font-weight:500;}
.sim-col.fin .cap,.sim-col.fin .sub{color:var(--cyan-l)}
.sim-arw{display:flex;align-items:center;justify-content:center;color:var(--cyan);font-size:26px;font-weight:900}
.sim-note{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px 22px;margin-top:22px;font-size:14px;}

/* ===== CTAバンド（サイト踏襲：明るいシアン） ===== */
.band{background:linear-gradient(180deg,#5FD4F3 0%,#22B7E8 100%);text-align:center;padding:52px 0}
.band .ribbon{display:inline-block;background:var(--navy);color:#fff;font-size:14px;font-weight:700;padding:5px 22px;border-radius:5px;margin-bottom:14px}
.band h2{color:#fff;font-size:32px}
.band .items{display:flex;gap:14px;justify-content:center;margin:22px 0 24px;flex-wrap:wrap}
.band .items div{background:rgba(255,255,255,.94);border-radius:8px;padding:14px 38px;font-size:14px;font-weight:700;color:var(--navy)}
.band .btns{display:flex;flex-direction:column;align-items:center;gap:12px}

/* ===== 申請の流れ（スイムレーン） ===== */
.lane{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px;overflow-x:auto}
.lane-grid{display:grid;grid-template-columns:132px repeat(6,1fr);gap:8px;min-width:900px;align-items:stretch}
.lane-h{background:var(--tint);border-radius:6px;padding:8px 6px;font-size:14px;font-weight:700;text-align:center;color:var(--body)}
.lane-l{border-radius:6px;padding:14px 10px;font-size:14px;font-weight:700;color:#fff;display:flex;align-items:center}
.lane-l.a{background:#8CA3B8}
.lane-l.b{background:var(--cyan)}
.lane-l.c{background:var(--navy)}
.lane-c{background:#F7FAFC;border:1px solid var(--line);border-radius:6px;padding:12px 10px;font-size:14px;line-height:1.6;text-align:center}
.lane-c.e{background:transparent;border:1px dashed #E5EDF3}
.lane-c.k{background:var(--cyan-p);border-color:var(--cyan);font-weight:700}

/* ===== 準備するもの ===== */
.prep{display:grid;gap:12px}
.prep .it{background:#fff;border:1px solid var(--line);border-left:4px solid var(--cyan);border-radius:0 8px 8px 0;padding:18px 22px;display:grid;grid-template-columns:34px 210px 1fr;gap:16px;align-items:start}
.prep .it .n{width:26px;height:26px;border-radius:50%;background:var(--cyan);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:900}
.prep .it .t{font-weight:700;font-size:14px}
.prep .it .t em{display:block;font-style:normal;font-size:12px;color:var(--cyan);font-weight:700}
.prep .it .d{font-size:14px;font-weight:500;color:var(--body)}

@media (max-width: 767px) {
.prep .it .t{font-size:16px}
.prep .it .t em{font-size:14px}
}

/* ===== スケジュール ===== */
.gantt{width:100%;border-collapse:collapse;font-size:12px;background:#fff}
.gantt th,.gantt td{border:1px solid var(--line);padding:10px 10px;text-align:center}
.gantt th{background:var(--tint);font-weight:700;font-size:12px}
.gantt td.l{text-align:left;white-space:nowrap;font-weight:500;font-size:12px}
.gantt .b1{background:var(--cyan-l);color:var(--navy);font-weight:700;font-size:12px}
.gantt .b2{background:var(--cyan);color:#fff;font-weight:700;font-size:12px}
.gantt .b3{background:var(--navy);color:#fff;font-weight:700;font-size:12px}

/* ===== 対象／非対象 ===== */
.fit{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.fit .box{border-radius:10px;padding:26px;background:#fff;border:1px solid var(--line)}
.fit .ok{border-top:5px solid var(--cyan)}
.fit .ng{border-top:5px solid #8CA3B8}
.fit ul{padding-left:1.2em;margin:0}
.fit li{font-size:14px;list-style:disc;margin-bottom:9px;color:var(--body)}

/* ===== 注意事項 ===== */
.caution{background:#fff;border:1px solid var(--line);border-radius:10px}
.caution .ci{display:grid;grid-template-columns:210px 1fr;gap:16px;padding:16px 22px;border-bottom:1px solid var(--line);font-size:14px;line-height:30px}
.caution .ci:last-child{border-bottom:0}
.caution .ci .k{font-weight:700}
.caution .ci .v{color:var(--body);font-weight:500;}
.asof{text-align:right;font-size:12px;color:var(--body);margin-top:10px}

@media (max-width: 767px) {
.caution .ci{line-height:1.85}
}

/* ===== FAQ ===== */
.pricing-faq {background: var(--c-bg);padding: 90px 0 100px;}
.pricing-faq-inner {width: 100%;max-width: 1080px;margin: 0 auto;padding: 0 24px;}
.pricing-faq-head {text-align: center;margin-bottom: 36px;}
.compare-title {margin: 0 0 12px;font-weight: 900;font-size: 34px;color: var(--c-navy);letter-spacing: 0.5px;}
.pricing-faq-list {display: flex;flex-direction: column;gap: 14px;}
.faq-item {background: #fff;border: 1px solid var(--c-line);border-radius: 10px;padding: 22px 26px;box-shadow: 0 4px 14px rgba(0, 42, 91, 0.04);transition: box-shadow .2s;}
.faq-item[open] {box-shadow: 0 10px 26px rgba(0, 42, 91, 0.1);}
.faq-item summary {list-style: none;cursor: pointer;display: flex;align-items: center;gap: 16px;font-weight: 700;font-size: 14px;color: var(--c-navy);}
.faq-item summary::-webkit-details-marker {display: none;}
.faq-item summary::before {
    content: "Q";flex-shrink: 0;display: inline-flex;align-items: center;justify-content: center;width: 30px;height: 30px;border-radius: 50%;
    background: linear-gradient(135deg,var(--c-cyan-2) 0%,var(--c-cyan-4) 100%);color: #fff;font-size: 13px;
}
.faq-item summary::after {
    content: "";margin-left: auto;width: 10px;height: 10px;border-right: 2px solid var(--c-cyan);border-bottom: 2px solid var(--c-cyan);
    transform: rotate(45deg);transition: transform .2s;
}
.faq-item[open] summary::after {transform: rotate(-135deg);}
.faq-answer {display: flex;gap: 16px;margin-top: 18px;padding-top: 18px;border-top: 1px dashed rgba(0, 42, 91, 0.14);font-size: 14px;line-height: 1.95;color: var(--c-text);}
.faq-answer::before {
    content: "A";flex-shrink: 0;display: inline-flex;align-items: center;justify-content: center;width: 30px;height: 30px;border-radius: 50%;background: rgba(0, 42, 91, 0.08);
    color: var(--c-navy);font-weight: 900;font-size: 14px;align-self: flex-start;
}
@media (max-width: 1199px) {
  .compare-title {font-size: 28px;}
}
@media (max-width: 767px) {
  .pricing-faq {padding: 60px 0 70px;}
  .compare-title {font-size: 22px;}
  .faq-item {padding: 18px;border-radius: 10px;}
  .faq-item summary {gap: 12px;font-size: 12px;}
  .faq-item summary::before {width: 26px;height: 26px;font-size: 12px;}
  .faq-item summary::after {width: 8px;height: 8px;}
  .faq-answer {gap: 12px;margin-top: 14px;padding-top: 14px;font-size: 12px;}
  .faq-answer::before {width: 26px;height: 26px;font-size: 12px;}
}

/* ===== フォーム ===== */
.form{background:#fff;border:1px solid var(--line);border-radius:12px;padding:32px 36px;max-width:840px;margin:0 auto}
.frow{display:grid;grid-template-columns:190px 1fr;gap:16px;padding:13px 0;border-bottom:1px solid var(--line);align-items:center}
.frow:last-of-type{border-bottom:0}
.frow .lb{font-size:13.5px;font-weight:700}
.frow .lb i{font-style:normal;background:var(--cyan);color:#fff;font-size:10.5px;padding:1px 6px;border-radius:3px;margin-left:8px;vertical-align:2px}
.fin-x{border:1px solid var(--line);border-radius:6px;height:42px;background:#FAFCFD;display:flex;align-items:center;padding:0 12px;font-size:13px;color:#9AAAB8}
.fin-x.ta{height:88px;align-items:flex-start;padding-top:10px}
.fchk{font-size:13px;color:var(--body);display:flex;gap:8px;align-items:center}
.fchk span{width:16px;height:16px;border:1.5px solid var(--cyan);border-radius:3px;display:inline-block}
.fsub{text-align:center;margin-top:26px}

/* ===== 2択CTA ===== */
.dual{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:1080px;margin:0 auto}
.dual .d{background:#fff;border:1px solid var(--line);border-radius:12px;padding:30px 26px;text-align:center}
.dual .d .t{font-weight:900;font-size:20px;margin-bottom:6px}
.dual .d p{font-size:14px;font-weight:500;margin:0 0 18px}

/* ===== フッター ===== */
footer{background:var(--navy-d);color:#93AEC6;padding:48px 0 28px;font-size:12.5px}
footer .inner{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:26px}
footer a{color:#BBD3E4;text-decoration:none;display:block;margin-bottom:7px}
footer .ft-h{color:#fff;font-weight:700;margin-bottom:10px;font-size:12.5px}
footer .disc{grid-column:1/-1;border-top:1px solid #16385A;padding-top:18px;line-height:1.75;font-size:11.5px;color:#7897B4}

@media (max-width: 767px) {
.sp-wrap{margin:0 auto;overflow:hidden;}
.sp-wrap section{padding:34px 0}
.sp-wrap .inner{padding:0 18px}
.sp-wrap h2{font-size:20px}
.sp-wrap .fv .inner{grid-template-columns:1fr;padding:30px 18px}
.sp-wrap .fv h1{font-size:26px}
.sp-wrap .grid3,.sp-wrap .grid2,.sp-wrap .plans,.sp-wrap .pains,.sp-wrap .fit,.sp-wrap .dual, .sp-wrap .prep .it,.sp-wrap .caution .ci{grid-template-columns:1fr}
.sp-wrap .grid3{margin-bottom: 25px}     
.sp-wrap .pkg,.sp-wrap .sim{grid-template-columns:1fr}
.sp-wrap .pkg-op,.sp-wrap .sim-arw{padding:8px 0;transform:rotate(90deg)}
.sp-wrap .gnav nav{display:none}
    .sp-wrap .gantt {display: block; overflow-x: auto;}    
.sticky-sp{position:sticky;bottom:0;background:rgba(255,255,255,.97);border-top:1px solid var(--line);padding:10px 14px;display:flex;gap:8px;z-index:60}
.sticky-sp .btn{flex:1;padding:13px 6px;font-size:13px}
}
@media print{.toolbar{display:none}.stage{padding:0}.viewport{box-shadow:none}}
@media (max-width:1000px){
  .fv .inner,.grid3,.plans,.pains,.fit,.dual,footer .inner{grid-template-columns:1fr}
  .pkg,.sim{grid-template-columns:1fr}
}