/* =============================================================
   CAMMA theme — page-privacy-policy.css
   固定ページ「プライバシーポリシー」(page ID 3, slug privacy-policy,
   page-privacy-policy.php) 専用スタイル。
   page-story.css をそのまま雛形にしたクローン(値は流用、コメントは本ページの
   実データに合わせて書き直している)。
   Figma: プライバシーポリシー (fileKey hq2oZ2NymsckMJQirVNzJJ, node 1:1411)。
   実装時に Figma 認証が切れていたため未確認。ストーリー(node 1:1267)と同型の
   レイアウトという前提で、page-story.css の実測値をそのまま使っている。

   イベント系ページ(events-archive.css / single-event.css)は緑背景・白文字だが、
   このページも page-story.css 同様に白背景・黒文字(base.css の既定色そのまま)。
   「Privacy Policy」見出しの位置・フォント・サイズはイベント系ページの見出しや
   STORY見出しと同一のため値を複製している(single-event.css が
   events-archive.css の値を複製しているのと同じ手法)。

   実際の投稿本文(the_content())は「見出し(h2) + 段落30個」のみで、STORYと
   異なり動画ブロックは無い。has-small-font-size 等のフォントサイズプリセット
   クラスも現状のデータには付いていない(2026-08-03時点、wp post get 3で確認済み)。
   ただし将来の原稿差し替えで付く可能性があるため、page-story.css と同じ
   !important 上書きルールは念のため残してある(現状は no-op)。
   alignfull / alignwide のフォールバックも同じ理由(このテーマに theme.json が
   無く align-wide 未サポートのため現状 no-op)で残している。詳細は
   page-story.css 冒頭コメント参照。

   .entry-content 系のスタイルが他ページに漏れないよう、全てのルールを
   .page-privacy-policy 配下にスコープしている(裸の .entry-content / p / img 等の
   タグセレクタは使わない)。

   px→rem は全て ÷10 (1920px設計 = 192rem)。STORYと同じ方針でPC専用のため
   メディアクエリは書かない(SPは base.css のグローバルスケーリング +
   共通ヘッダー/フッターのSP対応だけに乗る。このページ専用のブレイクポイントは
   持たない)。
   ============================================================= */

/* -------------------------------------------------------------
   ページ全体 (.page-privacy-policy)
   ヘッダー(.l-header, position:fixed, 高さ10rem)がこのページにも重なる想定
   のため、他ページと同様、上部に余白は作らない。本文の長さは実データに
   依存するため、page-story / single-event / events-archive と同じ考え方
   (min-height + padding-bottomで内容に応じて伸ばす)を採用している。
   ------------------------------------------------------------- */
.page-privacy-policy {
	position: relative;
	width: 100%;
	min-height: 60rem;
	padding-top: 16.5rem;
	padding-bottom: 16rem;
	background-color: var(--color-white);
	color: var(--color-text);
}

/* -------------------------------------------------------------
   「Privacy Policy」見出し
   位置・フォント・サイズは page-story.css の .page-story__heading (=
   イベント系ページの見出しと共通)と完全に同一で、文言と色だけ異なる
   (色はSTORYと同じく黒 = --color-text)。「STORY」より文言が長いため、
   STORY側で指定していた固定 width(10.8rem)は使わずauto幅にしている
   (position:absolute + white-space:nowrap のため、幅の指定自体は表示上の
   クリッピングに影響しないが、実際のテキスト量に即した値にしておく)。
   ページ内に他の見出しが無いため <h1> にしている(詳細はテンプレート
   page-privacy-policy.php 冒頭コメント参照)。
   ------------------------------------------------------------- */
.page-privacy-policy__heading {
	position: absolute;
	top: 16.191rem;
	left: 6rem;
	width: auto;
	font-family: var(--font-en);
	font-size: 30px;
	line-height: 1;
	color: var(--color-text);
	white-space: nowrap;
}

/* -------------------------------------------------------------
   本文カラム (.page-privacy-policy__body = <article>)
   幅は page-story.css / イベント系ページと同じ Figma実測値(x=517 /
   width=887 → 幅88.7rem)をそのまま採用し、絶対配置ではなく margin:auto の
   中央揃えで組んでいる。開始位置(Figma y=165)は親要素
   .page-privacy-policy の padding-top(16.5rem)で確保している。
   ------------------------------------------------------------- */
.page-privacy-policy__body {
	position: relative;
	width: 88.7rem;
	margin: 0 auto;
}

/* -------------------------------------------------------------
   投稿本文 (.page-privacy-policy__content = the_content() の出力先)
   ------------------------------------------------------------- */
.page-privacy-policy__content {
	font-family: var(--font-ja);
	font-size: 16px;
	line-height: 28px;
	color: var(--color-text);
}

/* 最後の要素の下余白は詰める(段落・グループ等どれが最後に来ても対応)。 */
.page-privacy-policy__content > *:last-child {
	margin-bottom: 0;
}

/* base.css がリセットする p の margin を、詰まりすぎない程度に復元する
   (実データは段落30個の連続で、段落間の間隔をこのmarginだけで担っている)。 */
.page-privacy-policy__content p {
	margin: 0 0 2.8rem;
}

.page-privacy-policy__content h1,
.page-privacy-policy__content h2,
.page-privacy-policy__content h3,
.page-privacy-policy__content h4,
.page-privacy-policy__content h5,
.page-privacy-policy__content h6 {
	margin: 0 0 2.8rem;
	font-family: var(--font-ja);
	color: var(--color-text);
}

