/* archive-event, single-event */
body.post-type-archive-event {
	background-color: var(--s-color-be9e4639);
}

/* ==========================================================================
   archive-event：トップの導線ブロック（.event-blocks / .event-block）
   - 541px以上：横並び（1024px以下と同じトークン：max-width 720px / 各 280px）
   - 540px以下：縦並び
   既存の見出し/アイコン配置は維持し、レイアウトのみを最終上書き
   ========================================================================== */

body.post-type-archive-event .event-top-section .event-blocks {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	gap: 24px;
	width: 100%;
	max-width: 720px;
	margin: 80px auto 0;
	padding: 0;
	box-sizing: border-box;
}

body.post-type-archive-event .event-top-section .event-block {
	width: 250px;
	flex: 0 0 280px;
	min-width: 250px;
	max-width: 250px;
	margin: 0 0 35px 0;
	justify-content: center;
	align-items: center;
	padding: 0 20px;
}

@media (max-width: 540px) {
	body.post-type-archive-event .event-top-section .event-blocks {
		flex-direction: column;
		gap: 16px;
		max-width: 100%;
	}

	body.post-type-archive-event .event-top-section .event-block {
		margin-bottom: 0;
	}
}

/* ==========================================================================
   archive-event：ヘッダーの押し下げを排除（PCのみ）
   - main はビューポート上端から開始（margin/padding/transform等のオフセットを打ち消し）
   - 余白は .event-top-section 側で制御
   - 1024px以下は既存挙動を維持
   ========================================================================== */

@media (min-width: 1025px) {
	body.post-type-archive-event main.archive-event {
		margin-top: 0;
		padding-top: 0;
		top: auto;
		transform: none;
		translate: none;
	}

	body.post-type-archive-event .event-top-section {
		padding-top: 200px;
		padding-bottom: 100px;
		height: auto;
	}

	/* archive-event：イベント情報カードをPCで2カラム化（passion-posts-grid と同じ考え方） */
	body.post-type-archive-event .event-info-section .event-info-content {
		display: grid;
		/* 固定2列ではなく、カードが成立する幅に応じて 2→1 に自然に切り替え */
		grid-template-columns: repeat(auto-fit, minmax(min(586px, 100%), 1fr));
		gap: clamp(20px, 3vw, 40px);
		align-items: start;
		justify-content: center;
	}

	body.post-type-archive-event .event-info-section .event-info-card {
		width: 100%;
		max-width: none;
		min-width: 0;
		margin: 0 !important; /* inline の margin-bottom 対策 */
	}

	body.post-type-archive-event .event-info-section .event-info-card:nth-child(2n) {
		margin-left: 0 !important;
	}

	body.post-type-archive-event .event-info-section .event-info-image {
		width: 100%;
		max-width: 100%;
	}

	body.post-type-archive-event .event-info-section .event-info-post-content {
		width: 100%;
		max-width: 100%;
		height: auto;
		max-height: none;
	}
}

/* ==========================================================================
   archive-event：イベント一覧カードの固定幅依存を解消（PC/タブレット/スマホ全体）
   - 既存Studioの印象（角丸/余白/バッジ/画像の見え方）は維持しつつ、幅は親に追従
   ========================================================================== */

body.post-type-archive-event .event-info-section .event-info-content {
	/* 既存flexを上書きして grid + gap 管理に寄せる */
	display: grid;
	/*
	 * カード画像は 16:10。読みやすい最小幅の目安 586px。
	 * 横幅に余裕があれば2カラム、厳しければ1カラムへ自然に落とす（横スクロールは出さない）。
	 */
	grid-template-columns: repeat(auto-fit, minmax(min(586px, 100%), 1fr));
	gap: clamp(20px, 3vw, 40px);
	align-items: start;
	justify-content: center;
	width: 100%;
}

body.post-type-archive-event .event-info-section .event-info-card {
	width: 100%;
	/* 1カラム時に中途半端な幅で止まらないよう、上限は持たせない */
	max-width: none;
	min-width: 0;
	box-sizing: border-box;
	/* インラインで margin-bottom が入る前提のため gap に寄せる */
	margin: 0 !important;

	border-bottom: 1px solid #333333ff;
}

body.post-type-archive-event .event-info-section .event-info-card:nth-child(2n) {
	margin-left: 0 !important;
}

body.post-type-archive-event .event-info-section .event-info-image-link {
	width: 100%;
	max-width: 100%;
}

body.post-type-archive-event .event-info-section .event-info-image {
	width: 100%;
	max-width: 100%;
	height: auto;
	aspect-ratio: 16 / 10;
}

body.post-type-archive-event .event-info-section .event-info-post-content {
	width: 100%;
	max-width: 100%;
	height: auto;
	max-height: none;
	box-sizing: border-box;
}

body.post-type-archive-event .event-info-section .event-info-badges-wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

body.post-type-archive-event .event-info-section .event-info-title-text {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0;
	box-sizing: border-box;
}

body.post-type-archive-event .event-info-section .event-info-title-text .event-info-title-link {
	max-width: 100%;
	overflow-wrap: anywhere;
	word-break: break-word;
}


.event-top-section {
	align-content: center;
	align-items: center;
	background: #fcefdfff;
	flex: none;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: center;
	padding: 100px 0px;
	width: 100%;
	max-width: 100%;
	display: flex;
	height: 465px;
	box-sizing: border-box;
}

.event-header {
	display: flex;
	align-content: center;
	align-items: center;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: center;
	margin: 0px 0px 0px 0px;
	padding: 0px;
	max-width: 100%;
	width: 196px;
	height: 111px;
	box-sizing: border-box;
}

.event-main-title {
	color: #544631ff;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 56px;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1.4;
	text-align: left;
	justify-content: flex-start;
	margin: 0;
	display: flex;
	width: auto;
	height: auto;
	max-width: 196px;
	max-height: 78px;
	box-sizing: border-box;
	overflow: visible;
	align-items: center;
}

.event-subtitle {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 24px;
	font-weight: 500;
	color: #333;
	margin: 0;
	width: auto;
	height: 33px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.event-blocks {
	align-content: center;
	align-items: center;
	flex-direction: row;
	flex-wrap: nowrap;
	gap: 24px;
	justify-content: center;
	margin: 80px auto 0 auto;
	padding: 0px;
	display: flex;
	width: 100%;
	max-width: 720px;
	height: auto;
	box-sizing: border-box;
}

.event-block {
	display: flex;
	align-content: center;
	align-items: center;
	background: #ffffffff;
	border-radius: 8px;
	box-shadow: 0px 0px 10px rgba(0,0,0,0.2);
	flex-direction: row;
	flex-wrap: nowrap;
	gap: 0;
	justify-content: center;
	margin: 0;
	margin-bottom: 35px;
	padding: 0px 20px;
	text-decoration: none;
	color: #333;
	box-sizing: border-box;
	width: 280px;
	height: 90px;
	max-width: 280px;
	min-width: 280px;
	max-height: 90px;
}

.event-block-title {
	color: #333333;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 20px;
	font-weight: 500;
	height: auto;
	line-height: 1.4;
	text-align: center;
	width: auto;
	max-width: 100%;
	justify-content: center;
	display: flex;
	margin: 0 15px 0 0;
	padding: 0;
	box-sizing: border-box;
}

.event-block-icon {
	align-content: center;
	align-items: center;
	background: #05aa7dff;
	border-radius: 50%;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	padding: 0px;
	display: flex;
	width: 24px;
	height: 24px;
	flex-shrink: 0;
	box-sizing: border-box;
}

.event-block-icon .material-icons {
	color: #fff;
	font-size: 20px;
	line-height: 1;
}

.event-info-section {
	align-content: center;
	align-items: center;
	background: color(display-p3 0.9961 0.9686 0.9059);
	flex: none;
	flex-direction: column;
	flex-wrap: nowrap;
	height: auto;
	justify-content: flex-start;
	margin: 0px 0px 0px 0px;
	padding: 64px 60px 96px 60px;
	width: 100%;
	max-width: 100%;
	display: flex;
	box-sizing: border-box;
	scroll-margin-top: 50px;
}

.event-info-wrapper {
	width: 1470px;
	height: auto;
	min-height: auto;
	max-width: 100%;
	margin: 0 auto;
	box-sizing: border-box;
}

/* ==========================================================================
   archive-event：フィルターUI
   - ベージュ/ブラウン系（サイトトーン）
   ========================================================================== */
body.post-type-archive-event .event-filter {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 8px 10px;
	row-gap: 10px;
	width: 100%;
	max-width: 100%;
	margin: 24px 0 20px;
	padding: 0 0 9px;
	box-sizing: border-box;
	position: relative;
}

/* 下線：ベースはブラウンのヘアライン、左に見出しラインと同系のイエローアクセント */
body.post-type-archive-event .event-filter::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 1px;
	width: min(56px, 18%);
	height: 3px;
	border-radius: 2px;
	background: linear-gradient(90deg, #fad74a 0%, rgba(250, 215, 74, 0.45) 100%);
	pointer-events: none;
}

body.post-type-archive-event .event-filter::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: linear-gradient(
		90deg,
		rgba(84, 70, 49, 0.08) 0%,
		rgba(84, 70, 49, 0.2) 18%,
		rgba(84, 70, 49, 0.22) 50%,
		rgba(84, 70, 49, 0.2) 82%,
		rgba(84, 70, 49, 0.08) 100%
	);
	pointer-events: none;
}

body.post-type-archive-event .event-filter__categories {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 8px 10px;
	flex: 0 1 auto;
	min-width: 0;
}

body.post-type-archive-event .event-filter__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 8px 10px;
	margin-left: auto;
	flex: 0 1 auto;
	min-width: 0;
}

