@charset "utf-8";

.entry_body {
	/* font-family: "游ゴシック Medium", "Yu Gothic", YuGothic, "游ゴシック体", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", Meiryo, "メイリオ", sans-serif; */
	/* font-feature-settings: "palt"; */
	-webkit-text-size-adjust: 100%;
}
.entry_body p {
	font-size: 20px;
	line-height: 1.5;
	margin-top: 10px;
	margin-bottom: 15px;
	padding-left: 10px;
	padding-right: 10px;
}
.entry_body div {
	font-size: 20px;
	line-height: 1.5;
}
h1,h2,h3,h4,h5,h6 {
	font-feature-settings: "palt";
}
.entry_body h2 ,
.entry_body .yarpp-related h2 {
	position: relative;
	padding: 2rem 0;
	font-size: 28px;
	letter-spacing:4px;
	background-color: #cc0000;
	color: white;
	text-align: center;
	line-height: 1.6;
	margin-bottom: 2.6rem;
}
.entry_body h2 > span{
	display: block;
	font-size: 28px;
}
.entry_body h2 a ,
.entry_body .yarpp-related h2 a {
	color: white;
}

.entry_body h3 {
	height: auto;
	border-top: solid 1px #2b140c;
	border-bottom: solid 1px #2b140c;
	border-left: none;
	border-right: none;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	box-sizing: border-box;
	padding: 1em 1em 1em 1em;
	line-height: 1.5;
	letter-spacing: -1px;
	color: #2b140c;
	font-weight: bold;
	font-size: 20px;
}
.entry_body h4 {
	margin: 20px 0;
	padding: 1rem 0 1rem 1rem;
	border-left: 5px solid #c00;
	border-bottom: 1px solid #ddd;
	font-size: 20px;
}
.entry_body h5 {
	font-weight: bold;
	padding: 5px;
	margin: 50px 0px 30px 0px;
	font-size: 18px;
}
.entry_body h5:before {
	content: "● ";
	font-size: 107%;
	color: #a71a29;
}
.entry_body div.aligncenter {clear:both;display:block;margin-left:auto;margin-right:auto;}
.entry_body div.alignleft {float:left;}
.entry_body div.alignright {float:right;}
.entry_body img.aligncenter {clear:both;display:block;margin-left:auto;margin-right:auto;}
.entry_body img.alignleft{float:left;margin-right:20px;padding:7px;}
.entry_body img.alignright{float:right;margin-left:20px;padding:7px;}

.entry_body .m10{margin:10px;}
.entry_body .ml10{margin-left:10px;}
.entry_body .mr10{margin-right:10px;}
.entry_body .mlr10{margin-left:10px;margin-right:10px;}
.entry_body .mt10{margin-top:10px;}
.entry_body .mb10{margin-bottom:10px;}
.entry_body .mtb10{margin-top:10px;margin-bottom:10px;}

.entry_body .m20{margin:20px;}
.entry_body .ml20{margin-left:20px;}
.entry_body .mr20{margin-right:20px;}
.entry_body .mlr20{margin-left:20px;margin-right:20px;}
.entry_body .mt20{margin-top:20px;}
.entry_body .mb20{margin-bottom:20px;}
.entry_body .mtb20{margin-top:20px;margin-bottom:20px;}

.entry_body .mb50{margin-bottom:50px;}
.entry_body .mb100{margin-bottom:100px;}

