/*
 * /lifeplan/ トップページ改善用CSS
 * 既存の共通ヘッダー・フッター・管理メニュー連動のお知らせ出力は維持し、
 * トップページ内だけに効くよう .lifeplan-renew-wrap 配下に限定しています。
 */

.lifeplan-renew-wrap {
	background: #f7fbfe;
}

.lifeplan-renew-contents {
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 20px 40px;
	box-sizing: border-box;
}

.lifeplan-renew-main {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 auto;
	box-sizing: border-box;
}

.lifeplan-renew-main a {
	text-decoration: none;
}

.lp-hero {
	display: flex;
	gap: 34px;
	align-items: center;
	justify-content: space-between;
	padding: 40px 34px;
	margin: 0 0 26px;
	background: linear-gradient(135deg, #ffffff 0%, #eef8fc 100%);
	border: 1px solid #d7e8f0;
	border-radius: 18px;
	box-shadow: 0 12px 28px rgba(0, 58, 99, .10);
	box-sizing: border-box;
}

.lp-hero-copy {
	flex: 1 1 48%;
	min-width: 0;
}

.lp-eyebrow {
	display: inline-block;
	margin: 0 0 14px;
	padding: 6px 14px;
	background: #dff4f2;
	border-radius: 999px;
	color: #007d83;
	font-weight: bold;
	font-size: 14px;
	line-height: 1.4;
}

.lp-hero h1 {
	margin: 0 0 12px;
	color: #052d63;
	font-size: 34px;
	line-height: 1.45;
	letter-spacing: .05em;
	font-weight: bold;
}

.lp-subtitle {
	margin: 0 0 18px;
	color: #008c8c;
	font-size: 24px;
	line-height: 1.4;
	font-weight: bold;
	letter-spacing: .04em;
}

.lp-lead {
	margin: 0;
	color: #24364a;
	font-size: 15px;
	line-height: 1.95;
}


.lp-hero-proof {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin: 20px 0 0;
	padding: 14px 16px;
	background: rgba(255, 255, 255, .86);
	border: 1px solid #cfe5ee;
	border-left: 5px solid #008c8c;
	border-radius: 10px;
	box-shadow: 0 6px 16px rgba(0, 58, 99, .07);
	box-sizing: border-box;
}

.lp-hero-proof-text {
	min-width: 0;
	color: #24364a;
	font-size: 14px;
	line-height: 1.65;
}

.lp-hero-proof-text span {
	display: block;
	color: #006e82;
	font-weight: bold;
}

.lp-hero-proof-text strong {
	display: block;
	color: #052d63;
	font-size: 15px;
}

.lp-hero-proof-link {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px 12px;
	background: #edf8fa;
	border: 1px solid #9ad0dd;
	border-radius: 999px;
	color: #006e82 !important;
	font-size: 13px;
	font-weight: bold;
	line-height: 1.4;
}

.lp-hero-proof-link:after {
	content: "↓";
	margin-left: 6px;
	font-size: 12px;
}

.lp-hero-buttons,
.lp-bottom-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 24px;
}

.lp-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 0 22px;
	border-radius: 8px;
	font-size: 15px;
	font-weight: bold;
	line-height: 1.4;
	box-sizing: border-box;
	transition: opacity .2s ease, transform .2s ease;
}

.lp-btn:hover {
	opacity: .88;
	transform: translateY(-1px);
}

.lp-btn:after {
	content: "›";
	margin-left: 10px;
	font-size: 18px;
	line-height: 1;
}

.lp-btn-primary {
	background: #005bac;
	color: #fff !important;
	box-shadow: 0 6px 14px rgba(0, 91, 172, .25);
}

.lp-btn-secondary {
	background: #fff;
	border: 1px solid #009b9b;
	color: #007e86 !important;
}

.lp-hero-visual {
	flex: 0 1 45%;
	min-width: 300px;
}

.lp-seminar-card {
	position: relative;
	padding: 22px;
	background: rgba(255, 255, 255, .78);
	border-radius: 18px;
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.8);
}

.lp-seminar-card img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 12px;
}

.lp-floating {
	position: absolute;
	padding: 7px 12px;
	background: #fff;
	border: 1px solid #cae5ee;
	border-radius: 999px;
	box-shadow: 0 6px 14px rgba(0, 58, 99, .12);
	color: #006e82;
	font-weight: bold;
	font-size: 13px;
	line-height: 1;
	white-space: nowrap;
}

