/*
 * karte.monowa-studio.com 料金の詳細ページ用CSS（D案 白と紺）
 * body.monowa-price 配下にだけ効く。共通の土台・ヘッダー・ボタン・フッターは monowa-top.css。
 * 値は input/D案 料金の詳細（PC）-html/Price-Navy.dc.html のインラインスタイルに合わせている。
 * 表は「1行＝1コンテナ、1セル＝1ウィジェット」。金額のセルには mw-money クラスが付いている。
 * PC（1280px）を優先。1024px以下は横はみ出しを防ぐ最低限だけ（スマホ用の組み替えは後で作る）。
 */

/* ---------- セクション共通 ---------- */
body.monowa-price .mw-sec { padding: 72px var(--mw-pad-x); }
body.monowa-price #plans { padding-bottom: 64px; }
body.monowa-price #plans .mw-sec-inner { gap: 32px; }
body.monowa-price #compare .mw-sec-inner,
body.monowa-price #support .mw-sec-inner,
body.monowa-price #faq .mw-sec-inner { gap: 28px; }
body.monowa-price .mw-sec-head .mw-sec-note .elementor-heading-title { text-align: right; }

/* ---------- ページ見出し ---------- */
body.monowa-price .pr-head { display: flex; flex-direction: column; gap: 16px; padding: 56px var(--mw-pad-x) 52px; background: var(--mw-bg-alt); }
body.monowa-price .pr-head-inner { max-width: 1136px; width: 100%; margin: 0 auto; display: flex; flex-direction: column; gap: 16px; }
body.monowa-price .pr-crumb, body.monowa-price .pr-crumb p { font-size: 13px; line-height: 1.6; color: var(--mw-text); }
body.monowa-price .pr-crumb a { color: var(--mw-text); }
body.monowa-price .pr-h1 .elementor-heading-title { font-family: var(--mw-serif); font-size: 40px; font-weight: 700; line-height: 1.4; color: var(--mw-navy); }
body.monowa-price .pr-lead, body.monowa-price .pr-lead p { font-size: 16px; line-height: 2; color: #465063; }
body.monowa-price .mw-logo a, body.monowa-price .mw-logo .elementor-heading-title a { color: inherit; }

/* ---------- 3つのプラン ---------- */
body.monowa-price .pr-plan-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; align-items: stretch; }
body.monowa-price .pr-plan { display: flex; flex-direction: column; gap: 14px; border: 1px solid var(--mw-line2); border-radius: 8px; padding: 32px 30px; background: #FFFFFF; }
body.monowa-price .pr-plan-main { border: 2px solid var(--mw-accent); padding: 31px 29px; }
body.monowa-price .pr-plan-name .elementor-heading-title { font-size: 15px; font-weight: 700; line-height: 1.6; letter-spacing: .08em; color: var(--mw-accent); }
body.monowa-price .pr-plan-price .elementor-heading-title { font-family: var(--mw-serif); font-size: 36px; font-weight: 700; line-height: 1.4; color: var(--mw-navy); }
body.monowa-price .pr-plan-price .elementor-heading-title span { font-size: 16px; }
body.monowa-price .pr-plan-pages, body.monowa-price .pr-plan-pages p { font-size: 13px; line-height: 1.8; color: var(--mw-text); }
body.monowa-price .pr-plan-catch { border-top: 1px solid var(--mw-line); padding-top: 18px; }
body.monowa-price .pr-plan-catch .elementor-heading-title { font-size: 17px; font-weight: 700; line-height: 1.7; color: var(--mw-navy); }
body.monowa-price .pr-plan-desc, body.monowa-price .pr-plan-desc p { font-size: 14px; line-height: 2; color: var(--mw-text); }

/* ---------- 表（比較表・保守の表）共通 ---------- */
body.monowa-price .pr-table { display: flex; flex-direction: column; background: #FFFFFF; border: 1px solid var(--mw-line2); border-radius: 8px; overflow-x: auto; overflow-y: hidden; }
body.monowa-price .pr-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--mw-line); background: #FFFFFF; }
body.monowa-price .pr-table > .pr-row:first-child { border-top: 0; }
body.monowa-price .pr-table > .pr-row:nth-child(odd) { background: #FAFBFD; }
body.monowa-price .pr-cell { min-width: 0; }
body.monowa-price .pr-cell .elementor-heading-title { padding: 15px 20px; font-size: 14px; font-weight: 400; line-height: 1.7; color: #33405A; text-align: center; overflow-wrap: anywhere; }
body.monowa-price .pr-cell.pr-label .elementor-heading-title { padding: 15px 28px; text-align: left; }
body.monowa-price .pr-cell.pr-ok .elementor-heading-title { font-weight: 700; color: var(--mw-accent); }
body.monowa-price .pr-cell.pr-no .elementor-heading-title { color: #8A93A5; }

/* 比較表：見出し行と強調行 */
body.monowa-price .pr-compare .pr-row { grid-template-columns: repeat(4, minmax(0, 1fr)); }
body.monowa-price .pr-compare > .pr-row.pr-thead { background: var(--mw-accent); border-top: 0; }
body.monowa-price .pr-thead .pr-cell .elementor-heading-title { padding: 18px 20px; font-size: 15px; font-weight: 700; color: #FFFFFF; text-align: center; }
body.monowa-price .pr-compare > .pr-row.pr-key { background: #EEF2F8; }
body.monowa-price .pr-row.pr-key .pr-cell .elementor-heading-title { font-weight: 700; color: var(--mw-navy); }
/* 比較表：一番左の列（項目名）とスタンダードの列を、行の色の上に薄い紺を重ねて少し濃くする（見出し行は除く） */
body.monowa-price .pr-compare > .pr-row:not(.pr-thead) > .pr-cell:nth-child(1) { background: rgba(27, 53, 96, .025); }
body.monowa-price .pr-compare > .pr-row:not(.pr-thead) > .pr-cell:nth-child(3) { background: rgba(27, 53, 96, .03); }
body.monowa-price .pr-compare-notes, body.monowa-price .pr-compare-notes p { font-size: 13px; line-height: 1.9; color: var(--mw-text); }
body.monowa-price .pr-compare-notes p { margin: 0 0 14px; }
body.monowa-price .pr-compare-notes p:last-child { margin-bottom: 0; }
body.monowa-price .pr-compare-notes { display: flex; flex-direction: column; gap: 0; }

/* ---------- オプション ---------- */
body.monowa-price #option .mw-sec-inner { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; align-items: start; }
body.monowa-price .pr-opt-left { display: flex; flex-direction: column; gap: 22px; }
body.monowa-price .pr-opt-h2 .elementor-heading-title { font-family: var(--mw-serif); font-size: 26px; font-weight: 700; line-height: 1.5; color: var(--mw-navy); }
body.monowa-price .pr-opt-list { display: flex; flex-direction: column; border-top: 1px solid var(--mw-line2); }
body.monowa-price .pr-opt-row { display: flex; flex-direction: row; justify-content: space-between; align-items: baseline; gap: 16px; padding: 16px 4px; border-bottom: 1px solid var(--mw-line); }
body.monowa-price .pr-opt-row > .elementor-widget { width: auto; }
body.monowa-price .pr-opt-name .elementor-heading-title { font-size: 15px; font-weight: 400; line-height: 1.6; color: #33405A; }
body.monowa-price .pr-opt-price { flex: 0 0 auto; }
body.monowa-price .pr-opt-price .elementor-heading-title { font-size: 15px; font-weight: 700; line-height: 1.6; color: var(--mw-navy); white-space: nowrap; }
body.monowa-price .pr-opt-right { display: flex; flex-direction: column; gap: 22px; padding-top: 58px; }
body.monowa-price .pr-box { display: flex; flex-direction: column; gap: 12px; border: 1px solid var(--mw-line2); border-radius: 8px; padding: 28px 30px; }
body.monowa-price .pr-box-alt { gap: 8px; border: 0; background: var(--mw-bg-alt); padding: 24px 30px; }
body.monowa-price .pr-box-title .elementor-heading-title { font-family: var(--mw-serif); font-size: 20px; font-weight: 700; line-height: 1.5; color: var(--mw-navy); }
body.monowa-price .pr-box-alt .pr-box-title .elementor-heading-title { font-family: var(--mw-sans); font-size: 15px; }
body.monowa-price .pr-box-text, body.monowa-price .pr-box-text p { font-size: 14px; line-height: 2; color: var(--mw-text); }
body.monowa-price .pr-box-alt .pr-box-text, body.monowa-price .pr-box-alt .pr-box-text p { font-size: 13px; line-height: 1.9; }
body.monowa-price .pr-box-small, body.monowa-price .pr-box-small p { font-size: 13px; line-height: 1.9; color: var(--mw-muted); }

/* ---------- 公開後のサポート ---------- */
body.monowa-price .pr-support-intro, body.monowa-price .pr-support-intro p { max-width: 900px; font-size: 15px; line-height: 2; color: #465063; }
body.monowa-price .pr-scroll { display: flex; flex-direction: column; overflow-x: auto; }
body.monowa-price .pr-scroll-inner { display: flex; flex-direction: column; min-width: 0; }
body.monowa-price .pr-shead { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1fr); align-items: end; }
body.monowa-price .pr-shead-none { display: flex; flex-direction: column; gap: 6px; padding: 0 20px 14px; }
body.monowa-price .pr-shead-plan { display: flex; flex-direction: column; gap: 4px; background: var(--mw-accent); border-radius: 8px 8px 0 0; padding: 18px 20px 16px; }
body.monowa-price .pr-shead-none .pr-shead-title .elementor-heading-title { font-size: 15px; font-weight: 700; line-height: 1.6; color: var(--mw-navy); }
body.monowa-price .pr-shead-plan .pr-shead-title .elementor-heading-title { font-size: 15px; font-weight: 700; line-height: 1.6; color: #FFFFFF; }
body.monowa-price .pr-shead-sub, body.monowa-price .pr-shead-sub p { font-size: 13px; line-height: 1.8; color: var(--mw-text); }
body.monowa-price .pr-shead-price .elementor-heading-title { font-family: var(--mw-serif); font-size: 26px; font-weight: 700; line-height: 1.4; color: #FFFFFF; }
body.monowa-price .pr-shead-price .elementor-heading-title span { font-size: 13px; }
body.monowa-price .pr-support-table { border-radius: 8px 0 8px 8px; }
body.monowa-price .pr-support-table .pr-row { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1fr); }
body.monowa-price .pr-support-table > .pr-row:nth-child(odd) { background: #FFFFFF; }
body.monowa-price .pr-support-table > .pr-row:nth-child(even) { background: #FAFBFD; }
body.monowa-price .pr-support-table > .pr-row:first-child { border-top: 1px solid var(--mw-line); }
body.monowa-price .pr-support-table .pr-cell .elementor-heading-title { text-align: left; }
body.monowa-price .pr-support-table .pr-cell.pr-plan-col { background: #F1F4FA; }
body.monowa-price .pr-support-table .pr-cell.pr-plan-col .elementor-heading-title { font-weight: 700; color: var(--mw-accent); }
body.monowa-price .pr-support-table .pr-cell.pr-plan-col.pr-no .elementor-heading-title { color: #8A93A5; }
body.monowa-price .pr-support-notes, body.monowa-price .pr-support-notes p { font-size: 13px; line-height: 1.9; color: var(--mw-text); }
body.monowa-price .pr-support-notes p { margin: 0 0 6px; }
body.monowa-price .pr-support-notes p:last-child { margin-bottom: 0; }

/* ---------- よくある質問（Element Pack アコーディオン1つ・5項目） ---------- */
body.monowa-price .pr-faq .bdt-ep-accordion,
body.monowa-price .pr-faq .bdt-ep-accordion-container { margin: 0; padding: 0; background: transparent; border: 0; }
body.monowa-price .pr-faq .bdt-ep-accordion-item { margin: 0 0 12px; padding: 0; background: #FFFFFF; border: 0; border-radius: 6px; box-shadow: none; }
body.monowa-price .pr-faq .bdt-ep-accordion-item:last-child { margin-bottom: 0; }
body.monowa-price .pr-faq .bdt-ep-accordion-title {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	gap: 18px;
	padding: 22px 28px;
	background: transparent;
	border: 0;
	cursor: pointer;
}
body.monowa-price .pr-faq .bdt-ep-title-text { flex: 1 1 auto; font-family: var(--mw-sans); font-size: 16px; font-weight: 700; line-height: 1.7; color: var(--mw-navy); }
body.monowa-price .pr-faq .bdt-ep-title-text::before { content: "Q."; margin-right: 18px; font-family: var(--mw-serif); font-size: 20px; font-weight: 700; color: var(--mw-accent); }
body.monowa-price .pr-faq .bdt-ep-accordion-icon { display: inline-flex; align-items: center; margin: 0; color: var(--mw-accent); flex: 0 0 auto; }
body.monowa-price .pr-faq .bdt-ep-accordion-icon svg { width: 16px; height: 16px; }
body.monowa-price .pr-faq .bdt-accordion-content,
body.monowa-price .pr-faq .bdt-ep-accordion-content { margin: 0 28px; padding: 18px 0 24px 38px; border-top: 1px solid var(--mw-line); background: transparent; font-size: 14px; line-height: 2; color: var(--mw-text); }
body.monowa-price .pr-faq .bdt-accordion-content p, body.monowa-price .pr-faq .bdt-ep-accordion-content p { margin: 0; font-size: 14px; line-height: 2; color: var(--mw-text); }

/* ---------- 1024px以下：横はみ出しを防ぐ最低限（スマホ用の組み替えは後で作る） ---------- */
@media (max-width: 1024px) {
	body.monowa-price .pr-h1 .elementor-heading-title { font-size: 34px; }
	body.monowa-price .pr-plan-grid { grid-template-columns: 1fr; }
	body.monowa-price #option .mw-sec-inner { grid-template-columns: 1fr; }
	body.monowa-price .pr-opt-right { padding-top: 0; }
	body.monowa-price .pr-compare .pr-row { min-width: 640px; }
	body.monowa-price .pr-scroll-inner { min-width: 640px; }
}
@media (max-width: 767px) {
	body.monowa-price .mw-sec { padding-top: 48px; padding-bottom: 48px; }
	body.monowa-price .pr-head { padding-top: 40px; padding-bottom: 40px; }
	body.monowa-price .pr-h1 .elementor-heading-title { font-size: 28px; }
	body.monowa-price .pr-faq .bdt-ep-accordion-title { padding: 18px 16px; }
	body.monowa-price .pr-faq .bdt-accordion-content, body.monowa-price .pr-faq .bdt-ep-accordion-content { margin: 0 16px; padding-left: 0; }
	body.monowa-price .pr-opt-row { flex-wrap: wrap; }
}
