@charset "UTF-8";
/**
 * privacy-policy.css — /privacy policy（WordPress slug: privacy-policy）
 *
 * 一次資料:
 *   1. 設計ツリー原本 specs/pageviews/8b573c30-c744-4073-993e-7940d951861d.json
 *   2. theme/assets/css/tokens.css（--s-color-2c90be8a = #fbf8f5ff / --s-font-f88553ee）
 *   3. 現行サイト配信の STUDIO ランタイム CSS
 *      https://lgbtqordinary.com/_nuxt/routes.T8aKOFwJ.css
 *      → 設計ツリーに書かれていない「STUDIO 側の既定値」（.sd / .sd.text / .richText）を
 *        推測せずに実採取するために使った。該当箇所は本文中に出典を明記している。
 *
 * 値はすべて設計ツリーの style から逐語。丸めや「だいたい同じ」で置き換えない。
 *
 * ブレークポイント（base.css §0 と同じ・厳守）:
 *   @media screen and (max-width: 1140px)  ... @small
 *   @media screen and (max-width:  840px)  ... @tablet
 *   @media screen and (max-width:  540px)  ... @mobile
 *   @media screen and (max-width:  320px)  ... @mini
 *   すべて max-width 単独。ソース順は必ず 1140 → 840 → 540 → 320。
 *
 * ★このページの設計ツリーには @small / @mini の指定が1件も無い（@tablet 2件・@mobile 7件のみ）。
 *   display の切替も全ノードで0件のため、R2（狭い側にも display を明示）の対象は無い。
 *   値の無いブレークポイントに推測で何かを足すことはしない。
 *
 * ★STUDIO 既定値のうち、このページで効いているもの（routes.T8aKOFwJ.css から採取）:
 *     .sd       { display:flex; flex-flow:column; flex:none;
 *                 align-content:center; align-items:center;
 *                 max-width:100%; position:relative; }
 *     .sd.text  { flex-direction:row; place-content:center; align-items:center;
 *                 word-break:break-word; overflow-wrap:anywhere; overflow:visible; }
 *   設計ツリーが flexDirection 等を持たないノードは、この既定値で描画されている。
 *   下の各ブロックでは、その既定値も明示して書いている（継承・暗黙値に頼らない）。
 */

/* ============================================================
 * 1. <main>（設計ツリー: <group> 53ff028f / tagName "main"）
 *    実値: align-content:center / align-items:center / flex-wrap:nowrap /
 *          justify-content:center / padding:0px / width:100%
 *    flex-direction は指定が無いため .sd 既定の column。
 * ============================================================ */
.pp-main {
	position: relative;
	display: flex;
	flex: none;
	flex-direction: column;
	flex-wrap: nowrap;
	align-content: center;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 100%;
	padding: 0;
}

/* ============================================================
 * 2. タイトル帯（設計ツリー: Box 4e350674）
 *    実値: background var(--s-color-2c90be8a) / flex:none / flex-direction:row /
 *          flex-wrap:nowrap / height:330px / justify-content:center /
 *          margin:0px 0px 0px 0px / padding:0px 16px 0px / width:100%
 *    align-content / align-items は指定が無いため .sd 既定の center。
 *
 *    ★ヘッダー（S-06 / position:fixed / 80px）分のオフセットは足さない。
 *      設計ツリーの margin は 0 で、現行サイトもヘッダーが帯に重なる作り。
 *      帯 330px に対し h1 は上下中央（約165px）なので実際には重ならない。
 *    ★`:before { background-size:190px }` は background-image も content も無く
 *      現行サイトでも何も描画されないため実装しない。
 * ============================================================ */
.pp-hero {
	position: relative;
	display: flex;
	flex: none;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: center;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 100%;
	height: 330px;
	margin: 0;
	padding: 0 16px 0;
	background: var(--s-color-2c90be8a);
}

/* h1（設計ツリー: Text 776a3306 / tagName "h1"）
 *   実値: color #082b34 / font-family var(--s-font-f88553ee) /
 *         font-feature-settings 'palt' 1 / font-size 32px / font-weight 600 /
 *         height auto / letter-spacing 0.05em / line-height 1.7 /
 *         margin 0 / padding 0 / text-align left / width auto
 *   base.css が h1〜h6 の font-size / font-weight / margin をリセットしているため、
 *   ここで設計ツリーの値を明示的に戻している。
 *   justify-content:flex-start は STUDIO が textAlign:left から生成している実出力
 *   （.sd.text は flex-direction:row のため、これが無いと中央寄せになる）。 */
.pp-hero__title {
	display: flex;
	flex-direction: row;
	align-content: center;
	align-items: center;
	justify-content: flex-start;
	width: auto;
	max-width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	color: #082b34;
	font-family: var(--s-font-f88553ee);
	font-size: 32px;
	font-weight: 600;
	line-height: 1.7;
	letter-spacing: 0.05em;
	font-feature-settings: 'palt' 1;
	text-align: left;
	word-break: break-word;
	overflow-wrap: anywhere;
}