.lp-floating-01 { top: 10px; left: 12px; }
.lp-floating-02 { top: 20px; right: 10px; }
.lp-floating-03 { right: 18px; bottom: 24px; }
.lp-floating-04 { left: 18px; bottom: 18px; }

.lp-news-strip {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	margin: 0 0 34px;
	padding: 16px 20px;
	background: #fff;
	border: 1px solid #d9e8ef;
	border-radius: 12px;
	box-shadow: 0 6px 18px rgba(0, 58, 99, .08);
	box-sizing: border-box;
}

.lp-news-label {
	flex: 0 0 auto;
	padding: 4px 12px;
	background: #e7f5f4;
	border-radius: 999px;
	color: #007d83;
	font-size: 14px;
	font-weight: bold;
	white-space: nowrap;
}

.lp-news-dynamic {
	flex: 1 1 auto;
	min-width: 0;
	max-height: 96px;
	overflow: auto;
	color: #26384d;
	font-size: 13px;
	line-height: 1.7;
}

.lp-news-dynamic img {
	max-width: 100%;
	height: auto;
}

.lp-news-dynamic p,
.lp-news-dynamic dl,
.lp-news-dynamic ul {
	margin-top: 0;
}

/* 管理メニュー連動のお知らせ出力に含まれる旧デザイン枠をトップ用にリセット */
.lifeplan-renew-wrap .lp-news-dynamic {
	max-height: 170px;
	overflow-y: auto !important;
	overflow-x: hidden !important;
	padding-right: 10px;
	scrollbar-width: thin;
	scrollbar-color: #8fb8c8 #eef6f8;
}

.lifeplan-renew-wrap .lp-news-dynamic,
.lifeplan-renew-wrap .lp-news-dynamic * {
	background-image: none !important;
	box-shadow: none !important;
}

.lifeplan-renew-wrap .lp-news-dynamic::-webkit-scrollbar {
	width: 8px;
}

.lifeplan-renew-wrap .lp-news-dynamic::-webkit-scrollbar-track {
	background: #eef6f8;
	border-radius: 999px;
}

.lifeplan-renew-wrap .lp-news-dynamic::-webkit-scrollbar-thumb {
	background: #8fb8c8;
	border-radius: 999px;
}

.lifeplan-renew-wrap .lp-news-dynamic div,
.lifeplan-renew-wrap .lp-news-dynamic section,
.lifeplan-renew-wrap .lp-news-dynamic article,
.lifeplan-renew-wrap .lp-news-dynamic table,
.lifeplan-renew-wrap .lp-news-dynamic tbody,
.lifeplan-renew-wrap .lp-news-dynamic tr,
.lifeplan-renew-wrap .lp-news-dynamic td,
.lifeplan-renew-wrap .lp-news-dynamic dl,
.lifeplan-renew-wrap .lp-news-dynamic dt,
.lifeplan-renew-wrap .lp-news-dynamic dd,
.lifeplan-renew-wrap .lp-news-dynamic ul,
.lifeplan-renew-wrap .lp-news-dynamic li {
	height: auto !important;
	max-height: none !important;
	overflow: visible !important;
	border: 0 !important;
	background-color: transparent !important;
}

.lifeplan-renew-wrap .lp-news-dynamic table {
	width: 100% !important;
	border-collapse: collapse !important;
	border-spacing: 0 !important;
}

.lifeplan-renew-wrap .lp-news-dynamic td,
.lifeplan-renew-wrap .lp-news-dynamic th {
	padding: 0 14px 0 0 !important;
	vertical-align: top !important;
}

.lifeplan-renew-wrap .lp-news-dynamic img {
	display: none !important;
}

.lifeplan-renew-wrap .lp-news-dynamic p,
.lifeplan-renew-wrap .lp-news-dynamic dl,
.lifeplan-renew-wrap .lp-news-dynamic dt,
.lifeplan-renew-wrap .lp-news-dynamic dd,
.lifeplan-renew-wrap .lp-news-dynamic ul,
.lifeplan-renew-wrap .lp-news-dynamic li {
	margin: 0 14px 0 0 !important;
	padding: 0 !important;
}