.page-privacy-policy__content strong,
.page-privacy-policy__content b {
	font-weight: 700;
	color: var(--color-text);
}

.page-privacy-policy__content a {
	color: var(--color-text);
	text-decoration: underline;
}

/* base.css のリセット(list-style:none / margin:0 / padding:0)をこのスコープ
   内だけ上書きし、インデント付きの一般的なリスト表示に戻す(実データに
   リストは無いが、page-story.css と同様に将来の入力に備える)。 */
.page-privacy-policy__content ul,
.page-privacy-policy__content ol {
	margin: 0 0 2.8rem;
	padding-left: 2rem;
}

.page-privacy-policy__content ul {
	list-style: disc;
}

.page-privacy-policy__content ol {
	list-style: decimal;
}

/* -------------------------------------------------------------
   WordPress コアのフォントサイズプリセット (has-small-font-size /
   has-medium-font-size)。
   実データ(2026-08-03時点)にはこれらのクラスは付いていないため現状 no-op だが、
   原稿差し替えで付く可能性があるため page-story.css と同じ !important 上書きを
   念のため残してある。経緯・数値の根拠は page-story.css 冒頭コメント参照
   (small=13px→1.6rem、medium=20px→2rem)。
   ------------------------------------------------------------- */
.page-privacy-policy__content .has-small-font-size {
	font-size: 16px !important;
}

.page-privacy-policy__content .has-medium-font-size {
	font-size: 20px !important;
}

/* -------------------------------------------------------------
   alignfull / alignwide の group はビューポート全幅へブレイクアウトさせず
   本文カラム幅に収める(page-story.css と同じフォールバック。詳細は
   ファイル冒頭コメント参照)。
   ------------------------------------------------------------- */
.page-privacy-policy__content .alignfull,
.page-privacy-policy__content .alignwide {
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
}

/* -------------------------------------------------------------
   画像(実データには無いが、page-story.css と同様に将来入った場合に備える)。
   ------------------------------------------------------------- */
.page-privacy-policy__content img {
	max-width: 100%;
	height: auto;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.page-privacy-policy__content figure {
	margin: 5rem 0;
}

.page-privacy-policy__content figcaption {
	margin-top: 1rem;
	font-family: var(--font-sans);
	font-size: 13px;
	line-height: 16px;
	text-align: center;
	color: var(--color-text);
}

/* =============================================================
   SP (max-width: 920px)
   Figma: SPプライバシーポリシー (fileKey hq2oZ2NymsckMJQirVNzJJ, node 20:1084, 390x6250)
   STORY と違い、このページは SP デザインが用意されたので専用対応する。
   - レイアウト(位置・幅)は rem(base.css の @media で html を calc(100vw/39) =
     1rem=10px@390px に切り替えている前提)。SP Figma の px も ÷10 で rem。
   - フォントは vw スケールで巨大化しないよう、トップページと同じく
     「タブレット(768–920px) / スマホ(≤767px)」の2段に分けて px で指定する。
     スマホ段は 390px デザインの実測値:
       見出し Privacy Policy … 30px
       本文段落 … 13px / line-height 21px
       本文中の見出し(h2「施設利用規約」等) … 16px
     タブレット段はスマホ px × 1.35。
   ============================================================= */
@media (max-width: 920px) {

	/* 本文開始位置 y=200 = 20rem(見出しは絶対配置なのでこの余白内に収まる)。 */
	.page-privacy-policy {
		padding-top: 20rem;
	}

	/* 見出し「Privacy Policy」: SP Figma x=36 / y=86.91。 */
	.page-privacy-policy__heading {
		top: 8.691rem;
		left: 3.6rem;
		width: auto;
	}

	/* 本文カラム: SP Figma x=36 / width=318 → 幅31.8rem・左右3.6rem余白の中央寄せ。 */
	.page-privacy-policy__body {
		width: 31.8rem;
	}
}

/* SP フォント: タブレット (768–920px)。スマホ px × 1.35。倍率調整はこの段の値のみ。 */
@media (min-width: 768px) and (max-width: 920px) {

	.page-privacy-policy__heading {
		font-size: 40.5px; /* 30px × 1.35 = 40.5 */
	}

	.page-privacy-policy__content {
		font-size: 17.5px; /* 13px × 1.35 = 17.55 */
		line-height: 28.5px; /* 21px × 1.35 = 28.35 */
	}

	.page-privacy-policy__content .has-small-font-size {
		font-size: 17.5px !important;
	}

	.page-privacy-policy__content h1,
	.page-privacy-policy__content h2,
	.page-privacy-policy__content h3,
	.page-privacy-policy__content h4,
	.page-privacy-policy__content h5,
	.page-privacy-policy__content h6 {
		font-size: 21.5px; /* 16px × 1.35 = 21.6 */
	}
}

/* SP フォント: スマホ (≤767px)。390pxデザインの実px。 */
@media (max-width: 767px) {

	.page-privacy-policy__heading {
		font-size: 30px;
	}

	.page-privacy-policy__content {
		font-size: 13px;
		line-height: 21px;
	}

	.page-privacy-policy__content .has-small-font-size {
		font-size: 13px !important;
	}

	.page-privacy-policy__content h1,
	.page-privacy-policy__content h2,
	.page-privacy-policy__content h3,
	.page-privacy-policy__content h4,
	.page-privacy-policy__content h5,
	.page-privacy-policy__content h6 {
		font-size: 16px;
	}
}
