/*
Theme Name: Bmedia Theme
Author: 
Author URI: 
Description: 
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/


/*----------------------------------------------------
Common setting
----------------------------------------------------*/
*, *:before, *:after {
	border:0;
	margin:0;
	outline:0;
	padding:0;
		-webkit-box-sizing:border-box;
		-moz-box-sizing:border-box;
		-ms-box-sizing:border-box;
		-o-box-sizing:border-box;
		box-sizing:border-box;
	font:inherit;
	font-family:inherit;
	font-size:100%;
	font-style:inherit;
	font-weight:inherit;
	text-decoration:none;
	vertical-align:baseline;
}

html {	/* スクロールバー常時表示・スマホ調整 */
	overflow-y: scroll;
	scroll-behavior: smooth;
}

body {
	position:relative;
		-webkit-text-size-adjust:100%;
		-moz-text-size-adjust:100%;
		-ms-text-size-adjust:100%;
		-o-text-size-adjust:100%;
		text-size-adjust:100%;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	width:100%;
	height:100%;
	font-family: YakuHanJP, "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
}

body.customize-support .global-header{
	margin-top: 30px;
}


article, aside, dialog, figure, footer, header, main, menu, nav, section, picture {display:block;}
audio, canvas, video {display:inline-block;}

br,hr {display:inline-block;}
ol,ul {list-style:none;}

blockquote, q {quotes:none;}
blockquote:before, blockquote:after, q:before, q:after {content:''; content:none;}

input,
select {vertical-align:middle;}

table {border-collapse:collapse; border-spacing:0; empty-cells:show;}

strong {
	font-weight: 600;
}
h1,h2,h3,h4,h5,h6 {
	font-weight: 600;
}

img { vertical-align: bottom; }

.fit_img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pcNone {
	display: none !important;
}
@media screen and (max-width: 768px) {
	.spNone {
		display: none !important;
	}
	.pcNone {
		display: block !important;
	}
}


/*----------------------------------------------------
Base Frame
----------------------------------------------------*/

.wrapper {
	max-width: 1320px;
	display: grid;
	grid-template-columns: auto 264px;
	grid-template-rows: 188px auto;
	gap: 20px 56px;
	padding: 0 20px;
	margin: 30px auto 0;
}
#site_title {
	grid-area: 1 / 2 / 2 / 3;
	margin: 40px 0 0;
}
#site_title picture {
	display: block;
}
main {
	grid-area: 1 / 1 / 3 / 2;
	margin: 40px 0 0;
}
#side_container {
	grid-area: 2 / 2 / 3 / 3;
	max-width: 264px;
	width: 100%;
	border-top: 1px solid #000000;
	padding: 0 0 4px;
	position: relative;
}
aside {
	position: sticky;
	top: 0;
}
@media screen and (max-width: 1024px) {
	.wrapper {
		padding: 0 20px;
	}
}
@media screen and (max-width: 768px) {
	.wrapper {
		display: block;
		margin: 0 clamp(1rem, -0.439rem + 6.122vw, 2.5rem) 40px;
		padding: 0;
		height: auto;
		overflow: hidden;
	}
	#site_title {
		margin: clamp(2.5rem, 1.301rem + 5.102vw, 3.75rem) 0 clamp(1.875rem, 1.276rem + 2.551vw, 2.5rem);
	}
	main {
		display: block;
		margin: 0 0 56px;
	}
	#side_container {
		max-width: inherit;
		border-top: none;
		position: relative;
		padding: 16px 0 0;
	}
	aside {
		position: static;
	}
	aside::before {
		content: "";
		border-bottom: 5px solid #000000;
		position: absolute;
		top: 0;
		left: -40px;
		width: 768px;
	}
}