.lifeplan-renew-wrap .lp-news-dynamic a {
	color: #173b68 !important;
	text-decoration: none !important;
}

.lp-section {
	margin: 0 0 38px;
}

.lp-section-title {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	margin: 0 0 22px;
	color: #073368;
	font-size: 24px;
	line-height: 1.45;
	letter-spacing: .04em;
	text-align: center;
}

.lp-section-title:before,
.lp-section-title:after {
	content: "";
	flex: 1 1 80px;
	max-width: 220px;
	height: 1px;
	background: #16a5ad;
}

.lp-card-grid {
	display: grid;
	gap: 18px;
}

.lp-card-grid-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.lp-card,
.lp-menu-card,
.lp-flow-card,
.lp-result-box {
	background: #fff;
	border: 1px solid #d8e6ee;
	border-radius: 12px;
	box-shadow: 0 6px 16px rgba(0, 58, 99, .07);
	box-sizing: border-box;
}

.lp-card {
	padding: 22px 18px;
	text-align: center;
}

.lp-icon {
	margin: 0 auto 12px;
	font-size: 34px;
	line-height: 1;
}

.lp-card h3 {
	margin: 0 0 10px;
	color: #063466;
	font-size: 17px;
	line-height: 1.5;
}

.lp-card p {
	margin: 0;
	color: #304155;
	font-size: 13px;
	line-height: 1.75;
	text-align: left;
}

.lp-menu-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.lp-menu-card {
	padding: 20px 20px 18px;
}