body.post-type-archive-event .event-filter__button {
	appearance: none;
	border: 1px solid rgba(84, 70, 49, 0.35);
	background: rgba(255, 255, 255, 0.6);
	color: #544631;
	border-radius: 999px;
	padding: 16px 18px;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

body.post-type-archive-event .event-filter__button.is-active {
	background: rgba(255, 196, 51, 0.25);
	border-color: rgba(84, 70, 49, 0.55);
}

body.post-type-archive-event .event-filter__button.is-active[data-filter-category="大人向け"] {
	background: #caeefb;
}

body.post-type-archive-event .event-filter__button.is-active[data-filter-category="親子向け"] {
	background: #d9f2d0;
}

body.post-type-archive-event .event-filter__button.is-active[data-filter-category="子ども向け"] {
	background: #ffefff;
}

body.post-type-archive-event .event-filter__select {
	appearance: none;
	border: 1px solid rgba(84, 70, 49, 0.35);
	background: rgba(255, 255, 255, 0.75);
	color: #544631;
	border-radius: 10px;
	padding: 16px 18px;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 20px;
	line-height: 1.2;
	min-width: 110px;
}

body.post-type-archive-event .event-filter__select--sort {
	min-width: 130px;
}

/* フィルター：1024px以下は中央寄せ＋コンパクト（改行時もバランスよく） */
@media (max-width: 1024px) {
	body.post-type-archive-event .event-filter {
		justify-content: center;
		column-gap: 8px;
	}

	body.post-type-archive-event .event-filter::before {
		left: 50%;
		transform: translateX(-50%);
		width: 48px;
	}

	body.post-type-archive-event .event-filter__categories {
		flex: 1 1 100%;
		justify-content: center;
	}

	body.post-type-archive-event .event-filter__meta {
		flex: 1 1 100%;
		margin-left: 0;
		justify-content: center;
	}

	body.post-type-archive-event .event-filter__select--sort {
		min-width: 118px;
	}
}

@media (max-width: 480px) {
	body.post-type-archive-event .event-filter {
		row-gap: 8px;
	}

	body.post-type-archive-event .event-filter__categories {
		column-gap: 6px;
		row-gap: 6px;
	}

	body.post-type-archive-event .event-filter__meta {
		column-gap: 6px;
		row-gap: 6px;
	}

	body.post-type-archive-event .event-filter__button {
		padding:13px 16px;
		font-size: 14px;
	}

	body.post-type-archive-event .event-filter__select {
		padding: 13px 16px;
		font-size: 14px;
		min-width: 72px;
	}

	body.post-type-archive-event .event-filter__select--sort {
		min-width: 108px;
	}
}

body.post-type-archive-event .event-empty {
	margin: 10px 0 0;
	padding: 14px 12px;
	border: 1px dashed rgba(84, 70, 49, 0.35);
	border-radius: 12px;
	color: #544631;
	background: rgba(255, 255, 255, 0.5);
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 14px;
}

.event-info-header {
	display: flex;
	align-items: center;
	margin-bottom: 25px;
    margin-top: 25px;
}

.event-info-line {
	background: #fad74a;
	height: 56px;
	width: 8px;
	flex-shrink: 0;
}

.event-info-title {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 40px;
	font-weight: 600;
	color: #333333;
	margin: 0px 0px 0px 16px;
	display: flex;
	align-items: center;
}

.event-info-content {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 0;
	width: 100%;
}

.event-info-card {
	display: flex;
	align-content: flex-start;
	align-items: flex-start;
	background: transparent;
	border: 0px solid #000;
	flex: none;
	flex-direction: column;
	flex-wrap: nowrap;
	height: auto;
	justify-content: flex-start;
	margin: 0px 0px 20px 0px;
	width: 586px;
	max-width: 586px;
	box-sizing: border-box;
}

.event-info-card:nth-child(2n) {
	margin-left: 40px;
}

.event-info-image-link {
	display: block;
	flex-shrink: 0;
	width: 100%;
}

.event-info-image {
	width: 586px;
	max-width: 100%;
	aspect-ratio: 16 / 10;
	height: auto;
	box-sizing: border-box;
	overflow: hidden;
	border-radius: 48px;
	background-color: #f0f0f0;
	position: relative;
}

.event-info-image__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

.event-info-post-content {
	display: flex;
	align-content: flex-start;
	align-items: flex-start;
	margin: 20px 0px 0px 0px;
	padding: 10px 15px;
	width: 586px;
	height: 154px;
	max-width: 586px;
	max-height: 154px;
	box-sizing: border-box;
	flex-direction: column;
}

.event-info-title-link {
	display: flex;
	text-decoration: none;
	color: #333;
	flex: none;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 18px;
	font-weight: 700;
	height: auto;
	letter-spacing: 0.05em;
	line-height: 1.4;
	margin: 10px 0px 10px 0px;
	text-align: left;
	width: auto;
	max-width: 100%;
	justify-content: flex-start;
	transition: text-decoration 0.3s ease;
}

.event-info-title-link:hover {
	text-decoration: underline;
}

.event-info-badges-wrapper {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: flex-start;
	width: auto;
	margin-bottom: 0px;
	gap: 16px;
}

.event-info-badges-status-wrapper {
	display: flex;
	flex-direction: column;
	width: auto;
}

.event-info-badges-status {
	align-content: center;
	align-items: center;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	padding: 0px;
	display: flex;
	width: auto;
	height: auto;
	box-sizing: border-box;
}

.event-info-badges-category-wrapper {
	display: flex;
	flex-direction: column;
	width: auto;
}

.event-info-badges-category {
	align-content: center;
	align-items: center;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	padding: 0px;
	display: flex;
	width: auto;
	height: auto;
	box-sizing: border-box;
	gap: 16px;
}

.event-info-badge {
	padding: 10px 16px;
	height: 36px;
	border-radius: 4px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	flex-shrink: 0;
}

.event-info-badge p {
	margin: 0;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.4;
	white-space: nowrap;
}

/* 終了しましたバッジ専用スタイル */
.event-info-badge-status {
	align-content: center;
	align-items: center;
	background: rgb(51, 51, 51);
	border-radius: 8px;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	margin: 0px;
	padding: 10px 16px 10px;
	max-width: 100%;
	display: flex;
	box-sizing: border-box;
}

.event-info-badge-status p {
	background: rgba(0, 0, 0, 0);
	border-radius: 2px;
	color: rgb(255, 255, 255);
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 16px;
	font-weight: 600;
	height: auto;
	margin: 0px;
	padding: 0px;
	text-align: center;
	width: auto;
	max-width: 100%;
	justify-content: center;
	display: flex;
	align-items: center;
	white-space: nowrap;
}

/* 参加者募集中バッジ専用スタイル */
.event-info-badge-recruiting {
	align-content: center;
	align-items: center;
	background: rgb(255, 153, 135);
	border-radius: 8px;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	margin: 0px;
	padding: 10px 16px 10px;
	max-width: 100%;
	display: flex;
	box-sizing: border-box;
	width: 128px;
	height: 36px;
	max-width: 128px;
	max-height: 36px;
}

.event-info-badge-recruiting p {
	background: rgba(0, 0, 0, 0);
	border-radius: 2px;
	color: rgb(17, 17, 17);
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 16px;
	font-weight: 600;
	height: auto;
	margin: 0px;
	padding: 0px;
	text-align: center;
	width: auto;
	max-width: 100%;
	justify-content: center;
	display: flex;
	align-items: center;
	white-space: nowrap;
	width: 96px;
	height: 16px;
	max-width: 96px;
	max-height: 16px;
}

/* --------------------------------------------------------------------------
   イベントステータス（メタ event_status）— archive / single 共通・クラス指定
   -------------------------------------------------------------------------- */
.event-info-badge.event-status-open,
.event-info-badge.event-status-waiting-open,
.event-info-badge.event-status-waiting,
.event-info-badge.event-status-rain-cancel,
.event-info-badge.event-status-closed,
.event-info-badge.event-status-online-ok,
.event-info-badge.event-status-today-ok,
.event-info-badge.event-status-ended {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-direction: row;
	flex-wrap: nowrap;
	box-sizing: border-box;
	width: auto;
	min-width: 0;
	max-width: 100%;
	height: auto;
	min-height: 36px;
	padding: 10px 16px;
	border-radius: 8px;
	margin: 0;
}

.event-info-badge.event-status-open p,
.event-info-badge.event-status-waiting-open p,
.event-info-badge.event-status-waiting p,
.event-info-badge.event-status-rain-cancel p,
.event-info-badge.event-status-closed p,
.event-info-badge.event-status-online-ok p,
.event-info-badge.event-status-today-ok p,
.event-info-badge.event-status-ended p {
	margin: 0;
	padding: 0;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.35;
	text-align: center;
	white-space: normal;
	word-break: keep-all;
}

.event-info-badge.event-status-open {
	background-color: #ff9987;
}
.event-info-badge.event-status-open p {
	color: #111111;
}

.event-info-badge.event-status-waiting-open {
	background-color: #feca00;
}
.event-info-badge.event-status-waiting-open p {
	color: #333333;
}

.event-info-badge.event-status-waiting {
	background-color: #f2f2a9;
}
.event-info-badge.event-status-waiting p {
	color: #333333;
}

.event-info-badge.event-status-rain-cancel {
	background-color: #6de5f2;
}
.event-info-badge.event-status-rain-cancel p {
	color: #333333;
}

.event-info-badge.event-status-closed {
	background-color: #051a8b;
}
.event-info-badge.event-status-closed p {
	color: #ffffff;
}

.event-info-badge.event-status-online-ok {
	background-color: #f3e167;
}
.event-info-badge.event-status-online-ok p {
	color: #333333;
}

.event-info-badge.event-status-today-ok {
	background-color: #bde7ee;
}
.event-info-badge.event-status-today-ok p {
	color: #111111;
}

.event-info-badge.event-status-ended {
	background-color: #333333;
}
.event-info-badge.event-status-ended p {
	color: #ffffff;
}

.event-info-badge.event-status-ended.event-status-unknown {
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2);
}

/* 子ども向けバッジ専用スタイル */
.event-info-badge-child {
	align-content: center;
	align-items: center;
	background: #ffefff;
	border-radius: 48px;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	margin: 0px;
	padding: 10px 16px 10px;
	max-width: 100%;
	display: flex;
	box-sizing: border-box;
	width: 112px;
	height: 36px;
	max-width: 112px;
	max-height: 36px;
}

.event-info-badge-child p {
	background: rgba(0, 0, 0, 0);
	border-radius: 2px;
	color: rgb(51, 51, 51);
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 16px;
	font-weight: 600;
	height: auto;
	margin: 0px;
	padding: 0px;
	text-align: center;
	width: auto;
	max-width: 100%;
	justify-content: center;
	display: flex;
	align-items: center;
	white-space: nowrap;
	width: 80px;
	height: 16px;
	max-width: 80px;
	max-height: 16px;
}

/* 親子向けバッジ専用スタイル */
.event-info-badge-family {
	align-content: center;
	align-items: center;
	background: #d9f2d0;
	border-radius: 48px;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	margin: 0px;
	padding: 10px 16px 10px;
	max-width: 100%;
	display: flex;
	box-sizing: border-box;
	width: 96px;
	height: 36px;
	max-width: 96px;
	max-height: 36px;
}

.event-info-badge-family p {
	background: rgba(0, 0, 0, 0);
	border-radius: 2px;
	color: rgb(51, 51, 51);
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 16px;
	font-weight: 600;
	height: auto;
	margin: 0px;
	padding: 0px;
	text-align: center;
	width: auto;
	max-width: 100%;
	justify-content: center;
	display: flex;
	align-items: center;
	white-space: nowrap;
	width: 64px;
	height: 16px;
	max-width: 64px;
	max-height: 16px;
}