/*----------------------------------------------------
List View Area
----------------------------------------------------*/
.article_section {
	margin: 0 0 76px;
}
.article_section h2 {
	font-size: 1.3rem;
	margin: 0 0 30px;
	font-weight: 600;
}
.article_section h2 span {
	font-size: 2.5rem;
	margin-right: 24px;
}
.article_section h2 strong {
	font-size: 2.5rem;
}
.article_list {
	display: flex;
	flex-wrap: wrap;
	gap: 56px;
	width: 100%;
}
.article_list .article_box {
	position: relative;
	width: calc(50% - 28px);
	max-width: 452px;
	transition: all 0.4s;
}
.article_list .article_box .thumbnail {
	margin: 0 0 10px;
	aspect-ratio: 4 / 3;
	transition: opacity 0.4s;
}
.article_list .article_box .thumbnail img {
	width: 100%;
	height: auto;
}
.article_list .article_box:hover .thumbnail {
	opacity: 0.7;
}
.article_list .article_box h3 a {
	color: #000000;
	transition: color 0.4s;
}
.article_list .article_box h3 a:hover {
	color: #6aa0ea;
}
.article_list h3 {
	font-size: 1.125rem;
	line-height: 1.7;
	margin: 0 0 0.2rem;
	text-align: justify;
}
.article_date {
	font-size: 0.875rem;
	font-weight: 400;
	margin: 0 0 0.6rem;
	color: #666666;
}
.article_categories {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.article_category {
	background-color: #6aa0ea;
	font-size: 0.875rem;
	padding: 8px 14px;
	transition: opacity 0.3s;
	text-align: center;
	display: inline-block;
	line-height: 1.0;
}
.article_category a {
	color: #ffffff;
}
.article_category:hover {
	opacity: 0.7;
}
/* Recommend only */
.recommend_article {
	padding: 40px;
	background-color: #f2f2f2;
	border-radius: 12px;
}
.recommend_article .article_list {
	flex-direction: column;
	gap: 0;
}
.recommend_article .article_list .article_box {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	max-width: 100%;
	width: 100%;
}
.recommend_article .article_list .article_box:not(:last-child) {
	border-bottom: 1px solid #ababab;
	padding: 0 0 40px;
	margin: 0 0 40px;
}
.recommend_article .article_list .article_box .thumbnail {
	max-width: 452px;
	width: auto;
	flex: 1;
	margin: 0;
}
.recommend_article .article_list .article_box .thumbnail img {
	width: 100%;
	height: auto;
}
.recommend_article .article_detail {
	max-width: 388px;
	width: auto;
	flex: 1;
}
.article_section .read_more {
	text-align: center;
	font-weight: 700;
	display: block;
	width: 316px;
	margin: 60px auto 0;
}
.article_section .read_more a {
	display: block;
	color: #000;
	width: 100%;
	height: 100%;
	padding: 12px;
	border: 1px solid #000;
	transition: all 0.4s;
	font-size: 0.875rem;
}
.article_section .read_more:hover a {
	color: #6aa0ea;
	border-color: #6aa0ea;
}
.article_section .read_more span {
	margin-right: 1.0rem;
	font-weight: 700;
	font-size: 1.25rem;
}
@media screen and (min-width: 1025px) and (max-width: 1279px) {
	.recommend_article .article_list .article_box > a {
		width: calc(100% - (50% * 0.8584) - 40px);
	}
	.recommend_article .article_list .article_box .article_detail {
		width: calc(100% * 0.8584);
	}
}
@media screen and (max-width: 1024px) {
	.article_list .article_box {
		width: 100%;
		max-width: 664px;
	}
	.recommend_article {
		padding: 28px;
	}
	.recommend_article h2 span {
		display: block;
	}
	.recommend_article .article_list .article_box {
		flex-direction: column;
		gap: 10px;
	}
	.recommend_article .article_list .article_box:not(:last-child) {
		padding: 0 0 28px;
		margin: 0 0 28px;
	}
	.recommend_article .article_list .article_box .thumbnail {
		max-width: 100%;
		width: 100%;
	}
	.recommend_article .article_list .article_box .thumbnail img {
		width: 100%;
		height: auto;
	}
	.recommend_article .article_detail {
		max-width: 100%;
		width: 100%;
	}
}
@media screen and (max-width: 768px) {
	#site_title h1 {
		position: relative;
		padding: 0 0 10px;
	}
	#site_title h1::after {
		content: "";
		border-bottom: 1px solid #000000;
		position: absolute;
		bottom: 0;
		left: -40px;
		width: 768px;
	}
	#site_title picture {
		max-width: 404px;
		width: 70%;
	}
	#site_title picture img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.article_box {
		max-width: 100%;
	}
	.article_section {
		margin: 0 0 56px;
	}
	.article_section h2 {
		font-size: clamp(1.125rem, 0.286rem + 3.571vw, 2rem);
		margin: 0 0 clamp(1rem, 0.401rem + 2.551vw, 1.625rem);
	}
	.article_section h2 span {
		font-size: clamp(1.625rem, 0.786rem + 3.571vw, 2.5rem);
		margin-right: clamp(1.125rem, 0.765rem + 1.531vw, 1.5rem);
	}
	.article_section h2 strong {
		font-size: clamp(1.625rem, 0.786rem + 3.571vw, 2.5rem);
	}

	.article_list {
		flex-direction: column;
		gap: clamp(2.875rem, 2.276rem + 2.551vw, 3.5rem);
	}
	.article_list h3 {
		font-size: clamp(1rem, 0.046rem + 4.071vw, 2rem);
		margin: 0 0 0.6rem;
	}
	.article_date {
		font-size: clamp(0.875rem, 0.040rem + 3.562vw, 1.75rem);
		margin: 0 0 1.0rem;
	}
	.article_category {
		font-size: clamp(0.875rem, 0.040rem + 3.562vw, 1.75rem);
	}
	.article_section .read_more {
		width: 100%;
	}
	.article_section .read_more a {
		font-size: clamp(1.1rem, 0.477rem + 2.653vw, 1.75rem);
	}
	.article_section .read_more span {
		font-size: clamp(1.5rem, 0.781rem + 3.061vw, 2.25rem);
	}
}


