/**
 * GPTXT Article Pattern 01
 *
 * Pattern01: カード型
 * - 王道LP風
 * - セクションごとにカード化
 * - やわらかく、見やすい印象
 */

/* =========================
   Wrapper
========================= */
.gptxt-pattern-01 {
	background: #f6f8fb;
	padding-top: 24px;
	padding-bottom: 24px;
}

/* =========================
   Title
========================= */
.gptxt-pattern-01 .gptxt-title {
	background: #ffffff;
	border: 1px solid #e5eaf1;
	border-radius: 16px;
	padding: 22px 24px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
	color: #1f2d3d;
	margin-bottom: 20px;
}

/* =========================
   Image / Link
========================= */
.gptxt-pattern-01 .gptxt-link {
	background: #ffffff;
	border: 1px solid #e5eaf1;
	border-radius: 16px;
	padding: 14px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
	overflow: hidden;
	margin-bottom: 18px;
}

.gptxt-pattern-01 .gptxt-img {
	border-radius: 12px;
	margin-bottom: 0;
}

/* =========================
   Button
========================= */
.gptxt-pattern-01 .gptxt-btn {
	background: linear-gradient(135deg, #4f8cff 0%, #6aa8ff 100%);
	color: #ffffff;
	border: none;
	border-radius: 999px;
	box-shadow: 0 12px 24px rgba(79, 140, 255, 0.25);
	padding: 16px 20px;
}

.gptxt-pattern-01 .gptxt-btn:hover {
	transform: translateY(-1px);
	box-shadow: 0 16px 28px rgba(79, 140, 255, 0.32);
	color: #ffffff;
	text-decoration: none;
}

.gptxt-pattern-01 .gptxt-btn:visited,
.gptxt-pattern-01 .gptxt-btn:focus,
.gptxt-pattern-01 .gptxt-btn:active {
	color: #ffffff;
	text-decoration: none;
}

/* =========================
   Headings
========================= */
.gptxt-pattern-01 .gptxt-headding {
	background: #ffffff;
	border: 1px solid #e5eaf1;
	border-radius: 14px;
	padding: 16px 20px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04);
	color: #223047;
	position: relative;
	margin-bottom: 14px;
}

.gptxt-pattern-01 .gptxt-headding::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 28px;
	border-radius: 999px;
	background: linear-gradient(180deg, #4f8cff 0%, #6aa8ff 100%);
	margin-right: 12px;
	vertical-align: middle;
}

/* =========================
   Text blocks
========================= */
.gptxt-pattern-01 .gptxt-txt {
	background: #ffffff;
	border: 1px solid #e5eaf1;
	border-radius: 14px;
	padding: 18px 20px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04);
	color: #334155;
}

/* =========================
   Section rhythm
========================= */
.gptxt-pattern-01 .gptxt-headding + .gptxt-txt {
	margin-top: 0;
}

.gptxt-pattern-01 .gptxt-txt + .gptxt-txt {
	margin-top: 12px;
}

/* =========================
   Last summary block
========================= */
.gptxt-pattern-01 .gptxt-headding03 + .gptxt-txt07 {
	background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
	border-color: #dbe6f5;
}

/* =========================
   Mobile
========================= */
@media screen and (max-width: 640px) {
	.gptxt-pattern-01 {
		padding-top: 12px;
		padding-bottom: 12px;
	}

	.gptxt-pattern-01 .gptxt-title,
	.gptxt-pattern-01 .gptxt-link,
	.gptxt-pattern-01 .gptxt-headding,
	.gptxt-pattern-01 .gptxt-txt {
		border-radius: 12px;
	}

	.gptxt-pattern-01 .gptxt-title {
		padding: 18px 16px;
	}

	.gptxt-pattern-01 .gptxt-link {
		padding: 10px;
	}

	.gptxt-pattern-01 .gptxt-headding {
		padding: 14px 16px;
	}

	.gptxt-pattern-01 .gptxt-headding::before {
		width: 6px;
		height: 22px;
		margin-right: 10px;
	}

	.gptxt-pattern-01 .gptxt-txt {
		padding: 16px;
	}

	.gptxt-pattern-01 .gptxt-btn {
		padding: 15px 16px;
	}
}