@charset "UTF-8";

/****************************************************
 * 投稿ページ
 ****************************************************/

body.single-post {
	background: #f7faf8;
	color: #1b2533;
	font-family: "Noto Sans JP", sans-serif;
}

body.single-post #content {
	background:
		linear-gradient(90deg, rgba(21, 126, 103, 0.04) 0, rgba(21, 126, 103, 0) 34%),
		#f7faf8;
	margin-top: 0;
	padding: 46px 16px 64px;
}

body.single-post #content-in.content-in {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: 44px;
	width: 100%;
	max-width: 1240px;
	margin: 0 auto;
}

body.single-post #main.main {
	flex: 1 1 0;
	max-width: 760px;
	margin: 0;
	padding: 46px 48px 52px;
	background: #fff;
	border: 1px solid #e1e9e6;
	border-radius: 8px;
	box-shadow: 0 16px 34px rgba(18, 67, 55, 0.07);
}

body.single-post #sidebar.sidebar {
	flex: 0 0 340px;
	width: 340px;
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
}

body.single-post #sidebar-scroll {
	position: sticky;
	top: 96px;
}

body.single-post .article {
	background: transparent;
}

body.single-post .breadcrumbs,
body.single-post .breadcrumb {
	margin: 0 0 34px;
	color: #6d7e78;
	font-size: 13px;
}