/*----------------------------------------------------
Post Contents Area
----------------------------------------------------*/
.post_contents {
	margin: 0 0 40px;
	padding: 0 0 40px;
	border-bottom: 1px solid #ababab;
}
.post_title {
	margin: 0 0 30px;
}
.post_title h1 {
	font-size: 2.25rem;
	font-weight: 700;
	line-height: 1.5;
}
.post_title .attached_info {
	position: relative;
}
.post_title .attached_info .categry_date {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 22px 0;
}
.post_title .attached_info .article_category {
	font-size: 1.0rem;
	font-weight: 600;
	padding: 10px 20px;
}
.post_title .attached_info .article_date {
	font-size: 1.125rem;
	flex: 1;
    margin: 0 0 0 20px;
    font-weight: 600;
    color: #000000;
}
.post_title #tag_cloud {
	margin: 0;
}
.post_title .attached_info .sns_share {
	position: absolute;
	top: 0;
	right: 0;
}
	@media screen and (max-width: 1024px) {
		.post_title .attached_info .sns_share {
			position: static;
			margin: 20px 0 0;
		}
	}
.attached_info_bottom {
	margin: 0 0 40px;
}
.attached_info_bottom .article_category {
    font-weight: 700;
    font-size: 1.0rem;
    padding: 14px 24px;
	margin: 0 24px 24px 0;
}
.attached_info_bottom #tag_cloud {
	display: inline-block;
    margin: 0 0 24px;
}
@media screen and (max-width: 768px) {
	.post_title h1 {
		font-size: clamp(1.5rem, 0.781rem + 3.061vw, 2.25rem);
	}
	.post_title .attached_info .article_category {
		font-size: clamp(1rem, 0.640rem + 1.531vw, 1.375rem);
	}
	.post_title .attached_info .article_date {
		font-size: clamp(1.125rem, 0.765rem + 1.531vw, 1.5rem);
	}
}

/* Table of contents */
#ez-toc-container {
	background-color: #f2f2f2;
	border-radius: 12px;
	padding: 34px 40px;
	margin: 40px 0;
}
#ez-toc-container .ez-toc-title {
	font-size: 1.375rem;
	font-weight: 600;
}
#ez-toc-container nav {
	line-height: 1.4;
	font-weight: 400;
}
#ez-toc-container nav a {
	color: #000000;
}
#ez-toc-container nav ul li.ez-toc-heading-level-2 {
	margin: 20px 0;
	font-size: 1.25rem;
}
#ez-toc-container nav ul li .ez-toc-list-level-3 {
	padding-left: 1.0em;
}
#ez-toc-container nav ul li.ez-toc-heading-level-3 {
	margin: 10px 0;
	font-size: 1.0rem;
	position: relative;
	display: flex;
	justify-content: flex-start;
}
#ez-toc-container nav ul li.ez-toc-heading-level-3::before {
	content: "・";
}
@media screen and (max-width: 768px) {
	#ez-toc-container {
		padding: clamp(0.625rem, -0.568rem + 5.089vw, 1.875rem) clamp(1rem, -0.431rem + 6.107vw, 2.5rem);
	}
	#ez-toc-container .ez-toc-title {
		font-size: clamp(1.25rem, 0.892rem + 1.527vw, 1.625rem);
	}
	#ez-toc-container nav ul li.ez-toc-heading-level-2 {
		font-size: clamp(1.125rem, 0.886rem + 1.018vw, 1.375rem);
	}
	#ez-toc-container nav ul li.ez-toc-heading-level-3 {
		font-size: clamp(1rem, 0.523rem + 2.036vw, 1.5rem);
	}
}


/* Editors info */
.editors_info {
	background-color: #f2f2f2;
	border-radius: 12px;
	padding: 40px 40px 40px 60px;
	margin: 0 0 60px;
}
.editors_info dl {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 60px;
}
.editors_info dl dt {
	width: 144px;
}
.editors_info dl dd {
	flex: 1;
}
.editors_info dl dd strong {
	margin: 0 0 8px;
    display: block;
}
.editors_info dl dd p {
	font-size: 0.75rem;
	line-height: 2.0;
}
@media screen and (max-width: 768px) {
	.editors_info {
		padding: 40px clamp(1rem, -0.431rem + 6.107vw, 2.5rem);
	}
	.editors_info dl {
		flex-direction: column;
		gap: 20px;
	}
	.editors_info dl dt {
		max-width: 205px;
		width: 80%;
	}
	.editors_info dl dd strong {
		text-align: center;
		margin: 0 0 20px;
		font-size: clamp(1.125rem, 0.886rem + 1.018vw, 1.375rem);
	}
	.editors_info dl dd p {
		font-size: clamp(0.875rem, 0.636rem + 1.018vw, 1.125rem);
	}
}

