main .container {
	display: flex;
	justify-content: space-between;
	max-width: 1200px;
	margin: 0 auto;
}

.circle {
	position: relative;
	font-size: 24px;
	margin: 0 0.25vw;
}

.circle::after {
	content: "";
	display: inline-block;
	border: 2px solid #1f3211;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 130%;
	aspect-ratio: 1;
	border-radius: 50%;
}

.quotation {
	background-color: #ccc;
	padding: 20px;
}


#localChapterNav {
	width: 35%;
	overflow: hidden;
	position: relative;
}

#localChapterNav .ChapterNav_pc {
	width: auto;
	box-sizing: border-box;
	border: 1px solid #33b608;
	padding: 10px;
	position: absolute;
	left: 0;
	z-index: 1;
	background-color: #fff;
}

.ChapterNav_pc .partTitle {
	color: #1f3211;
	text-align: left;
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 2vw;
}

.ChapterNav_pc ul {
	text-align: left;
	margin-left: 1.66666667vw;
}

.ChapterNav_pc ul.prologue {
	margin-left: 6.25vw;
}

.ChapterNav_pc ul li {
	font-size: 15px;
	display: flex;
	justify-content: flex-start;
	margin-bottom: 1.66666667vw;
}

.ChapterNav_pc ul li a {
	color: #3d711b;
	border-bottom: 1px solid #3d711b;
}

.ChapterNav_pc ul li .shou span {
	color: #204706;
	font-weight: 600;
}

.ChapterNav_pc .topics {
	font-size: 15px;
	text-align: left;
	margin-left: 1.66666667vw;
}

.ChapterNav_pc .topics a {
	font-size: 15px;
	color: #3d711b;
	font-weight: 600;
	border-bottom: 1px solid #3d711b;
}


.ChapterNav_sp {
	position: relative;
	display: block;
}

.ChapterNav_spBtn {
	display: none;
	font-size: 20px;
	position: fixed;
	left: 0;
	color: #fff;
	background-color: #33b608;
	padding: 25px 5px 25px 3px;
	writing-mode: vertical-rl;
	z-index: 6;
}

.ChapterNav_spBtn span {
	margin-bottom: 10px;
}

.ChapterNav_spBox {
	border: 1px solid #33b608;
	padding: 1.66666667vw 0.83333333vw;
	position: fixed;
	left: 0;
	background-color: #fff;
	z-index: 5;
}

.ChapterNav_spBtn.on {
	background-color: #1f3211;
}

.tableColumn table tr th {
	border-top: 1px solid #a6a6a6;
	border-right: 1px solid #a6a6a6;
	border-bottom: 1px solid #a6a6a6;
	padding: 10px;
	text-align: center;
	font-size: 20px;
}

.tableColumn table tr th:first-of-type {
	border-left: 1px solid #a6a6a6;
}

.tableColumn table tr td {
	border-right: 1px solid #a6a6a6;
	border-bottom: 1px solid #a6a6a6;
	padding: 10px;
	text-align: center;
	font-size: 20px;
}

.tableColumn table tr td:first-of-type {
	border-left: 1px solid #a6a6a6;
	white-space: nowrap;
}

.tableColumn table tr td:last-of-type {
	white-space: nowrap;
}



.post {
	flex: 1;
	width: 100%;
	margin-right: 3vw;
	text-align: left;
}

@media only screen and (max-width: 1100px) {
	#localChapterNav {
		width: 0;
		display: none;
	}

	#localChapterNav .ChapterNav_pc {
		width: 80%;
		position: fixed !important;
		z-index: 3000;
		left: 30px;
	}

	.post {
		max-width: 90vw;
		margin: 0 auto;
		padding-left: 22px
	}

	.ChapterNav_spBtn {
		display: block;
		z-index: 1000;
	}

}

.post>.titleCnt {
	color: #1f3211;
	font-size: 60px;
	border-bottom: 2px solid #1f3211;
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 700;
}

.post .titleCnt .leftItem,
.post .titleCnt .rightItem {
	padding: 2.5% 5%;
}

.post .titleCnt .leftItem {
	position: relative;
	display: flex;
	align-items: center;
	gap: 7.5%;
	flex: 0 0 min(33%, 360px);
	font-size: 2.4rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	color: white;
	padding-right: 10%;
	border-radius: 64px 0 0 64px;
	overflow: hidden;
}