/* 大人向けバッジ専用スタイル（archive は PHP の bg_hex で上書き可） */
.event-info-badge-adult {
	align-content: center;
	align-items: center;
	background: #caeefb;
	border-radius: 48px;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	margin: 0px;
	padding: 10px 16px 10px;
	max-width: 100%;
	display: flex;
	box-sizing: border-box;
	width: 96px;
	height: 36px;
	max-width: 96px;
	max-height: 36px;
}

.event-info-badge-adult p {
	background: rgba(0, 0, 0, 0);
	border-radius: 2px;
	color: rgb(17, 17, 17);
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 16px;
	font-weight: 600;
	height: auto;
	margin: 0px;
	padding: 0px;
	text-align: center;
	width: auto;
	max-width: 100%;
	justify-content: center;
	display: flex;
	align-items: center;
	white-space: nowrap;
	width: 64px;
	height: 16px;
	max-width: 64px;
	max-height: 16px;
}

.event-info-title-text {
	margin: 0;
	padding: 0 0 26px 0;
	width: 556px;
	max-width: 556px;
	box-sizing: border-box;
	position: relative;
	min-height: 60px;
}

.event-info-title-text .event-info-title-link {
	display: block;
	text-decoration: none;
	color: #333;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 28px;
	font-weight: 600;
	line-height: 1.2;
	margin: 16px 0px 0px 0;
	text-align: left;
	max-width: 100%;
	justify-content: flex-start;
	word-wrap: break-word;
	overflow-wrap: break-word;
}

.event-info-title-text .event-info-title-link:hover {
	text-decoration: underline;
}

.event-load-more-wrapper {
	display: flex;
	align-content: center;
	align-items: center;
	flex: none;
	flex-direction: column;
	flex-wrap: nowrap;
	height: auto;
	justify-content: center;
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	padding: 20px 0;
	box-sizing: border-box;
}

/* 表示件数が尽きたとき（JS が付与。メディアクエリの display:flex !important より優先） */
.event-load-more-wrapper.event-load-more-wrapper--hidden {
	display: none !important;
}

.event-load-more-button {
	display: flex;
	align-content: center;
	align-items: center;
	background: transparent;
	border-radius: 20px;
	box-shadow: 0px 0px 0px 0px rgba(0,0,0,0.2);
	color: #333;
	flex: none;
	flex-direction: column;
	flex-wrap: nowrap;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 15px;
	font-weight: 400;
	height: auto;
	justify-content: center;
	letter-spacing: 0em;
	line-height: 1.4;
	margin: 0 auto;
	opacity: 1;
	padding: 0px;
	text-align: center;
	width: 240px;
	max-width: calc(100% - 8px);
	border: none;
	cursor: pointer;
}