/* Page Navi  */
.page_navi {
	border-top: 1px solid #ababab;
	border-bottom: 1px solid #ababab;
	padding: 36px 0;
	margin: 0 0 40px;
}
.page_navi ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.page_navi ul li {
	width: 50%;
	position: relative;
}
.page_navi ul li a {
	display: block;
	width: 100%;
	height: 100%;
	color: #000000;
	text-align: justify;
}
.page_navi ul li.prev {
	padding-right: 30px;
	border-right: 1px solid #ababab;
}
.page_navi ul li.next {
	padding-left: 30px;
}
.page_navi ul li.prev a {
	padding-left: 60px;
}
.page_navi ul li a p.contents_title {
	margin: 0 0 0.8rem;
	line-height: 1.8;
	font-weight: 600;
	transition: all 0.4s;
	position: relative;
}
.page_navi ul li.prev a p.contents_title::before {
	content: "";
	margin: 0;
	width: 26px;
	height: 26px;
	border-left: 5px solid #000000;
	border-bottom: 5px solid #000000;
	transform: rotate(45deg) translateY(-50%);
	display: block;
	position: absolute;
	top: 50%;
	left: -60px;
}
.page_navi ul li.next a {
	padding-right: 60px;
}
.page_navi ul li a:hover p.contents_title {
	color: #6aa0ea;
}
.page_navi ul li.next a p.contents_title::after {
	content: "";
	margin: 0;
	width: 26px;
	height: 26px;
	border-top: 5px solid #000000;
	border-right: 5px solid #000000;
	transform: rotate(45deg) translateY(-50%);
	display: block;
	margin-right: 0;
	position: absolute;
	top: 50%;
	right: calc(-60px + 16px);
}
.page_navi ul li p.article_category {
	color: #ffffff;
}
@media screen and (max-width: 768px) {
	.page_navi ul li p.article_category {
		font-size: 0.875rem;
	}
}
@media screen and (max-width: 600px) {
	.page_navi ul {
		display: flex;
		flex-direction: column;
	}
	.page_navi ul li {
		width: 100%;
	}
	.page_navi ul li a {
		font-size: clamp(0.875rem, 0.515rem + 1.531vw, 1.25rem);
	}
	.page_navi ul li.prev {
		border-right: none;
		border-bottom: 1px solid #ababab;
		margin: 0 0 30px;
		padding: 0 0 30px 0;
	}
	.page_navi ul li.next {
		padding-left: 0;
	}
	.page_navi ul li.next a p.contents_title::after {
		right: calc(-60px + 16px);
	}
}


/* Tag Cloud */
#tag_cloud {
	margin: 0 0 40px;
}
#tag_cloud li {
	display: inline-block;
	margin: 0 8px 8px 0;
}
#tag_cloud li a {
	border: 1px solid #999999;
	border-radius: 12px;
	padding: 6px 12px;
	display: block;
	font-size: 0.75rem;
	color: #000000;
	transition: all ,.4s;
}
#tag_cloud li a:hover {
	color: #6aa0ea;
	border-color: #6aa0ea;
}
@media screen and (max-width: 768px) {
	#tag_cloud li a {
		font-size: clamp(0.875rem, 0.517rem + 1.527vw, 1.25rem);
	}
}