/* ============================================================
 * 3. 本文エリアの外枠（設計ツリー: Box bb9eeb40）
 *    実値: align-content:center / align-items:center /
 *          background var(--s-color-2c90be8a) / flex:none / height:auto /
 *          margin:0px 0px 0px 0px / padding:24px / width:100%
 *    flex-direction は指定が無いため .sd 既定の column。
 *    ★`:before { background-size:190px }` は 2. と同じ理由で実装しない。
 * ============================================================ */
.pp-body {
	position: relative;
	display: flex;
	flex: none;
	flex-direction: column;
	align-content: center;
	align-items: center;
	width: 100%;
	max-width: 100%;
	height: auto;
	margin: 0;
	padding: 24px;
	background: var(--s-color-2c90be8a);
}

/* ============================================================
 * 4. 本文カラム（設計ツリー: Box 32577315 / width 800px）
 *    実値: align-content:flex-start / align-items:flex-start /
 *          background rgba(0,0,0,0.0) / border-radius:0px / box-shadow:none /
 *          flex:none / flex-direction:column / flex-wrap:nowrap / height:auto /
 *          justify-content:center / margin:0px 0px 0px / padding:0px / width:800px
 *    ★background は完全透過。透明でも設計ツリーにある値なので落とさない。
 * ============================================================ */
.pp-body__col {
	position: relative;
	display: flex;
	flex: none;
	flex-direction: column;
	flex-wrap: nowrap;
	align-content: flex-start;
	align-items: flex-start;
	justify-content: center;
	width: 800px;
	max-width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	background: rgba(0, 0, 0, 0.0);
	border-radius: 0;
	box-shadow: none;
}

/* ============================================================
 * 5. 白カード（設計ツリー: <group> 04cd27f4）
 *    実値: align-content:flex-start / align-items:flex-start / background #FFFFFF /
 *          border-radius:12px / flex:none / flex-direction:column / flex-wrap:nowrap /
 *          justify-content:flex-start / margin:0px 0px 0px 0px / padding:40px / width:100%
 * ============================================================ */
.pp-card {
	position: relative;
	display: flex;
	flex: none;
	flex-direction: column;
	flex-wrap: nowrap;
	align-content: flex-start;
	align-items: flex-start;
	justify-content: flex-start;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 40px;
	background: #ffffff;
	border-radius: 12px;
}

/* ============================================================
 * 6. 本文 RichText（設計ツリー: RichText df95e651）
 * ------------------------------------------------------------
 * コンテナの実値:
 *   color #333 / font-family var(--s-font-f88553ee) / font-size 16px /
 *   font-weight 400 / height auto / line-height 1.4 / padding 0 10px 0 /
 *   text-align left / width 100%
 * 子要素の実値（設計ツリーが持つのは a / h2 / ol / p の4つだけ）:
 *   a  : color #2a2a2a / font-family var(--s-font-f88553ee) / font-size 15px
 *   h2 : font-family var(--s-font-f88553ee) / font-size 15px / margin 30px 0 10px 0
 *   ol : font-size 15px
 *   p  : font-size 15px / line-height 1.7
 *   ※ STUDIO は h2 / ol / p を子セレクタ（`> h2` など）、a を子孫セレクタで出力する。
 *     ここでも同じ組み合わせに揃えている。
 *
 * ★設計ツリーに h3 の指定は無い。しかし本文の見出しは全て <h3>（8本）で、
 *   h2 / ol は本文に1件も存在しない＝h2 と ol のルールは現行サイトでも空振りしている。
 *   設計ツリーにある値なので消さずに残し、空振りである旨をここに明記しておく。
 *
 * ★<h3> と <strong> と <a> の下線は STUDIO ランタイムの既定値で描画されている。
 *   推測を避けるため現行サイト配信の /_nuxt/routes.T8aKOFwJ.css から実採取した:
 *     .richText h3     { align-self:stretch; margin:10px 0; font-size:1em;
 *                        font-weight:700; display:block; }
 *     .richText strong { color:inherit; font-family:inherit; font-weight:900;
 *                        display:inline; }
 *     .richText a      { text-decoration:underline; display:inline; }
 *                        （color / font-size は上の設計ツリー値が上書きする）
 *     .richText p      { align-self:stretch; margin:10px 0; display:block; }
 *     .richText > p    { min-height:1em; }   ← `&nbsp;` だけの空行 p の高さを保つ
 *   h3 の font-size:1em はコンテナの 16px 基準＝16px。p（15px）より 1px 大きいだけで、
 *   太さ（strong で 900）で見出しを立てているのが現行の見た目。
 *
 * ★base.css のリセット（h1〜h6 の margin:0 / font-size:inherit / font-weight:inherit、
 *   a の color:inherit / text-decoration:none、ul・ol の list-style:none）は
 *   このコンテナ内だけ打ち消す必要がある。以下はその復元も兼ねている。
 * ============================================================ */