body.single-post .breadcrumbs a,
body.single-post .breadcrumb a {
	color: #157e67;
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.single-post .cat-link,
body.single-post .tag-link,
body.single-post .cat-label {
	display: inline-flex;
	align-items: center;
	border: 0;
	border-radius: 999px;
	background: #0f806b;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	padding: 8px 13px;
}

body.single-post .entry-title {
	margin: 0;
	color: #182233;
	font-size: clamp(24px, 2.3vw, 32px);
	font-weight: 800;
	line-height: 1.42;
	letter-spacing: 0;
}

body.single-post .date-tags,
body.single-post .post-date,
body.single-post .post-update {
	color: #5f6f6a;
	font-size: 13px;
}

body.single-post .article-header .eye-catch {
	margin: 30px 0 22px;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 18px 34px rgba(18, 67, 55, 0.12);
}

body.single-post .article-header .eye-catch img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

body.single-post .entry-content {
	color: #26323f;
	font-size: 16px;
	line-height: 2;
}

body.single-post .entry-content > p {
	margin: 0 0 2em;
}

body.single-post .entry-content a {
	color: #1A80DA;
	font-weight: 700;
	text-decoration: none;
}

body.single-post .entry-content a.buttonCTA-text,
body.single-post .entry-content a.buttonCTA-text:hover,
body.single-post .entry-content a.buttonCTA2-leftButton,
body.single-post .entry-content a.buttonCTA2-leftButton:hover {
	color: #fff;
}

body.single-post .entry-content h2,
body.single-post .entry-content h3,
body.single-post .entry-content h4 {
	color: #182233;
	letter-spacing: 0;
}

body.single-post .entry-content h2 {
	position: relative;
	margin: 58px 0 22px;
	padding: 0 0 0 18px;
	border: 0;
	background: transparent;
	font-size: 26px;
	font-weight: 800;
	line-height: 1.45;
}

body.single-post .entry-content h2::before {
	content: "";
	position: absolute;
	top: 0.22em;
	bottom: 0.2em;
	left: 0;
	width: 5px;
	border-radius: 999px;
	background: linear-gradient(180deg, #15a383, #0f806b);
}

body.single-post .entry-content h2::after {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	margin-top: 16px;
	background: linear-gradient(90deg, rgba(15, 128, 107, 0.24), rgba(15, 128, 107, 0));
}

body.single-post .entry-content h3 {
	margin: 38px 0 16px;
	padding: 0 0 0 16px;
	border: 0;
	border-left: 4px solid #15a383;
	background: transparent;
	font-size: 21px;
	font-weight: 800;
	line-height: 1.55;
}

body.single-post .entry-content h3::before,
body.single-post .entry-content h4::before {
	content: none;
}

body.single-post .entry-content h4 {
	margin: 30px 0 12px;
	color: #0f806b;
	font-size: 18px;
	font-weight: 800;
}

body.single-post .toc,
body.single-post .toc-content,
body.single-post .blank-box,
body.single-post .information-box,
body.single-post .question-box,
body.single-post .alert-box,
body.single-post .memo-box,
body.single-post .comment-box,
body.single-post .common-icon-box {
	border-radius: 8px;
}

body.single-post .toc {
	width: 100%;
	margin: 34px 0 34px;
	padding: 24px 28px;
	border: 1px solid #dce8e4;
	background: #f7f9fb;
	box-shadow: 0 14px 32px rgba(18, 67, 55, 0.07);
	box-sizing: border-box;
}

body.single-post .toc-title {
	color: #182233;
	font-size: 16px;
	font-weight: 800;
	text-align: left;
}

body.single-post .toc-title::after,
body.single-post .toc-checkbox:checked + .toc-title::after {
	color: #7a8782;
}

body.single-post .toc-list {
	margin-top: 12px;
}

body.single-post .toc .toc-list > li > ol {
	list-style: none;
	padding-left: 0;
}

body.single-post .toc .toc-list > li > ol > li::before {
	margin-right: 6px;
	counter-increment: none;
	content: "-";
	color: #7a8782;
}

body.single-post .toc a {
	color: #0f806b;
	font-weight: 800;
	text-decoration: none;
	transition: all .3s;
}

body.single-post .toc a:hover {
	color: #19b794;
	text-decoration: none;
}

body.single-post .entry-content table {
	width: 100%;
	margin: 22px 0;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	border: 1px solid #d9e4e1;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 10px 24px rgba(18, 67, 55, 0.05);
}

body.single-post .entry-content th,
body.single-post .entry-content td {
	border: 0;
	border-bottom: 1px solid #d9e4e1;
	padding: 14px 16px;
}

body.single-post .entry-content tr:last-child th,
body.single-post .entry-content tr:last-child td {
	border-bottom: 0;
}

body.single-post .entry-content th {
	background: #f1f7f5 !important;
	color: #182233;
	font-weight: 800;
}

body.single-post .entry-content ul,
body.single-post .entry-content ol {
	margin: 0 0 24px;
	padding-left: 1.35em;
}

body.single-post .entry-content li {
	margin-bottom: 0.55em;
}

body.single-post .toc li {
	margin: 0;
	padding: 5px 0;
}

body.single-post .toc .toc-list > li > ol {
	margin-top: 6px;
}

body.single-post .entry-content ul li::marker {
	color: #0f806b;
}

body.single-post .entry-content ol li::marker {
	color: #0f806b;
	font-weight: 800;
}

body.single-post .blank-box,
body.single-post .information-box,
body.single-post .memo-box {
	border: 1px solid #f0dfb9;
	background: linear-gradient(90deg, #fff8e8, #fffdf7);
	box-shadow: none;
}

body.single-post .button-block,
body.single-post .btn-wrap {
	margin: 30px 0;
	text-align: center;
}

body.single-post .btn,
body.single-post .btn-wrap a,
body.single-post .button-block a {
	border-radius: 999px;
	background: linear-gradient(145deg, #15a383, #0f806b);
	color: #fff;
	font-weight: 800;
	box-shadow: 0 12px 22px rgba(15, 128, 107, 0.22);
}

body.single-post .under-entry-content {
	margin-top: 44px;
}

body.single-post .related-entry-heading,
body.single-post .related-list h2,
body.single-post .comment-title,
body.single-post .pager-post-navi {
	color: #182233;
}

body.single-post #related-entries {
	margin-top: 50px;
}

body.single-post .related-entry-heading {
	margin: 0 0 20px;
	padding: 0;
	border: 0;
	background: transparent;
	font-size: 24px;
	font-weight: 800;
	line-height: 1.4;
}

body.single-post .related-entry-heading::before,
body.single-post .related-entry-heading::after {
	content: none;
}

body.single-post .related-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
	margin: 0;
}

body.single-post .related-entry-card-wrap {
	border: 1px solid #e4ebe8;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 12px 26px rgba(18, 67, 55, 0.06);
	overflow: hidden;
	padding: 0;
	color: #182233;
	text-decoration: none;
	transition: all .3s;
}

body.single-post .related-entry-card-wrap:hover {
	border-color: rgba(15, 128, 107, 0.32);
	box-shadow: 0 16px 30px rgba(18, 67, 55, 0.12);
	transform: translateY(-2px);
}

body.single-post .related-entry-card {
	display: flex;
	flex-direction: column;
	height: 100%;
}

body.single-post .related-entry-card-thumb {
	float: none;
	width: 100%;
	margin: 0;
	overflow: hidden;
	background: #eef4f2;
}

body.single-post .related-entry-card-thumb img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	transition: all .3s;
}

body.single-post .related-entry-card-wrap:hover .related-entry-card-thumb img {
	transform: scale(1.04);
}

body.single-post .related-entry-card-content {
	display: flex;
	flex-direction: column;
	gap: 12px;
	flex: 1;
	margin: 0;
	padding: 18px 20px 20px;
}

body.single-post .related-entry-card-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

body.single-post .related-entry-card-categorys {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 6px;
	width: fit-content;
	min-width: 0;
	border: 1px solid #0f806b;
	border-radius: 999px;
	background: #fff;
	color: #0f806b;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.3;
	padding: 1px 7px;
}

body.single-post .related-entry-card-categorys .cat-link,
body.single-post .related-entry-card-categorys .cat-label {
	border: 0;
	background: transparent;
	color: inherit;
	font-size: inherit;
	padding: 0;
}

body.single-post .related-entry-card .post-date {
	flex: 0 0 auto;
	color: #7a8782;
	font-size: 12px;
	font-weight: 600;
	white-space: nowrap;
}

body.single-post .related-entry-card-title {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: #182233;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.75;
	letter-spacing: 0;
}

body.single-post .related-entry-card-title::before,
body.single-post .related-entry-card-title::after {
	content: none;
}

body.single-post .related-archive-link-wrap {
	margin-top: 28px;
	text-align: center;
}

body.single-post .related-archive-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: #0f806b;
	font-size: 16px;
	font-weight: 800;
	text-decoration: none;
	transition: all .3s;
}