/* SNS Button */
.sns_share {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.sns_share p {
	font-size: 1.25rem;
	font-weight: 600;
	border-right: 1px solid #000000;
	line-height: 40px;
	padding-right: 20px;
	margin-right: 20px;
}
.sns_share .social-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
}
.sns_share .social-links a,
.sns_share .social-links button {
	display: inline-block;
	width: 40px;
	height: 40px;
	border-radius: 100%;
	background-color: #000000;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	line-height: 0;
	font-size: 0;
	text-indent: -9999px;
	transition: opacity 0.3s;
	cursor: pointer;
}
.sns_share .social-links a:hover,
.sns_share .social-links button:hover {
	opacity: 0.6;
}
.sns_share .social-links a[data-state="facebook"] {
	background-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%2040%2040%22%3E%3Cpath%20style%3D%22fill%3A%23fff%22%20d%3D%22M17.216%2C22.041h-3.699v-4.924l3.699-.216v-1.656c0-4.212%2C1.944-7.451%2C7.02-7.451%2C1.548%2C0%2C1.916.36%2C2.815.684l-.972%2C3.924c-.684-.288-.476-.432-1.124-.432-1.584%2C0-2.447.936-2.447%2C3.168v1.728h4.779v5.176h-4.779v10.982h-5.292v-10.982Z%22%2F%3E%3C%2Fsvg%3E');
}
.sns_share .social-links a[data-state="twitter"] {
	background-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%2040%2040%22%3E%3Cpath%20style%3D%22fill%3A%23fff%22%20d%3D%22M22.391%2C18.773l7.781-9.045h-1.844l-6.756%2C7.853-5.396-7.853h-6.224l8.16%2C11.876-8.16%2C9.485h1.844l7.135-8.293%2C5.699%2C8.293h6.224l-8.463-12.316h0ZM19.865%2C21.709l-.827-1.183-6.578-9.41h2.832l5.309%2C7.594.827%2C1.183%2C6.901%2C9.871h-2.832l-5.631-8.055h0Z%22%2F%3E%3C%2Fsvg%3E');
}
.sns_share .social-links a[data-state="line"] {
	background-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%2040%2040%22%3E%3Cpath%20style%3D%22fill%3A%23fff%22%20d%3D%22M33.121%2C18.416c0-5.691-5.706-10.322-12.719-10.322s-12.719%2C4.63-12.719%2C10.322c0%2C5.102%2C4.525%2C9.376%2C10.637%2C10.183.414.09.978.273%2C1.121.627.128.321.084.825.041%2C1.15%2C0%2C0-.149.898-.182%2C1.089-.055.321-.256%2C1.258%2C1.102.686%2C1.358-.572%2C7.325-4.313%2C9.993-7.385h0c1.843-2.022%2C2.726-4.073%2C2.726-6.351Z%22%2F%3E%3Cpath%20d%3D%22M28.89%2C21.702h-3.573c-.134%2C0-.243-.109-.243-.243v-.004h0v-5.541h0v-.006c0-.134.109-.243.243-.243h3.573c.134%2C0%2C.243.109.243.243v.902c0%2C.134-.109.243-.243.243h-2.429v.937h2.429c.134%2C0%2C.243.109.243.243v.902c0%2C.134-.109.243-.243.243h-2.429v.937h2.429c.134%2C0%2C.243.109.243.243v.902c0%2C.134-.109.243-.243.243Z%22%2F%3E%3Cpath%20d%3D%22M15.672%2C21.702c.134%2C0%2C.243-.109.243-.243v-.902c0-.134-.109-.243-.243-.243h-2.429v-4.406c0-.134-.109-.243-.243-.243h-.902c-.134%2C0-.243.109-.243.243v5.547h0v.004c0%2C.134.109.243.243.243h3.573Z%22%2F%3E%3Crect%20x%3D%2216.678%22%20y%3D%2215.666%22%20width%3D%221.388%22%20height%3D%226.037%22%20rx%3D%22.243%22%20ry%3D%22.243%22%2F%3E%3Cpath%20d%3D%22M23.964%2C15.666h-.902c-.134%2C0-.243.109-.243.243v3.297l-2.54-3.43c-.006-.009-.013-.017-.02-.025%2C0%2C0-.001-.001-.002-.002-.005-.005-.01-.01-.015-.015-.001-.001-.003-.003-.005-.004-.004-.004-.009-.008-.013-.011-.002-.002-.004-.003-.007-.005-.004-.003-.008-.006-.013-.009-.002-.002-.005-.003-.007-.005-.004-.003-.009-.005-.013-.007-.003-.001-.005-.003-.008-.004-.005-.002-.009-.004-.014-.006-.003%2C0-.005-.002-.008-.003-.005-.002-.01-.003-.015-.005-.003%2C0-.006-.002-.009-.002-.005-.001-.01-.002-.014-.003-.003%2C0-.007-.001-.01-.002-.004%2C0-.009-.001-.013-.002-.004%2C0-.009%2C0-.013%2C0-.003%2C0-.005%2C0-.008%2C0h-.897c-.134%2C0-.243.109-.243.243v5.551c0%2C.134.109.243.243.243h.902c.134%2C0%2C.243-.109.243-.243v-3.296l2.543%2C3.434c.018.025.039.045.063.061%2C0%2C0%2C.002.001.003.002.005.003.01.006.015.009.002.001.005.003.007.004.004.002.008.004.012.006.004.002.008.004.012.005.003%2C0%2C.005.002.008.003.005.002.011.004.017.005.001%2C0%2C.002%2C0%2C.003%2C0%2C.02.005.042.009.063.009h.897c.134%2C0%2C.243-.109.243-.243v-5.551c0-.134-.109-.243-.243-.243Z%22%2F%3E%3C%2Fsvg%3E');
}
.sns_share .social-links button[data-state="link"] {
	background-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%2040%2040%22%3E%3Cpath%20style%3D%22fill%3A%23fff%22%20d%3D%22M31.95%2C13.899c-.116-.602-.321-1.191-.613-1.748-.291-.556-.672-1.077-1.136-1.541-.618-.619-1.34-1.088-2.108-1.4-1.153-.466-2.407-.582-3.612-.349-.602.117-1.192.319-1.748.612-.555.293-1.077.672-1.541%2C1.137l-3.018%2C3.018c-.609.608-.609%2C1.597%2C0%2C2.205s1.596.608%2C2.205%2C0l3.018-3.02c.32-.319.684-.555%2C1.075-.714.585-.237%2C1.232-.298%2C1.847-.178.308.06.607.164.89.312.282.148.547.34.787.58.32.322.555.686.715%2C1.076.237.585.298%2C1.232.178%2C1.847-.06.308-.164.608-.311.889-.149.283-.341.548-.582.789l-3.018%2C3.018c-.609.609-.609%2C1.597%2C0%2C2.205s1.595.608%2C2.204%2C0l3.018-3.019c.619-.618%2C1.088-1.34%2C1.399-2.108.467-1.153.583-2.407.35-3.611Z%22%2F%3E%3Cpath%20style%3D%22fill%3A%23fff%22%20d%3D%22M20.427%2C24.984l-3.019%2C3.019c-.321.32-.685.555-1.075.714-.585.238-1.232.298-1.847.179-.308-.061-.607-.165-.89-.313-.282-.149-.547-.342-.787-.581-.32-.322-.556-.685-.715-1.076-.237-.584-.298-1.232-.179-1.848.06-.308.164-.607.312-.889.149-.282.341-.547.582-.788l3.019-3.018c.608-.608.608-1.595%2C0-2.203-.609-.609-1.596-.609-2.205%2C0l-3.018%2C3.018c-.619.619-1.088%2C1.34-1.4%2C2.109-.466%2C1.151-.582%2C2.408-.35%2C3.609.116.602.32%2C1.192.613%2C1.748.292.556.672%2C1.079%2C1.136%2C1.542.619.619%2C1.34%2C1.089%2C2.108%2C1.398%2C1.152.468%2C2.408.584%2C3.611.351.603-.117%2C1.192-.321%2C1.747-.613.556-.291%2C1.079-.672%2C1.543-1.136l3.018-3.019c.608-.608.608-1.595%2C0-2.203-.609-.609-1.596-.609-2.204%2C0Z%22%2F%3E%3Cpath%20style%3D%22fill%3A%23fff%22%20d%3D%22M24.34%2C16.471c-.608-.608-1.595-.608-2.204%2C0l-5.673%2C5.672c-.608.609-.608%2C1.595%2C0%2C2.203.609.609%2C1.597.609%2C2.205%2C0l5.672-5.672c.609-.609.609-1.595%2C0-2.203Z%22%2F%3E%3C%2Fsvg%3E');
}
@media screen and (max-width: 768px) {
	.sns_share p {
		font-size: 1.375rem;
		padding-right: clamp(1.5rem, 0.781rem + 3.061vw, 2.25rem);
		margin-right: clamp(1.5rem, 0.781rem + 3.061vw, 2.25rem);
	}
	.sns_share .social-links a,
	.sns_share .social-links button {
		/*
		width: clamp(2.5rem, 1.307rem + 5.089vw, 3.75rem);
		height: clamp(2.5rem, 1.307rem + 5.089vw, 3.75rem);
		*/
		width: clamp(2.25rem, 1.770rem + 2.041vw, 2.75rem);
		height: clamp(2.25rem, 1.770rem + 2.041vw, 2.75rem);
	}
	.sns_share .social-links {
		gap: clamp(1.25rem, 0.291rem + 4.082vw, 2.25rem);
	}
}


