@charset "UTF-8";

/* ============================================
   備えるべきリスク対策 詳細ページ
   ============================================ */


/* SWELL の .l-content { padding-top: 2em } を打ち消し */
.l-content:has(.p-risk-container) {
	padding-top: 0;
}

/* ===== KV（保険ページ insurance-kv と共通仕様） ===== */
.p-risk-kv {
	position: relative;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-bottom: 160px;
}

.p-risk-kv__image img {
	width: 100%;
	height: auto;
	display: block;
}

.p-risk-kv__hero {
	position: absolute;
	left: 5%;
	right: 5%;
	bottom: 40px;
	z-index: 2;
	color: #ffffff;
	/* transform は js-fade-up アニメーションで使うため、中央寄せは left/right で行う */
}

.p-risk-kv__subtitle {
	font-size: 14px;
	margin: 0 0 8px;
}

.p-risk-kv__title {
	font-size: 28px;
	margin: 0;
}

/* 画像未設定時のフォールバック */
.p-risk-kv--noImage {
	margin-bottom: 80px;
}

.p-risk-kv--noImage .p-risk-kv__hero {
	position: static;
	transform: none;
	width: 100%;
	color: #000;
	padding: 40px 0;
}

/* ===== コンテンツ ===== */
.p-risk {
	margin-top: 40px;
}

.p-risk__block {
	margin-bottom: 80px;
}

.p-risk__block:last-of-type {
	margin-bottom: 80px;
}

/* セクション画像 */
.p-risk__image {
	margin: 24px 0;
}

.p-risk__image img {
	width: 100%;
	height: auto;
	display: block;
}

/* 小項目リスト */
.p-risk__list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.p-risk__item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 24px;
}

.p-risk__item:last-child {
	margin-bottom: 0;
}

/* チェックアイコン（営業方針ページと共通の意匠） */
.p-risk__check {
	display: block;
	width: 16px;
	height: 16px;
	border: 2px solid #0c4394;
	box-sizing: border-box;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%230c4394' stroke-width='4' d='M4 12l5 5L20 6'/%3E%3C/svg%3E");
	background-size: 14px;
	background-position: center;
	background-repeat: no-repeat;
	flex-shrink: 0;
	margin-top: 6px;
}

.p-risk__itemBody {
	flex: 1;
	min-width: 0;
}

.p-risk__itemTitle {
	font-weight: 700;
	font-size: 16px;
	line-height: 1.6;
	margin: 0 0 6px;
}

.p-risk__itemText {
	line-height: 1.8;
	margin: 0;
}

/* ===== まとめ ===== */
.p-risk__summary {
	margin-top: 80px;
}

.p-risk__summary .c-heading-leftLine {
	margin-bottom: 24px;
}

.p-risk__summaryText {
	line-height: 1.8;
	margin: 0;
	background-color: #E9F3FA;
	padding: 32px;
}

/* ===== まとめ本文 ===== */
.p-risk__summaryBody {
	margin: 0;
}

/* ===== 免責事項（まとめボックス内） ===== */
.p-risk__disclaimer {
	margin-top: 24px;
}

.p-risk__disclaimerLabel {
	font-weight: 700;
	font-size: 14px;
	margin: 0;
}

.p-risk__disclaimerText {
	line-height: 1.8;
	color: #555;
	margin: 0;
}

/* ===== SP ===== */
@media screen and (max-width: 599px) {

	.p-risk-kv {
		margin-bottom: 96px;
	}

	.p-risk-kv__hero {
		bottom: 16px;
	}

	.p-risk-kv__title {
		font-size: 24px;
	}

	.p-risk {
		margin-top: 24px;
	}

	.p-risk__block {
		margin-bottom: 56px;
	}

	.p-risk__image {
		aspect-ratio: 4 / 3;
		overflow: hidden;
	}

	.p-risk__image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.p-risk__itemTitle {
		font-size: 15px;
	}

	.p-risk__itemText {
		font-size: 14px;
	}

	.p-risk__summary {
		margin-top: 56px;
	}

	.p-risk__summaryText {
		padding: 16px;
	}

	.p-risk__summaryBody {
		font-size: 14px;
	}

	.p-risk__disclaimer {
		margin-top: 16px;
	}

	.p-risk__disclaimerText {
		font-size: 14px;
	}
}