body.single-post .related-archive-link::before {
	content: "«";
	font-size: 18px;
	line-height: 1;
}

body.single-post .related-archive-link:hover {
	color: #19b794;
}

body.single-post #sidebar .widget {
	margin: 0 0 28px;
	padding: 28px;
	border: 1px solid #e1e9e6;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 14px 32px rgba(18, 67, 55, 0.08);
}

body.single-post #sidebar.article-sidebar {
	display: flex;
	flex-direction: column;
	gap: 28px;
}

body.single-post .article-sidebar__block {
	margin: 0;
	padding: 28px;
	border: 1px solid #e1e9e6;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 14px 32px rgba(18, 67, 55, 0.08);
}

body.single-post .article-sidebar__title {
	position: relative;
	margin: 0 0 18px;
	padding: 0 0 14px;
	border: 0;
	background: transparent;
	color: #0f806b;
	font-size: 20px;
	font-weight: 800;
	line-height: 1.4;
}

body.single-post .article-sidebar__title::before {
	content: none;
}

body.single-post .article-sidebar__title::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 1px;
	background: linear-gradient(90deg, rgba(15, 128, 107, 0.24), rgba(15, 128, 107, 0));
}

body.single-post .article-sidebar__cta {
	padding: 0;
	overflow: hidden;
	background: #fff;
}

body.single-post .article-sidebar__ctaImageLink {
	display: block;
	transition: all .3s;
}