.post .titleCnt .leftItem>b {
	font-family: OpenSans-SemiBold;
	font-size: 4.8rem;
	font-weight: 700;
}

.post .titleCnt .leftItem::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: inline-block;
	width: 100%;
	height: 100%;
	background-color: var(--green-2);
	transform:
		skewX(-10deg) translateX(-2.5%);
	z-index: -5;
}

.post .titleCnt .rightItem {
	position: relative;
	flex: 1 0 auto;
	display: flex;
	flex-direction: column;
	font-size: 4.8rem;
	font-weight: 700;
	letter-spacing: 0.015em;
	color: var(--green-2);
	margin-left: -5%;
}

.post .titleCnt .rightItem::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: inline-block;
	width: 100%;
	height: 100%;
	background-color: var(--green-1);
	transform:
		skewX(-10deg);
	z-index: -1;
}

.quote {
	background-color: var(--glay-1);
	padding: 1em;
}

.post section {
	margin-top: var(--mt-m);
}

.post section .heading {
	position: relative;
	color: #1f3211;
	font-size: 40px;
	font-weight: 700;
	letter-spacing: 0.015em;
	padding-left: 1.75em;
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 700;
}

.post section .heading span::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 40px;
	height: 40px;
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-size: 40px;
}

.post section:nth-of-type(1) .heading span::before {
	content: "1";
}

.post section:nth-of-type(2) .heading span::before {
	content: "2";
}

.post section:nth-of-type(3) .heading span::before {
	content: "3";
}

.post section:nth-of-type(4) .heading span::before {
	content: "4";
}

.post section:nth-of-type(5) .heading span::before {
	content: "5";
}

.post section:nth-of-type(6) .heading span::before {
	content: "6";
}

.post section:nth-of-type(7) .heading span::before {
	content: "7";
}

.post section:nth-of-type(8) .heading span::before {
	content: "8";
}

.post section:nth-of-type(9) .heading span::before {
	content: "9";
}

.post .oneColumn,
.post .twoColumn,
.post .twoColumn .rightItem__paragraph~.rightItem__paragraph {
	font-size: 24px;
	color: #000000;
	line-height: 2;
	text-indent: 1em;
	text-align: justify;
	margin-top: 55px;
}

.post .oneColumn span.no_kerning{
	font-feature-settings: normal;
}