.wp-caption { max-width: 100%; }
.wp-caption.alignleft { text-align: left; }
.wp-caption.aligncenter { text-align: center; }
.wp-caption.alignright { text-align: right; }
.wp-caption .wp-caption-text { text-align: center;color: #808080;font-size:16px; }

@media (max-width:768px) {
	.entry_body h2 {
		position: relative;
		padding: 1rem;
		font-size: 20px;
		background-color: #cc0000;
		color: white;
		text-align: left;
		line-height: 1.6;
		margin-bottom: 2.6rem;
		letter-spacing: 2px;
	}
	.entry_body h2 > span {
		display: block;
		font-size: 20px;
	}
	.entry_body h2 > span.big {
		display: block;
		font-size: 2.8rem;
	}
}

/* 強調囲み：https://saruwakakun.com/html-css/reference/box */
.pointbox {
	position: relative;
	margin: 2em 1em;
	padding: 1em 1em 0.5em;
	border: solid 3px #95ccff;
	border-radius: 8px;
	letter-spacing: 0;
	text-align:left;
}
@media (max-width:768px) {
	.pointbox {
		padding: 1.2em 1em 0.5em;
		font-size: 18px;
	}
	.pointbox2line {
		padding: 2em 1em 0.5em;
	}
	.pointbox2line .box-title {
		top: -23px !important;
		line-height: 1.25 !important;
	}
	.pointbox3line {
		padding: 2.5em 1em 0.5em;
	}
	.pointbox3line .box-title {
		top: -33px !important;
		line-height: 1.25 !important;
	}
}
/*********************************************
//@media (max-width:400px) {
//	.pointbox {
//		padding: 1.2em 1em 0.5em;
//		font-size: 18px;
//	}
//	.pointbox2line {
//		padding: 2em 1em 0.5em;
//	}
//	.pointbox2line .box-title {
//		top: -23px !important;
//		line-height: 1.25 !important;
//	}
//	.pointbox3line {
//		padding: 2.5em 1em 0.5em;
//	}
//	.pointbox3line .box-title {
//		top: -33px !important;
//		line-height: 1.25 !important;
//	}
//}
*********************************************/
.pointbox .box-title {
	position: absolute;
	display: inline-block;
	top: -13px;
	left: 10px;
	padding: 0 9px;
	line-height: 1;
	font-size: 22px;
	background: #FFF;
	color: #0066ff;
	font-weight: bold;
	letter-spacing: -0.3px;
}
.pointbox p {
	margin: 0; 
	padding: 0 0 10px 0;
	font-weight: normal;
	line-height: 1.3;
	font-size: 20px;
}
@media (max-width:768px) {
	.pointbox .box-title {
		font-size:21px;
		letter-spacing: -0.3px;
	}
	.pointbox p {
		font-size:20px;
		letter-spacing: -1px;
	}
}
.pointbox p a{
	text-decoration: underline;
	text-underline-offset: 0.1em;
	text-decoration-thickness: 1px;
}
	
/* 箇条書き囲み */
.listbox {
	border:2px solid #aaaaff;
	border-radius: 4px;
	background-color:#f0f9ff;
	color:black;
	font-size: 20px;
	font-weight:bold;
	padding:10px;
	margin: 2em 1em;
	letter-spacing: 0;
	text-align:left;
}
.listbox ul ,
.listbox ol {
	font-weight:normal;
	display: block;
	margin-block-start: 1em;
	margin-block-end: 0.5em;
	margin-inline-start: 0px;
	margin-inline-end: 0px;
	padding-inline-start: 1em;
	padding-inline-end: 1em;
	line-height: 1.3;
	font-size:20px;
}
@media (max-width:768px) {
	.listbox ul ,
	.listbox ol {
		font-size:18px;
	}
}
.listbox ul {
	list-style-type: disc;
}
.listbox ol {
	list-style-type: decimal;
}
.listbox ul li a,
.listbox ol li a{
	text-decoration: underline;
	text-underline-offset: 0.1em;
	text-decoration-thickness: 1px;
}

/* 引用(blockquote):https://sinpe-pgm.com/sample-blockquote/ */
blockquote {
	margin: 50px;
	padding: 20px 25px;
	position: relative;
	color: #707070;
	background: #F8FAF9;
	font-weight: bold;
}
@media screen and (max-width: 768px) {
	blockquote { margin: 0 20px; }
}

blockquote:before,
blockquote:after {
	content: "\f10d";
	position: absolute;
	font-family: FontAwesome;
	font-weight: 900;
	font-size: 1.8em;
	color: #e0e0e0;
}

blockquote:before {
	top: 0;
	left: 1px;
}
blockquote:after {
	bottom: 0;
	right: 1px;
	transform: scale(-1, 1);
}
blockquote p:has(cite){
	color: #888;
	font-size: 0.8em !important;
	font-weight: normal;
	text-align: right;
}
blockquote cite a{
	word-wrap:break-word;
}


/* PCのみ、スマホのみ*/
@media screen and (max-width: 768px) {
	.pconly{display:none !important;}
	.sponly{display:block;}
	.mvonly{display:block;}
}
@media screen and (min-width: 769px) {
	.pconly{display:block;}
	.sponly{display:none !important;}
	.mvonly{display:none !important;}
}

/* テーブルレイアウト */
.entry_body table{margin:20px auto;max-width:800px;border-collapse:collapse;}
.entry_body table.w100{max-width:100%;}
.entry_body table th , .entry_body table td{border: solid 1px #cccccc;padding: 10px;}
.entry_body table th.alignleft , .entry_body table td.alignleft{text-align:left}
.entry_body table th.aligncenter , .entry_body table td.aligncenter{text-align:center;display:table-cell;}
.entry_body table th.alignright , .entry_body table td.alignright{text-align:right}
.entry_body table th.alignright , .entry_body table td.alignright{text-align:right}
.entry_body table th{background: #e9727e;color:#ffffff;}
.entry_body table td{background: #ffffff;color:#000000;}
@media screen and (max-width: 768px) {
	.entry_body table{width:calc(100% - 10px);}
}


/* テーブルレイアウト（横並びを縦並びにするテーブルレスポンシブ） */
.entry_body table.tblstyle03 th {background: #e9727e; border: solid 1px #ccc; color: #fff; padding: 10px;}
.entry_body table.tblstyle03 td {border: solid 1px #ccc; padding: 10px; }
@media screen and (max-width: 768px) {
	.entry_body table.tblstyle03 tr { display: block;  float: left; }
	.entry_body table.tblstyle03 tr td, 
	.entry_body table.tblstyle03 tr th { border-left: none; display: flex; height: 55px; align-items: center;}
	.entry_body table.tblstyle03 tr td { justify-content: left; text-align: left;}
	.entry_body table.tblstyle03 tr th ,
	.entry_body table.tblstyle03 tr td.aligncenter { justify-content: center; text-align: left;}
	.entry_body table.tblstyle03 tr td.alignright { justify-content: right; text-align: right;}
	.entry_body table.tblstyle03 thead { display: block; float: left; width: 30%; }
	.entry_body table.tblstyle03 thead.w50 { width: 50%; }
	.entry_body table.tblstyle03 thead tr { width: 100%; }
	.entry_body table.tblstyle03 tbody { display: block; float: left; width: 70%; }
	.entry_body table.tblstyle03 tbody.w50 { width: 50%; }
	.entry_body table.tblstyle03 tbody tr { width: 100%; }
	.entry_body table.tblstyle03 tbody tr.w50 { width: 50%; }
	.entry_body table.tblstyle03 tr td + td { border-left: none; }
	.entry_body table.tblstyle03 tbody td:last-child { border-bottom: solid 1px #ccc; }
}

/* テーブルレイアウト（スマホ時に列ごとにまとめ直し） */
.entry_body table.tblstyle04 td:first-child {background: #fbf5f5;}
@media (max-width:768px) {
	.entry_body table.tblstyle04 tr.thead {display: none;}
	.entry_body table.tblstyle04 tr {width: 100%;}
	.entry_body table.tblstyle04 td {display: block;width:100%;}
	.entry_body table.tblstyle04 td:first-child {background:#e9727e;color:#ffffff;font-weight:bold;text-align:center;}
	.entry_body table.tblstyle04 td:before {content: attr(data-label);float:left;font-weight: bold;margin-right:10px;}
}

/* I'd like to hide the reCAPTCHA badge */
.grecaptcha-badge { visibility: hidden; }


/* 目次の上部に空白を入れる */
#ez-toc-container {
	margin-top: 1em;
}