body.single-post .article-sidebar__ctaImageLink:hover {
	opacity: .84;
}

body.single-post .article-sidebar__cta img {
	display: block;
	width: 100%;
	border-radius: 8px;
}

body.single-post .article-sidebar__ctaButton,
body.single-post .article-sidebar__guideButton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 24px;
	border-radius: 7px;
	background: linear-gradient(145deg, #ff7b36, #ff6429);
	color: #fff;
	font-size: 14px;
	font-weight: 800;
	text-decoration: none;
	transition: all .3s;
}

body.single-post .article-sidebar__ctaButton {
	display: flex;
	width: calc(100% - 56px);
	margin: 0 auto 22px;
}

body.single-post .article-sidebar__ctaButton:hover,
body.single-post .article-sidebar__guideButton:hover {
	color: #fff;
	opacity: .84;
}

body.single-post .article-sidebar__serviceList {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.single-post .article-sidebar__serviceList li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 15px 0;
	border-bottom: 1px solid #edf2f0;
	color: #26323f;
	font-size: 14px;
	font-weight: 700;
}

body.single-post .article-sidebar__serviceList li:first-child {
	padding-top: 0;
}

body.single-post .article-sidebar__serviceList li:last-child {
	border-bottom: 0;
}

body.single-post .article-sidebar__serviceList strong {
	color: #182233;
	font-size: 13px;
	white-space: nowrap;
}

body.single-post .article-sidebar__textLink {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 18px;
	color: #0f806b;
	font-size: 14px;
	font-weight: 800;
	text-decoration: none;
	transition: all .3s;
}

body.single-post .article-sidebar__textLink:hover {
	color: #19b794;
}

body.single-post .article-sidebar__postList {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: article-sidebar-post;
}

body.single-post .article-sidebar__postList li {
	counter-increment: article-sidebar-post;
	border-bottom: 1px solid #edf2f0;
}

body.single-post .article-sidebar__postList li:last-child {
	border-bottom: 0;
}

body.single-post .article-sidebar__postList a {
	position: relative;
	display: grid;
	grid-template-columns: 84px 1fr;
	gap: 12px;
	align-items: center;
	padding: 14px 0 14px 28px;
	color: #26323f;
	text-decoration: none;
}

body.single-post .article-sidebar__postList a::before {
	content: counter(article-sidebar-post);
	position: absolute;
	top: 16px;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border-radius: 3px;
	background: #72b73f;
	color: #fff;
	font-size: 12px;
	font-weight: 800;
}

body.single-post .article-sidebar__postThumb {
	display: block;
	overflow: hidden;
	border-radius: 6px;
	background: #eef4f2;
}

body.single-post .article-sidebar__postThumb img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

body.single-post .article-sidebar__postTitle {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.6;
}

body.single-post .article-sidebar__guide {
	background: linear-gradient(135deg, #f4fbf7, #fffaf0);
}

body.single-post .article-sidebar__guideLead {
	margin: 0 0 10px;
	color: #0f806b;
	font-size: 13px;
	font-weight: 800;
}

body.single-post .article-sidebar__guideTitle {
	margin: 0 0 12px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #0f806b;
	font-size: 22px;
	font-weight: 800;
	line-height: 1.5;
}

body.single-post .article-sidebar__guideTitle::before,
body.single-post .article-sidebar__guideTitle::after {
	content: none;
}

body.single-post .article-sidebar__guideText {
	margin: 0 0 18px;
	color: #26323f;
	font-size: 13px;
	line-height: 1.8;
}

body.single-post .article-sidebar__guideButton {
	background: linear-gradient(145deg, #0f9276 0%, #08705c 100%);
}

body.single-post #sidebar .widget-title,
body.single-post #sidebar h2,
body.single-post #sidebar h3 {
	position: relative;
	margin: 0 0 18px;
	padding: 0 0 14px;
	border: 0;
	background: transparent;
	color: #0f806b;
	font-size: 20px;
	font-weight: 800;
	line-height: 1.4;
}

body.single-post #sidebar .widget-title::before,
body.single-post #sidebar h2::before,
body.single-post #sidebar h3::before {
	content: none;
}