.post .oneColumn a {
	background-color: rgba(104,203,66);
	background: linear-gradient(transparent 45%, #68cb42 45%);
	display: inline;
}

.post .imgColumn {
	font-size: 20px;
	color: #1f3211;
	line-height: 2;
	text-indent: 1em;
	text-align: justify;
	margin-top: 55px;
}

.post .oneColumn--alignR,
.post .twoColumn .rightItem__paragraph--alignR {
	text-align: right !important;
}

.post .twoColumn {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	gap: 40px;
}

.post .twoColumn--noText {
	justify-content: center;
}

.post .twoColumn .leftItem {
	flex: 0 0 auto;
	width: clamp(320px, 25vw, 480px);
	font-size: 1.6rem;
	text-indent: 0;
}

.post .twoColumn--noText .leftItem,
.post .twoColumn--noText .rightItem {
	width: clamp(320px, 25vw, 480px);
}

.post .imgColumn .imgWrapper {
	background-color: #e7e3d8;
	padding: 30px;
}

.post .imgColumn .imgWrapper .imgItem {
	margin: 0;
	text-indent: 0;
	text-align: center;
}

.post .imgColumn .leftItem .figureWrapper~.figureWrapper {
	margin-top: 5%;
}

.post .imgColumn img {
	display: block;
	width: 100%;
}

.post .imgColumn img~img {
	margin-top: 5%;
}

.fancybox-content img {
	width: 100%;
	height: 100%;
}

.post figcaption {
	margin-top: 5%;
	text-align: justify;
}

.post figcaption span {
	display: block;
	line-height: 1.3;
	margin-bottom: 0.5em;
}

.post figcaption a {
	display: inline;
	color: var(--link);
	line-height: 1.3;
	border-bottom: 1px solid var(--link);
	opacity: 1;
	transition: var(--hover-1);
}

.fancybox-active {
	overflow: hidden;
	overflow-y: hidden;
	overscroll-behavior-y: none;
}

.fancybox-active_noScroll {
	overflow: hidden;
	overflow-y: hidden;
	overscroll-behavior-y: none;
}

@media (hover: hover) {
	.post figcaption a:hover {
		opacity: var(--opacity);
	}
}

.post .twoColumn .rightItem {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
}

.post .twoColumn--noText .rightItem {
	flex: 0 0 auto;
	font-size: 1.6rem;
	text-indent: 0;
}

.post .twoColumn .rightItem .rightItem__topItem {
	flex-grow: 1;
}



@media only screen and (max-width: 1150px) {
	.post>.titleCnt {
		/* 50px @ 1024px increasing to 60px @ 1150px */
		font-size: calc(3.125rem + ((1vw - 10.24px) * 7.9365));
	}

	.post section .heading {
		/* 34px @ 1024px increasing to 40px @ 1150px */
		font-size: calc(2.125rem + ((1vw - 10.24px) * 4.7619));
	}

	.post section .heading span::before {
		width: calc(2.125rem + ((1vw - 10.24px) * 4.7619));
		height: calc(2.125rem + ((1vw - 10.24px) * 4.7619));
		font-size: calc(2.125rem + ((1vw - 10.24px) * 4.7619));
	}

	.post .oneColumn,
	.post .oneColumn .circle,
	.post .twoColumn,
	.post .twoColumn .rightItem__paragraph~.rightItem__paragraph {
		/* 20px @ 1024px increasing to 24px @ 1150px */
		font-size: calc(1.25rem + ((1vw - 10.24px) * 3.1746));
	}

	.tableColumn table tr th{
		/* 17px @ 1024px increasing to 20px @ 1150px */
			font-size: calc(1.0625rem + ((1vw - 10.24px) * 2.381));
	}
	
	.tableColumn table tr td{
		/* 17px @ 1024px increasing to 20px @ 1150px */
			font-size: calc(1.0625rem + ((1vw - 10.24px) * 2.381));
	}
}




@media only screen and (min-width: 957px) and (max-width: 1024px) {
	.post>.titleCnt {
		font-size: 50px;
	}

	.post section .heading {
		font-size: 34px;
	}

	.post section .heading span::before {
		width: 34px;
		height: 34px;
		font-size: 34px;
	}

	.post .oneColumn,
	.post .oneColumn .circle,
	.post .twoColumn,
	.post .twoColumn .rightItem__paragraph~.rightItem__paragraph {
		font-size: 20px;
	}

	.tableColumn table tr th {
		font-size: 17px;
	}

	.tableColumn table tr td {
		font-size: 17px;
	}
}

@media only screen and (min-width: 769px) and (max-width: 956px) {

	.post>.titleCnt {
		/* 40px @ 769px increasing to 50px @ 956px */
		font-size: calc(2.5rem + ((1vw - 7.69px) * 5.3476));
	}

	.post section .heading {
		/* 30px @ 769px increasing to 34px @ 956px */
		font-size: calc(1.875rem + ((1vw - 7.69px) * 2.139));
	}

	.post section .heading span::before {
		width: calc(1.875rem + ((1vw - 7.69px) * 2.139));
		height: calc(1.875rem + ((1vw - 7.69px) * 2.139));
		font-size: calc(1.875rem + ((1vw - 7.69px) * 2.139));
	}

	.post .oneColumn,
	.post .oneColumn .circle,
	.post .twoColumn,
	.post .twoColumn .rightItem__paragraph~.rightItem__paragraph {
		/* 18px @ 769px increasing to 20px @ 956px */
		font-size: calc(1.125rem + ((1vw - 7.69px) * 1.0695));
	}

	.tableColumn table tr th {
		/* 15px @ 769px increasing to 17px @ 956px */
			font-size: calc(0.9375rem + ((1vw - 7.69px) * 1.0695));
	}

	.tableColumn table tr td {
		/* 15px @ 769px increasing to 17px @ 956px */
			font-size: calc(0.9375rem + ((1vw - 7.69px) * 1.0695));
	}
}

@media only screen and (min-width: 701px) and (max-width: 768px) {

	.ChapterNav_spBox .partTitle {
		color: #1f3211;
		text-align: left;
		font-size: 16px;
		font-weight: 600;
		margin-bottom: 2vw;
	}

	.ChapterNav_spBox ul {
		text-align: left;
		margin-left: 1.66666667vw;
	}

	.ChapterNav_spBox ul.prologue {
		margin-left: 6.25vw;
	}

	.ChapterNav_spBox ul li {
		font-size: 15px;
		display: flex;
		justify-content: flex-start;
		margin-bottom: 1.66666667vw;
	}

	.ChapterNav_spBox ul li a {
		color: #3d711b;
		border-bottom: 1px solid #3d711b;
	}

	.ChapterNav_spBox ul li .shou span {
		color: #204706;
		font-weight: 600;
	}

	.ChapterNav_spBox .topics {
		font-size: 15px;
		text-align: left;
		margin-left: 1.66666667vw;
	}

	.ChapterNav_spBox .topics a {
		font-size: 15px;
		color: #3d711b;
		font-weight: 600;
		border-bottom: 1px solid #3d711b;
	}



	#localChapterNav {
		width: 10vw;
		margin: 0 1.25vw 0 0.66666667vw;
	}

	.post>.titleCnt {
		font-size: 40px;
	}

	.post section .heading {
		font-size: 30px;
	}

	.post section .heading span::before {
		width: 30px;
		height: 30px;
		font-size: 30px;
	}

	.post .oneColumn,
	.post .oneColumn .circle,
	.post .twoColumn,
	.post .twoColumn .rightItem__paragraph~.rightItem__paragraph {
		font-size: 18px;
	}

	.tableColumn {
		overflow-x: scroll;
	}

	.tableColumn table {
		width: 760px;
	}

	.tableColumn table tr th {
		font-size: 15px;
	}

	.tableColumn table tr td {
		font-size: 15px;
	}
}