.pp-rt {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	padding: 0 10px 0;
	color: #333;
	font-family: var(--s-font-f88553ee);
	font-size: 16px;
	font-weight: 500;  /* 400→500: 細い和文を1段階上げる（CEO指示 2026-09-01） */
	line-height: 1.4;
	text-align: left;
	word-break: break-word;
}

/* p — 設計ツリー値（15px / 1.7）＋ STUDIO 既定（margin 10px 0 / min-height 1em） */
.pp-rt > p {
	display: block;
	align-self: stretch;
	min-height: 1em;
	margin: 10px 0;
	font-size: 15px;
	line-height: 1.7;
}

/* h3 — 設計ツリーに指定なし。STUDIO 既定値をそのまま再現する。
   base.css が font-size / font-weight / margin をリセットしているため明示が要る。 */
.pp-rt h3 {
	display: block;
	align-self: stretch;
	margin: 10px 0;
	font-size: 1em;
	font-weight: 700;
}

/* strong — STUDIO 既定値。見出し内の太さはここで決まる（900）。 */
.pp-rt strong {
	display: inline;
	color: inherit;
	font-family: inherit;
	font-weight: 900;
}

/* a — 設計ツリー値（#2a2a2a / 15px / フォント）＋ STUDIO 既定の下線。
   base.css が a の color / text-decoration をリセットしているため明示が要る。
   本文中の実在リンクは mailto:sakoda001@lgbtqordinary.com の1本のみ。 */
.pp-rt a {
	display: inline;
	color: #2a2a2a;
	font-family: var(--s-font-f88553ee);
	font-size: 15px;
	text-decoration: underline;
}

/* h2 / ol — 設計ツリーにある値だが、本文に h2 も ol も存在しないため適用先ゼロ。
   現行サイトでも同じく空振りしている。値の記録として残す。 */
.pp-rt > h2 {
	font-family: var(--s-font-f88553ee);
	font-size: 15px;
	margin: 30px 0 10px 0;
}
.pp-rt > ol {
	font-size: 15px;
}

/* ============================================================
 * 7. ブレークポイント
 *    ソース順は 1140 → 840 → 540 → 320（base.css §0 R1）。
 *    設計ツリーに指定があるのは @tablet（840）と @mobile（540）だけ。
 * ============================================================ */

/* ---- @tablet（~840px） ---- */
@media screen and (max-width: 840px) {

	/* Box 4e350674: padding 0px 0px 0px 0px */
	.pp-hero {
		padding: 0;
	}

	/* Text 776a3306: font-size 32px（ベースと同値。設計ツリーに明記があるので残す） */
	.pp-hero__title {
		font-size: 32px;
	}

	/* Box 32577315: flex none（ベースと同値。設計ツリーに明記があるので残す） */
	.pp-body__col {
		flex: none;
	}
}

/* ---- @mobile（~540px） ---- */
@media screen and (max-width: 540px) {

	/* Box 4e350674: align-content/align-items center / flex none /
	   flex-direction column / flex-wrap nowrap / height 250px / justify-content center */
	.pp-hero {
		flex: none;
		flex-direction: column;
		flex-wrap: nowrap;
		align-content: center;
		align-items: center;
		justify-content: center;
		height: 250px;
	}

	/* Text 776a3306: font-size 22px / font-feature-settings 'palt' 1 /
	   text-orientation mixed / writing-mode horizontal-tb
	   （後ろ2つは横書きのままという意味の指定。実出力どおり残す） */
	.pp-hero__title {
		font-size: 22px;
		font-feature-settings: 'palt' 1;
		writing-mode: horizontal-tb;
		text-orientation: mixed;
	}

	/* Box bb9eeb40: align-content/align-items center / flex none /
	   flex-direction column / flex-wrap nowrap / justify-content center */
	.pp-body {
		flex: none;
		flex-direction: column;
		flex-wrap: nowrap;
		align-content: center;
		align-items: center;
		justify-content: center;
	}

	/* Box 32577315: flex none / z-index 1 */
	.pp-body__col {
		flex: none;
		z-index: 1;
	}

	/* <group> 04cd27f4: border-radius 2px / padding 8px */
	.pp-card {
		border-radius: 2px;
		padding: 8px;
	}

	/* RichText df95e651 の @mobile: a 14px / h2 14px / ol 14px / p 14px */
	.pp-rt > p {
		font-size: 14px;
	}
	.pp-rt a {
		font-size: 14px;
	}
	.pp-rt > h2 {
		font-size: 14px;
	}
	.pp-rt > ol {
		font-size: 14px;
	}
}
