/* Page-specific styles extracted from the original PHP template. */
/* 民泊記事用スタイル - 完全に独自のクラス名 */
	.mpk-wrapper {
		--mpk-primary: #3a5a78;
		--mpk-primary-light: #4d7ca8;
		--mpk-accent: #e8b75d;
		--mpk-text: #333333;
		--mpk-bg-light: #f8f9fa;
		--mpk-gray: #6c757d;
		--mpk-light-gray: #e9ecef;
		--mpk-white: #ffffff;
		--mpk-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
		--mpk-transition: all 0.3s ease;
		font-family: 'Noto Sans JP', sans-serif;
		color: var(--mpk-text);
		line-height: 1.8;
	}

	/* コンテナ */
	.mpk-container {
		max-width: 1140px;
		margin: 0 auto;
		padding: 0 20px;
	}

	/* ヒーローセクション */
	.mpk-header {
		position: relative;
		background: linear-gradient(135deg, var(--mpk-primary), var(--mpk-primary-light));
		color: var(--mpk-white);
		padding: 120px 0 80px;
		margin-bottom: 60px;
		overflow: hidden;
	}

	.mpk-header::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-size: cover;
		background-position: center;
		opacity: 0.15;
		z-index: 0;
	}

	.mpk-header-inner {
		position: relative;
		z-index: 1;
		max-width: 800px;
		margin: 0 auto;
		text-align: center;
	}

	.mpk-category-badge {
		display: inline-block;
		background-color: var(--mpk-accent);
		color: var(--mpk-text);
		font-weight: 600;
		font-size: 14px;
		padding: 6px 16px;
		border-radius: 50px;
		margin-bottom: 20px;
		letter-spacing: 1px;
	}

	.mpk-title {
		font-size: 42px;
		font-weight: 700;
		margin-bottom: 20px;
		line-height: 1.3;
		color: var(--mpk-white);
	}

	.mpk-subtitle {
		font-size: 18px;
		font-weight: 300;
		margin-bottom: 30px;
		max-width: 700px;
		margin-left: auto;
		margin-right: auto;
	}

	.mpk-meta {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 20px;
		font-size: 14px;
	}

	.mpk-meta-item {
		display: flex;
		align-items: center;
	}

	.mpk-meta-item svg {
		margin-right: 6px;
	}

	/* 記事本文 */
	.mpk-content {
		background-color: var(--mpk-white);
		border-radius: 12px;
		box-shadow: var(--mpk-shadow);
		padding: 50px;
		margin-bottom: 60px;
	}

	.mpk-content h2 {
		font-size: 28px;
		font-weight: 700;
		color: var(--mpk-primary);
		margin: 40px 0 20px;
		padding-bottom: 10px;
		border-bottom: 2px solid var(--mpk-light-gray);
	}

	.mpk-content h3 {
		font-size: 22px;
		font-weight: 600;
		margin: 30px 0 15px;
		color: var(--mpk-primary);
	}

	.mpk-content p {
		margin-bottom: 20px;
		font-size: 16px;
	}

	.mpk-content img {
		max-width: 100%;
		height: auto;
		border-radius: 8px;
		margin: 20px 0;
		box-shadow: var(--mpk-shadow);
	}

	.mpk-content ul {
		margin: 20px 0;
		padding-left: 20px;
	}

	.mpk-content li {
		margin-bottom: 10px;
	}

	/* 目次 */
	.mpk-toc {
		background-color: var(--mpk-bg-light);
		border-radius: 8px;
		padding: 25px;
		margin: 30px 0;
		border-left: 4px solid var(--mpk-accent);
	}

	.mpk-toc-title {
		font-size: 18px;
		font-weight: 700;
		margin-bottom: 15px;
		display: flex;
		align-items: center;
	}

	.mpk-toc-title svg {
		margin-right: 8px;
	}

	.mpk-toc ul {
		list-style-type: none;
		padding-left: 10px;
		margin: 0;
	}

	.mpk-toc li {
		margin-bottom: 8px;
	}

	.mpk-toc a {
		color: var(--mpk-primary);
		text-decoration: none;
		transition: var(--mpk-transition);
		display: inline-block;
		padding: 3px 0;
	}

	.mpk-toc a:hover {
		color: var(--mpk-accent);
		transform: translateX(3px);
	}

	/* ハイライトボックス */
	.mpk-highlight {
		background-color: rgba(232, 183, 93, 0.1);
		border-radius: 8px;
		padding: 25px;
		margin: 30px 0;
		border-left: 4px solid var(--mpk-accent);
	}

	.mpk-highlight h4 {
		font-size: 18px;
		color: var(--mpk-primary);
		margin-bottom: 15px;
		margin-top: 0;
	}

	.mpk-highlight ul {
		margin-bottom: 0;
	}

	/* CTA セクション */
	.mpk-cta {
		background: linear-gradient(135deg, var(--mpk-primary), var(--mpk-primary-light));
		color: var(--mpk-white);
		padding: 60px 0;
		border-radius: 12px;
		margin-bottom: 60px;
		position: relative;
		overflow: hidden;
	}

	.mpk-cta::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-size: cover;
		background-position: center;
		opacity: 0.1;
		z-index: 0;
	}

	.mpk-cta-inner {
		position: relative;
		z-index: 1;
		display: flex;
		flex-wrap: wrap;
		gap: 30px;
	}

	.mpk-cta-box {
		flex: 1;
		min-width: 300px;
		text-align: center;
	}

	.mpk-cta-box h2 {
		font-size: 24px;
		margin-bottom: 20px;
		color: var(--mpk-white);
	}

	.mpk-cta-text {
		background-color: rgba(255, 255, 255, 0.1);
		border-radius: 8px;
		padding: 25px;
		margin-bottom: 20px;
		backdrop-filter: blur(5px);
	}

	.mpk-button {
		display: inline-block;
		background-color: var(--mpk-accent);
		color: var(--mpk-text);
		font-weight: 600;
		padding: 12px 30px;
		border-radius: 50px;
		text-decoration: none;
		transition: var(--mpk-transition);
		border: 2px solid var(--mpk-accent);
		font-size: 14px;
		letter-spacing: 1px;
		text-transform: uppercase;
	}

	.mpk-button:hover {
		background-color: transparent;
		color: var(--mpk-white);
		text-decoration: none;
	}

	/* レスポンシブ対応 */
	@media (max-width: 768px) {
		.mpk-header {
			padding: 80px 0 60px;
		}

		.mpk-title {
			font-size: 32px;
		}

		.mpk-content {
			padding: 30px;
		}

		.mpk-meta {
			flex-direction: column;
			gap: 10px;
		}
	}

	@media (max-width: 576px) {
		.mpk-title {
			font-size: 28px;
		}

		.mpk-content h2 {
			font-size: 24px;
		}

		.mpk-content h3 {
			font-size: 20px;
		}
	}

	.mpk-header::before {
		background-image: var(--mpk-header-bg, none);
	}
