/*
Theme Name: お店DX (TenpoDX)
Theme URI: https://www.tenpodx.net/
Author: Eddy Kamoga
Author URI: mailto:gptb70564@gmail.com
Description: 店舗専門AI・DX「お店DX」用のオリジナル WordPress テーマ。サービス・導入事例・コラム・会社概要をテンプレートパーツで構成した日本語サイト向けテーマです。
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tenpodx
Tags: custom-menu, featured-images, translation-ready, blog, custom-logo
*/

/* WordPress 補足スタイル */

@font-face {
	font-family: "TT CookHand";
	src: url("assets/font/TT_CookHand-R.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

/* ダークトーン：オリジナル charcoal #3b3a3a */
:root {
	--tenpodx-dark: #3b3a3a;
	--tenpodx-fv-yellow: #ffde59;
	--tenpodx-page-yellow: #ffde59;
	--tenpodx-section-yellow: #ffde59;
	--tenpodx-brand-lime: #00bf63;
	--tenpodx-brand-lime-dark: #00a868;
	--tenpodx-brand-brown: #4a3d39;
	--tenpodx-accent-red: #e60012;
}

body {
	background-color: var(--tenpodx-page-yellow);
	color: var(--tenpodx-brand-brown);
}

/* ダーク背景を確実に適用 */
.bg-charcoal,
.bg-navy,
.bg-navy-deep {
	background-color: var(--tenpodx-dark) !important;
}

.tenpodx-footer {
	background-color: #fff !important;
}

/* 既存ユーティリティを黄トーンに寄せる */
.bg-paper-soft {
	background-color: var(--tenpodx-page-yellow) !important;
}

.bg-page-yellow {
	background-color: var(--tenpodx-page-yellow);
}

.bg-section-yellow {
	background-color: var(--tenpodx-section-yellow);
}

.text-brand-brown {
	color: var(--tenpodx-brand-brown);
}

.text-accent-red {
	color: var(--tenpodx-accent-red);
}

.text-2xl {
	font-size: 1.5rem;
	line-height: 1.3;
}

.text-3xl {
	font-size: 1.875rem;
	line-height: 1.25;
}

.leading-snug {
	line-height: 1.375;
}

.rounded-3xl {
	border-radius: 1.5rem;
}

.space-y-3 > * + * {
	margin-top: 0.75rem;
}

.max-w-3xl {
	max-width: 48rem;
}

.max-w-5xl {
	max-width: 64rem;
}

.mx-auto {
	margin-left: auto;
	margin-right: auto;
}

@media (min-width: 640px) {
	.sm\:text-3xl {
		font-size: 1.875rem;
		line-height: 1.25;
	}

	.sm\:text-2xl {
		font-size: 1.5rem;
		line-height: 1.35;
	}

	.sm\:text-xl {
		font-size: 1.25rem;
		line-height: 1.75rem;
	}

	.sm\:px-8 {
		padding-left: 2rem;
		padding-right: 2rem;
	}

	.sm\:hidden {
		display: none;
	}
}

@media (min-width: 768px) {
	.md\:text-4xl {
		font-size: 2.25rem;
		line-height: 1.2;
	}

	.md\:text-3xl {
		font-size: 1.875rem;
		line-height: 1.3;
	}

	.md\:text-2xl {
		font-size: 1.5rem;
		line-height: 1.3;
	}

	.md\:px-12 {
		padding-left: 3rem;
		padding-right: 3rem;
	}

	.md\:py-14 {
		padding-top: 3.5rem;
		padding-bottom: 3.5rem;
	}

	.md\:mt-12 {
		margin-top: 3rem;
	}

	.md\:mt-6 {
		margin-top: 1.5rem;
	}

	.md\:mb-14 {
		margin-bottom: 3.5rem;
	}
}

/* ========== FV / Header（Tailwind 補完ユーティリティ） ========== */
:root {
	--tenpodx-fv-yellow: #ffde59;
	--tenpodx-brand-lime: #00c37b;
	--tenpodx-brand-lime-dark: #00a868;
}

.bg-fv-yellow {
	background-color: var(--tenpodx-fv-yellow);
}

.bg-brand-lime {
	background-color: var(--tenpodx-brand-lime);
}

.bg-brand-lime-dark {
	background-color: var(--tenpodx-brand-lime-dark);
}

.hover\:bg-brand-lime-dark:hover {
	background-color: var(--tenpodx-brand-lime-dark);
}

.bg-white {
	background-color: #fff;
}

.rounded-full {
	border-radius: 9999px;
}

.font-brand {
}

.font-black {
	font-weight: 900;
}

.font-extrabold {
	font-weight: 800;
}

.shrink-0 {
	flex-shrink: 0;
}

.overflow-hidden {
	overflow: hidden;
}

.object-right {
	object-position: right center;
}

.h-12 {
	height: 3rem;
}

.h-14 {
	height: 3.5rem;
}

.h-20 {
	height: 5rem;
}

.pt-20 {
	padding-top: 5rem;
}

.px-3 {
	padding-left: 0.75rem;
	padding-right: 0.75rem;
}

.px-5 {
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

.py-1 {
	padding-top: 0.25rem;
	padding-bottom: 0.25rem;
}

.py-1\.5 {
	padding-top: 0.375rem;
	padding-bottom: 0.375rem;
}

.py-2\.5 {
	padding-top: 0.625rem;
	padding-bottom: 0.625rem;
}

.text-lg {
	font-size: 1.125rem;
	line-height: 1.5;
}

.text-xl {
	font-size: 1.25rem;
	line-height: 1.5;
}

.text-4xl {
	font-size: 2.25rem;
	line-height: 1.15;
}

.text-5xl {
	font-size: 3rem;
	line-height: 1.1;
}

.text-6xl {
	font-size: 3.75rem;
	line-height: 1.1;
}

.text-7xl {
	font-size: 4.5rem;
	line-height: 1.05;
}

@media (min-width: 640px) {
	.sm\:px-6 {
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}

	.sm\:text-base {
		font-size: 1rem;
		line-height: 1.5rem;
	}

	.sm\:text-5xl {
		font-size: 3rem;
		line-height: 1.1;
	}

	.sm\:block {
		display: block;
	}
}

@media (min-width: 768px) {
	.md\:h-14 {
		height: 3.5rem;
	}

	.md\:h-24 {
		height: 6rem;
	}

	.md\:pt-24 {
		padding-top: 6rem;
	}

	.md\:gap-4 {
		gap: 1rem;
	}

	.md\:px-4 {
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.md\:px-5 {
		padding-left: 1.25rem;
		padding-right: 1.25rem;
	}

	.md\:py-20 {
		padding-top: 5rem;
		padding-bottom: 5rem;
	}

	.md\:text-lg {
		font-size: 1.125rem;
		line-height: 1.75rem;
	}

	.md\:text-6xl {
		font-size: 3.75rem;
		line-height: 1.1;
	}
}

@media (min-width: 1024px) {
	.lg\:text-xl {
		font-size: 1.25rem;
		line-height: 1.75rem;
	}

	.lg\:text-3xl {
		font-size: 1.875rem;
		line-height: 1.3;
	}

	.lg\:text-4xl {
		font-size: 2.25rem;
		line-height: 1.25;
	}

	.lg\:text-7xl {
		font-size: 4.5rem;
		line-height: 1.05;
	}
}

@media (min-width: 1280px) {
	.lg\:text-7xl {
		font-size: 5.5rem;
		line-height: 1.05;
	}
}

@media (min-width: 1536px) {
	.lg\:text-7xl {
		font-size: 6.25rem;
		line-height: 1.05;
	}
}

.justify-start {
	justify-content: flex-start;
}

.items-end {
	align-items: flex-end;
}

.pb-10 {
	padding-bottom: 2.5rem;
}

.py-8 {
	padding-top: 2rem;
	padding-bottom: 2rem;
}

@media (min-width: 768px) {
	.md\:items-center {
		align-items: center;
	}

	.md\:pb-0 {
		padding-bottom: 0;
	}
}

/* トップ FV */
.tenpodx-hero {
	overflow: hidden;
	height: 100vh;
}

.h-\[100vh\] {
	height: 100vh;
}

.tenpodx-hero > img {
	object-position: left center;
}

.tenpodx-hero-copy {
	margin-left: 0;
	margin-right: auto;
}

@media (min-width: 1024px) {
	.lg\:px-12 {
		padding-left: 3rem;
		padding-right: 3rem;
	}
}

@media (min-width: 1280px) {
	.xl\:pl-16 {
		padding-left: 4rem;
	}
}

@media (max-width: 767px) {
	.tenpodx-hero > img {
		width: calc(100% + 200px);
		max-width: none;
		object-position: right center;
	}
}

/* ヘッダー：白背景固定 */
.header-bar {
	background-color: #fff;
	backdrop-filter: none;
}

.tenpodx-header-cta {
	white-space: nowrap;
	line-height: 1.25;
	transition: background-color 0.15s ease;
}

.tenpodx-overlay-55,
.bg-navy-deep\/55,
.bg-charcoal\/55 {
	background-color: rgba(59, 58, 58, 0.55) !important;
}

.tenpodx-overlay-70,
.bg-navy-deep\/70,
.bg-charcoal\/70 {
	background-color: rgba(59, 58, 58, 0.7) !important;
}

.tenpodx-overlay-75,
.bg-navy-deep\/75,
.bg-charcoal\/75 {
	background-color: rgba(59, 58, 58, 0.75) !important;
}

.bg-navy\/5 {
	background-color: rgba(59, 58, 58, 0.05) !important;
}

.text-navy,
.section-eyebrow,
.hover\:text-navy:hover,
.group:hover .group-hover\:text-navy,
.entry-content a {
	color: var(--tenpodx-dark) !important;
}

/* ヘッダーナビ：黒・大きめ／選択中は緑＋下線 */
.nav-link {
	position: relative;
	font-size: 1.125rem; /* 18px */
	font-weight: 700;
	letter-spacing: 0.06em;
	color: #000 !important;
}

.nav-link:hover {
	color: var(--tenpodx-brand-lime) !important;
}

.nav-link.is-current {
	color: var(--tenpodx-brand-lime) !important;
}

.nav-link.is-current::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -0.35rem;
	height: 3px;
	background: var(--tenpodx-brand-lime);
	border-radius: 2px;
}

.text-black {
	color: #000;
}

.tenpodx-hero-copy,
.tenpodx-hero-copy p,
.tenpodx-hero-copy h1 {
	color: #000;
}

/* ダーク背景上の eyebrow は上書きを許可（視認性） */
.section-eyebrow.text-sun,
.section-eyebrow.\!text-sun {
	color: #edcd1f !important;
}

.section-eyebrow.text-white {
	color: #fff !important;
}

.section-eyebrow.text-brand-lime {
	color: var(--tenpodx-brand-lime) !important;
	font-size: 1.125rem; /* 18px */
	letter-spacing: 0.14em;
}

@media (min-width: 768px) {
	.section-eyebrow.text-brand-lime {
		font-size: 1.25rem; /* 20px */
	}
}

.tenpodx-spark {
	display: inline-block;
	width: 0.85em;
	height: 0.85em;
	margin-left: 0.15em;
	vertical-align: text-top;
	background:
		linear-gradient(var(--tenpodx-brand-lime), var(--tenpodx-brand-lime)) center / 2px 70% no-repeat,
		linear-gradient(var(--tenpodx-brand-lime), var(--tenpodx-brand-lime)) center / 70% 2px no-repeat;
	transform: rotate(25deg);
}

.tenpodx-dx-steps {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
}

.tenpodx-dx-step {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.75rem;
	max-width: 11rem;
}

.tenpodx-dx-step-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 6.5rem;
	height: 6.5rem;
	border-radius: 1.25rem;
	background: #fff8e0;
	border: 2px solid rgba(0, 195, 123, 0.2);
}

.tenpodx-dx-step-icon svg {
	width: 4.5rem;
	height: 4.5rem;
}

.tenpodx-dx-step-label {
	margin: 0;
	font-size: 0.9rem;
	font-weight: 800;
	line-height: 1.45;
	letter-spacing: 0.04em;
	color: var(--tenpodx-brand-brown);
}

.tenpodx-dx-arrow {
	display: flex;
	width: 2.5rem;
	transform: rotate(90deg);
}

.tenpodx-dx-arrow svg {
	width: 100%;
	height: auto;
}

.tenpodx-dx-divider {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
}

.tenpodx-dx-divider::before,
.tenpodx-dx-divider::after {
	content: "";
	flex: 1;
	max-width: 5rem;
	border-top: 2px dotted rgba(74, 61, 57, 0.35);
}

@media (min-width: 768px) {
	.tenpodx-dx-steps {
		flex-direction: row;
		justify-content: center;
		align-items: flex-start;
		gap: 0.75rem;
	}

	.tenpodx-dx-step {
		max-width: 12rem;
	}

	.tenpodx-dx-step-icon {
		width: 7.5rem;
		height: 7.5rem;
	}

	.tenpodx-dx-arrow {
		width: 3rem;
		margin-top: 2.5rem;
		transform: none;
	}

	.tenpodx-dx-divider::before,
	.tenpodx-dx-divider::after {
		max-width: 8rem;
	}
}

.border-charcoal {
	border-color: #3b3a3a !important;
}

/* Gutenberg サービス本文 — エディタどおり：段落 + 箇条書き */
.tenpodx-service-body > *:first-child {
	margin-top: 0;
}

.tenpodx-service-body p {
	margin: 0;
	color: rgb(117 117 117);
	font-size: inherit;
	line-height: 1.625;
}

.tenpodx-service-body p + p {
	margin-top: 1rem;
}

.tenpodx-service-body ul {
	display: block;
	margin: 1.25rem 0 0;
	padding: 0 0 0 1.25rem;
	list-style-type: disc !important;
	list-style-position: outside;
	color: #3b3a3a;
}

.tenpodx-service-body ul li {
	display: list-item !important;
	margin: 0;
	padding: 0;
	border: none;
	list-style-type: disc !important;
	font-size: inherit;
	line-height: 1.6;
	color: #3b3a3a;
}

.tenpodx-service-body ul li + li {
	margin-top: 0.4rem;
}

.tenpodx-service-body ol {
	display: block;
	margin: 1.25rem 0 0;
	padding: 0 0 0 1.25rem;
	list-style-type: decimal !important;
	color: #3b3a3a;
}

.tenpodx-service-body ol li {
	display: list-item !important;
	margin: 0;
	padding: 0;
	border: none;
}

.tenpodx-service-body ol li + li {
	margin-top: 0.4rem;
}

.tenpodx-service-body a {
	color: #3b3a3a;
	text-decoration: underline;
}

/* サービス / 事例カード：タイトル2行・本文4行 + … */
.tenpodx-card-title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
	text-overflow: ellipsis;
}

.tenpodx-card-excerpt {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	line-clamp: 4;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* フォールバック用リストも同じ見た目 */
.tenpodx-service-list {
	display: block;
	margin: 1.25rem 0 0;
	padding: 0 0 0 1.25rem;
	list-style-type: disc !important;
}

.tenpodx-service-list li {
	display: list-item !important;
	margin: 0;
	padding: 0;
	list-style-type: disc !important;
	line-height: 1.6;
}

.tenpodx-service-list li + li {
	margin-top: 0.4rem;
}

/* チーム：カードスライダー（上部トーンに合わせた丸み） */
.tenpodx-team-slider {
	position: relative;
}

.tenpodx-team-slider-toolbar {
	display: flex;
	justify-content: flex-end;
	gap: 0.5rem;
	margin-bottom: 1rem;
}

.tenpodx-team-slider-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border: 1px solid rgba(0, 195, 123, 0.35);
	border-radius: 9999px;
	background: #fff;
	color: var(--tenpodx-brand-lime);
	font-size: 1rem;
	line-height: 1;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.tenpodx-team-slider-btn:hover {
	background: var(--tenpodx-brand-lime);
	border-color: var(--tenpodx-brand-lime);
	color: #fff;
}

.tenpodx-team-slider-btn:disabled {
	opacity: 0.35;
	cursor: default;
	pointer-events: none;
}

.tenpodx-team-slider-track {
	display: flex;
	gap: 1.25rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	padding-bottom: 0.5rem;
	scrollbar-width: none;
}

.tenpodx-team-slider-track::-webkit-scrollbar {
	display: none;
}

.tenpodx-team-slide {
	flex: 0 0 82%;
	scroll-snap-align: start;
	max-width: 340px;
}

@media (min-width: 640px) {
	.tenpodx-team-slide {
		flex-basis: 48%;
		max-width: none;
	}
}

@media (min-width: 1024px) {
	.tenpodx-team-slide {
		flex-basis: calc((100% - 2.5rem) / 3);
	}
}

.tenpodx-team-slide-card {
	height: 100%;
	background: #fff;
	padding: 1.25rem;
	border-radius: 2rem;
	box-shadow: 0 10px 28px rgba(74, 61, 57, 0.08);
	overflow: hidden;
}

@media (min-width: 640px) {
	.tenpodx-team-slide-card {
		padding: 1.5rem;
		border-radius: 2.5rem;
	}
}

.tenpodx-team-slide-photo {
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #fff8e0;
	border-radius: 1.5rem;
}

.tenpodx-team-slide-photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tenpodx-team-slide-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: var(--tenpodx-brand-lime);
	color: #fff;
	padding: 1rem;
	text-align: center;
	border-radius: 1.5rem;
}

.tenpodx-team-slide-placeholder span {
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.5;
}

.tenpodx-team-slide-body {
	margin-top: 1.15rem;
}

.tenpodx-team-slide-name {
	margin: 0;
	font-size: 1.125rem;
	font-weight: 700;
	color: #000;
	letter-spacing: 0.04em;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
}

.tenpodx-team-slide-role {
	margin: 0.35rem 0 0;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	color: var(--tenpodx-brand-lime);
}

.tenpodx-team-slide-bio {
	margin: 0.75rem 0 0;
	font-size: 0.875rem;
	line-height: 1.65;
	color: #000;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	line-clamp: 4;
	overflow: hidden;
	min-height: calc(1.65em * 4);
}

.tenpodx-team-slider-dots {
	display: flex;
	justify-content: center;
	gap: 0.4rem;
	margin-top: 1.25rem;
}

.tenpodx-team-slider-dot {
	width: 0.5rem;
	height: 0.5rem;
	padding: 0;
	border: 0;
	border-radius: 9999px;
	background: rgba(0, 195, 123, 0.3);
	cursor: pointer;
}

.tenpodx-team-slider-dot.is-active {
	background: var(--tenpodx-brand-lime);
}

.border-navy\/20 {
	border-color: rgba(59, 58, 58, 0.2) !important;
}

/* ボタン：ブランド黄緑 */
.btn-primary,
.btn-navy {
	background-color: var(--tenpodx-brand-lime);
	color: #fff;
	border-radius: 9999px;
	font-weight: 800;
}

.btn-primary:hover,
.btn-navy:hover {
	background-color: var(--tenpodx-brand-lime-dark);
	color: #fff;
}

.text-brand-lime {
	color: var(--tenpodx-brand-lime);
}

.object-right {
	object-position: right center;
}

/* ロゴ：オリジナルダーク #3b3a3a */
.tenpodx-logo-navy,
.tenpodx-logo-dark {
	filter: brightness(0) saturate(100%) invert(22%) sepia(4%) saturate(350%) hue-rotate(314deg) brightness(94%) contrast(90%);
}

.tenpodx-logo-white {
	filter: brightness(0) invert(1);
}

.tenpodx-logo-sun {
	filter: brightness(0) saturate(100%) invert(86%) sepia(47%) saturate(646%) hue-rotate(359deg) brightness(98%) contrast(92%);
}

/* 内側ページ FV / ヒーロー共通（トップ除外） */
.tenpodx-page-hero {
	display: flex;
	align-items: center;
	box-sizing: border-box;
	padding-top: 8rem;
	padding-bottom: 3rem;
	min-height: 360px;
}

@media (min-width: 768px) {
	.tenpodx-page-hero {
		padding-top: 9rem;
		padding-bottom: 4rem;
		min-height: 540px;
	}
}

.tenpodx-page-hero.tenpodx-fv-hero--fluid {
	display: block !important;
	align-items: stretch;
	overflow: hidden;
	min-height: 0 !important;
	height: auto;
	aspect-ratio: auto !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

@media (max-width: 767px) {
	.tenpodx-page-hero.tenpodx-fv-hero--fluid {
		min-height: 320px !important;
	}
}

@media (min-width: 768px) and (max-width: 1023px) {
	.tenpodx-page-hero.tenpodx-fv-hero--fluid {
		min-height: 300px !important;
	}
}

.tenpodx-fv-hero--fluid .tenpodx-fv-hero-image {
	display: block;
	width: 100%;
	height: auto;
}

@media (max-width: 1023px) {
	.tenpodx-fv-hero--fluid .tenpodx-fv-hero-image {
		position: absolute;
		inset: 0;
		height: 100%;
		object-fit: cover;
		object-position: center;
	}
}

@media (min-width: 1024px) {
	.tenpodx-fv-hero--fluid .tenpodx-fv-hero-image {
		position: relative;
		height: auto;
	}
}

.tenpodx-fv-hero--fluid .tenpodx-fv-hero-content {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	padding-top: 5rem;
	padding-bottom: 2rem;
}

@media (min-width: 768px) {
	.tenpodx-fv-hero--fluid .tenpodx-fv-hero-content {
		padding-top: 6rem;
		padding-bottom: 2.5rem;
	}
}

.tenpodx-service-content.entry-content ul,
.tenpodx-service-content.entry-content ol {
	list-style: none !important;
	padding-left: 0 !important;
	margin-left: 0 !important;
}

.tenpodx-service-content.entry-content ul li,
.tenpodx-service-content.entry-content ol li {
	display: block !important;
	margin-left: 0 !important;
	padding-left: 1.25rem !important;
	position: relative;
}

.tenpodx-service-content.entry-content ul li::before {
	content: "・";
	position: absolute;
	left: 0;
	top: 0.05em;
	font-size: 1.35em;
	font-weight: 900;
	line-height: 1;
}

.tenpodx-service-content.entry-content ul li::marker,
.tenpodx-service-content.entry-content ol li::marker {
	content: none;
}

/* FV 背景画像のモバイル位置 */
@media (max-width: 767px) {
	.tenpodx-fv-hero > img {
		object-position: 70% center;
	}
}

/* Google Map */
.tenpodx-map {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	max-height: 450px;
}

.tenpodx-map iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	display: block;
}

/* Gutenberg / Classic Editor 本文スタイル */
.entry-content {
	color: #3b3a3a;
	line-height: 1.75;
}

.entry-content > *:first-child {
	margin-top: 0 !important;
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
	margin: 2rem 0 0.75rem;
	color: #3b3a3a;
	font-weight: 700 !important;
	letter-spacing: 0.04em;
	line-height: 1.45;
}

.entry-content h1 {
	font-size: 1.75rem !important;
}

.entry-content h2 {
	font-size: 1.35rem !important;
}

.entry-content h3 {
	font-size: 1.125rem !important;
}

.entry-content h4,
.entry-content h5,
.entry-content h6 {
	font-size: 1rem !important;
}

.entry-content p {
	margin: 0 0 1rem;
	color: rgb(117 117 117);
	font-size: inherit;
	line-height: 1.75;
}

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

.entry-content strong,
.entry-content b {
	font-weight: 700;
	color: #3b3a3a;
}

.entry-content hr {
	display: block;
	width: 100%;
	height: 0;
	margin: 2rem 0;
	border: 0;
	border-top: 1px solid rgba(59, 58, 58, 0.15);
}

.entry-content ul {
	display: block;
	margin: 0 0 1.25rem;
	padding: 0 0 0 1.35rem;
	list-style-type: disc !important;
	list-style-position: outside;
	color: #3b3a3a;
}

.entry-content ol {
	display: block;
	margin: 0 0 1.25rem;
	padding: 0 0 0 1.35rem;
	list-style-type: decimal !important;
	list-style-position: outside;
	color: #3b3a3a;
}

.entry-content ul li,
.entry-content ol li {
	display: list-item !important;
	margin: 0.35rem 0;
	padding: 0;
	border: none;
	color: #3b3a3a;
	line-height: 1.7;
}

.entry-content ul ul {
	list-style-type: circle !important;
	margin: 0.35rem 0 0.35rem;
}

.entry-content a {
	color: #3b3a3a !important;
	text-decoration: underline;
}

.entry-content img {
	max-width: 100%;
	height: auto;
	margin: 1rem 0;
}

.entry-content blockquote {
	margin: 1.25rem 0;
	padding: 0.75rem 0 0.75rem 1rem;
	border-left: 3px solid #3b3a3a;
	color: rgb(117 117 117);
}

.entry-content table {
	width: 100%;
	margin: 1.25rem 0;
	border-collapse: collapse;
}

.entry-content th,
.entry-content td {
	border: 1px solid rgba(59, 58, 58, 0.15);
	padding: 0.65rem 0.75rem;
	text-align: left;
}

/* 導入事例：見出し直後の余白をエディタに近づける */
.tenpodx-case-content h3 + p,
.tenpodx-case-content h3 + ul,
.tenpodx-case-content h3 + ol {
	margin-top: 0.35rem;
}

.tenpodx-case-content hr + h3 {
	margin-top: 0;
}

/* アイキャッチと本文の間隔 */
.tenpodx-case-featured {
	margin-bottom: 3rem;
}

@media (min-width: 768px) {
	.tenpodx-case-featured {
		margin-bottom: 4rem;
	}
}

.navigation.pagination {
	display: flex;
	justify-content: center;
	gap: 0.5rem;
	margin-top: 2rem;
}

.navigation.pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	height: 2.5rem;
	padding: 0 0.75rem;
	font-size: 0.875rem;
	font-weight: 500;
	background: rgb(247 247 247);
	color: rgb(59 58 58);
}

.form-field:focus {
	border-color: #3b3a3a;
}

.navigation.pagination .page-numbers.current,
.navigation.pagination .page-numbers:hover {
	background: #3b3a3a;
	color: #fff;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}