/* Text Elements */
.post_container a {
	color: #6aa0ea;
	transition: opacity 0.4s;
}
.post_container a:hover {
	opacity: 0.7;
}
.post_container p {
	line-height: 2.0;
	text-align: justify;
}
@media screen and (max-width: 768px) {
	.post_container p {
		font-size: clamp(1rem, 0.523rem + 2.036vw, 1.5rem);
	}
}
/* テキスト配置（エディターのブロック配置に対応） ── editor-style.css: Paragraph も同様に更新 */
.post_container p.has-text-align-left   { text-align: left; }
.post_container p.has-text-align-center { text-align: center; }
.post_container p.has-text-align-right  { text-align: right; }



/* h2 ~ h6 tag */
.post_container h2 {
	font-size: 1.875rem;
	font-weight: 700;
	position: relative;
	margin: 4.5rem 0 1.5rem;
	padding: 0 0 1.5rem;
	line-height: 1.5;
}
.post_container h2::after {
	content: "";
	display: block;
	width: 120px;
	height: 6px;
	background-color: #000000;
	position: absolute;
	bottom: 0;
	left: 0;
}
.post_container h3 {
	font-size: 1.375rem;
	font-weight: 700;
	line-height: 1.5;
	margin: 2.5rem 0 0.75rem;
}
.post_container h4 {
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1.5;
	margin: 1.5rem 0 0.75rem;
}
.post_container h5 {
	font-size: 1.125rem;
	font-weight: 700;
	color: #ffffff;
	background-color: #556070;
	display: inline-block;
	padding: 0.3em 1.2em;
	border-radius: 9999px;
	margin: 1rem 0 0.75rem;
}
/* hタグ間のアキ調整 */
.post_container h2 + h3 {
	margin-top: 1.75rem;
}
.post_container h2 + h4 {
	margin-top: 1.25rem;
}
.post_container h3 + h4 {
	margin-top: 1.0rem;
}
.post_container h4:first-child {
	margin-top: 0;
}
@media screen and (max-width: 768px) {
	.post_container h2 {
		font-size: clamp(1.25rem, 0.415rem + 3.562vw, 2.125rem);
	}
	.post_container h3 {
		font-size: clamp(1.125rem, 0.409rem + 3.053vw, 1.875rem);
	}
	.post_container h4 {
		font-size: clamp(1rem, 0.404rem + 2.545vw, 1.625rem);
	}
	.post_container h5 {
		font-size: clamp(1rem, 0.642rem + 1.527vw, 1.375rem);
	}
}

/* image */
.post_container .thumbnail img {
	aspect-ratio: 4 / 3;
	margin: 0 0 40px;
}
.post_container img {
	max-width: 100%;
	height: auto;
	margin: 0px 0;
}


/* LIST ── editor-style.css: Lists も同様に更新 */
.post_container ul,
.post_container ol {
	list-style-position: outside;
	padding-left: 1.5em;
	margin-left: 0.25em;
	box-sizing: border-box;
}
.post_container ul {
	list-style-type: square;
}
.post_container ol {
	list-style-type: decimal;
}
.post_container li {
	margin-bottom: 10px;
	line-height: 2.0;
}
.post_container li:last-child {
	margin-bottom: 0;
}