body.single-post #sidebar .widget-title::after,
body.single-post #sidebar h2::after,
body.single-post #sidebar h3::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 1px;
	background: linear-gradient(90deg, rgba(15, 128, 107, 0.24), rgba(15, 128, 107, 0));
}

body.single-post #sidebar ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.single-post #sidebar li {
	border-bottom: 1px solid #edf2f0;
}

body.single-post #sidebar li:last-child {
	border-bottom: 0;
}

body.single-post #sidebar li a {
	position: relative;
	display: block;
	padding: 13px 0 13px 18px;
	color: #26323f;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.65;
	text-decoration: none;
}

body.single-post #sidebar li a::before {
	content: "";
	position: absolute;
	top: 1.45em;
	left: 0;
	width: 7px;
	height: 7px;
	border-top: 2px solid #0f806b;
	border-right: 2px solid #0f806b;
	transform: rotate(45deg);
}

body.single-post #sidebar li a:hover {
	color: #0f806b;
}

body.single-post #sidebar .categoryAccordion li {
	border-bottom: 0;
}

body.single-post #sidebar .categoryAccordion .cat-header {
	padding: 0;
	border-bottom: 1px solid #edf2f0;
	background: transparent;
}

body.single-post #sidebar .categoryAccordion .cat-header a {
	display: flex;
	align-items: center;
	min-height: 48px;
	padding: 10px 12px 10px 18px;
}

body.single-post #sidebar .categoryAccordion .children {
	padding-left: 1em;
}

body.single-post #sidebar .categoryAccordion .children .cat-header a {
	min-height: 40px;
	font-size: 13px;
	font-weight: 600;
}

body.single-post #sidebar .categoryAccordion .sidebarCategory-toggle {
	flex: 0 0 28px;
	width: 28px;
	height: 28px;
	border-color: #dce8e4;
	background: #f4faf7;
	color: #0f806b;
}

body.single-post #sidebar img {
	border-radius: 8px;
}

body.single-post #sidebar .search-box {
	border: 1px solid #dbe6e2;
	border-radius: 999px;
	background: #fff;
	overflow: hidden;
}

body.single-post #sidebar .search-edit {
	border: 0;
	background: transparent;
}

body.single-post #sidebar .search-submit {
	background: #0f806b;
	color: #fff;
}

@media screen and (max-width: 1023px) {
	body.single-post #content {
		padding: 32px 14px 48px;
	}

	body.single-post #content-in.content-in {
		display: block;
		max-width: 760px;
	}

	body.single-post #main.main,
	body.single-post #sidebar.sidebar {
		width: 100%;
		max-width: none;
	}

	body.single-post #main.main {
		padding: 36px 32px 42px;
	}

	body.single-post .related-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.single-post #sidebar.sidebar {
		margin-top: 46px;
	}

	body.single-post #sidebar-scroll {
		position: static;
	}
}

@media screen and (max-width: 600px) {
	body.single-post #content {
		padding: 24px 12px 42px;
	}

	body.single-post .entry-title {
		margin: 0;
		font-size: 22px;
	}

	body.single-post #main.main {
		padding: 26px 18px 34px;
	}

	body.single-post .article-header .eye-catch {
		margin: 22px 0 18px;
	}

	body.single-post .entry-content {
		font-size: 15.5px;
		line-height: 1.9;
	}

	body.single-post .entry-content h2 {
		margin-top: 46px;
		font-size: 23px;
	}

	body.single-post .entry-content h3 {
		font-size: 19px;
	}

	body.single-post .toc,
	body.single-post #sidebar .widget {
		padding: 20px;
	}

	body.single-post .related-list {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	body.single-post .related-entry-card-content {
		padding: 16px 16px 18px;
	}
}
