@charset "utf-8";
/*==================================================
  記事フィールド専用スタイル（shopinfo / ACF: article-intro・article-body）
  ・親テーマ/グローバルCSSには一切干渉せず、.shopArticle 配下のみに適用。
  ・カラーは親テーマ準拠： #C57D86(アクセント) / #E2BEBA / #F5EFEA
==================================================*/

/*--------------------------------------------------
  ① 記事エリア（白背景カード）
--------------------------------------------------*/
.shopArticle {
	background: #fff;
	border: 1px solid #ECE3DC;
	border-radius: 8px;
	padding: 6vw 5vw;
	margin: 8vw auto;
	line-height: 1.9;
	color: #333;
}
@media screen and (min-width: 768px) {
	.shopArticle {
		padding: 40px 48px;
		margin: 5vw auto;
	}
}

/* 基本タイポグラフィ */
.shopArticle p {
	margin: 1em 0;
}
.shopArticle p:first-child { margin-top: 0; }
.shopArticle p:last-child  { margin-bottom: 0; }

.shopArticle strong {
	font-weight: 700;
}

/* 記事内のプレーンな箇条書き・手順（リセットで消えるマーカーを復活） */
.shopArticle ul:not([class]),
.shopArticle ol:not([class]) {
	margin: 1.2em 0;
	padding-left: 1.6em;
}
.shopArticle ul:not([class]) { list-style: disc; }
.shopArticle ol:not([class]) { list-style: decimal; }
.shopArticle ul:not([class]) > li,
.shopArticle ol:not([class]) > li {
	margin: 0.4em 0;
	padding-left: 0.2em;
}

/*--------------------------------------------------
  ② 見出し（h3：ダイヤアイコン＋左揃え／頭の空白なし）
--------------------------------------------------*/
.shopArticle .sa-heading {
	position: relative;
	font-size: 1.25em;
	font-weight: 700;
	line-height: 1.5;
	margin: 2em 0 0.9em;
	padding: 0 0 0.4em 1.9em;
	border-bottom: 2px solid #E2BEBA;
}
.shopArticle .sa-heading:first-child { margin-top: 0; }
.shopArticle .sa-heading::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.15em;
	width: 1.4em;
	height: 1.4em;
	background: url("../images/common/icon-diamond.webp") no-repeat center center;
	background-size: contain;
}
@media screen and (min-width: 768px) {
	.shopArticle .sa-heading { font-size: 1.6em; }
}

/* 小見出し（h4） */
.shopArticle .sa-subheading {
	font-size: 1.05em;
	font-weight: 700;
	line-height: 1.4;
	margin: 1.8em 0 0.6em;
	padding-left: 0.6em;
	border-left: 4px solid #C57D86;
}
@media screen and (min-width: 768px) {
	.shopArticle .sa-subheading { font-size: 1.2em; }
}

/*--------------------------------------------------
  ③ テーブル（罫線・ヘッダ背景・ストライプ）
--------------------------------------------------*/
.shopArticle .sa-table {
	width: 100%;
	border-collapse: collapse;
	margin: 1.4em 0;
	font-size: 0.95em;
}
.shopArticle .sa-table th,
.shopArticle .sa-table td {
	border: 1px solid #E2BEBA;
	padding: 0.6em 0.9em;
	text-align: left;
	vertical-align: middle;
}
.shopArticle .sa-table thead th {
	background: #F5EFEA;
	font-weight: 700;
	white-space: nowrap;
}
.shopArticle .sa-table tbody tr:nth-child(even) {
	background: #FBF7F4;
}

/*--------------------------------------------------
  ④-1 2カラム比較（旧 col2Box をコンパクトに再設計）
--------------------------------------------------*/
.shopArticle .sa-compare {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 1.4em 0;
	padding: 0;
}
.shopArticle .sa-compare > li {
	flex: 1;
	background: #FBF7F4;
	border: 1px solid #E2BEBA;
	border-radius: 6px;
	padding: 1em 1.2em;
}
.shopArticle .sa-compare .sa-compare__ttl {
	margin: 0 0 0.5em;
	padding-bottom: 0.4em;
	font-size: 1em;
	font-weight: 700;
	color: #C57D86;
	border-bottom: 1px dashed #E2BEBA;
}
.shopArticle .sa-compare p:last-child { margin-bottom: 0; }
@media screen and (min-width: 768px) {
	.shopArticle .sa-compare {
		flex-direction: row;
		gap: 16px;
	}
}

/*--------------------------------------------------
  ④-2 ポイント一覧（旧 shopPointList をコンパクトに再設計）
--------------------------------------------------*/
.shopArticle .sa-points {
	list-style: none;
	margin: 1.4em 0;
	padding: 0;
}
.shopArticle .sa-points > li {
	display: flex;
	align-items: center;
	gap: 12px;
	background: #fff;
	border: 1px solid #E2BEBA;
	border-radius: 6px;
	padding: 0.7em 1em;
}
.shopArticle .sa-points > li + li {
	margin-top: 10px;
}
.shopArticle .sa-points .sa-points__no {
	flex: 0 0 auto;
	min-width: 3.4em;
	text-align: center;
	font-size: 0.8em;
	font-weight: 700;
	color: #fff;
	background: #C57D86;
	border-radius: 999px;
	padding: 0.3em 0.6em;
}
.shopArticle .sa-points .sa-points__txt {
	margin: 0;
	font-size: 1em;
	font-weight: 600;
	line-height: 1.6;
}