/* 画像につくfigure */
.post_container figure {
	margin: 0;
}

/* YouTube等の動画埋め込み */
.post_container .wp-block-embed__wrapper {
	position: relative;
	width: 100%;
}
.post_container .wp-block-embed__wrapper iframe {
	width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
}

/* HR ── editor-style.css: Blockquote の下も同様に更新 */
.post_container hr,
.post_container .wp-block-separator {
	display: block;
	border: none;
	border-top: 1px solid #1a1a1a;
	margin: 1.5rem 0;
}




/*----------------------------------------------------
Side Mneu Area
----------------------------------------------------*/
aside > h2 {
	font-size: 0.75rem;
	border-bottom: 1px solid #000000;
	margin: 0 0 10px;
	padding: 0 0 4px;
}
aside > h2 span {
	font-size: 1.25rem;
	font-family: "Oswald", sans-serif;
	font-weight: 500;
	margin-right: 0.8rem;
}
@media screen and (max-width: 768px) {
	aside > h2 {
		border-bottom: none;
		position: relative;
		margin: 0 0 14px;
		font-size: clamp(0.875rem, 0.276rem + 2.551vw, 1.5rem);
	}
	aside > h2 span {
		font-size: clamp(1.625rem, 0.786rem + 3.571vw, 2.5rem);
	}
	aside > h2::after {
		content: "";
		border-bottom: 1px solid #000000;
		position: absolute;
		bottom: 0;
		left: -40px;
		width: 768px;
	}
}

/* Category Menu */
.nav_category {
	margin: 0 0 40px;
}
.nav_category > li {
	margin: 0 0 1.0rem;
}
.nav_category li a {
	display: block;
	color: #000000;
	font-size: 0.875rem;
	font-weight: 600;
	position: relative;
	transition: all 0.4s;
	line-height: 1;
}
.nav_category > li > a {
	display: flex;
	align-items: center;
	margin: 0 0 1.0rem;
}
.nav_category > li > a::before {
	content: "";
	margin: 0;
	width: 6px;
	height: 6px;
	border-top: 2px solid #000000;
	border-right: 2px solid #000000;
	transform: rotate(45deg);
	display: block;
	margin-right: 0.5em;
}
.nav_category li a:hover {
	color: #6aa0ea;
}
.nav_category .sub-menu a {
	font-weight: 400;
}
.nav_category .sub-menu > li {
	margin: 0.8rem 0;
    padding-left: 0.5em;
    display: flex;
    line-height: 1;
}
.nav_category .sub-menu > li::before {
	content: "・";
}
@media screen and (max-width: 768px) {
	.nav_category {
		display: flex;
		flex-wrap: wrap;
		gap: 3vw 6vw;
		margin: 0 0 clamp(1.875rem, 1.276rem + 2.551vw, 2.5rem);
	}
	.nav_category > li {
		width: calc(50% - 3vw);
		margin: 0;
	}
	.nav_category > li:nth-child(n+3) {
		border-top: 1px solid #000000;
		padding: 3vw 0 0;
	}
	.nav_category li a {
		font-size: clamp(0.875rem, 0.517rem + 1.527vw, 1.25rem);
		font-feature-settings: "palt" 1;
		letter-spacing: 0.06em;
	}
	.nav_category > li > a::before {
		width: 1.7vw;
		height: 1.7vw;
	}
}


/* Side article */
.side_article {
	margin: 0 0 40px;
}
.side_article h2 {
	border-bottom: 1px solid #000;
	margin: 0 0 12px;
	padding: 0 0 6px;
	font-size: 0.875rem;
}
.side_article h2 span {
	font-size: 1.125rem;
	margin-right: 0.8rem;
}
.side_article_list {
	display: flex;
	flex-direction: column;
	gap: 40px;
}
.side_article_list .article_box {
	position: relative;
	transition: all 0.4s;
}
.side_article_list .article_box .thumbnail {
	aspect-ratio: 4 / 3;
	margin: 0 0 8px;
	transition: opacity 0.4s;
}
.side_article_list .article_box .thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.side_article_list h3 {
	font-size: 0.875rem;
	line-height: 1.4;
	margin: 0 0 0.2rem;
	text-align: justify;
}
.side_article_list h3 a {
	color: #000000;
	transition: color 0.4s;
}
.side_article_list .article_box:hover .thumbnail {
	opacity: 0.7;
}
.side_article_list h3 a:hover {
	color: #6aa0ea;
}
.side_article_list .article_category {
	font-size: 0.75em;
	padding: 6px 10px;
}
@media screen and (min-width: 769px) {
	.side_article_list .article_box:nth-child(4) {
		display: none;
	}
}
@media screen and (max-width: 768px) {
	.side_article {
		margin: 0 0 clamp(1.875rem, 1.276rem + 2.551vw, 2.5rem);
	}
	.side_article h2 {
		border-bottom: none;
		position: relative;
		font-size: clamp(0.875rem, 0.276rem + 2.551vw, 1.5rem);
		margin: 0 0 2.0rem;
	}
	.side_article h2 span {
		font-size: clamp(1.625rem, 0.786rem + 3.571vw, 2.5rem);
	}
	.side_article h2::after {
		content: "";
		border-bottom: 1px solid #000000;
		position: absolute;
		bottom: 0;
		left: -40px;
		width: 768px;
	}
	.side_article_list {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 6vw;
	}
	.side_article_list .article_box {
		width: calc(50% - 3vw);
	}
	.side_article_list h3 {
		font-size: clamp(0.875rem, 0.515rem + 1.531vw, 1.25rem);
	}
	.side_article_list .article_date {
		font-size: clamp(0.875rem, 0.515rem + 1.531vw, 1.25rem);
		margin: 0 0 0.4rem;
	}
	.side_article_list .article_category {
		font-size: 0.875rem;
	}
}

