/**
* lightning_entry_body_before 用：column / work / person エントリーのスタイル
*/

/* ========================================
column エントリー（個別記事）
======================================== */

.column-entry {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 16px;
}

.column-entry__title {
	margin: 0 0 32px;
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 1.4;
	color: #333;
}

.column-content-blocks {
	width: 100%;
}

.column-content-blocks__item {
	margin-bottom: 100px;
}

.column-content-blocks__item:last-child {
	margin-bottom: 0;
}

.column-content-blocks__inner {
	display: flex;
	align-items: stretch;
	gap: 40px;
	max-width: 1280px;
	margin: 0 auto;
}

.column-content-blocks__item .column-content-blocks__inner {
	flex-direction: row;
}

.column-content-blocks__item--reversed .column-content-blocks__inner {
	flex-direction: row-reverse;
}

.column-content-blocks__panel {
	flex: 1;
	min-width: 0;
}

.column-content-blocks__panel--image {
	position: relative;
	min-height: 280px;
}

.column-content-blocks__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 12px;
}

.column-content-blocks__image--placeholder {
	min-height: 280px;
	background: linear-gradient(135deg, #e0e0e0 0%, #bdbdbd 100%);
}

.column-content-blocks__panel--text {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.column-content-blocks__heading {
	margin: 0 0 12px;
	font-size: 1.15rem;
	font-weight: 600;
	line-height: 1.6;
	color: #333;
}

.column-content-blocks__body {
	font-size: 16px;
	line-height: 1.8;
	color: #333;
}

.column-content-blocks__content {
	margin: 0;
}

.column-content-blocks__map-wrap {
	position: relative;
	width: 100%;
	margin-top: 16px;
	padding-bottom: 56.25%;
	overflow: hidden;
	border-radius: 12px;
}

.column-content-blocks__map-wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* ========================================
work エントリー
======================================== */

.work-entry {
	width: 100%;
}

.work-entry__header {
	margin-bottom: 64px;
}

.work-entry__header-inner {
	display: flex;
	align-items: stretch;
	gap: 40px;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 16px;
}

.work-entry__header-text {
	flex: 1;
	min-width: 0;
}

.work-entry__title {
	margin: 0 0 8px;
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 1.4;
	color: #333;
}

.work-entry__role {
	margin: 0 0 16px;
	font-size: 1rem;
	font-weight: 600;
	color: #CA801F;
	line-height: 1.5;
}

.work-entry__header-map {
	flex: 1;
	min-width: 0;
	min-height: 280px;
}

.work-entry__map-wrap {
	position: relative;
	width: 100%;
	height: 100%;
	padding-bottom: 56.25%;
	overflow: hidden;
	border-radius: 12px;
}

.work-entry__map-wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.work-entry__map-placeholder {
	width: 100%;
	min-height: 280px;
	aspect-ratio: 16 / 9;
	border-radius: 12px;
	background: linear-gradient(135deg, #e0e0e0 0%, #bdbdbd 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #757575;
	font-size: 14px;
}

.work-overview {
	margin-bottom: 48px;
}

.work-overview__heading {
	margin: 0 0 16px;
	font-size: 1.25rem;
	font-weight: 700;
	color: #333;
}

.work-info-table-wrap {
	max-width: 1280px;
	margin: 0 auto;
	overflow-x: auto;
	border: 1px solid #e0e0e0;
    border-radius: 8px;
}

.work-info-table {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	overflow: hidden;
}

.work-info-table__label {
	width: 30%;
	min-width: 120px;
	padding: 16px 20px;
	background-color: #f5f5f5;
	font-weight: 600;
	font-size: 14px;
	color: #333;
	vertical-align: top;
	border-bottom: 1px solid #e0e0e0;
}

.work-info-table tr:last-child .work-info-table__label {
	border-bottom: none;
}

.work-info-table__content {
	padding: 16px 20px;
	font-size: 15px;
	line-height: 1.7;
	color: #333;
	vertical-align: top;
	border-bottom: 1px solid #e0e0e0;
}

.work-info-table tr:last-child .work-info-table__content {
	border-bottom: none;
}

.work-content-blocks {
	width: 100%;
	margin-top: 0;
}

.work-content-blocks__item {
	margin-bottom: 100px;
}

.work-content-blocks__item:last-child {
	margin-bottom: 0;
}

.work-content-blocks__inner {
	display: flex;
	align-items: stretch;
	gap: 40px;
	max-width: 1280px;
	margin: 0 auto;
}

.work-content-blocks__item .work-content-blocks__inner {
	flex-direction: row;
}

.work-content-blocks__item--reversed .work-content-blocks__inner {
	flex-direction: row-reverse;
}

.work-content-blocks__panel {
	flex: 1;
	min-width: 0;
}

.work-content-blocks__panel--image {
	position: relative;
	min-height: 280px;
}

.work-content-blocks__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 12px;
}

.work-content-blocks__image--placeholder {
	min-height: 280px;
	background: linear-gradient(135deg, #e0e0e0 0%, #bdbdbd 100%);
}

.work-content-blocks__panel--text {
	display: flex;
	align-items: center;
}

.work-content-blocks__body {
	font-size: 16px;
	line-height: 1.8;
	color: #333;
}

.work-content-blocks__title {
	margin: 0 0 12px;
	font-weight: 600;
	font-size: 1.1em;
	line-height: 1.6;
}

.work-content-blocks__content {
	margin: 0;
}

/* ========================================
person エントリー
======================================== */

.person-entry {
	width: 100%;
}

.person-entry__header {
	margin-bottom: 64px;
	background-color: #E5F2F6;
	border-radius: 15px;
	padding: 40px;
}

.person-entry__header-inner {
	display: flex;
	align-items: stretch;
	gap: 40px;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 16px;
}

.person-entry__header-text {
	width: 45%;
	min-width: 0;
}

.person-entry__name {
	margin: 0 0 8px;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.4;
	color: #333;
	border: none;
}

.person-entry__role {
	margin: 0 0 16px;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.5;
}

.person-entry__overview {
	font-size: 16px;
	line-height: 1.8;
	color: #555;
}

.person-entry__header-media {
	width: 55%;
	min-width: 0;
	min-height: 360px;
	height: 360px;
}

.person-entry__video-wrap {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: 12px;
}

.person-entry__video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.person-entry__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 12px;
}

.person-entry__media-placeholder {
	width: 100%;
	min-height: 360px;
	aspect-ratio: 16 / 9;
	border-radius: 12px;
	background: linear-gradient(135deg, #e0e0e0 0%, #bdbdbd 100%);
}

.person-content-blocks {
	width: 100%;
	margin-top: 0;
}

.person-content-blocks__item {
	margin-bottom: 100px;
}

.person-content-blocks__item:last-child {
	margin-bottom: 0;
}

.person-content-blocks__inner {
	display: flex;
	align-items: stretch;
	gap: 40px;
	max-width: 1280px;
	margin: 0 auto;
}

.person-content-blocks__item .person-content-blocks__inner {
	flex-direction: row;
}

.person-content-blocks__item--reversed .person-content-blocks__inner {
	flex-direction: row-reverse;
}

.person-content-blocks__panel {
	flex: 1;
	min-width: 0;
}

.person-content-blocks__panel--image {
	position: relative;
	min-height: 280px;
}

.person-content-blocks__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 12px;
}

.person-content-blocks__image--placeholder {
	min-height: 280px;
	background: linear-gradient(135deg, #e0e0e0 0%, #bdbdbd 100%);
}

.person-content-blocks__panel--text {
	display: flex;
	align-items: center;
}

.person-content-blocks__body {
	font-size: 16px;
	line-height: 1.8;
	color: #333;
}

.person-content-blocks__title {
	margin: 0 0 12px;
	font-weight: 600;
	font-size: 32px;
	line-height: 1.6;
}

.person-content-blocks__content {
	margin: 0;
}

/* ========================================
タブレット・モバイル: 896px以下（block.php と統一）
======================================== */

@media (max-width: 896px) {

	.person-entry__header {
		padding: 40px 14px;
	}

	.person-entry__header-media {
		width: 100%;
		max-width: 100%;
	}

	.person-entry__header-text{
		width: 100%;
		max-width: 100%;
	}

	.column-entry__title {
		font-size: 1.5rem;
		margin-bottom: 24px;
	}
	
	.person-content-blocks__title {
		font-size: 24px;
	}

	.column-content-blocks__item {
		margin-bottom: 32px;
	}

	.column-content-blocks__inner {
		flex-direction: column !important;
		gap: 24px;
		padding: 0 16px;
	}

	.column-content-blocks__item--reversed .column-content-blocks__inner {
		flex-direction: column !important;
	}

	.column-content-blocks__panel--image {
		min-height: 200px;
	}

	.column-content-blocks__image--placeholder {
		min-height: 200px;
	}

	.column-content-blocks__panel--text {
		align-items: flex-start;
	}

	.column-content-blocks__heading {
		font-size: 1.05rem;
	}

	.column-content-blocks__body {
		font-size: 15px;
	}

	.work-entry__header {
		margin-bottom: 32px;
	}

	.work-entry__header-inner {
		flex-direction: column;
		gap: 24px;
	}

	.work-entry__header-map {
		order: -1;
		min-height: 200px;
	}

	.work-entry__map-wrap {
		padding-bottom: 75%;
	}

	.work-entry__map-placeholder {
		min-height: 200px;
	}

	.work-entry__title {
		font-size: 1.5rem;
	}

	.work-entry__role {
		font-size: 0.95rem;
	}

	.work-info-table__label {
		width: 35%;
		min-width: 100px;
		padding: 12px 16px;
		font-size: 13px;
	}

	.work-info-table__content {
		padding: 12px 16px;
		font-size: 14px;
	}

	.work-content-blocks__item {
		margin-bottom: 32px;
	}

	.work-content-blocks__inner {
		flex-direction: column !important;
		gap: 24px;
		padding: 0 16px;
	}

	.work-content-blocks__item--reversed .work-content-blocks__inner {
		flex-direction: column !important;
	}

	.work-content-blocks__panel--image {
		min-height: 200px;
	}

	.work-content-blocks__image--placeholder {
		min-height: 200px;
	}

	.work-content-blocks__panel--text {
		align-items: flex-start;
	}

	.work-content-blocks__body {
		font-size: 15px;
	}

	.person-entry__header {
		margin-bottom: 32px;
	}

	.person-entry__header-inner {
		flex-direction: column;
		gap: 24px;
	}

	.person-entry__header-media {
		order: -1;
		min-height: 200px;
	}

	.person-entry__video-wrap {
		min-height: 200px;
		aspect-ratio: 16 / 9;
	}

	.person-entry__media-placeholder {
		min-height: 200px;
	}

	.person-entry__name {
		font-size: 1.5rem;
	}

	.person-entry__role {
		font-size: 0.95rem;
	}

	.person-entry__overview {
		font-size: 15px;
	}

	.person-content-blocks__item {
		margin-bottom: 42px;
	}

	.person-content-blocks__inner {
		flex-direction: column !important;
		gap: 24px;
		padding: 0 16px;
	}

	.person-content-blocks__item--reversed .person-content-blocks__inner {
		flex-direction: column !important;
	}

	.person-content-blocks__panel--image {
		min-height: 200px;
	}

	.person-content-blocks__image--placeholder {
		min-height: 200px;
	}

	.person-content-blocks__panel--text {
		align-items: flex-start;
	}

	.person-content-blocks__body {
		font-size: 15px;
	}
}

/* ========================================
スマホ: 768px以下
======================================== */

@media (max-width: 768px) {
	.column-entry__title {
		font-size: 1.5rem;
		margin-bottom: 24px;
	}

	.column-content-blocks__item {
		margin-bottom: 32px;
	}

	.column-content-blocks__inner {
		flex-direction: column !important;
		gap: 24px;
		padding: 0 16px;
	}

	.column-content-blocks__item--reversed .column-content-blocks__inner {
		flex-direction: column !important;
	}

	.column-content-blocks__panel--image {
		min-height: 200px;
	}

	.column-content-blocks__image--placeholder {
		min-height: 200px;
	}

	.column-content-blocks__panel--text {
		align-items: flex-start;
	}

	.column-content-blocks__heading {
		font-size: 1.05rem;
	}

	.column-content-blocks__body {
		font-size: 15px;
	}

	.work-entry__header {
		margin-bottom: 32px;
	}

	.work-entry__header-inner {
		flex-direction: column;
		gap: 24px;
	}

	.work-entry__header-map {
		order: -1;
		min-height: 200px;
	}

	.work-entry__map-wrap {
		padding-bottom: 75%;
	}

	.work-entry__map-placeholder {
		min-height: 200px;
	}

	.work-entry__title {
		font-size: 1.5rem;
	}

	.work-entry__role {
		font-size: 0.95rem;
	}

	.work-info-table__label {
		width: 35%;
		min-width: 100px;
		padding: 12px 16px;
		font-size: 13px;
	}

	.work-info-table__content {
		padding: 12px 16px;
		font-size: 14px;
	}

	.work-content-blocks__item {
		margin-bottom: 32px;
	}

	.work-content-blocks__inner {
		flex-direction: column !important;
		gap: 24px;
		padding: 0 16px;
	}

	.work-content-blocks__item--reversed .work-content-blocks__inner {
		flex-direction: column !important;
	}

	.work-content-blocks__panel--image {
		min-height: 200px;
	}

	.work-content-blocks__image--placeholder {
		min-height: 200px;
	}

	.work-content-blocks__panel--text {
		align-items: flex-start;
	}

	.work-content-blocks__body {
		font-size: 15px;
	}

	.person-entry__header {
		margin-bottom: 32px;
	}

	.person-entry__header-inner {
		flex-direction: column;
		gap: 24px;
	}

	.person-entry__header-media {
		order: -1;
		min-height: 200px;
	}

	.person-entry__video-wrap {
		min-height: 200px;
		aspect-ratio: 16 / 9;
	}

	.person-entry__media-placeholder {
		min-height: 200px;
	}

	.person-entry__name {
		font-size: 1.5rem;
	}

	.person-entry__role {
		font-size: 0.95rem;
	}

	.person-entry__overview {
		font-size: 15px;
	}

	.person-content-blocks__item {
		margin-bottom: 32px;
	}

	.person-content-blocks__inner {
		flex-direction: column !important;
		gap: 24px;
		padding: 0 16px;
	}

	.person-content-blocks__item--reversed .person-content-blocks__inner {
		flex-direction: column !important;
	}

	.person-content-blocks__panel--image {
		min-height: 200px;
	}

	.person-content-blocks__image--placeholder {
		min-height: 200px;
	}

	.person-content-blocks__panel--text {
		align-items: flex-start;
	}

	.person-content-blocks__body {
		font-size: 15px;
	}
}