.event-load-more-button-inner {
	display: flex;
	align-content: center;
	align-items: center;
	background: var(--s-color-8c9bc6e1, #fad74aff);
	border-bottom: 1px solid var(--s-color-d884205f, #FFD700);
	border-left: 1px solid var(--s-color-d884205f, #FFD700);
	border-radius: 28px;
	border-right: 1px solid var(--s-color-d884205f, #FFD700);
	border-top: 1px solid var(--s-color-d884205f, #FFD700);
	flex: none;
	flex-direction: column;
	flex-wrap: nowrap;
	height: 56px;
	justify-content: center;
	width: 240px;
	max-width: 100%;
	box-sizing: border-box;
}

.event-load-more-text {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #333333ff;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.05em;
	padding: 0px 0px 2px 0px;
	text-align: center;
	width: 84px;
	height: 18px;
	box-sizing: border-box;
}

/* イベントレポートセクション */
.event-report-section {
	display: flex;
	align-content: center;
	align-items: center;
	background: color(display-p3 0.9961 0.9686 0.9059);
	flex: none;
	flex-direction: column;
	flex-wrap: nowrap;
	height: auto;
	justify-content: flex-start;
	margin: 0px 0px 0px 0px;
	padding: 64px 60px 96px 60px;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	scroll-margin-top: 50px;
}

.event-report-wrapper {
	width: 1470px;
	height: auto;
	min-height: auto;
	max-width: 100%;
	margin: 0 auto;
	box-sizing: border-box;
}

.event-report-header {
	display: flex;
	align-items: center;
	margin-bottom: 65px;
	margin-top: 25px;
}

.event-report-line {
	background: #fad74a;
	height: 56px;
	width: 8px;
	flex-shrink: 0;
}

.event-report-title {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 40px;
	font-weight: 600;
	color: #333333;
	margin: 0px 0px 0px 16px;
	display: flex;
	align-items: center;
}

.event-report-content {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 0;
	width: 100%;
}

.event-report-card {
	display: flex;
	flex-direction: column;
	width: 586px;
	max-width: 586px;
	margin-bottom: 20px;
	box-sizing: border-box;
}

.event-report-card:nth-child(2n) {
	margin-left: 40px;
}

.event-report-image-link {
	display: block;
	width: 586px;
	max-width: 586px;
	flex-shrink: 0;
	box-sizing: border-box;
}

.event-report-image {
	width: 586px;
	max-width: 586px;
	aspect-ratio: 16 / 10;
	height: auto;
	box-sizing: border-box;
	overflow: hidden;
	border-radius: 48px;
	background-color: #f0f0f0;
	position: relative;
}

.event-report-image__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.event-report-post-content {
	display: flex;
	flex-direction: column;
	margin-top: 20px;
}

.event-report-meta {
	display: flex;
	align-items: center;
	gap: 16px;
	position: relative;
	padding: 10px 0 10px 0;
}

.event-report-meta::after {
	content: '';
	display: block;
	width: 586px;
	height: 1px;
	background-color: #333;
	position: absolute;
	bottom: 0;
	left: 0;
}

.event-report-date-wrapper {
	display: flex;
	align-items: center;
	gap: 8px;
}

.event-report-date-wrapper i {
	color: #214d1d;
	font-size: 16px;
}

.event-report-date {
	color: #333;
	font-size: 14px;
	font-weight: 400;
	margin: 0;
}

.event-report-categories {
	display: flex;
	gap: 0px;
	flex-wrap: wrap;
}

.event-report-category-link {
	background: #feca00;
	border-radius: 32px;
	color: #333;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 13px;
	font-weight: 400;
	height: auto;
	margin: 0px 0px 0px 0px;
	padding: 8px;
	text-align: center;
	width: auto;
	max-width: calc(100% - 12px);
	text-decoration: none;
	display: inline-block;
	box-sizing: border-box;
}

.event-report-category-link:hover {
	text-decoration: none;
}

.event-report-title-link {
	color: #333;
	font-size: 18px;
	font-weight: 700;
	text-decoration: none;
	line-height: 1.4;
	margin-top: 10px;
	margin-bottom: 22px;
}

.event-report-title-link:hover {
	text-decoration: underline;
}

/* ======================================
   Responsive: 1024px / 768px / 425px / 375px / 320px
   PC用（1454px以上）のレイアウトは上のCSSそのまま維持
====================================== */

/* 1024px以下：2カラム→1カラムの土台を整える */
@media screen and (max-width: 1024px) {
	.event-top-section {
		padding: 200px 20px 100px 20px;
		height: auto;
	}

	.event-header {
		align-items: center;
		width: 100%;
		max-width: 100%;
	}

	.event-main-title {
		font-size: 56px;
		width: auto;
		max-width: 100%;
		text-align: center;
		white-space: normal;
		word-break: break-word;
		margin: 0 auto;
		height: auto;
	}

	.event-subtitle {
		font-size: 24px;
		width: auto;
		max-width: 100%;
		text-align: center;
		margin: 0 auto;
		height: auto;
	}

	.event-blocks {
		flex-direction: row;
		flex-wrap: nowrap;
		gap: 24px;
		margin: 80px auto 0 auto;
		justify-content: center;
		max-width: 720px;
	}

	.event-block {
		width: 280px;
		max-width: 280px;
		min-width: 320px;
		justify-content: center;
		align-items: center;
		padding: 0px 20px;
		margin-bottom: 35px;
	}

	.event-block-title {
		text-align: center;
		margin: 0 15px 0 0;
	}

	.event-block-icon {
		width: 24px;
		height: 24px;
		margin-left: 0;
		margin-right: 0;
	}

	.event-block-icon .material-icons {
		font-size: 20px;
	}

	/* イベント情報 */
	.event-info-section {
		padding: 60px 20px 80px 20px;
	}

	.event-info-wrapper {
		width: 100%;
		max-width: 100%;
		margin: 0 auto;
		padding: 0 20px;
	}

	.event-info-content {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: wrap !important;
		gap: 30px !important;
		justify-content: center !important;
		align-items: stretch !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 auto !important;
	}

	.event-info-card {
		width: 100%;
		max-width: 400px;
		margin-left: 0 !important;
		margin-bottom: 0 !important;
		align-self: stretch;
		display: flex;
		flex-direction: column;
		flex-shrink: 0;
		flex-grow: 0;
	}

	.event-info-card:nth-child(2n) {
		margin-left: 0 !important;
	}

	.event-info-image-link {
		width: 100%;
		max-width: 400px;
	}

	.event-info-image {
		width: 100%;
		max-width: 400px;
		height: auto;
		aspect-ratio: 16 / 10;
	}

	.event-info-image__img {
		object-fit: contain;
		object-position: center;
	}

	.event-info-title-text {
		width: 100%;
		max-width: 400px;
	}

	/* イベントレポート */
	.event-report-section {
		padding: 60px 20px 80px 20px;
	}

	.event-report-wrapper {
		width: 100%;
		max-width: 100%;
		margin: 0 auto;
		padding: 0 20px;
	}

	.event-report-content {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: wrap !important;
		gap: 30px !important;
		justify-content: center !important;
		align-items: stretch !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 auto !important;
	}

	.event-report-card {
		width: 400px !important;
		max-width: 400px !important;
		margin-left: 0 !important;
		margin-bottom: 0 !important;
		align-self: stretch;
		display: flex;
		flex-direction: column;
		flex-shrink: 0;
		flex-grow: 0;
	}

	.event-report-card:nth-child(2n) {
		margin-left: 0 !important;
	}

	.event-report-image-link {
		width: 400px !important;
		max-width: 400px !important;
	}

	.event-report-image {
		width: 400px !important;
		max-width: 400px !important;
		height: auto !important;
		aspect-ratio: 16 / 10;
	}

	.event-report-image__img {
		object-fit: contain;
		object-position: center;
	}

	.event-report-meta::after {
		width: 400px !important;
		left: 0;
	}

	.event-load-more-wrapper {
		padding: 20px 0;
		display: flex !important;
		justify-content: center !important;
		align-items: center !important;
	}

	.event-load-more-button {
		margin: 0 auto !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}
}

/* 768px以下：セクション余白と見出しを縮めつつ1カラムを徹底 */
@media screen and (max-width: 768px) {
	/* トップセクション */
	.event-top-section {
		padding: 180px 20px 60px 20px;
		height: auto;
	}

	.event-header {
		align-items: center;
		width: 100%;
		max-width: 100%;
	}

	.event-main-title {
		font-size: 56px;
		width: auto;
		max-width: 100%;
		text-align: center;
		white-space: normal;
		word-break: break-word;
		margin: 0 auto;
	}

	.event-subtitle {
		font-size: 24px;
		width: auto;
		max-width: 100%;
		text-align: center;
		margin: 0 auto;
	}

	.event-blocks {
		flex-direction: row;
		flex-wrap: nowrap;
		gap: 24px;
		margin: 80px auto 0 auto;
		justify-content: center;
		max-width: 680px;
	}

	.event-block {
		width: 260px;
		max-width: 260px;
		min-width: 280px;
		justify-content: center;
		align-items: center;
		padding: 0px 20px;
		margin-bottom: 35px;
	}

	.event-block-title {
		text-align: center;
		margin: 0 15px 0 0;
	}

	.event-block-icon {
		width: 24px;
		height: 24px;
		margin-left: 0;
		margin-right: 0;
	}

	.event-block-icon .material-icons {
		font-size: 20px;
	}

	/* イベント情報 */
	.event-info-section {
		padding: 40px 20px 60px 20px;
	}

	.event-info-wrapper {
		padding: 0;
	}

	.event-info-content {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: wrap !important;
		gap: 20px !important;
		justify-content: center !important;
		align-items: stretch !important;
		width: 100%;
		max-width: 100% !important;
		margin: 0 auto !important;
	}

	.event-info-card {
		width: 100%;
		max-width: 600px;
		margin-left: auto !important;
		margin-right: auto !important;
		margin-bottom: 30px !important;
		align-self: stretch;
		display: flex;
		flex-direction: column;
		flex-shrink: 0;
		flex-grow: 0;
	}

	.event-info-card:nth-child(2n) {
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.event-info-image-link {
		width: 100%;
		max-width: 600px;
	}

	.event-info-image {
		width: 100%;
		max-width: 600px;
		height: auto;
		aspect-ratio: 16 / 10;
	}

	.event-info-image__img {
		object-fit: contain;
		object-position: center;
	}

	.event-info-title-text {
		width: 100%;
		max-width: 600px;
	}

	.event-info-title-link {
		font-size: 20px!important;
	}

	.event-load-more-wrapper {
		padding: 20px 0;
		display: flex !important;
		justify-content: center !important;
		align-items: center !important;
	}

	.event-load-more-button {
		margin: 0 auto !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	/* イベントレポート */
	.event-report-section {
		padding: 40px 20px 60px 20px;
	}

	.event-report-wrapper {
		padding: 0;
		margin: 0 auto;
		display: flex;
		flex-direction: column;
	}

	.event-report-header {
		margin-bottom: 60px;
		width: 100%;
		max-width: 100%;
		align-self: flex-start;
	}

	.event-report-title {
		font-size: 40px;
	}

	.event-report-content {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: wrap !important;
		gap: 40px !important;
		justify-content: center !important;
		align-items: stretch !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 auto !important;
	}

	.event-report-card {
		margin-bottom: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		width: calc((100% - 40px) / 2 - 100px) !important;
		max-width: calc((100% - 40px) / 2 - 100px) !important;
		min-width: 0;
		align-self: stretch;
		display: flex;
		flex-direction: column;
		flex-shrink: 0;
		flex-grow: 0;
	}

	.event-report-card:nth-child(2n) {
		margin-left: 0 !important;
	}

	.event-report-image-link {
		width: 100% !important;
		max-width: 100% !important;
	}

	.event-report-image {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		aspect-ratio: 16 / 10;
	}

	.event-report-image__img {
		object-fit: contain;
		object-position: center;
	}

	.event-report-meta {
		gap: 12px;
		width: 100%;
		max-width: 100%;
	}

	.event-report-meta::after {
		width: 100% !important;
		max-width: 100% !important;
	}

	.event-report-title-link {
		font-size: 16px;
	}
}

/* 425px以下：スマホ向けに余白とフォントをさらに調整 */
@media screen and (max-width: 425px) {
	.event-top-section {
		padding: 140px 20px 40px 20px;
		width: 100%;
		max-width: 100%;
	}

	.event-header {
		align-items: center;
		width: 100%;
		max-width: 100%;
	}

	.event-main-title {
		font-size: 53px;
		width: auto;
		max-width: 280px;
		text-align: center;
		white-space: normal;
		word-break: break-word;
		margin: 0 auto;
		height: auto;
		line-height: 1.5;
		padding: 0px 0 0 0;
	}

	.event-subtitle {
		font-size: 24px;
		width: auto;
		max-width: 100%;
		text-align: center;
		margin: 0 auto;
		height: auto;
		padding-bottom: 40px;
		padding-top: 10px;
	}

	.event-blocks {
		flex-direction: column;
		flex-wrap: nowrap;
		gap: 14px;
		margin: 40px auto 0 auto;
		width: calc(97% - 20px);
		max-width: calc(100% - 20px);
		padding: 0 10px;
		box-sizing: border-box;
		padding-bottom: 80px;
	}

	.event-block {
		width: 100%;
		max-width: 280px;
		min-width: auto;
		justify-content: center;
		align-items: center;
		gap: 10px;
		padding: 20px 30px;
		height: auto;
		min-height: 90px;
		margin-bottom: 0;
	}

	.event-block-title {
		font-size: 20px;
	}

	.event-block-icon {
		width: 24px;
		height: 24px;
		min-width: 26px;
		min-height: 26px;
	}

	.event-block-icon .material-icons {
		font-size: 20px;
	}

	.event-info-section,
	.event-report-section {
		padding: 32px 16px 48px 16px;
		width: 100%;
		max-width: 100%;
	}

	/* 425px：イベント情報／イベントレポート見出しを少し左寄りに調整 */
	.event-info-header,
	.event-report-header {
		margin-left: 6px;
	}

	.event-info-wrapper,
	.event-report-wrapper {
		width: 100%;
		max-width: 100%;
		margin: 0;
		padding: 0;
	}

	.event-info-card,
	.event-report-card {
		width: 100%;
		max-width: 100%;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding: 0;
		box-sizing: border-box;
	}

	.event-info-card:nth-child(2n),
	.event-report-card:nth-child(2n) {
		margin-left: 0;
	}

	.event-info-image-link,
	.event-info-image,
	.event-report-image-link,
	.event-report-image {
		width: 100%;
		max-width: 100%;
	}

	.event-info-image {
		height: auto;
		aspect-ratio: 16 / 10;
	}

	.event-info-post-content {
		width: 100%;
		max-width: 100%;
		padding: 10px 0;
	}

	.event-info-title-text {
		width: 100%;
		max-width: 100%;
		padding: 0 0 20px 0;
	}

	/* 425px：イベント情報カード（横幅400pxに調整） */
	.event-info-card {
		width: 100%;
		max-width: 400px;
		margin-left: auto;
		margin-right: auto;
	}

	.event-info-image-link,
	.event-info-image {
		width: 100%;
		max-width: 400px;
	}

	.event-info-image {
		height: auto;
		aspect-ratio: 16 / 10;
	}

	.event-info-title-text {
		width: 100%;
		max-width: 400px;
	}

	/* 425px：イベント情報カード内タイトル（フォントサイズ調整用） */
	.event-info-title-text .event-info-title-link {
		font-size: 20px;
	}

	/* 425px：イベントレポートカードもイベント情報と同じレイアウトに揃える */
	.event-report-card {
		width: 100%;
		max-width: 400px;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.event-report-image-link,
	.event-report-image {
		width: 100%;
		max-width: 400px;
	}

	.event-report-image {
		height: auto;
		aspect-ratio: 16 / 10;
	}

	.event-report-meta::after {
		width: 100%;
		left: 0;
	}

	.event-info-title,
	.event-report-title {
		font-size: 30px;
	}

	.event-load-more-button {
		margin: 0 auto;
		width: 100%;
		max-width: 240px;
	}
}

/* 375px以下：標準スマホ向け */
@media screen and (max-width: 375px) {
	.event-top-section {
		/* 425pxと同じ余白に揃える */
		padding: 140px 20px 40px 20px;
		width: 100%;
		max-width: 100%;
	}

	.event-header {
		align-items: center;
	}

	.event-main-title {
		/* 425pxと同じタイトルサイズに揃える */
		font-size: 53px;
		width: auto;
		max-width: 280px;
		text-align: center;
		white-space: normal;
		word-break: break-word;
		margin: 0 auto;
		height: auto;
		line-height: 1.5;
		padding: 0px 0 0 0;
	}

	.event-subtitle {
		/* 425pxと同じサブタイトルサイズに揃える */
		font-size: 24px;
		width: auto;
		max-width: 100%;
		text-align: center;
		margin: 0 auto;
		height: auto;
		padding-bottom: 40px;
		padding-top: 10px;
	}

	.event-blocks {
		flex-direction: column;
		flex-wrap: nowrap;
		gap: 12px;
		margin: 32px auto 0 auto;
		width: calc(97% - 16px);
		max-width: calc(100% - 16px);
		padding: 0 8px;
		box-sizing: border-box;
		padding-bottom: 64px;
	}

	.event-block {
		width: 100%;
		max-width: 280px !important;
		min-width: auto;
		justify-content: center;
		align-items: center;
		gap: 8px;
		padding: 16px 24px;
		height: auto;
		min-height: 90px;
	}

	.event-block-title {
		/* 425pxと同じフォントサイズに揃える */
		font-size: 20px;
	}

	.event-block-icon {
		width: 24px;
		height: 24px;
		min-width: 24px;
		min-height: 24px;
	}

	.event-block-icon .material-icons {
		font-size: 20px;
	}

	.event-info-section,
	.event-report-section {
		padding: 28px 12px 40px 12px;
		width: 100%;
		max-width: 100%;
	}

	.event-info-wrapper,
	.event-report-wrapper {
		width: 100%;
		max-width: 100%;
		margin: 0;
		padding: 0;
	}

	/* 375px：イベント情報／イベントレポートカードを425pxのレイアウトに近づける（少しだけ縮小） */
	.event-info-card,
	.event-report-card {
		width: 100%;
		max-width: 360px;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.event-info-image {
		width: 100%;
		max-width: 360px;
		height: auto;
		aspect-ratio: 16 / 10;
	}

	.event-report-image {
		width: 100%;
		max-width: 360px;
		height: auto;
		aspect-ratio: 16 / 10;
	}

	.event-info-title-text {
		width: 100%;
		max-width: 360px;
	}

	.event-info-title,
	.event-report-title {
		font-size: 26px;
	}
}

/* 320px以下：最小クラスのスマホ向け */
@media screen and (max-width: 320px) {
	.event-top-section {
		/* 425pxと同じ余白に揃える */
		padding: 140px 20px 40px 20px;
		margin-top: 30px;
		width: 100%;
		max-width: 100%;
	}

	.event-header {
		align-items: center;
	}

	.event-main-title {
		/* 425pxと同じタイトルサイズに揃える */
		font-size: 53px;
		width: auto;
		max-width: 280px;
		text-align: center;
		white-space: normal;
		word-break: break-word;
		margin: 0 auto;
		height: auto;
		line-height: 1.5;
		padding: 0px 0 0 0;
	}

	.event-subtitle {
		/* 425pxと同じサブタイトルサイズに揃える */
		font-size: 24px;
		width: auto;
		max-width: 100%;
		text-align: center;
		margin: 0 auto;
		height: auto;
		padding-bottom: 40px;
		padding-top: 10px;
	}

	.event-blocks {
		flex-direction: column;
		flex-wrap: nowrap;
		gap: 10px;
		margin: 24px auto 0 auto;
		width: calc(97% - 12px);
		max-width: calc(100% - 12px);
		padding: 0 6px;
		box-sizing: border-box;
		padding-bottom: 48px;
	}

	.event-block {
		width: 100%;
		max-width: 280px;
		min-width: auto;
		justify-content: center;
		align-items: center;
		gap: 6px;
		padding: 14px 20px;
		height: auto;
		min-height: 90px;
	}

	.event-block-title {
		/* 425pxと同じフォントサイズに揃える */
		font-size: 20px;
	}

	.event-block-icon {
		width: 22px;
		height: 22px;
		min-width: 22px;
		min-height: 22px;
	}

	.event-block-icon .material-icons {
		font-size: 18px;
	}

	.event-info-section,
	.event-report-section {
		padding: 24px 10px 36px 10px;
		width: 100%;
		max-width: 100%;
	}

	.event-info-wrapper,
	.event-report-wrapper {
		width: 100%;
		max-width: 100%;
		margin: 0;
		padding: 0;
	}

	.event-info-card,
	.event-report-card {
		width: 100%;
		max-width: 300px;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.event-info-image {
		width: 100%;
		max-width: 300px;
		height: auto;
		aspect-ratio: 16 / 10;
	}

	.event-report-image {
		width: 100%;
		max-width: 300px;
		height: auto;
		aspect-ratio: 16 / 10;
	}

	.event-info-title-text {
		width: 100%;
		max-width: 300px;
	}

	.event-info-title,
	.event-report-title {
		font-size: 24px;
	}

	.event-info-title-text .event-info-title-link {
		font-size: 24px;
	}

	.event-report-title-link {
		font-size: 18px;
		margin-bottom: 10px;
	}
}

/* ======================================
   single-event（イベント単一投稿）
   ====================================== */
body:has(main.single-event) {
	background-color: #fcefdf;
}
main.single-event {
	display: block;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	background-color: #fff7e5ff;
}
main.single-event .single-event-inner {
	width: 100%;
	max-width: 1024px;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
	padding: 150px 0 100px;
	text-align: left;
}

/* ======================================
   single-event: 予約フォーム（CF7）
   contact.css と同系統のトーンに寄せる（event.css 内で完結）
   ====================================== */
.single-event-reservation {
	margin-top: 56px;
	margin-bottom: 56px;
	padding: 0;
	box-sizing: border-box;
}

.single-event-reservation__title {
	margin: 0 0 20px;
	text-align: center;
	font-family: "Zen Maru Gothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.5;
	color: #544631;
}

.single-event-reservation__body {
	width: 100%;
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

.single-event-reservation .wpcf7,
.single-event-reservation .wpcf7-form {
	width: 100%;
	max-width: 100%;
	margin: 0;
}

/* CF7 のフォーム側で class を付けてもらう前提（contact と同じ命名） */
.single-event-reservation .contact-form__field {
	margin-bottom: clamp(1.05rem, 2.3vw, 1.6rem);
	width: 100%;
	box-sizing: border-box;
}

.single-event-reservation .contact-form__label {
	display: flex;
	align-items: baseline;
	gap: 0.4em;
	font-weight: 600;
	font-size: clamp(0.86rem, 1.9vw, 0.97rem);
	line-height: 1.4;
	color: #333333;
	margin: 0 0 0.45rem 0;
}

.single-event-reservation .contact-form__required {
	color: #d60000;
	font-weight: 700;
	font-size: 0.82em;
	letter-spacing: 0.02em;
	white-space: nowrap;
}

.single-event-reservation .contact-form__help {
	margin: 0 0 0.55rem 0;
	font-size: 0.76rem;
	line-height: 1.4;
	color: #666666;
}

.single-event-reservation input.contact-form__input,
.single-event-reservation select.contact-form__input,
.single-event-reservation textarea.contact-form__textarea {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	border: 1px solid rgba(0, 0, 0, 0.18);
	background-color: #ffffff;
	color: #333333;
	padding: 0.62em 0.95em;
	font-family: inherit;
	font-size: clamp(0.9rem, 2vw, 1.02rem);
	line-height: 1.4;
	min-height: 48px;
}

.single-event-reservation textarea.contact-form__textarea {
	min-height: clamp(7.5rem, 20vw, 9.5rem);
	resize: vertical;
}

.single-event-reservation input.contact-form__input:focus,
.single-event-reservation select.contact-form__input:focus,
.single-event-reservation textarea.contact-form__textarea:focus {
	outline: none;
	box-shadow: 0 0 0 0.12rem rgba(5, 170, 125, 0.18);
	border-color: rgba(5, 170, 125, 0.55);
}

/* agree */
.single-event-reservation .contact-form__agree .wpcf7-list-item {
	margin: 0;
}

.single-event-reservation .contact-form__agree .wpcf7-list-item label {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	cursor: pointer;
}

.single-event-reservation .contact-form__agree .wpcf7-list-item-label {
	color: #333333;
	font-weight: 600;
	font-size: 0.95rem;
	line-height: 1.4;
}

/* submit */
.single-event-reservation .contact-form__submit input.wpcf7-submit {
	appearance: none;
	border: none;
	width: 100%;
	max-width: 320px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.85em 1.2em;
	border-radius: 999px;
	background-color: #feca00;
	color: #333333;
	font-weight: 700;
	font-size: 1rem;
	letter-spacing: 0.04em;
	cursor: pointer;
	box-shadow: 0 0.25rem 1rem rgba(255, 196, 51, 0.35);
	transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.single-event-reservation .contact-form__submit input.wpcf7-submit:hover:not(:disabled) {
	transform: translateY(-0.12rem);
	filter: brightness(1.03);
	box-shadow: 0 0.35rem 1.25rem rgba(255, 196, 51, 0.45);
}

.single-event-reservation .contact-form__submit input.wpcf7-submit:disabled {
	opacity: 0.6;
	cursor: not-allowed;
	transform: none;
}

.single-event-reservation .contact-form__submit {
	margin-top: 22px;
	display: flex;
	justify-content: center;
}
.single-event-eyecatch-wrap {
	width: 100%;
	max-width: 100%;
	margin: 0 0 10px 0;
}
.single-event-eyecatch {
	width: 100%;
	max-width: 1024px;
	aspect-ratio: 16 / 10;
	height: auto;
	min-height: 0;
	overflow: hidden;
	margin: 0;
	background-color: #f0f0f0;
	box-sizing: border-box;
}
.single-event-eyecatch-img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	display: block;
}
.single-event-schedule {
	display: flex;
	align-content: center;
	align-items: center;
	background: #00956e;
	flex: none;
	flex-direction: row;
	flex-wrap: wrap;
	height: auto;
	justify-content: flex-start;
	margin: 0 0 10px 0;
	padding: 10px 0;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}
.single-event-schedule-label {
	display: flex;
	align-content: center;
	align-items: center;
	background: #ffffff;
	border-radius: 24px;
	flex: none;
	flex-direction: column;
	flex-wrap: nowrap;
	height: 30px;
	justify-content: center;
	margin: 0 20px;
	width: 80px;
	max-width: calc(100% - 40px);
	box-sizing: border-box;
}
.single-event-schedule-label p {
	margin: 0;
	padding: 0;
	font-size: 17px;
	line-height: 1;
	color: #333;
	font-family: "Zen Kaku Gothic New", sans-serif;
}
.single-event-schedule-text {
	margin: 0;
	padding: 0 20px;
	color: #fff;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 19px;
	line-height: 1.5;
}
.single-event-title {
	color: #333;
	font-family: var(--s-font-bf93c44b), sans-serif;
	font-size: 28px;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.6;
	margin: 10px 0 0 0;
	text-align: left;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.single-event-status-row {
	margin-top: 14px;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.single-event-date-wrap {
	display: flex;
	align-items: flex-start;
	flex-wrap: nowrap;
	margin-top: 16px;
}
.single-event-date-icon {
	flex: none;
	color: #214d1d;
	font-size: 16px;
	margin: 4px 5px 0 2px;
}
.single-event-date {
	color: #666;
	margin: 0;
	font-size: 14px;
}
.single-event-line {
	display: block;
	width: 100%;
	max-width: 100%;
	height: 1px;
	margin: 16px 0 56px 0;
	border: none;
	background: #cfcfcf;
	box-sizing: border-box;
}

/* single-event 本文（店舗インタビューと同じ設定） */
.single-event-body {
	margin-top: 56px;
	width: auto;
}
.single-event-body h2 {
	display: flex;
	align-items: center;
	border-bottom: 0 solid #214d1d;
	border-left: 5px solid #214d1d;
	border-right: 0 solid #214d1d;
	border-top: 0 solid #214d1d;
	font-family: var(--s-font-58bd5539);
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.05em;
	padding: 10px 0 5px 5px;
	max-width: 760px;
	min-height: 49px;
	box-sizing: border-box;
}
.single-event-body h3,
.single-event-body h4 {
	font-size: 20px;
}
.single-event-body blockquote {
	background: #f0f0f0;
	border-left: 3px solid rgba(0,0,0,.15);
	font-family: var(--s-font-bf93c44b);
	font-style: normal;
	line-height: 1.9;
	margin: 10px 0;
	padding: 10px 15px;
	box-sizing: border-box;
}
.single-event-body p + blockquote,
.single-event-body figure + blockquote,
.single-event-body .wp-block-image + blockquote {
	margin-top: 25px;
}
.single-event-body blockquote + p,
.single-event-body blockquote + figure,
.single-event-body blockquote + .wp-block-image {
	margin-top: 25px;
}
.single-event-body p {
	font-family: var(--s-font-bf93c44b);
	line-height: 1.7;
	margin: 25px 0;
}
.single-event-body .single-event-spacer {
	margin: 10px 0 !important;
	min-height: 0;
}
.single-event-body p strong,
.single-event-body .wp-block-paragraph strong,
.single-event-body strong,
.single-event-body b {
	font-size: calc(1em + 2px) !important;
}
.single-event-body a {
	color: #214d1d;
	text-decoration: underline #214d1d;
}
/* イタリック */
.single-event-body em,
.single-event-body i {
	background: #dcefe4;
	color: #214d1d;
	font-family: var(--s-font-bf93c44b, "Zen Kaku Gothic New", sans-serif);
	font-size: 17px;
	font-style: normal;
	line-height: 2;
	padding: 0 5px;
}
.single-event-body p strong {
	margin: 20px 0;
	display: block;
}
.single-event-body h2,
.single-event-body h3,
.single-event-body h4 {
	margin: 30px 0;
	display: block;
}
.single-event-body figure {
	width: 100%;
	max-width: 760px;
	height: auto;
	overflow: hidden;
	box-sizing: border-box;
}
.single-event-body figure img,
.single-event-body img {
	margin: 10px 0;
	display: block;
	box-sizing: border-box;
	max-width: 100%;
	height: auto;
}

/* ======================================
   イベントレポート用レイアウト（イベント/ワークショップにチェックがあるとき）
   body.single-event--report で他スタイルに負けないようにする
   ====================================== */
body.single-event--report main.single-event .single-event-inner {
	max-width: 800px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}
body.single-event--report main.single-event .single-event-eyecatch-wrap {
	max-width: 800px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}
body.single-event--report main.single-event .single-event-eyecatch {
	max-width: 800px !important;
	height: auto !important;
	aspect-ratio: 16 / 10;
	margin: 0 auto 10px !important;
}
body.single-event--report main.single-event .single-event-eyecatch-img {
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	object-fit: contain !important;
	object-position: center;
}
body.single-event--report main.single-event .single-event-title,
body.single-event--report main.single-event .single-event-date-wrap,
body.single-event--report main.single-event .single-event-line {
	max-width: 800px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}
body.single-event--report main.single-event .single-event-body {
	max-width: 800px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}
body.single-event--report main.single-event .single-event-body figure {
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	aspect-ratio: auto !important;
}
body.single-event--report main.single-event .single-event-body figure img,
body.single-event--report main.single-event .single-event-body img {
	height: auto !important;
	max-width: 100% !important;
}
.single-event-body p + figure,
.single-event-body p + .wp-block-image,
.single-event-body .wp-block-paragraph + .wp-block-image,
.single-event-body .wp-block-paragraph + figure {
	margin-top: 20px !important;
}
.single-event-body p + figure img,
.single-event-body p + .wp-block-image img,
.single-event-body .wp-block-paragraph + .wp-block-image img,
.single-event-body .wp-block-paragraph + figure img {
	margin-top: 0 !important;
}
.single-event-body figure:has(+ p),
.single-event-body .wp-block-image:has(+ p),
.single-event-body figure:has(+ .wp-block-paragraph),
.single-event-body .wp-block-image:has(+ .wp-block-paragraph) {
	margin-bottom: 20px !important;
}
.single-event-body figure:has(+ p) img,
.single-event-body .wp-block-image:has(+ p) img,
.single-event-body figure:has(+ .wp-block-paragraph) img,
.single-event-body .wp-block-image:has(+ .wp-block-paragraph) img {
	margin-bottom: 0 !important;
}
.single-event-body h2 + figure,
.single-event-body h3 + figure,
.single-event-body h4 + figure,
.single-event-body h2 + .wp-block-image,
.single-event-body h3 + .wp-block-image,
.single-event-body h4 + .wp-block-image,
.single-event-body .wp-block-heading + .wp-block-image,
.single-event-body .wp-block-heading + figure {
	margin-top: 0 !important;
}
.single-event-body h2 + figure img,
.single-event-body h3 + figure img,
.single-event-body h4 + figure img,
.single-event-body h2 + .wp-block-image img,
.single-event-body h3 + .wp-block-image img,
.single-event-body h4 + .wp-block-image img,
.single-event-body .wp-block-heading + .wp-block-image img,
.single-event-body .wp-block-heading + figure img {
	margin-top: 0 !important;
}
.single-event-body figure:has(+ h2),
.single-event-body figure:has(+ h3),
.single-event-body figure:has(+ h4),
.single-event-body figure:has(+ .wp-block-heading),
.single-event-body .wp-block-image:has(+ h2),
.single-event-body .wp-block-image:has(+ h3),
.single-event-body .wp-block-image:has(+ h4),
.single-event-body .wp-block-image:has(+ .wp-block-heading) {
	margin-bottom: 0 !important;
}
.single-event-body figure:has(+ h2) img,
.single-event-body figure:has(+ h3) img,
.single-event-body figure:has(+ h4) img,
.single-event-body figure:has(+ .wp-block-heading) img,
.single-event-body .wp-block-image:has(+ h2) img,
.single-event-body .wp-block-image:has(+ h3) img,
.single-event-body .wp-block-image:has(+ h4) img,
.single-event-body .wp-block-image:has(+ .wp-block-heading) img {
	margin-bottom: 0 !important;
}

/* single-event: 1024px */
@media (max-width: 1024px) {
	main.single-event .single-event-inner {
		padding: 150px 24px 64px;
	}
	.single-event-eyecatch,
	.single-event-line {
		max-width: 100%;
	}
	.single-event-title {
		font-size: 24px;
	}
	.single-event-schedule-label {
		width: 80px;
		height: 30px;
		margin: 0 20px;
	}
	.single-event-schedule-label p {
		font-size: 17px;
	}
	.single-event-schedule-text {
		font-size: 18px;
	}
	.single-event-date-icon {
		font-size: 14px;
	}
	.single-event-date {
		font-size: 13px;
	}
	.single-event-body {
		margin-top: 56px;
	}
	.single-event-body .single-event-spacer {
		margin: 10px 0 !important;
		min-height: 0;
	}
	.single-event-body p + blockquote,
	.single-event-body figure + blockquote,
	.single-event-body .wp-block-image + blockquote {
		margin-top: 25px;
	}
	.single-event-body blockquote + p,
	.single-event-body blockquote + figure,
	.single-event-body blockquote + .wp-block-image {
		margin-top: 25px;
	}
	.single-event-body h2,
	.single-event-body h3,
	.single-event-body h4 {
		margin: 30px 0;
	}
	.single-event-body img {
		margin: 10px 0;
	}
	.single-event-body p + figure,
	.single-event-body p + .wp-block-image,
	.single-event-body .wp-block-paragraph + .wp-block-image,
	.single-event-body .wp-block-paragraph + figure {
		margin-top: 20px !important;
	}
	.single-event-body p + figure img,
	.single-event-body p + .wp-block-image img,
	.single-event-body .wp-block-paragraph + .wp-block-image img,
	.single-event-body .wp-block-paragraph + figure img {
		margin-top: 0 !important;
	}
	.single-event-body figure:has(+ p),
	.single-event-body .wp-block-image:has(+ p),
	.single-event-body figure:has(+ .wp-block-paragraph),
	.single-event-body .wp-block-image:has(+ .wp-block-paragraph) {
		margin-bottom: 20px !important;
	}
	.single-event-body figure:has(+ p) img,
	.single-event-body .wp-block-image:has(+ p) img,
	.single-event-body figure:has(+ .wp-block-paragraph) img,
	.single-event-body .wp-block-image:has(+ .wp-block-paragraph) img {
		margin-bottom: 0 !important;
	}
	.single-event-body h2 + figure,
	.single-event-body h3 + figure,
	.single-event-body h4 + figure,
	.single-event-body h2 + .wp-block-image,
	.single-event-body h3 + .wp-block-image,
	.single-event-body h4 + .wp-block-image,
	.single-event-body .wp-block-heading + .wp-block-image,
	.single-event-body .wp-block-heading + figure {
		margin-top: 0 !important;
	}
	.single-event-body h2 + figure img,
	.single-event-body h3 + figure img,
	.single-event-body h4 + figure img,
	.single-event-body h2 + .wp-block-image img,
	.single-event-body h3 + .wp-block-image img,
	.single-event-body h4 + .wp-block-image img,
	.single-event-body .wp-block-heading + .wp-block-image img,
	.single-event-body .wp-block-heading + figure img {
		margin-top: 0 !important;
	}
	.single-event-body figure:has(+ h2),
	.single-event-body figure:has(+ h3),
	.single-event-body figure:has(+ h4),
	.single-event-body figure:has(+ .wp-block-heading),
	.single-event-body .wp-block-image:has(+ h2),
	.single-event-body .wp-block-image:has(+ h3),
	.single-event-body .wp-block-image:has(+ h4),
	.single-event-body .wp-block-image:has(+ .wp-block-heading) {
		margin-bottom: 0 !important;
	}
	.single-event-body figure:has(+ h2) img,
	.single-event-body figure:has(+ h3) img,
	.single-event-body figure:has(+ h4) img,
	.single-event-body figure:has(+ .wp-block-heading) img,
	.single-event-body .wp-block-image:has(+ h2) img,
	.single-event-body .wp-block-image:has(+ h3) img,
	.single-event-body .wp-block-image:has(+ h4) img,
	.single-event-body .wp-block-image:has(+ .wp-block-heading) img {
		margin-bottom: 0 !important;
	}
	.single-event-body figure {
		height: auto;
		max-width: 75%;
	}
	body.single-event--report main.single-event .single-event-inner {
		max-width: 800px !important;
	}

/* WRITER セクション（イベント個別） */
.single-event-writer {
	margin-top: 56px;
	margin-bottom: 64px;
}
.single-event-writer-heading {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 16px;
	font-weight: 700;
	color: #214d1d;
}
.single-event-writer-heading-text {
	font-size: 17px;
}
.single-event-writer-icon {
	color: #214d1d !important;
	font-size: 24px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}
.single-event-writer-inner {
	display: flex !important;
	flex-direction: row !important; /* 画像左・概要右で横並び */
	flex-wrap: nowrap !important;   /* 折り返さず必ず横並びにする */
	align-items: flex-start;
	gap: 20px;
}
.single-event-writer-image-wrap {
	flex-shrink: 0;
}
.single-event-writer-image {
	width: 120px;
	height: 120px;
	object-fit: cover;
	display: block;
}
.single-event-writer-description {
	flex: 1;
	min-width: 0;
	font-size: 12px;
	line-height: 1.7;
	color: #333;
}
.single-event .single-event-writer .single-event-writer-text {
	margin: 0 !important;
}
}

/* single-event: 768px */
@media (max-width: 768px) {
	main.single-event .single-event-inner {
		padding: 120px 20px 56px;
	}
	.single-event-eyecatch,
	.single-event-line {
		max-width: 100%;
	}
	.single-event-title {
		font-size: 22px;
		margin: 8px 0 0 0;
	}
	.single-event-date-wrap {
		margin-top: 12px;
	}
	.single-event-date-icon {
		font-size: 13px;
	}
	.single-event-date {
		font-size: 12px;
	}
	.single-event-line {
		margin: 12px 0 56px 0;
	}
	.single-event-schedule-label {
		width: 80px;
		height: 30px;
		margin: 0 16px;
	}
	.single-event-schedule-label p {
		font-size: 16px;
	}
	.single-event-schedule-text {
		font-size: 17px;
	}
	.single-event-body {
		margin-top: 56px;
	}
	.single-event-body .single-event-spacer {
		margin: 10px 0 !important;
		min-height: 0;
	}
	.single-event-body p + blockquote,
	.single-event-body figure + blockquote,
	.single-event-body .wp-block-image + blockquote {
		margin-top: 25px;
	}
	.single-event-body blockquote + p,
	.single-event-body blockquote + figure,
	.single-event-body blockquote + .wp-block-image {
		margin-top: 25px;
	}
	.single-event-body h2,
	.single-event-body h3,
	.single-event-body h4 {
		margin: 30px 0;
	}
	.single-event-body img {
		margin: 10px 0;
	}
	.single-event-body p + figure,
	.single-event-body p + .wp-block-image,
	.single-event-body .wp-block-paragraph + .wp-block-image,
	.single-event-body .wp-block-paragraph + figure {
		margin-top: 20px !important;
	}
	.single-event-body p + figure img,
	.single-event-body p + .wp-block-image img,
	.single-event-body .wp-block-paragraph + .wp-block-image img,
	.single-event-body .wp-block-paragraph + figure img {
		margin-top: 0 !important;
	}
	.single-event-body figure:has(+ p),
	.single-event-body .wp-block-image:has(+ p),
	.single-event-body figure:has(+ .wp-block-paragraph),
	.single-event-body .wp-block-image:has(+ .wp-block-paragraph) {
		margin-bottom: 20px !important;
	}
	.single-event-body figure:has(+ p) img,
	.single-event-body .wp-block-image:has(+ p) img,
	.single-event-body figure:has(+ .wp-block-paragraph) img,
	.single-event-body .wp-block-image:has(+ .wp-block-paragraph) img {
		margin-bottom: 0 !important;
	}
	.single-event-body h2 + figure,
	.single-event-body h3 + figure,
	.single-event-body h4 + figure,
	.single-event-body h2 + .wp-block-image,
	.single-event-body h3 + .wp-block-image,
	.single-event-body h4 + .wp-block-image,
	.single-event-body .wp-block-heading + .wp-block-image,
	.single-event-body .wp-block-heading + figure {
		margin-top: 0 !important;
	}
	.single-event-body h2 + figure img,
	.single-event-body h3 + figure img,
	.single-event-body h4 + figure img,
	.single-event-body h2 + .wp-block-image img,
	.single-event-body h3 + .wp-block-image img,
	.single-event-body h4 + .wp-block-image img,
	.single-event-body .wp-block-heading + .wp-block-image img,
	.single-event-body .wp-block-heading + figure img {
		margin-top: 0 !important;
	}
	.single-event-body figure:has(+ h2),
	.single-event-body figure:has(+ h3),
	.single-event-body figure:has(+ h4),
	.single-event-body figure:has(+ .wp-block-heading),
	.single-event-body .wp-block-image:has(+ h2),
	.single-event-body .wp-block-image:has(+ h3),
	.single-event-body .wp-block-image:has(+ h4),
	.single-event-body .wp-block-image:has(+ .wp-block-heading) {
		margin-bottom: 0 !important;
	}
	.single-event-body figure:has(+ h2) img,
	.single-event-body figure:has(+ h3) img,
	.single-event-body figure:has(+ h4) img,
	.single-event-body figure:has(+ .wp-block-heading) img,
	.single-event-body .wp-block-image:has(+ h2) img,
	.single-event-body .wp-block-image:has(+ h3) img,
	.single-event-body .wp-block-image:has(+ h4) img,
	.single-event-body .wp-block-image:has(+ .wp-block-heading) img {
		margin-bottom: 0 !important;
	}
	.single-event-body figure {
		height: auto;
		max-width: 75%;
	}
	body.single-event--report main.single-event .single-event-inner {
		max-width: 800px !important;
	}
}

/* single-event: 425px */
@media (max-width: 425px) {
	main.single-event .single-event-inner {
		padding: 120px 16px 48px;
	}
	.single-event-eyecatch,
	.single-event-line {
		max-width: 100%;
	}
	.single-event-title {
		font-size: 20px;
		margin: 6px 0 0 0;
	}
	.single-event-date-wrap {
		margin-top: 10px;
	}
	.single-event-date-icon {
		font-size: 12px;
	}
	.single-event-date {
		font-size: 12px;
	}
	.single-event-line {
		margin: 10px 0 56px 0;
	}
	.single-event-schedule {
		margin: 0 0 8px 0;
		padding: 8px 0;
	}
	.single-event-schedule-label {
		width: 72px;
		height: 28px;
		margin: 0 16px;
		border-radius: 20px;
	}
	.single-event-schedule-label p {
		font-size: 15px;
	}
	.single-event-schedule-text {
		font-size: 16px;
		padding: 0 16px;
	}
	.single-event-body {
		margin-top: 56px;
	}
	.single-event-body .single-event-spacer {
		margin: 10px 0 !important;
		min-height: 0;
	}
	.single-event-body p + blockquote,
	.single-event-body figure + blockquote,
	.single-event-body .wp-block-image + blockquote {
		margin-top: 25px;
	}
	.single-event-body blockquote + p,
	.single-event-body blockquote + figure,
	.single-event-body blockquote + .wp-block-image {
		margin-top: 25px;
	}
	.single-event-body h2,
	.single-event-body h3,
	.single-event-body h4 {
		margin: 30px 0;
	}
	.single-event-body img {
		margin: 10px 0;
	}
	.single-event-body p + figure,
	.single-event-body p + .wp-block-image,
	.single-event-body .wp-block-paragraph + .wp-block-image,
	.single-event-body .wp-block-paragraph + figure {
		margin-top: 20px !important;
	}
	.single-event-body p + figure img,
	.single-event-body p + .wp-block-image img,
	.single-event-body .wp-block-paragraph + .wp-block-image img,
	.single-event-body .wp-block-paragraph + figure img {
		margin-top: 0 !important;
	}
	.single-event-body figure:has(+ p),
	.single-event-body .wp-block-image:has(+ p),
	.single-event-body figure:has(+ .wp-block-paragraph),
	.single-event-body .wp-block-image:has(+ .wp-block-paragraph) {
		margin-bottom: 20px !important;
	}
	.single-event-body figure:has(+ p) img,
	.single-event-body .wp-block-image:has(+ p) img,
	.single-event-body figure:has(+ .wp-block-paragraph) img,
	.single-event-body .wp-block-image:has(+ .wp-block-paragraph) img {
		margin-bottom: 0 !important;
	}
	.single-event-body h2 + figure,
	.single-event-body h3 + figure,
	.single-event-body h4 + figure,
	.single-event-body h2 + .wp-block-image,
	.single-event-body h3 + .wp-block-image,
	.single-event-body h4 + .wp-block-image,
	.single-event-body .wp-block-heading + .wp-block-image,
	.single-event-body .wp-block-heading + figure {
		margin-top: 0 !important;
	}
	.single-event-body h2 + figure img,
	.single-event-body h3 + figure img,
	.single-event-body h4 + figure img,
	.single-event-body h2 + .wp-block-image img,
	.single-event-body h3 + .wp-block-image img,
	.single-event-body h4 + .wp-block-image img,
	.single-event-body .wp-block-heading + .wp-block-image img,
	.single-event-body .wp-block-heading + figure img {
		margin-top: 0 !important;
	}
	.single-event-body figure:has(+ h2),
	.single-event-body figure:has(+ h3),
	.single-event-body figure:has(+ h4),
	.single-event-body figure:has(+ .wp-block-heading),
	.single-event-body .wp-block-image:has(+ h2),
	.single-event-body .wp-block-image:has(+ h3),
	.single-event-body .wp-block-image:has(+ h4),
	.single-event-body .wp-block-image:has(+ .wp-block-heading) {
		margin-bottom: 0 !important;
	}
	.single-event-body figure:has(+ h2) img,
	.single-event-body figure:has(+ h3) img,
	.single-event-body figure:has(+ h4) img,
	.single-event-body figure:has(+ .wp-block-heading) img,
	.single-event-body .wp-block-image:has(+ h2) img,
	.single-event-body .wp-block-image:has(+ h3) img,
	.single-event-body .wp-block-image:has(+ h4) img,
	.single-event-body .wp-block-image:has(+ .wp-block-heading) img {
		margin-bottom: 0 !important;
	}
	.single-event-body figure {
		height: auto;
		max-width: 75%;
	}
	body.single-event--report main.single-event .single-event-inner {
		max-width: 800px !important;
	}
}

/* single-event: 375px */
@media (max-width: 375px) {
	main.single-event .single-event-inner {
		padding: 100px 12px 40px;
	}
	.single-event-eyecatch,
	.single-event-line {
		max-width: 100%;
	}
	.single-event-title {
		font-size: 18px;
		margin: 6px 0 0 0;
	}
	.single-event-date-icon {
		font-size: 11px;
	}
	.single-event-date {
		font-size: 11px;
	}
	.single-event-line {
		margin: 8px 0 56px 0;
	}
	.single-event-schedule-label {
		width: 64px;
		height: 26px;
		margin: 0 12px;
		border-radius: 18px;
	}
	.single-event-schedule-label p {
		font-size: 14px;
	}
	.single-event-schedule-text {
		font-size: 15px;
		padding: 0 12px;
	}
	.single-event-body {
		margin-top: 56px;
	}
	.single-event-body .single-event-spacer {
		margin: 10px 0 !important;
		min-height: 0;
	}
	.single-event-body p + blockquote,
	.single-event-body figure + blockquote,
	.single-event-body .wp-block-image + blockquote {
		margin-top: 25px;
	}
	.single-event-body blockquote + p,
	.single-event-body blockquote + figure,
	.single-event-body blockquote + .wp-block-image {
		margin-top: 25px;
	}
	.single-event-body h2,
	.single-event-body h3,
	.single-event-body h4 {
		margin: 30px 0;
	}
	.single-event-body img {
		margin: 10px 0;
	}
	.single-event-body p + figure,
	.single-event-body p + .wp-block-image,
	.single-event-body .wp-block-paragraph + .wp-block-image,
	.single-event-body .wp-block-paragraph + figure {
		margin-top: 20px !important;
	}
	.single-event-body p + figure img,
	.single-event-body p + .wp-block-image img,
	.single-event-body .wp-block-paragraph + .wp-block-image img,
	.single-event-body .wp-block-paragraph + figure img {
		margin-top: 0 !important;
	}
	.single-event-body figure:has(+ p),
	.single-event-body .wp-block-image:has(+ p),
	.single-event-body figure:has(+ .wp-block-paragraph),
	.single-event-body .wp-block-image:has(+ .wp-block-paragraph) {
		margin-bottom: 20px !important;
	}
	.single-event-body figure:has(+ p) img,
	.single-event-body .wp-block-image:has(+ p) img,
	.single-event-body figure:has(+ .wp-block-paragraph) img,
	.single-event-body .wp-block-image:has(+ .wp-block-paragraph) img {
		margin-bottom: 0 !important;
	}
	.single-event-body h2 + figure,
	.single-event-body h3 + figure,
	.single-event-body h4 + figure,
	.single-event-body h2 + .wp-block-image,
	.single-event-body h3 + .wp-block-image,
	.single-event-body h4 + .wp-block-image,
	.single-event-body .wp-block-heading + .wp-block-image,
	.single-event-body .wp-block-heading + figure {
		margin-top: 0 !important;
	}
	.single-event-body h2 + figure img,
	.single-event-body h3 + figure img,
	.single-event-body h4 + figure img,
	.single-event-body h2 + .wp-block-image img,
	.single-event-body h3 + .wp-block-image img,
	.single-event-body h4 + .wp-block-image img,
	.single-event-body .wp-block-heading + .wp-block-image img,
	.single-event-body .wp-block-heading + figure img {
		margin-top: 0 !important;
	}
	.single-event-body figure:has(+ h2),
	.single-event-body figure:has(+ h3),
	.single-event-body figure:has(+ h4),
	.single-event-body figure:has(+ .wp-block-heading),
	.single-event-body .wp-block-image:has(+ h2),
	.single-event-body .wp-block-image:has(+ h3),
	.single-event-body .wp-block-image:has(+ h4),
	.single-event-body .wp-block-image:has(+ .wp-block-heading) {
		margin-bottom: 0 !important;
	}
	.single-event-body figure:has(+ h2) img,
	.single-event-body figure:has(+ h3) img,
	.single-event-body figure:has(+ h4) img,
	.single-event-body figure:has(+ .wp-block-heading) img,
	.single-event-body .wp-block-image:has(+ h2) img,
	.single-event-body .wp-block-image:has(+ h3) img,
	.single-event-body .wp-block-image:has(+ h4) img,
	.single-event-body .wp-block-image:has(+ .wp-block-heading) img {
		margin-bottom: 0 !important;
	}
	.single-event-body figure {
		height: auto;
		max-width: 75%;
	}
	body.single-event--report main.single-event .single-event-inner {
		max-width: 800px !important;
	}
}

/* single-event: 320px */
@media (max-width: 320px) {
	main.single-event .single-event-inner {
		padding: 100px 10px 36px;
	}
	.single-event-eyecatch,
	.single-event-line {
		max-width: 100%;
	}
	.single-event-title {
		font-size: 16px;
		margin: 4px 0 0 0;
	}
	.single-event-date-wrap {
		margin-top: 8px;
	}
	.single-event-date-icon {
		font-size: 11px;
	}
	.single-event-date {
		font-size: 11px;
	}
	.single-event-line {
		margin: 8px 0 56px 0;
	}
	.single-event-schedule {
		margin: 0 0 6px 0;
		padding: 6px 0;
	}
	.single-event-schedule-label {
		width: 60px;
		height: 24px;
		margin: 0 10px;
		border-radius: 16px;
	}
	.single-event-schedule-label p {
		font-size: 14px;
	}
	.single-event-schedule-text {
		font-size: 14px;
		padding: 0 10px;
	}
	.single-event-body {
		margin-top: 56px;
	}
	.single-event-body .single-event-spacer {
		margin: 10px 0 !important;
		min-height: 0;
	}
	.single-event-body p + blockquote,
	.single-event-body figure + blockquote,
	.single-event-body .wp-block-image + blockquote {
		margin-top: 25px;
	}
	.single-event-body blockquote + p,
	.single-event-body blockquote + figure,
	.single-event-body blockquote + .wp-block-image {
		margin-top: 25px;
	}
	.single-event-body h2,
	.single-event-body h3,
	.single-event-body h4 {
		margin: 30px 0;
	}
	.single-event-body img {
		margin: 10px 0;
	}
	.single-event-body p + figure,
	.single-event-body p + .wp-block-image,
	.single-event-body .wp-block-paragraph + .wp-block-image,
	.single-event-body .wp-block-paragraph + figure {
		margin-top: 20px !important;
	}
	.single-event-body p + figure img,
	.single-event-body p + .wp-block-image img,
	.single-event-body .wp-block-paragraph + .wp-block-image img,
	.single-event-body .wp-block-paragraph + figure img {
		margin-top: 0 !important;
	}
	.single-event-body figure:has(+ p),
	.single-event-body .wp-block-image:has(+ p),
	.single-event-body figure:has(+ .wp-block-paragraph),
	.single-event-body .wp-block-image:has(+ .wp-block-paragraph) {
		margin-bottom: 20px !important;
	}
	.single-event-body figure:has(+ p) img,
	.single-event-body .wp-block-image:has(+ p) img,
	.single-event-body figure:has(+ .wp-block-paragraph) img,
	.single-event-body .wp-block-image:has(+ .wp-block-paragraph) img {
		margin-bottom: 0 !important;
	}
	.single-event-body h2 + figure,
	.single-event-body h3 + figure,
	.single-event-body h4 + figure,
	.single-event-body h2 + .wp-block-image,
	.single-event-body h3 + .wp-block-image,
	.single-event-body h4 + .wp-block-image,
	.single-event-body .wp-block-heading + .wp-block-image,
	.single-event-body .wp-block-heading + figure {
		margin-top: 0 !important;
	}
	.single-event-body h2 + figure img,
	.single-event-body h3 + figure img,
	.single-event-body h4 + figure img,
	.single-event-body h2 + .wp-block-image img,
	.single-event-body h3 + .wp-block-image img,
	.single-event-body h4 + .wp-block-image img,
	.single-event-body .wp-block-heading + .wp-block-image img,
	.single-event-body .wp-block-heading + figure img {
		margin-top: 0 !important;
	}
	.single-event-body figure:has(+ h2),
	.single-event-body figure:has(+ h3),
	.single-event-body figure:has(+ h4),
	.single-event-body figure:has(+ .wp-block-heading),
	.single-event-body .wp-block-image:has(+ h2),
	.single-event-body .wp-block-image:has(+ h3),
	.single-event-body .wp-block-image:has(+ h4),
	.single-event-body .wp-block-image:has(+ .wp-block-heading) {
		margin-bottom: 0 !important;
	}
	.single-event-body figure:has(+ h2) img,
	.single-event-body figure:has(+ h3) img,
	.single-event-body figure:has(+ h4) img,
	.single-event-body figure:has(+ .wp-block-heading) img,
	.single-event-body .wp-block-image:has(+ h2) img,
	.single-event-body .wp-block-image:has(+ h3) img,
	.single-event-body .wp-block-image:has(+ h4) img,
	.single-event-body .wp-block-image:has(+ .wp-block-heading) img {
		margin-bottom: 0 !important;
	}
	.single-event-body figure {
		height: auto;
		max-width: 75%;
	}
	body.single-event--report main.single-event .single-event-inner {
		max-width: 800px !important;
	}
}

/* ==========================================================================
   archive-event：一覧カードレイアウト最終統一（event-info / event-report）
   - 769px以上：2カラム
   - 768px以下：1カラム
   - 固定px幅（!important含む）を width:100% ベースへ統一
   ========================================================================== */

body.post-type-archive-event .event-info-content,
body.post-type-archive-event .event-report-content {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: clamp(20px, 3vw, 32px) !important;
	width: 100% !important;
	max-width: 100% !important;
	align-items: start !important;
}

body.post-type-archive-event .event-info-card,
body.post-type-archive-event .event-report-card {
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
	box-sizing: border-box !important;
}

body.post-type-archive-event .event-info-card:nth-child(2n),
body.post-type-archive-event .event-report-card:nth-child(2n) {
	margin-left: 0 !important;
}

body.post-type-archive-event .event-info-image-link,
body.post-type-archive-event .event-info-image,
body.post-type-archive-event .event-info-post-content,
body.post-type-archive-event .event-info-title-text,
body.post-type-archive-event .event-report-image-link,
body.post-type-archive-event .event-report-image,
body.post-type-archive-event .event-report-post-content {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
}

body.post-type-archive-event .event-info-image,
body.post-type-archive-event .event-report-image {
	height: auto !important;
	aspect-ratio: 16 / 10 !important;
	overflow: hidden;
	background-color: #f0f0f0;
}

body.post-type-archive-event .event-info-image__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

body.post-type-archive-event .event-report-image__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

body.post-type-archive-event .event-info-title-text::after,
body.post-type-archive-event .event-report-meta::after {
	width: 100% !important;
	max-width: 100% !important;
}

body.post-type-archive-event .event-info-title-text .event-info-title-link,
body.post-type-archive-event .event-report-title-link {
	max-width: 100% !important;
	overflow-wrap: anywhere;
	word-break: break-word;
}

body.post-type-archive-event .event-info-badges-wrapper,
body.post-type-archive-event .event-report-categories {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
}

@media (max-width: 768px) {
	body.post-type-archive-event .event-info-content,
	body.post-type-archive-event .event-report-content {
		grid-template-columns: 1fr !important;
		gap: 24px !important;
	}
}

.wp-block-image figcaption {
	font-size: 14px;
	line-height: 1.6;
}
@media (max-width: 840px) {
	.wp-block-image figcaption {
		font-size: 13px;
	}
}
@media (max-width: 425px) {
	.wp-block-image figcaption {
		font-size: 12px;
	}
}