#window-size {
	position: fixed;
	bottom: 20px;
	right: 20px;
	background-color: rgba(0, 0, 0, 0.7);
	color: white;
	padding: 10px;
	border-radius: 5px;
	font-family: monospace;
	z-index: 1000;
	font-size: 16px;
}







/* フッター
--------------------------------- */

footer {
	margin: 50px 0 0;
}


.footer__pagetop {
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #d9e2e1;
	color: #fff;
}
.footer__pagetop-icon {
	width: 36px;
}

.footer__container {
	position: relative;
	padding: 38px 0 24px;
	width: 90%;
	max-width: 1240px;
	margin: 0 auto;
	font-size: 0.7rem;
	letter-spacing: 1px;
}
.footer__link-list {
	display: flex;
	justify-content: center;
	gap: 48px;
	margin: 0 auto 32px;
}
.footer__link-list--sub {
	gap: 40px;
	margin: 0 auto 16px;
}
.footer__link-item {
	display: inline;
}
.footer__link {
	text-decoration: none;
	color: #000;
}
.footer__copyright {
	padding-top: 10px;
	text-align: center;
}

.footer__badge--npojop {
	position: absolute;
	top: 36px;
	right: 100px;
}
.footer__badge--pmark {
	position: absolute;
	top: 30px;
	right: 0px;
}

@media screen and (max-width:767.98px) {
	.footer__container {
		padding: 38px 0 36px;
		text-align: center;
	}
	.footer__link-list {
		justify-content: center;
		gap: 12px;
		flex-wrap: wrap;
		margin: 0 auto 32px;
	}
	.footer__link-list--sub {
		gap: 12px;
		margin: 0 auto 16px;
	}
	.footer__link-item {
		display: block;
		width: 30%;
		text-align: center;
	}
	.footer__badge {
		display: inline-block;
		margin: 0 20px 20px;
	}
	.footer__badge--npojop {
		position: relative;
		top: 0;
		right: 0;
	}
	.footer__badge--pmark {
		position: relative;
		top: 0;
		right: 0px;
	}
}


/* Toast notification */
.toast {
	position: fixed;
	bottom: 32px;
	left: 50%;
	transform: translateX(-50%) translateY(16px);
	background-color: #000000;
	color: #ffffff;
	font-size: 0.875rem;
	padding: 12px 24px;
	border-radius: 4px;
	opacity: 0;
	transition: opacity 0.3s, transform 0.3s;
	pointer-events: none;
	z-index: 9999;
	white-space: nowrap;
}
.toast.is-visible {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
}




/* MetaSlider レスポンシブ対応 */
.metaslider {
	width: 100% !important;
}
.metaslider img {
	width: 100% !important;
	height: auto !important;
}


/*----------------------------------------------------
wp-pagenav
----------------------------------------------------*/

.wp-pagenavi {
    clear: both;
    margin: 0 0 100px;
    text-align: center;
}

.wp-pagenavi a, .wp-pagenavi span {
    text-decoration: none;
    border: 1px solid #BFBFBF;
    padding: 7px 15px;
    margin: 2px;
    font-size: 18px;
	color: #000;
	display: inline-block;
}

.wp-pagenavi a:hover, .wp-pagenavi span.current {
	border-color: #000;
}

.wp-pagenavi span.current {
    font-weight: bold;
    background: #000;
    color: #fff;
}


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

.wp-pagenavi a, .wp-pagenavi span {
    padding: 4px 8px;
    margin: 1px;
    font-size: 14px;
	display: inline-block;
}


}


/*----------------------------------------------------
レスポンシブ表示切り替え
----------------------------------------------------*/
@media (max-width: 767px) {
	.pc-only { display: none !important; }
	.sp-only img { width: 100%; height: auto; }
}
@media (min-width: 768px) {
	.sp-only { display: none !important; }
}

/*----------------------------------------------------
パンくずリスト
----------------------------------------------------*/
.breadcrumb__list {
	flex-wrap: wrap !important;
	row-gap: 0.6em !important;
	padding: 0.5em 0 !important;
}
.breadcrumb__item,
.breadcrumb__item--current {
	white-space: normal !important;
	overflow: visible !important;
}
@media screen and (max-width: 767px) {
	.breadcrumb {
		display: none !important;
	}
	.wrapper {
		margin-top: 43px;
	}
}
	
	