@charset "UTF-8";
/* =========================================================
   TAP 2026 — プライバシーポリシー
   見本はなし。本文の見た目はコラム記事（column.css の .cs-entry）にそろえている
   ========================================================= */

.pp-body {
	background: var(--bg);
	position: relative;
	overflow: hidden;
}

.pp-body-ring {
	right: -240px;
	top: -200px;
	width: 600px;
	height: 600px;
}

.pp-body-in {
	position: relative;
	max-width: 1280px;
	margin: 0 auto;
	padding: 96px 40px 0;
}

.pp-card {
	max-width: 1040px;
	margin: 0 auto;
	background: #FFFFFF;
	border-radius: 32px;
	padding: 64px 80px 72px;
	box-sizing: border-box;
	font-size: 16px;
	line-height: 2;
	color: var(--text);
	letter-spacing: .02em;
}

.pp-card p { margin: 0 0 1.6em; }
.pp-card a { color: var(--blue); text-underline-offset: 3px; }

.pp-intro { font-size: 17px; color: var(--navy); }

.pp-card h2 {
	position: relative;
	margin: 56px 0 24px;
	padding-bottom: 16px;
	font-size: 22px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: .04em;
	color: var(--navy);
	border-bottom: 1.5px solid rgba(14, 63, 92, .15);
}

.pp-card h2::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -1.5px;
	width: 56px;
	height: 3px;
	border-radius: 2px;
	background: var(--vermilion);
}

.pp-card ul,
.pp-card ol { margin: 0 0 1.6em; padding: 0; list-style: none; }
.pp-card li { position: relative; margin-bottom: .6em; }
.pp-card ul > li { padding-left: 1.4em; }
.pp-card ul > li::before {
	content: "";
	position: absolute;
	left: .2em;
	top: .8em;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--mint);
}
.pp-card ol { counter-reset: pp; }
.pp-card ol > li { counter-increment: pp; padding-left: 2.4em; }
.pp-card ol > li::before {
	content: counter(pp);
	position: absolute;
	left: 0;
	top: .25em;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--navy);
	color: #FFFFFF;
	font-family: var(--font-num);
	font-size: 13px;
	font-weight: 700;
	line-height: 26px;
	text-align: center;
}

/* お問い合わせ窓口：薄いセージの箱 */
.pp-card .pp-contact {
	background: var(--sage-pale);
	border-radius: 24px;
	padding: 28px 32px;
}
.pp-card .pp-contact li { padding-left: 0; margin-bottom: .2em; }
.pp-card .pp-contact li::before { display: none; }
.pp-card .pp-contact li:first-child { font-weight: 700; color: var(--navy); }

.pp-date {
	margin: 40px 0 0 !important;
	text-align: right;
	font-size: 14px;
	color: var(--text-light);
}

@container (max-width: 760px) {
	.pp-body-in { padding: 56px 16px 0; }
	.pp-card { border-radius: 24px; padding: 36px 22px 44px; font-size: 15px; line-height: 1.95; }
	.pp-intro { font-size: 16px; }
	.pp-card h2 { margin-top: 44px; font-size: 19px; }
	.pp-card .pp-contact { padding: 22px 20px; border-radius: 20px; }
}

/* 「当サイトのご利用について」（個人情報とは別のまとまり） */
.pp-card .pp-h2-site { margin-top: 88px; }

.pp-card h3 {
	margin: 36px 0 16px;
	padding-left: 16px;
	border-left: 4px solid var(--sage-dark);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.7;
	color: var(--navy);
}

.pp-card a { word-break: break-all; }

@container (max-width: 760px) {
	.pp-card .pp-h2-site { margin-top: 64px; }
	.pp-card h3 { font-size: 16px; }
}

/* 箇条書きの中の番号付きの一覧（免責事項） */
.pp-card .pp-sub { margin: .8em 0 0; }
.pp-card .pp-sub > li { padding-left: 2.2em; }
.pp-card .pp-sub > li::before { width: 22px; height: 22px; line-height: 22px; font-size: 12px; top: .35em; border-radius: 50%; background: var(--navy); left: 0; }