.lp-menu-beginner { border-color: #7ccfca; }
.lp-menu-general { border-color: #7fb4e8; }
.lp-menu-senior { border-color: #b09add; }

.lp-menu-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 10px;
}

.lp-menu-label {
	display: inline-block;
	padding: 5px 14px;
	border-radius: 999px;
	background: #009688;
	color: #fff;
	font-size: 15px;
	font-weight: bold;
}

.lp-menu-general .lp-menu-label { background: #1768bd; }
.lp-menu-senior .lp-menu-label { background: #7250aa; }

.lp-menu-icon {
	font-size: 30px;
}

.lp-menu-card h3 {
	margin: 0 0 14px;
	color: #173b68;
	font-size: 16px;
	line-height: 1.45;
}

.lp-menu-card ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.lp-menu-card li {
	position: relative;
	margin: 0 0 9px;
	padding-left: 22px;
	color: #2d4054;
	font-size: 13px;
	line-height: 1.6;
}

.lp-menu-card li:before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0;
	color: #008c8c;
	font-weight: bold;
}

.lp-menu-general li:before { color: #1768bd; }
.lp-menu-senior li:before { color: #7250aa; }

.lp-section-link {
	margin: 16px 0 0;
	text-align: right;
}

.lp-section-link a {
	color: #005bac;
	font-weight: bold;
}

.lp-section-link a:after {
	content: " ›";
}

.lp-flow {
	display: grid;
	grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
	gap: 12px;
	align-items: stretch;
}

.lp-flow-card {
	padding: 16px 14px;
	text-align: center;
}

.lp-flow-card span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	margin-bottom: 8px;
	background: #005bac;
	border-radius: 50%;
	color: #fff;
	font-weight: bold;
}

.lp-flow-card strong {
	display: block;
	margin-bottom: 8px;
	color: #063466;
	font-size: 15px;
	line-height: 1.45;
}

.lp-flow-card p {
	margin: 0;
	color: #304155;
	font-size: 12px;
	line-height: 1.6;
}

.lp-flow-arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #7b8c9a;
	font-size: 30px;
	font-weight: bold;
}

.lp-flow-copy {
	margin: 18px 0 0;
	color: #007d83;
	font-size: 15px;
	font-weight: bold;
	text-align: center;
}

.lp-results-lead {
	margin: -8px 0 18px;
	color: #304155;
	font-size: 14px;
	line-height: 1.8;
	text-align: center;
}

.lp-results-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}

.lp-result-box {
	padding: 18px 14px;
	text-align: center;
}

.lp-result-box span {
	display: block;
	margin-bottom: 8px;
	font-size: 30px;
}

.lp-result-box strong {
	display: block;
	margin-bottom: 7px;
	color: #063466;
	font-size: 17px;
}

.lp-result-box p {
	margin: 0;
	color: #304155;
	font-size: 12px;
	line-height: 1.6;
}

.lp-results-names {
	margin: 18px 0 0;
	padding: 16px 18px;
	background: #f7fbfd;
	border: 1px solid #d9edf3;
	border-radius: 12px;
	box-sizing: border-box;
}

.lp-results-names-title {
	margin-bottom: 8px;
	color: #063466;
	font-size: 15px;
	font-weight: bold;
}

.lp-results-names-body {
	max-height: 118px;
	overflow: hidden;
	padding-right: 0;
	color: #304155;
	font-size: 13px;
	line-height: 1.8;
}

.lp-results-names-body p,
.lp-results-names-body div,
.lp-results-names-body ul,
.lp-results-names-body li {
	margin-top: 0;
}

.lp-results-note {
	margin: 8px 0 0;
	color: #61758a;
	font-size: 11px;
	text-align: right;
}

.lp-bottom-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin: 10px 0 0;
	padding: 28px 30px;
	background: linear-gradient(135deg, #005bac 0%, #063466 100%);
	border-radius: 14px;
	box-shadow: 0 10px 24px rgba(0, 58, 99, .18);
	box-sizing: border-box;
}

.lp-bottom-cta h2 {
	margin: 0 0 8px;
	color: #fff;
	font-size: 22px;
	line-height: 1.45;
}

.lp-bottom-cta p {
	margin: 0;
	color: #d9ecff;
	font-size: 14px;
	line-height: 1.7;
}

.lp-btn-white {
	background: #fff;
	color: #005bac !important;
}

.lp-btn-yellow {
	background: #ffd766;
	color: #073368 !important;
}

.lp-bottom-cta-copy {
	flex: 1 1 45%;
	min-width: 0;
}

.lp-bottom-contact {
	flex: 0 1 500px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 16px;
}

.lp-contact-phone {
	flex: 0 0 auto;
	min-width: 210px;
	padding: 13px 16px;
	background: rgba(255, 255, 255, .96);
	border: 1px solid rgba(255, 255, 255, .75);
	border-radius: 12px;
	box-shadow: 0 6px 16px rgba(0, 38, 81, .18);
	box-sizing: border-box;
}

.lp-contact-phone span {
	display: block;
	margin: 0 0 3px;
	color: #063466;
	font-size: 12px;
	font-weight: bold;
	line-height: 1.4;
}

.lp-contact-phone a {
	display: block;
	color: #005bac !important;
	font-size: 26px;
	font-weight: bold;
	letter-spacing: .04em;
	line-height: 1.25;
}

.lp-contact-phone a:before {
	content: "☎";
	margin-right: 8px;
	font-size: 21px;
}

.lp-contact-phone small {
	display: block;
	margin-top: 4px;
	color: #506780;
	font-size: 11px;
	line-height: 1.45;
}


@media screen and (max-width: 760px) {
	.lifeplan-renew-wrap .lp-theme-list {
		grid-template-columns: 1fr;
	}
}

@media screen and (max-width: 900px) {
	.lifeplan-renew-contents {
		padding: 0 14px 32px;
	}

	.lp-hero,
	.lp-bottom-cta {
		flex-direction: column;
		align-items: stretch;
	}

	.lp-hero-visual {
		min-width: 0;
	}

	.lp-card-grid-4,
	.lp-results-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.lp-menu-grid {
		grid-template-columns: 1fr;
	}

	.lp-flow {
		grid-template-columns: 1fr;
	}

	.lp-flow-arrow {
		transform: rotate(90deg);
		font-size: 24px;
	}
}

@media screen and (max-width: 560px) {
	.lp-hero {
		padding: 28px 18px;
	}

	.lp-hero h1 {
		font-size: 26px;
	}

	.lp-subtitle {
		font-size: 20px;
	}

	.lp-hero-proof {
		flex-direction: column;
		align-items: flex-start;
	}

	.lp-hero-proof-link {
		width: 100%;
	}

	.lp-news-strip {
		flex-direction: column;
	}

	.lp-section-title {
		font-size: 20px;
	}

	.lp-section-title:before,
	.lp-section-title:after {
		display: none;
	}

	.lp-card-grid-4,
	.lp-results-grid {
		grid-template-columns: 1fr;
	}

	.lp-btn {
		width: 100%;
	}
}

/* 開催事例・受講者の声ページ */
.lifeplan-renew-wrap .lp-page-hero {
	margin: 0 0 34px;
	padding: 36px 34px;
	background: linear-gradient(135deg, #ffffff 0%, #eef8fc 100%);
	border: 1px solid #d7e8f0;
	border-radius: 18px;
	box-shadow: 0 12px 28px rgba(0, 58, 99, .10);
	box-sizing: border-box;
}

.lifeplan-renew-wrap .lp-page-hero h1 {
	margin: 0 0 14px;
	color: #052d63;
	font-size: 30px;
	line-height: 1.45;
	letter-spacing: .04em;
}

.lifeplan-renew-wrap .lp-page-hero p:not(.lp-eyebrow) {
	max-width: 820px;
	margin: 0;
	color: #24364a;
	font-size: 15px;
	line-height: 1.9;
}

.lifeplan-renew-wrap .lp-case-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(260px, .8fr);
	gap: 20px;
	align-items: stretch;
}

.lifeplan-renew-wrap .lp-case-card,
.lifeplan-renew-wrap .lp-case-photo,
.lifeplan-renew-wrap .lp-voice-card {
	background: #fff;
	border: 1px solid #d8e6ee;
	border-radius: 12px;
	box-shadow: 0 6px 16px rgba(0, 58, 99, .07);
	box-sizing: border-box;
}

.lifeplan-renew-wrap .lp-case-card {
	padding: 24px 24px 22px;
}

.lifeplan-renew-wrap .lp-case-card h3,
.lifeplan-renew-wrap .lp-voice-card h3 {
	margin: 0 0 14px;
	color: #063466;
	font-size: 19px;
	line-height: 1.5;
}

.lifeplan-renew-wrap .lp-case-card p {
	margin: 0 0 18px;
	color: #304155;
	font-size: 14px;
	line-height: 1.85;
}

.lifeplan-renew-wrap .lp-program-wrap {
	overflow-x: auto;
}

.lifeplan-renew-wrap .lp-program-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
	line-height: 1.6;
}

.lifeplan-renew-wrap .lp-program-table th {
	padding: 10px 12px;
	background: #e7f5f4;
	border: 1px solid #c7e1e6;
	color: #063466;
	text-align: left;
}

.lifeplan-renew-wrap .lp-program-table td {
	padding: 10px 12px;
	border: 1px solid #d8e6ee;
	color: #304155;
	vertical-align: top;
}

.lifeplan-renew-wrap .lp-program-table td:first-child {
	width: 92px;
	white-space: nowrap;
	font-weight: bold;
	color: #006e82;
}

.lifeplan-renew-wrap .lp-case-photo {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 22px;
	text-align: center;
}

.lifeplan-renew-wrap .lp-case-photo img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto 14px;
	border-radius: 10px;
}

