@charset "utf-8";

/* ============================
	entry（お知らせ詳細）
	★2026-09-10 改変：bohrの構成（本文68% + サイドバー32%、前後ナビ）は
	　そのまま維持し、配色・フォント・余白のみサイトのデザインに合わせて調整。
	　色・サイズは tokens.css の変数を参照し、直値を書かない。
============================ */

/* ============================
	single post
============================ */
.entry-inner {
	padding: var(--pad-sec) 0;
}

/* article */
#entry-article {
	box-sizing: border-box;
	border-right: 1px solid var(--c-border);
	width: 68%;
	padding: 0 40px 0 0;
}

#entry-article .post-meta {
	padding: 0 0 24px;
	border-bottom: 1px solid var(--c-border);
}

#entry-article .post-date {
	width: auto;
	min-width: 0;
	font-family: var(--f-base);
	font-size: var(--fs-18);
	font-weight: 500;
	line-height: var(--lh-heading);
	letter-spacing: var(--ls-btn);
	color: var(--c-text-sub);
}

#entry-article .post-date::before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 1px;
	margin: 0 10px 0 0;
	vertical-align: middle;
	background: var(--c-primary);
}

#entry-article .post-ttl {
	margin: 10px 0 0;
	font-family: var(--f-base);
	font-size: var(--fs-30);
	font-weight: 700;
	line-height: var(--lh-heading);
	letter-spacing: var(--ls-h2-narrow);
	color: var(--c-ink);
}

#entry-article .post-cats {
	margin: 16px 0 0;
}

@media screen and (max-width: 767px) {
	#entry-article {
		border-right: none;
		width: 100%;
		padding: 0;
	}
}

/* カテゴリのチップ */
.post-cat {
	background-color: var(--c-primary);
	border-radius: var(--r-pill);
	font-family: var(--f-base);
	font-size: var(--fs-12);
	font-weight: 500;
	line-height: var(--lh-heading);
	padding: 4px 16px;
	width: auto;
}

.post-cat:hover {
	background-color: var(--c-primary-hover);
	opacity: 1;
}

/* sidebar */
#entry-sidebar {
	box-sizing: border-box;
	width: 32%;
	padding: 0 0 0 40px;
}

#entry-sidebar .sidebar-head {
	margin: 0;
	padding: 0 0 12px;
	border-bottom: 2px solid var(--c-primary);
	font-family: var(--f-base);
	font-size: var(--fs-20);
	font-weight: 700;
	line-height: var(--lh-heading);
	color: var(--c-ink);
}

#entry-sidebar .sidebar-cont {
	margin-top: 20px;
	font-size: var(--fs-15);
	line-height: var(--lh-heading);
	color: var(--c-text);
}

#entry-sidebar .sidebar-cont a:hover {
	color: var(--c-primary);
	opacity: 1;
}

#entry-sidebar .sidebar-cont li + li {
	margin-top: 12px;
}

.sidebar-news-item + .sidebar-news-item {
	margin: 20px 0 0;
	padding: 20px 0 0;
	border-top: 1px solid var(--c-border);
}

.sidebar-news-item .sidebar-news-body .post-ttl {
	line-height: var(--lh-heading);
	font-size: var(--fs-14);
	font-weight: 500;
	color: var(--c-text);
	margin: 0;
}

@media screen and (max-width: 767px) {
	#entry-sidebar {
		width: 100%;
		padding: 0;
		margin: 50px 0 0;
	}
	.sidebar-news-item .sidebar-news-body {
		width: 220px;
	}
}

/* page nav */
#nav-below {
	margin-top: 60px;
	padding-top: 30px;
	border-top: 1px solid var(--c-border);
	font-size: var(--fs-15);
	color: var(--c-text-sub);
}

#nav-below .nav-box {
	box-sizing: border-box;
	width: 50%;
}

#nav-below .nav-box a:hover {
	color: var(--c-primary);
	opacity: 1;
}

