@charset "utf-8";
/* ===================================================
Article CSS / 記事＆固定ページ用CSS
====================================================== */

/* ---------------------------------------------------
	見出し
------------------------------------------------------ */
.post_body h2,
.post_body h3,
.post_body h4,
.post_body h5,
.post_body h6{ clear: both; font-weight: 400; line-height: 1.4;}

.post_body h2{ color: #926010; font-size: 17px; letter-spacing: 0.11em; margin: 65px 0 25px; }
.post_body h3{ font-size: 17px; margin: 60px 0 30px; letter-spacing: 0.11em;  }
.post_body h3::before { content: '●';}
.post_body h4{ color: #d9451a; letter-spacing: 0.11em; font-weight: bold; margin: 30px 0 15px; }
.post_body h5,
.post_body h6{ font-weight: bold; }

.post_body .gothic{ font-family:"Yu Gothic Medium", YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif; }

.post_body h2 + h3 { margin-top: 0; }

.post_body mark { font-style: normal; font-weight: normal; }
.post_body > :first-child { margin-top: 0!important; }

@media screen and (max-width: 600px) {
	.post_body h2{ font-size: 16px; margin:35px 0 15px; letter-spacing: 0.05em;}
	.post_body h3{ font-size: 16px; margin: 30px 0 15px;  letter-spacing: 0.05em;}
	.post_body h4{ margin: 30px 0 5px; letter-spacing: 0.05em;}
}


/* ---------------------------------------------------
	画像
------------------------------------------------------ */
.post_body .wp-block-image figure { margin: 0; display: flex; float: none; clear: both; }
.post_body .wp-block-image .alignnone   { margin: 0; }
.post_body .wp-block-image .aligncenter { margin: 0 auto 0; justify-content: center;}
.post_body .wp-block-image .alignleft { margin: 0 auto 0 0; justify-content: flex-start; }
.post_body .wp-block-image .alignright  { margin: 0 0 0 auto; justify-content: flex-end;}

@media screen and (max-width: 600px) {
	.post_body img,
	.post_body .wp-block-image figure,
	.post_body .wp-block-image .aligennone,
	.post_body .wp-block-image .aligncenter,
	.post_body .wp-block-image .alignleft,
	.post_body .wp-block-image .alignright { clear: both; float: none; margin: 0 auto;}
	.post_body p + .wp-block-image { margin-top: 20px; }
}


/* ---------------------------------------------------
	段落・リスト・水平線
------------------------------------------------------ */
.post_single .post_body p { margin: 15px 0 0;}
.post_single .post_body p + figure { margin: 60px 0 0;}

.post_body ul   { clear:both; margin: 15px 0 0; padding: 0;}
.post_body ul li{
	margin: 0; line-height: 1.6;
	vertical-align: middle; position: relative;
}
.post_body ul:not(.no_dots) li { padding: 0 0 0 1em; text-indent: -1em; }
.post_body ul:not(.no_dots) li::before { content: '・'; }
.post_body ul li + li { margin-top: 15px; }
.post_body ul > li a:before,
.post_body ul > li p:before { content: "■"; margin-right: 5px; }
.post_body li ul{ margin: 5px 0 5px 5px;}

.post_body ol   { clear:both; margin: 10px 0 0; padding: 0; list-style: decimal; font-size: 14px; }
.post_body ol > li{ margin: 0 0 3px 1em; padding: 0; line-height: 2.2; background: none;}

.post_body li ol { margin: 5px 0 5px 20px;}

.post_body hr {
	clear: both; display: block; border: none; height: 0; margin: 60px 0;
	border-bottom: 1px dotted var(--color02);
}
.post_body strong { font-weight: bold;}

@media screen and (max-width: 600px) {
	.post_single .post_body p { margin: 10px 0 0;}
	.post_single .post_body p + figure { margin: 30px 0 0;}
	.post_body hr { margin: 30px 0; }
}


/* ---------------------------------------------------
	ファイル・リンク
------------------------------------------------------ */
.post_single .post_body p a:not(.prepare),
.post_single .post_body li a:not(.prepare) { line-height: 1; text-indent: 0; color: #2262c1; border-bottom: 1px solid #2262c1; box-sizing: border-box;}
.post_body .wp-block-file { margin-top: 10px; }
.post_body .wp-block-file:not(.wp-element-button) { font-size: 14px; }
.post_body .wp-block-file a { display: inline-block; line-height: 1; text-indent: 0; color: #2262c1; border-bottom: 1px solid #2262c1; }
.post_body .wp-block-file .wp-block-file__button { color: #fff; background: #000; padding: 10px 20px; border: none; }
.post_body .wp-block-button__link { font-size: 14px; color: #fff; background: #000; padding: 10px 20px; border: none; }

.post_body .wp-block-button .wp-block-button__link.is-style-outline,
.post_body .wp-block-button.is-style-outline>.wp-block-button__link { border-width: 1; }

@media screen and (hover: hover) {
	.post_body .wp-block-file .wp-block-file__button:hover,
	.post_body .wp-block-button__link:hover { opacity: .6; }
	.post_single .post_body p a:not(.prepare):hover,
	.post_single .post_body li a:not(.prepare):hover { border-bottom: transparent; }
}

@media screen and (max-width: 600px) {
	.post_single .post_body p a:not(.prepare),
	.post_single .post_body li a:not(.prepare) { line-height: 1.3; }
	.post_body .wp-block-buttons>.wp-block-button,
	.post_body .wp-block-buttons>.wp-block-button.wp-block-button__width-50,
	.post_body .wp-block-buttons>.wp-block-button.wp-block-button__width-25,
	.post_body .wp-block-buttons>.wp-block-button.wp-block-button__width-75,
	.post_body .wp-block-buttons>.wp-block-button.wp-block-button__width-10 { width: 100%; }
}





/* ---------------------------------------------------
	引用文
------------------------------------------------------ */
.post_body blockquote{
	clear:both; margin: 15px 10px; padding: 10px; border: 1px solid var(--color03); background: var(--color03);
	-moz-border-radius: 5px; -webkit-border-radius: 5px; -khtml-border-radius: 5px; border-radius: 5px;
}
.post_body blockquote p{ margin: 0;}

.post_body .bg_block { padding: 55px 40px 65px; background: var(--color03); }
.post_body .bg_block > div > :first-child { margin-top: 0;}
.post_body .bg_block .wp-block-image .aligncenter { margin: 30px auto 0; }
.post_body .bg_block .wp-block-image .aligncenter { margin: 30px auto 0; }
.post_body .bg_block .wp-block-image .alignleft { margin: 30px auto 0 0; }
.post_body .bg_block .wp-block-image .alignright  { margin: 30px 0 0 auto; }
.post_body .bg_block h3 { margin-bottom: 15px; }
.post_body .bg_block div + h3 { margin-top: 30px; }

@media screen and (max-width: 600px) {
	.post_body .bg_block { padding: 30px 6% 35px; }
	.post_body .bg_block img,
	.post_body .bg_block .wp-block-image figure,
	.post_body .bg_block .wp-block-image .aligennone,
	.post_body .bg_block .wp-block-image .aligncenter,
	.post_body .bg_block .wp-block-image .alignleft,
	.post_body .bg_block .wp-block-image .alignright { clear: both; float: none; margin: 0 auto;}
	.post_body .bg_block div + h3 { margin-top: 10px; }
}


/* ---------------------------------------------------
	定義リスト
------------------------------------------------------ */
.post_body dl { font-size: 16px; margin-top: 60px; }
.post_body dl div { display: flex; border-bottom: 1px solid var(--color02); }
.post_body dt{ color: #926010; margin: 0; padding: 0 0 10px; font-weight: normal; display: flex; align-items: center; flex-shrink: 0; box-sizing: border-box;}
.post_body dd{ padding: 0; flex-grow: 1; }
.post_body dd p  { margin: 0;}
.post_body dd ul { margin: 5px 0 10px;}
.post_body dd ol { margin: 5px 0 10px 20px;}

@media screen and (max-width: 600px) {
	.post_body dl { font-size: 14px; margin-top: 25px; }
	.post_body dl div { flex-direction: column; }
	.post_body dt { width: 100%; padding: 0 0 5px; }
	.post_body dd { width: 100%; padding: 0; }
}


/* ---------------------------------------------------
	テーブル
------------------------------------------------------ */
.post_body table{
	clear:both; margin: 0 auto; width: 100%; line-height: 1.8;
	border-collapse: collapse; border-spacing: 0; border: solid 1px var(--color02);
}
.post_body table th{ padding: 10px; border: solid 1px var(--color02); color: #fff; background: var(--color01); font-weight: normal; box-sizing: border-box; text-align: left; }
.post_body table td{ padding: 10px; border: solid 1px var(--color02); box-sizing: border-box; }

body .post_body .is-layout-flex p { margin: 0; }

body .post_body .wp-block-table.aligncenter { margin-left: auto; margin-right: auto;}
body .post_body .wp-block-table.alignleft { margin-left: 0; margin-right: auto; }
body .post_body .wp-block-table.alignright { margin-left: auto; margin-right: 0; }

@media screen and (max-width: 600px) {
	body .post_body .is-layout-flex { flex-wrap: wrap; justify-content: center; }
	body .post_body .is-layout-flex > div { width: 48%; }
}


/* ---------------------------------------------------
	記事リスト
------------------------------------------------------ */
.post_list{ margin: 15px 0 35px; padding: 0;}

.post_list li{
	margin: 0 0 3px; padding: 5px 10px; line-height: 1.6;
	vertical-align: middle; position: relative;
	border-bottom: 1px dotted var(--color02);
}
.post_list li:before{
	content: ""; top: 11px; left: 0; position: absolute;
	width: 4px; height: 4px; vertical-align: middle;
	border: 4px solid transparent; border-left: 4px solid var(--color02); box-sizing: border-box;
}


/* ---------------------------------------------------
	記事ナビ（記事詳細ページ内 / 前後の記事へのリンク）
------------------------------------------------------ */
.article_nav       { margin: 15px 0 30px; width: 100%; color: #000; font-size: 13px; line-height: 1.6; overflow: hidden;}
.article_nav:after { content: "."; display: block; height: 0px; clear: both; visibility: hidden; font-size: 0;}

.article_nav ul { list-style: none;}
.article_nav li.prev { width: 45%; float: left; text-align:left; background: none;}
.article_nav li.next { width: 45%; float: right; text-align:right; background: none;}


.iframewrap { margin: 0; padding-top: 56.25%; width: 100%; position: relative; }
.iframewrap iframe { width: 100%; height: 100%; position: absolute; top: 0; left: 0; }


/* ---------------------------------------------------
	ページナビ（プラグイン）
------------------------------------------------------ */
.pagenavi_area       { clear: both; margin: 0 0 25px; padding: 0; width: 100%; font-size: 13px; text-align: center;}
.pagenavi_area:after { content: "."; display: block; height: 0px; clear: both; visibility: hidden; font-size: 0;}

.wp-pagenavi { clear: both; display: inline-block;}
.wp-pagenavi span { display: block; float: left; margin: 2px; padding: 5px; text-decoration: none; border: 1px solid #fff;}
.wp-pagenavi a { display: block; float: left; margin: 2px; padding: 5px; color: #000; text-decoration: none; background: var(--color03); border: 1px solid var(--color03); transition: opacity .5s;}
.wp-pagenavi a:hover { opacity: .7; }
.wp-pagenavi span.current { color: #fff; background: var(--color01); border: 1px solid var(--color01);}


/* ---------------------------------------------------
	clear
------------------------------------------------------ */
.post_body:after,
.post_body:after,
.post_body p:after,
.post_body ul:after,
.post_body ol:after,
.post_body hr:after { content: "."; display: block; height: 0px; clear: both; visibility: hidden; font-size: 0;}