.lifeplan-renew-wrap .lp-case-photo-caption {
	color: #61758a;
	font-size: 13px;
	line-height: 1.7;
	text-align: left;
}

.lifeplan-renew-wrap .lp-voice-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.lifeplan-renew-wrap .lp-voice-card {
	padding: 22px 24px 18px;
}

.lifeplan-renew-wrap .lp-voice-card ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.lifeplan-renew-wrap .lp-voice-card li {
	position: relative;
	margin: 0 0 11px;
	padding-left: 24px;
	color: #304155;
	font-size: 13px;
	line-height: 1.75;
}

.lifeplan-renew-wrap .lp-voice-card li:before {
	content: "“";
	position: absolute;
	left: 0;
	top: -3px;
	color: #16a5ad;
	font-size: 24px;
	font-weight: bold;
	line-height: 1;
}


.lifeplan-renew-wrap .lp-theme-box {
	background: #fff;
	border: 1px solid #d8e6ee;
	border-radius: 12px;
	box-shadow: 0 6px 16px rgba(0, 58, 99, .07);
	padding: 24px 26px;
	box-sizing: border-box;
}

.lifeplan-renew-wrap .lp-theme-box p {
	margin: 0 0 16px;
	color: #304155;
	font-size: 14px;
	line-height: 1.8;
}

.lifeplan-renew-wrap .lp-theme-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.lifeplan-renew-wrap .lp-theme-list li {
	position: relative;
	padding: 12px 14px 12px 34px;
	background: #f5fbfd;
	border: 1px solid #d8eaf0;
	border-radius: 10px;
	color: #063466;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.65;
	box-sizing: border-box;
}

