/* --------------------------------------------------------
* privacy / policy common
* -------------------------------------------------------*/
/* PDFボタン：PDFアイコンの丸背景を赤にする */
.p-policy-pdf-button .c-button__inner[target="_blank"][href$=".pdf"]::before {
	background-color: var(--color-caution);
	border-color: var(--color-caution);
}

/* 推進体制図*/
.p-policy-image {
	max-width: 540px;
	margin: 32px auto 0;
}

.p-policy-image img {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid var(--color-border);
	border-radius: 12px;
	background: #fff;
}

.p-policy-image__caption {
	margin-top: 10px;
	text-align: center;
	font-size: 1.3rem;
	line-height: 1.6;
	color: var(--color-caption);
}

/* ページ全体の本文まわり */
.l-main .c-text {
	line-height: 1.9;
}

/* セクション間の余白を調整 */
.l-main .l-section.l-default-margin {
	margin-top: 52px;
}

/* ページ冒頭文と1つ目の見出しの間だけ調整 */
.l-main > .l-section.l-default-margin:first-of-type {
	margin-top: 48px;
}

.l-main > .l-section.l-default-margin:first-of-type + .l-section.l-default-margin {
	margin-top: 64px;
}

/* 見出しと本文の間を少し詰める */
.l-main .c-heading-lv2 {
	margin-bottom: 22px;
}

/* 初版日付 */
.p-policy-version {
	text-align: right;
	margin-bottom: 32px;
}

/* 小ブロック */
.p-policy-block {
	margin-top: 20px;
}

/* 小見出し */
.p-policy-subheading {
	margin: 0 0 8px;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.6;
}

/* リスト */
.p-policy-list {
	margin: 10px 0 0;
	padding-left: 1.4em;
}

.p-policy-list li {
	line-height: 1.8;
	margin-top: 4px;
}

/* 署名 */
.p-policy-signature {
	margin-top: 24px;
	text-align: right;
}

/* --------------------------------------------------------
* address / contact box
* -------------------------------------------------------*/

/* 問い合わせ窓口ボックス */
.p-addresslist {
	border: 1px solid #d6d6d6;
	padding: 24px 28px;
	margin-top: 16px;
	background: #fff;
}

.p-addresslist__item {
	display: flex;
}

.p-addresslist__item + .p-addresslist__item {
	margin-top: 10px;
}

.p-addresslist__term {
	flex: 110px 0 0;
	font-weight: 700;
}

.p-addresslist__detail {
	flex: 1 1 auto;
}

/* p-policy-contact で囲む場合にも対応 */
.p-policy-contact {
	border: 1px solid #d6d6d6;
	padding: 24px 28px;
	margin-top: 16px;
	background: #fff;
}

.p-policy-contact__title {
	margin: 0 0 14px;
	font-weight: 700;
	line-height: 1.7;
}

.p-policy-contact .p-addresslist {
	border: none;
	padding: 0;
	margin-top: 0;
	background: transparent;
}

/* --------------------------------------------------------
* table
* -------------------------------------------------------*/

.p-policy-table-wrap {
	margin-top: 16px;
	overflow-x: auto;
}

.p-policy-table {
	width: 100%;
	min-width: 720px;
	border-collapse: collapse;
}

.p-policy-table th,
.p-policy-table td {
	border: 1px solid #d6d6d6;
	padding: 12px 14px;
	line-height: 1.7;
	vertical-align: middle;
}

.p-policy-table thead th {
	background: #f5f7f8;
	text-align: center;
	font-weight: 700;
}

.p-policy-table tbody th {
	background: #fff;
	text-align: left;
	font-weight: 400;
}

.p-policy-table td {
	text-align: center;
}

/* --------------------------------------------------------
* links
* -------------------------------------------------------*/

.p-policy-link-list {
	list-style: none;
	margin: 12px 0 0;
	padding: 0;
}

.p-policy-link-list li + li {
	margin-top: 8px;
}

.p-policy-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--color-text);
	text-decoration: underline;
	line-height: 1.7;
}

.p-policy-link:hover {
	color: var(--color-theme);
	text-decoration: none;
}

.p-policy-link::after {
	content: "";
	display: inline-block;
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

/* 外部リンクアイコン */
.p-policy-link--external::after {
	background-image: var(--icon-blank);
}

/* PDFアイコン */
.p-policy-link--pdf::after {
	background-image: var(--icon-pdf);
}

/* --------------------------------------------------------
* SP
* -------------------------------------------------------*/

@media screen and (max-width: 767px) {
	.l-main .l-section.l-default-margin {
		margin-top: 40px;
	}

	.l-main > .l-section.l-default-margin:first-of-type {
		margin-top: 32px;
	}

	.l-main > .l-section.l-default-margin:first-of-type + .l-section.l-default-margin {
		margin-top: 48px;
	}

	.l-main .c-heading-lv2 {
		margin-bottom: 16px;
	}

	.l-main .c-text {
		line-height: 1.8;
	}

	.p-addresslist {
		padding: 18px 20px;
	}

	.p-addresslist__item {
		display: block;
	}

	.p-addresslist__term {
		margin-bottom: 4px;
	}

	.p-policy-contact {
		padding: 18px 20px;
	}

	.p-policy-version {
		margin-bottom: 24px;
	}

	.p-policy-subheading {
		font-size: 1.6rem;
	}
}

/* 方針群一覧：PDFボタン 通常時 PC/SP共通 */
.p-policy-pdf-button .c-button__inner[target="_blank"][href$=".pdf"]::before {
	background-color: var(--color-caution) !important;
	border-color: var(--color-caution) !important;
}

.p-policy-pdf-button .c-button__inner[target="_blank"][href$=".pdf"]::after {
	background-color: #fff !important;
	-webkit-mask-image: url("/assets/images/icons/pdf.svg") !important;
	mask-image: url("/assets/images/icons/pdf.svg") !important;
}

/*# sourceMappingURL=policy.css.map */