@media only screen and (min-width: 360px) and (max-width: 700px) {

	.ChapterNav_pc .partTitle {
		font-size: 15px;
	}
	.ChapterNav_pc ul li {
		font-size: 13px;
	}

	.post>.titleCnt {
		/* 30px @ 360px increasing to 40px @ 700px */
		font-size: calc(1.875rem + ((1vw - 3.6px) * 2.9412));
	}

	.post section .heading {
		/* 24px @ 360px increasing to 28px @ 700px */
		font-size: calc(1.5rem + ((1vw - 3.6px) * 1.1765));
	}

	.post section .heading span::before {
		width: 28px;
		height: 28px;
		font-size: 28px;
	}

	.post .oneColumn,
	.post .oneColumn .circle,
	.post .twoColumn,
	.post .twoColumn .rightItem__paragraph~.rightItem__paragraph {
		font-size: 18px;
	}

	.tableColumn {
		overflow-x: scroll;
	}

	.tableColumn table {
		width: 760px;
	}

	.tableColumn table tr th {
		font-size: 15px;
	}

	.tableColumn table tr td {
		font-size: 15px;
	}

	.tableColumn table tr td:last-of-type {
		white-space: unset !important;
	}
}

@media only screen and (max-width: 359px) {

	.ChapterNav_pc .partTitle {
		font-size: 15px;
	}

	.ChapterNav_pc ul li {
		font-size: 13px;
	}

	.post>.titleCnt {
		/* 30px @ 360px increasing to 40px @ 700px */
		font-size: calc(1.875rem + ((1vw - 3.6px) * 2.9412));
	}

	.post section .heading {
		/* 24px @ 360px increasing to 28px @ 700px */
		font-size: calc(1.5rem + ((1vw - 3.6px) * 1.1765));
	}

	.post section .heading span::before {
		width: 28px;
		height: 28px;
		font-size: 28px;
	}

	.post .oneColumn,
	.post .oneColumn .circle,
	.post .twoColumn,
	.post .twoColumn .rightItem__paragraph~.rightItem__paragraph {
		font-size: 18px;
	}

	.tableColumn {
		overflow-x: scroll;
	}

	.tableColumn table {
		width: 760px;
	}

	.tableColumn table tr th {
		font-size: 15px;
	}

	.tableColumn table tr td {
		font-size: 15px;
	}

	.tableColumn table tr td:last-of-type {
		white-space: unset !important;
	}
}