#nav-below .nav-box p {
	margin: 0;
}

#nav-below .prev-news {
	padding-right: 10px;
}

#nav-below .next-news {
	padding-left: 10px;
	border-left: 1px solid var(--c-border);
	text-align: right;
}

@media screen and (max-width: 767px) {
	#nav-below .nav-box {
		width: 100%;
	}

	#nav-below .prev-news {
		padding: 0;
	}

	#nav-below .next-news {
		border-left: none;
		padding: 20px 0 0;
		text-align: left;
	}
}

/* ============================
	entry-content
	固定ページ（page.css）と同じ体裁に揃えている。
============================ */
.entry-thumb {
	margin-top: 40px;
}

.entry-thumb img {
	height: 388px;
	width: 100%;
	border-radius: var(--r-s);
}

.entry-content {
	margin-top: 40px;
	font-family: var(--f-body);
	font-size: var(--fs-17);
	line-height: var(--lh-body);
	color: var(--c-text);
}

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

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

.entry-content p {
	margin: 1.8em 0;
}

.entry-content p.mb35rem {
	margin-bottom: 3.5rem;
}

.entry-content hr {
	margin: 3em 0;
	border: none;
	border-top: 1px solid var(--c-border);
	height: 0;
	line-height: 0;
	background: none;
	padding: 0;
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4 {
	font-family: var(--f-base);
	font-weight: 700;
	line-height: var(--lh-heading);
	color: var(--c-ink);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.entry-content h1 {
	font-size: var(--fs-36);
	margin: 2.5em 0 1em;
}

.entry-content h2 {
	font-size: var(--fs-30);
	letter-spacing: var(--ls-h2-narrow);
	margin: 2.5em 0 1em;
	padding: 0 0 14px;
	border-bottom: 2px solid var(--c-primary);
}

.entry-content h3 {
	box-sizing: border-box;
	position: relative;
	font-size: var(--fs-22);
	margin: 2.2em 0 1em;
	padding: 0 0 0 16px;
	background-color: transparent;
}

.entry-content h3::before {
	content: "";
	position: absolute;
	top: 0.25em;
	left: 0;
	width: 4px;
	height: 1.1em;
	background: var(--c-primary);
}

.entry-content h4 {
	font-size: var(--fs-20);
	padding: 0;
	border-left: none;
	margin: 2em 0 0.8em;
}

.entry-content h4.noborder {
	border: none;
	content: none;
	padding-bottom: 0;
}

.entry-content h4.noborder::after,
.entry-content .infobox h4::after {
	content: none;
}

.entry-content span.red {
	color: var(--c-primary);
}

.entry-content span.bold {
	font-weight: 700;
	color: var(--c-ink);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.entry-content span.underline {
	text-decoration: underline;
	color: var(--c-ink);
	font-weight: 700;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.entry-content span.marker {
	background: linear-gradient(transparent 60%, var(--c-primary-pale) 60%);
	color: var(--c-ink);
	font-weight: 700;
	padding: 3px 0 4px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.entry-content blockquote {
	color: var(--c-text-sub);
	font-size: var(--fs-17);
	font-weight: 400;
	margin: 2em 0;
	padding: 20px 24px;
	border: none;
	border-left: 4px solid var(--c-border);
	background: var(--c-bg-light);
	position: relative;
	line-height: var(--lh-body);
}

.entry-content blockquote p {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	margin: 1em 0;
}

.entry-content blockquote small,
.entry-content blockquote small a {
	font-weight: 400;
	font-size: var(--fs-12);
	color: var(--c-text-sub);
}

.entry-content blockquote cite {
	font-size: var(--fs-12);
}

.instagram-media {
	max-width: 520px !important;
}

.twitter-tweet {
	width: 520px !important;
}

.entry-content blockquote.wp-embedded-content,
.entry-content blockquote.instagram-media,
.entry-content blockquote.twitter-tweet {
	border: 1px solid var(--c-border);
	background: none;
	box-sizing: border-box;
}

.entry-content blockquote.wp-embedded-content::after,
.entry-content blockquote.wp-embedded-content::before,
.entry-content blockquote.instagram-media::after,
.entry-content blockquote.instagram-media::before,
.entry-content blockquote.instagram-media-registered::after,
.entry-content blockquote.instagram-media-registered::before,
.entry-content blockquote.twitter-tweet::after,
.entry-content blockquote.twitter-tweet::before {
	display: none !important;
}

.entry-content iframe.wp-embedded-content {
	width: 100% !important;
}

.entry-content .instagram-media {
	margin: 3.5rem 0 !important;
}

.entry-content .infobox {
	background: var(--c-bg-light);
	margin: 2em 0;
	padding: 20px 24px;
	line-height: var(--lh-body);
}

.entry-content .infobox h4 {
	margin: 0 0 12px;
	font-size: var(--fs-18);
	padding: 0;
	border: none;
}

.entry-content .infobox p {
	margin: 1em 0;
	font-size: var(--fs-15);
}

.entry-content .ytsl-wrapper {
	margin: 3em 0;
}

.entry-content .ytsl-wrapper img {
	display: none !important;
}

.entry-content img {
	height: auto !important;
}

.entry-content .imagebox br {
	display: none;
}

.entry-content .imagebox small,
.entry-content .imagebox small a {
	font-weight: 400;
	font-size: var(--fs-12);
	color: var(--c-text-sub);
}

.entry-content ul,
.entry-content ol {
	text-align: left;
	margin: 1.8em 0;
	padding: 0;
}

.entry-content li {
	position: relative;
	margin: 0.4em 0;
	padding-left: 20px;
}

.entry-content li:before {
	position: absolute;
	content: "";
	top: 0.7em;
	left: 0;
	width: 8px;
	height: 8px;
	margin: auto;
	background: var(--c-primary);
	border-radius: 50%;
}

.entry-content ol {
	counter-reset: my-ol;
}

.entry-content ol > li {
	padding-left: 28px;
	counter-increment: my-ol;
}

.entry-content ol > li:before {
	content: counter(my-ol) ".";
	top: 0;
	width: auto;
	height: auto;
	background: none;
	border-radius: 0;
	font-family: var(--f-en);
	color: var(--c-primary);
}

.entry-content a {
	color: var(--c-primary);
	text-decoration: underline;
}

.entry-content a:hover {
	color: var(--c-primary-hover);
}

.entry-content .wp-block-file a {
	vertical-align: middle;
}

.entry-content table {
	margin: 1.8em 0;
	border-top: 1px solid var(--c-border);
	border-left: 1px solid var(--c-border);
}

.entry-content th,
.entry-content td {
	padding: 14px 16px;
	border-right: 1px solid var(--c-border);
	border-bottom: 1px solid var(--c-border);
	font-size: var(--fs-17);
	line-height: var(--lh-heading);
	text-align: left;
	vertical-align: top;
}

.entry-content th {
	background: var(--c-bg-light);
	font-weight: 700;
	color: var(--c-ink);
}

.entry-content .wp-caption {
	box-sizing: border-box;
	max-width: 100% !important;
	margin: 2em 0;
	padding: 10px;
	line-height: var(--lh-heading);
	background: var(--c-bg-light);
	text-align: center;
}

.entry-content .wp-caption img {
	margin: 0;
	max-width: 100%;
}

.entry-content .wp-caption p.wp-caption-text {
	color: var(--c-text-sub);
	font-size: var(--fs-14);
	margin: 10px 0 0 0;
}

@media screen and (max-width: 767px) {
	.entry-thumb img {
		height: auto;
		aspect-ratio: 16 / 9;
	}

	.entry-content th,
	.entry-content td {
		padding: 10px 12px;
	}

	.entry-content table {
		display: block;
		overflow-x: auto;
	}
}
