/* Presentation only: retain every price, condition and sentence. */
.pricing-main{max-width:1440px;padding-bottom:100px}
.pricing-main>h1{letter-spacing:.025em;line-height:1.65}
.pricing-lead{max-width:860px}
.pricing-step{margin-top:88px}
.step-label{align-items:center;gap:12px 20px;padding-top:36px}
.step-number{padding:9px 12px;background:#e0ebf7;border-radius:5px}
.step-label h2{font-weight:700}
.step-label>p{font-size:.85rem}
.step-common{background:#e8f0f8;border:1px solid #cfdeeb;border-left:3px solid var(--blue);border-radius:0 10px 10px 0;padding:26px 30px}
.step-common h3{font-size:1rem}
.step-common li{font-size:.95rem}
.plan-switch{margin-top:34px}
.switch-options{gap:16px}

.plan-grid{gap:24px;margin-top:24px;align-items:stretch}
.plan{padding:28px 26px;background:#fff;border:1px solid #cedbe6;border-top:4px solid #799ab8;border-radius:12px;box-shadow:0 8px 24px #172c3e08;min-width:0}
.plan-latin{color:var(--blue);font-size:.75rem;font-weight:700;letter-spacing:.12em;padding-bottom:14px}
.plan-name{font-size:1.25rem;line-height:1.65;min-height:0;margin:0;font-weight:700}
.plan-feature{font-size:.9rem;line-height:1.9;min-height:0;margin:12px 0 0;padding-bottom:22px}
.plan-price{margin:0;padding:20px 0 18px;border-top:1px solid #dce5ee}
.plan-price-row{display:block;padding:0}
.plan-price-row>span{display:block;font-size:.8rem;margin-bottom:10px}
.plan-amount{display:block;font-size:clamp(34px,3.15vw,46px);font-variant-numeric:tabular-nums;letter-spacing:-.035em;color:var(--ink);white-space:nowrap}
.plan-amount span{font-size:1rem;margin-left:7px}
.plan-tax{text-align:left;margin:6px 0 0;padding:0}
.plan-delta{margin:0;padding:18px;background:#eaf2fc;border:1px solid #cddff2;border-radius:7px;font-size:.92rem;line-height:1.95;min-height:0}
.plan-delta strong{font-size:.8rem;margin-bottom:8px}
.plan-list{margin:22px 0 0;padding:0;border-top:0}
.plan-list>div{padding:20px 0;border-bottom:1px solid #dce5ee}
.plan-list dt{font-size:.8rem;font-weight:700;color:#52697e}
.plan-list dd{font-size:.95rem;line-height:1.95;margin-top:9px}
.plan-value strong{margin-bottom:4px;color:var(--ink)}
.plan-value strong.plan-inline{color:var(--blue)}
.pricing-main .sample-note{line-height:2}
.policy-list article{padding:30px 0}
.policy-list h3{font-weight:700}
/* Shared intrinsic rows keep corresponding specifications aligned without clipping text. */
@supports(grid-template-rows:subgrid){
 @media(min-width:1001px){
  .plan-grid{row-gap:0}
  .plan-grid>.plan{display:grid;grid-row:span 8;grid-template-rows:subgrid}
  .plan-grid.is-build>.plan{grid-row:span 10}
  .plan-list{display:grid;grid-row:span 3;grid-template-rows:subgrid}
  .is-build .plan-list{grid-row:span 5}
 }
}
@media(max-width:1000px){.plan-grid{grid-template-columns:1fr;max-width:740px;margin-left:auto;margin-right:auto;gap:28px}.plan{padding:30px}.plan-latin{display:block}.plan-name{font-size:1.35rem}.plan-amount{font-size:42px}.plan-feature{padding-bottom:20px}}
@media(max-width:600px){.pricing-step{margin-top:64px}.step-label{gap:12px;padding-top:26px}.step-label h2{font-size:1.25rem}.step-label>p{flex-basis:100%;padding-left:0}.step-common{padding:22px 20px}.step-common li{font-size:.9rem}.switch-options{gap:14px}.plan-switch label{flex:1;min-width:140px;padding:14px}.plan{padding:26px 22px;border-radius:10px}.plan-name{font-size:1.2rem}.plan-amount{font-size:40px}.plan-list>div{padding:18px 0}.plan-list dd{font-size:.95rem}.plan-delta{padding:16px}}

/* step-label: 節の見出し。長いページで現在地が分かるよう、番号を独立した行へ上げ、
   見出しを大きくして本文との差を付ける。装飾は足さず、階層と余白で示す。 */
.step-label{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:10px 16px;padding-top:44px;border-top:2px solid var(--line)}
.step-number{grid-column:1/-1;justify-self:start;margin-bottom:2px}
.step-label h2{grid-column:1;font-size:clamp(24px,2.8vw,34px);line-height:1.5}
.step-label>p{grid-column:2;font-size:.85rem;color:var(--muted);letter-spacing:.02em}
.pricing-step{margin-top:104px}
@media(max-width:600px){
.step-label{grid-template-columns:1fr;gap:8px;padding-top:32px}
.step-label h2{font-size:1.4rem;line-height:1.55}
.step-label>p{grid-column:1;font-size:.8rem}
.pricing-step{margin-top:72px}
}
.plan-feature{text-wrap:balance}

/* モニター価格（2026-10-01）。条件つきの別価格として示し、通常価格と並べて比べる書き方にしない */
.monitor-tables{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:28px}
.monitor-table h3{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:12px;border-bottom:1px solid var(--ink);font-size:1rem;font-weight:700}
.monitor-table h3 span{font-size:.75rem;font-weight:400;color:var(--muted)}
.monitor-table dl{margin:0}
.monitor-table dl>div{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.monitor-table dt{font-size:.92rem}
.monitor-table dt small{display:block;margin-top:4px;font-size:.76rem;color:var(--muted)}
.monitor-table dd{margin:0;font:400 26px/1 Georgia,serif;white-space:nowrap}
.monitor-table dd span{margin-left:4px;font-size:.75rem;font-family:inherit}
.monitor-terms{list-style:none;margin:24px 0 0;padding:0}
.monitor-terms li{position:relative;padding:6px 0 6px 22px;font-size:.88rem;line-height:1.8}
.monitor-terms li::before{content:'✓';position:absolute;left:0;color:var(--blue);font-weight:700}
#faq .faq-list{margin-top:14px}
@media(max-width:820px){.monitor-tables{grid-template-columns:1fr;gap:28px}}

.step-common+.step-common{margin-top:24px}

/* 料金ページの見直し（2026-10-03）: 迷ったときの目安・リニューアル共通の対象範囲・最後の依頼導線 */
.plan-guide{margin-top:18px;font-size:.92rem;line-height:1.9}
.plan-guide strong{color:var(--blue)}
.panel-note{margin:24px 0 0;font-size:.92rem;line-height:1.95;max-width:860px}
.pricing-cta{margin-top:104px;padding:56px clamp(24px,5vw,64px);background:var(--deep);color:#fff;border-radius:14px;text-align:center}
.pricing-cta h2{font-size:clamp(22px,2.6vw,32px);line-height:1.6;font-weight:700}
.pricing-cta p{max-width:620px;margin:16px auto 0;font-size:.95rem;line-height:1.95;color:#dbe6ef}
.pricing-cta-button{display:inline-flex;align-items:center;gap:24px;margin-top:30px;padding:18px 28px;background:var(--blue);color:#fff;font-weight:700;border-radius:3px}
.pricing-cta-button:hover{background:#004cae}
.pricing-cta .pricing-cta-note{margin-top:14px;font-size:.82rem}
.pricing-cta+.sample-note{margin-top:40px}
@media(max-width:600px){
.pricing-cta{margin-top:72px;padding:40px 20px;text-align:left}
.pricing-cta-button{display:flex;justify-content:space-between;gap:12px;padding:18px 20px}
}
.plan-switch+.plan-guide{margin-top:22px}
/* スマホではカード内の余白を詰め、1枚の縦の長さを抑える */
@media(max-width:600px){
.plan{padding:24px 20px}
.plan-list>div{padding:14px 0}
.plan-list dd{margin-top:6px;font-size:.9rem;line-height:1.85}
.plan-delta{line-height:1.85}
.plan-feature{padding-bottom:16px}
.plan-price{padding:16px 0 14px}
}
/* スマホではプランのカードを横に並べてスワイプで比べる。次のカードの端を見せて、横に続くことを示す */
.swipe-hint{display:none}
@media(max-width:600px){
.swipe-hint{display:block;margin-top:22px;font-size:.78rem;color:var(--muted)}
.swipe-hint::after{content:' →';color:var(--blue)}
.plan-grid,.plan-grid.is-build{display:flex;align-items:stretch;gap:12px;max-width:none;margin:10px calc(var(--gutter)*-1) 0;padding:4px var(--gutter) 16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 var(--gutter);overscroll-behavior-x:contain}
.plan-grid>.plan{flex:0 0 84%;scroll-snap-align:start}
}
.panel-note{max-width:none;margin-top:24px;padding:20px 24px;background:#fff;border:1px solid #cedbe6;border-radius:10px}
.panel-note p{font-size:.95rem;line-height:1.8}
.panel-note ul{margin:10px 0 0;padding-left:1.2em}
.panel-note li{font-size:.9rem;line-height:1.9}
@media(max-width:600px){.panel-note{padding:18px 18px}.panel-note li{font-size:.88rem}}
/* 追加費用（OPTION）: 項目名と金額を行で揃えて読む。補足は小さな箇条書きにまとめる */
.option-groups{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:28px;align-items:start}
.option-group h3{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--ink);font-size:1rem;font-weight:700}
.option-group h3 span{font-size:.75rem;font-weight:400;color:var(--muted);white-space:nowrap}
.price-rows{margin:0}
.price-rows>div{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}
.price-rows dt{font-size:.95rem;font-weight:700}
.price-rows dt small{display:block;margin-top:4px;font-size:.8rem;font-weight:500;line-height:1.75;color:var(--muted)}
.price-rows dd{margin:0;font-size:24px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.price-rows dd span{margin-left:3px;font-size:.78rem;font-weight:500}
.option-notes{margin:16px 0 0;padding-left:1.2em}
.option-notes li{font-size:.82rem;line-height:1.9;color:var(--muted)}
@media(max-width:900px){.option-groups{grid-template-columns:1fr;gap:32px}}
@media(max-width:600px){.price-rows>div{gap:14px}.price-rows dd{font-size:21px}}

/* 冒頭の料金の要約（2026-10-03）: 開いてすぐ金額の幅が分かるように */
.price-summary{display:grid;grid-template-columns:repeat(2,minmax(0,360px));gap:16px;margin-top:36px}
.price-summary a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 26px;background:#fff;border:1px solid #cedbe6;border-top:4px solid var(--blue);border-radius:10px;transition:border-color .2s}
.price-summary a:hover{border-color:var(--blue)}
.ps-label{font-size:.95rem;font-weight:700}
.ps-label small{display:block;margin-top:2px;font-size:.75rem;font-weight:500;color:var(--muted)}
.price-summary strong{font-size:34px;font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap}
.price-summary strong span{margin-left:4px;font-size:.85rem}
.price-summary+.pricing-terms{margin-top:14px}
@media(max-width:600px){.price-summary{grid-template-columns:1fr;gap:10px;margin-top:26px}.price-summary a{padding:16px 18px}.price-summary strong{font-size:28px}}

/* STEP 2 の後の短い誘導 */
.inline-cta{margin-top:32px;font-size:.95rem;font-weight:700}
.inline-cta a{display:inline-flex;align-items:center;gap:10px;margin-left:16px;padding:12px 18px;background:var(--blue);color:#fff;border-radius:3px}
.inline-cta a:hover{background:#004cae}
@media(max-width:600px){.inline-cta a{display:flex;justify-content:space-between;margin:12px 0 0}}

/* スマホ用の追従ボタン（ヘッダーのボタンを隠す幅だけ） */
.sticky-cta{display:none}
@media(max-width:820px){
.sticky-cta{display:block;position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(237,243,248,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line);box-shadow:0 -6px 18px rgba(16,39,55,.08);transform:translateY(110%);visibility:hidden;transition:transform .28s ease,visibility 0s linear .28s}
.sticky-cta.is-shown{transform:none;visibility:visible;transition:transform .28s ease}
.sticky-cta a{display:flex;align-items:center;justify-content:center;gap:12px;min-height:54px;background:var(--blue);color:#fff;font-size:15px;font-weight:700;border-radius:3px}
.footer{padding-bottom:100px}
}
@media(max-width:820px) and (prefers-reduced-motion:reduce){.sticky-cta,.sticky-cta.is-shown{transition:none}}