.lifeplan-renew-wrap .lp-theme-list li:before {
	content: "";
	position: absolute;
	left: 14px;
	top: 18px;
	width: 8px;
	height: 8px;
	background: #16a5ad;
	border-radius: 50%;
}

.lifeplan-renew-wrap .lp-theme-list span {
	display: block;
	margin-top: 2px;
	color: #50718c;
	font-size: 12px;
	font-weight: normal;
}


.lifeplan-renew-wrap .lp-dc-support-box {
	margin-top: 18px;
	padding: 20px 22px;
	background: linear-gradient(135deg, #f0fbfd 0%, #ffffff 100%);
	border: 1px solid #b9e2ea;
	border-left: 5px solid #16a5ad;
	border-radius: 12px;
	box-sizing: border-box;
}

.lifeplan-renew-wrap .lp-dc-support-box h3 {
	margin: 0 0 10px;
	color: #063466;
	font-size: 18px;
	line-height: 1.55;
}

.lifeplan-renew-wrap .lp-dc-support-box p {
	margin: 0 0 8px;
	color: #304155;
	font-size: 14px;
	line-height: 1.8;
}

.lifeplan-renew-wrap .lp-dc-support-box .lp-dc-support-note {
	margin-bottom: 0;
	color: #50718c;
	font-size: 12px;
}

.lifeplan-renew-wrap .lp-retire-support-box {
	background: linear-gradient(135deg, #f7fbff 0%, #ffffff 100%);
	border-color: #c5dcf0;
	border-left-color: #2c6fb2;
}

.lifeplan-renew-wrap .lp-case-note .lp-card p {
	text-align: left;
}

@media screen and (max-width: 900px) {
	.lifeplan-renew-wrap .lp-case-grid,
	.lifeplan-renew-wrap .lp-voice-grid {
		grid-template-columns: 1fr;
	}

	.lifeplan-renew-wrap .lp-page-hero {
		padding: 30px 22px;
	}
}

@media screen and (max-width: 560px) {
	.lifeplan-renew-wrap .lp-page-hero h1 {
		font-size: 24px;
	}

	.lifeplan-renew-wrap .lp-case-card,
	.lifeplan-renew-wrap .lp-case-photo,
	.lifeplan-renew-wrap .lp-voice-card {
		padding: 18px;
	}
}


/* お問い合わせ導線：電話番号表示 */
@media screen and (max-width: 900px) {
	.lp-bottom-contact {
		flex: 1 1 auto;
		width: 100%;
		flex-direction: column;
		align-items: stretch;
	}

	.lp-contact-phone {
		width: 100%;
		text-align: center;
	}

	.lp-bottom-contact .lp-bottom-buttons {
		margin-top: 0;
	}
}

@media screen and (max-width: 560px) {
	.lp-contact-phone a {
		font-size: 23px;
	}
}

/* セミナー例から開催事例ページへの導線を強調 */
.lifeplan-renew-wrap .lp-section-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin: 22px 0 0;
	padding: 18px 20px;
	background: linear-gradient(135deg, #f0fbfd 0%, #ffffff 100%);
	border: 1px solid #b9e2ea;
	border-left: 5px solid #16a5ad;
	border-radius: 12px;
	box-shadow: 0 6px 16px rgba(0, 58, 99, .07);
	box-sizing: border-box;
}

.lifeplan-renew-wrap .lp-section-cta-copy {
	min-width: 0;
}

.lifeplan-renew-wrap .lp-section-cta-copy strong {
	display: block;
	margin: 0 0 4px;
	color: #063466;
	font-size: 16px;
	line-height: 1.5;
}

.lifeplan-renew-wrap .lp-section-cta-copy span {
	display: block;
	color: #304155;
	font-size: 13px;
	line-height: 1.7;
}

.lifeplan-renew-wrap .lp-section-cta .lp-btn {
	flex: 0 0 auto;
	margin: 0;
}

@media screen and (max-width: 760px) {
	.lifeplan-renew-wrap .lp-section-cta {
		flex-direction: column;
		align-items: stretch;
	}

	.lifeplan-renew-wrap .lp-section-cta .lp-btn {
		width: 100%;
	}
}
