@charset "utf-8";
/* CSS Document */
.ninja-forms-field {
	margin: 2rem 0;
	border:1px dotted #ccc;
}
/*------------------------------
	page-title
-------------------------------- */
.page-title {
    padding-bottom: 0.75rem;
    line-height: 1.5em;
    font-weight: bold;
    letter-spacing: 4px;
    text-align: center;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    border-bottom: 1px solid #ccc;
}

.parent-title-slug {
	display: inline-block;
	margin: 0 auto;
}

.page-title-area {
	padding: 1rem 0 1rem 0;
}
@media screen and (min-width: 769px) {
	.page-title {
		margin-top: 2rem;
		margin-bottom: 2rem;
		font-size: 1.5rem;
	}
}

@media screen and (max-width: 768px) {
}
/* ---------------------------------------------
	breadcrumbs
---------------------------------------------- */
.breadcrumb {
	border-bottom: 2px solid #eee;
	padding: 0.5rem 0;
	background-color: #f0f0f0;z-index: -5;
}
.breadcrumb ul {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}
.breadcrumb ul li * {
	font-size: 0.875rem;
}
.breadcrumb ul a {
	font-weight: bold;
	color: #EE338A;
}
.breadcrumb ul li {
}
.breadcrumb ul li+li:before {
	content: ">";
	color: #aaa;
	margin: 0 0.75rem;
}

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

}
/*------------------------------
	page
-------------------------------- */
/*サイドバー付きページのレイアウト*/
.page-layout__sidebar { 
	display: flex;
	justify-content: space-between;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-start;
}

.page-layout__sidebar > .sidebar {
	width: 18rem;
}
.page-layout__sidebar > .content {
	width: calc(100% - 18rem - 2rem);
}
/* -----------------------------------------------
 contents-list
--------------------------------------------------*/
.contents-list-ttl {
	margin: 0;
	font-size: 1.5rem;
}
.contents-list {
	position: relative;
}
.contents-list .page_item+.page_item,
.contents-list .children {
	border-top: 1px dotted #ccc;
}
.contents-list .children {
	margin-top: 0;
}
.contents-list .page_item a {
	display: block;
	padding: 1rem 2rem 1rem 0;
	color: #222;
	/*矢印を固定*/
	position: relative;
}
/*矢印を表示する*/
.contents-list .page_item a:after {
    content: "▲";
	transform: rotate(90deg);
	font-size: 0.5rem;
	width: 0.5rem;
	height: 0.5rem;
	line-height: 1em;
    color: #EE338A;
    position: absolute;
	left: auto;
	right: 1rem;
	top: 0;
	bottom: 0;
    margin: auto;
}
/*hover, active時*/
.contents-list .page_item a:hover,
.contents-list .page_item a:active {
	text-decoration: underline;
	color: #EE338A;
	background: rgb(255,255,255);
background: linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(250,250,250,1) 65%, rgba(245,245,245,1) 100%);
}
.contents-list .page_item a:hover:after,
.contents-list .page_item a:active:after{
	margin-right: 0.25rem;
}

/* -----------------------------------------------
 sidebar
--------------------------------------------------*/
.sidebar {
	border-radius: 2px;
}
.tree {
	border-radius: 2px;
	border-top-width: 8px;
	border-right-width: 1px;
	border-bottom-width: 1px;
	border-left-width: 1px;
	border-top-style: solid;
	border-right-style: solid;
	border-bottom-style: solid;
	border-left-style: solid;
	border-top-color: #1252B1;
	border-right-color: #CCCCCC;
	border-bottom-color: #CCCCCC;
	border-left-color: #CCCCCC;
	background-color: #FAFAFA;
}
.tree-ttl {
	margin-top: 1rem;
	margin-bottom: 0.5rem;
	border-radius: 2px;
	letter-spacing: 2px;
}
.tree-ttl:before {
}
/*新着情報*/
.sidebar .new-posts_item {
	display: inherit;
}
.sidebar .new-posts_time,
.sidebar .new-posts_link {
	width: 100%;
	margin-left: 0;
}
/*記事一覧 自動出力*/
.sidebar .page_item a,
.sidebar .cat-item a {
	display: block;
	color: #222;
	text-decoration: none;
}
/*矢印を表示する*/
.sidebar .page_item a,
.sidebar .cat-item a {
	position: relative;
}
.sidebar .page_item a:after,
.sidebar .cat-item a:after {
	content: "▲";
	transform: rotate(90deg);
	font-size: 0.5rem;
	width: 0.5rem;
	height: 0.5rem;
	line-height: 1em;
	position: absolute;
	left: auto;
	right: 1rem;
	top: 0;
	bottom: 0;
	margin: auto;
	color: #ccc;
}
/*hover, active時*/
.sidebar .page_item a:hover,
.sidebar .page_item a:active, 
.sidebar .cat-item a:hover,
.sidebar .cat-item a:active {
	background-color: #fafafa;
}
.sidebar .page_item a:hover,
.sidebar .page_item a:active,
.sidebar .cat-item a:hover,
.sidebar .cat-item a:active {
	text-decoration: underline;
	color: #009fd4;
}
.sidebar .page_item a:hover:after,
.sidebar .page_item a:active:after,
.sidebar .cat-item a:hover:after,
.sidebar .cat-item a:active:after {
	right: 1.25rem;
}
/*border*/
.sidebar .page_item+.page_item,
.sidebar .cat-item+.cat-item,
.sidebar .children {
	border-top: 1px solid #ccc;
}
/*第二階層*/
.sidebar .cat-item .children { 
	margin: 0.25rem 0 0 1rem;
	
}
.sidebar .children .page_item .children,
.sidebar  .children .cat-item+.cat-item,
.cat-item .children {
	border-top: 1px dotted #ccc;
}

/*サイドバー、最初のリンクを青くする*/
.sidebar .page_item:first-child {
	padding: 0;
}
.sidebar .page_item:first-child a {
	font-weight: bold;
	border-radius: 2px 2px 0 0;
}
.sidebar .page_item:first-child a:after {
	color: #1252B1;
}
.sidebar .page_item:first-child a:hover {

}
.sidebar .page_item a:hover:after {
	right: 1rem;
}
/*サイドバー、最初のリンク、childrenは除外*/
.sidebar .children .page_item:first-child a {
	border-radius: 0;
	font-weight: normal;
}
.sidebar .children .page_item:first-child a:after {
	color: #ccc;
}

/*サイドバーのバナー*/
.tree+.sidebar-banner {
	margin-top: 1rem;
}
.sidebar-banner a:hover,
.sidebar-banner a:active {
	opacity: 0.7;
}
.sidebar-banner--list li+li {
	margin-top: 2rem;
}
/*リストにマークを表示させる*/
.tree ul li a,
.tree ul ul li a {
	position: relative;
}
.tree ul li a:before {
	content: "●";
}
.tree ul ul li a:before {
	content: "□";
}
.tree ul li a:before,
.tree ul ul li a:before {
	position: absolute;
	display: inline-block;
	width: 8px;
	height: 8px;
	line-height: 4px;
	top: 0;
	right: auto;
	bottom: 0;
	left: 0;
	margin: auto;
	padding: 0;
	color: #1252B1;
}

.tree ul ul,
.tree ul ul ul,
.tree ul ul ul ul {
	margin-top: 0;
	margin-left: 0;
}
	/* -----------------------------------------------
	  sidebar > 1098px以上
	-------------------------------------------------- */
	@media (min-width: 1098px) {
		.sidebar {
			width: 20.75rem;
		}
	}
	/* -----------------------------------------------
	  sidebar > 1097px以下(PC)
	-------------------------------------------------- */
	@media  (max-width: 1097px) {
		.sidebar {
			width: 100%;
			margin: 1.5rem auto 0rem auto;
		}
	}
	/* -----------------------------------------------
	  sidebar  > PC
	-------------------------------------------------- */
	@media (min-width:721px) {
		.sidebar .page_item:first-child a {
			border-radius: 0;
		}
		.sidebar .page_item a,
		.sidebar .cat-item a {
			padding: 1rem 2rem 1rem 1.5rem;
		}
		.tree {
			padding: 0.5rem 1.75rem;
		}
}
	/* -----------------------------------------------
	  sidebar > SP
	-------------------------------------------------- */
	@media (max-width:720px) {
		.sidebar {
			width: 100%;
			margin: 1.5rem auto 0rem auto;
		}
		/*スマートフォン版でサイドバーのデザインを変える*/
		.tree {
			padding: 0 1rem;
		}
		.tree-ttl {
			padding: 0.5rem 1rem;
			border-radius: 0;
		}
		.tree-list {
			/*margin: 0.5rem 1rem;*/
		}
		.sidebar .page_item a,
		.sidebar .cat-item a {
			padding: 0.5rem 1rem;
		}
		.sidebar .categry-list {
			margin: 0.5rem 1rem;
		}
		.sidebar-banner {
			width: 100%;
			padding: 0 1rem 1rem 1rem;
		}
	}
/* ------------------------------------------------------------------------------
	page contents 目次
-------------------------------------------------------------------------------*/
.contents-list {

}
.contents-list__item {
	width: 100%;
	display: block;
}
.link_box a {
	color: #fff;
	background-color: #1770CD;
	padding: 0.5rem 1rem;
	display: block;
}

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

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

}

/*------------------------------------------------------------
single.php .thumbnail
-------------------------------------------------------------- */
.post_thumbnail {
	width: 100%;
	height: 12rem;
	display: flex;
	align-items: center;
	overflow: hidden;
	margin-bottom: 4rem;
}
.post_thumbnail img {
	width: 100%;
	height: auto;
}
/* ---------------------------------------------
	mailform > html
---------------------------------------------- */
/* テキストエディタで構築 */
.mailform { max-width: 100%; margin:2rem 0;}

/*table*/
.form-table { background-color: #fff;table-layout: fixed; }
.form-table th,
.form-table td { border:1px solid #ccc; }
.form-table th { background-color: #eee; }

.form-table { border-collapse: collapse;width: 100%;margin:1rem 0 2rem 0; }
.form-table th,
.form-table td { padding: 1.5rem 2rem; }
.form-table th { width: 15rem; text-align: left; }
.form-table td { width: calc(100% - 15rem); }
.form-table td input,
.form-table td select,
.form-table td option,
.form-table td textarea { max-width: 100%;font-size: 1rem;padding: 0.5rem 0.5rem;margin: 0.25rem;}
.form-table td .small { font-size: 0.8rem; line-height: 1.75em;margin:0.5rem 0 0 0;}
.form-table label:hover { cursor: pointer;}
.form-table-th { display: flex;justify-content: space-between;}

@media screen and (max-width: 700px) {
	.form-table { border-bottom: 0px; }
	.form-table th,
	.form-table td { width: 100%; display: block;}
	.form-table th { border-bottom: none!important; }
}

/*label*/
.form-table-th label { margin-bottom: 0; }
.label-area { width: 9rem; }
.required-area { width: 2.8rem;text-align: right;}
.required {color:#fff;background-color:#d74f2a;} /*必須*/
.required { font-size: 0.8rem; text-align: center;border-radius:2px;margin:0.25rem 0;padding: 0.25rem 0.5rem;} /*必須*/

@media screen and (max-width: 700px) {
	.label-area { width: auto; }
	.required-area { width: auto; }
}

/*input*/
.w100 { width: 100%; }
.w90 { width: 90%; }
.w80 { width: 80%; }
.w70 { width: 70%; }
.w60 { width: 60%; }

@media screen and (max-width: 500px) {
	.form-table td select,
	.form-table td option { font-size: 0.8rem;}
}
/*ボタン全般*/
.kakunin-reset-area { display: flex; }
.submit-kakunin,
.input-reset,
.submit-back { font-size: 1.125rem;font-weight: bold;padding: 1rem 2rem; }
.submit-kakunin:hover, .submit-kakunin:active,
.submit-back:hover, .submit-back:active,
.input-reset:hover, .input-reset:active { cursor: pointer; }
/*ボタン全般*/
.submit-kakunin,
.input-reset,
.submit-back { color: #fff;border: 2px solid #fff;box-shadow: 0px 0px 0px 1px #cccccc,0px 0px 0px 0px #b7b7b7; }


/*確認画面へ, 送信する*/
.submit-kakunin { margin-right: 1rem; }

/*確認画面へ, 送信する*/
.submit-kakunin:hover,
.submit-kakunin:active { box-shadow: 0px 0px 0px 1px #cccccc,0px 0px 0px 0px #b7b7b7;}
/*確認画面へ*/
.submit-kakunin[name="submitConfirm"] { background-color:#138511; }
.submit-kakunin[name="submitConfirm"]:hover,
.submit-kakunin[name="submitConfirm"]:active { background-color:#25ad23; }
/*送信する*/
.submit-kakunin[name="submit-kakunin"] { background-color:#047294; }
.submit-kakunin[name="submit-kakunin"]:hover,
.submit-kakunin[name="submit-kakunin"]:active { background-color:#1da5cf; }

/*リセット*/
.input-reset { background-color: #a0a0a0; }
.input-reset:hover, .input-reset:active { background-color: #dd0000;}

/*入力画面へ戻る*/
.submit-back { background-color: #aaa; }
.submit-back:hover, .submit-back:active { background: #bbb; }


input::placeholder, 
input:-ms-input-placeholder,/* IE */
input::-ms-input-placeholder /* Edge */{
  color: #ddd;
}

@media screen and (max-width: 500px) {
	.kakunin-reset-area { display: block; }
}

/* ---------------------------------------------
	single
---------------------------------------------- */
.single-title {
	font-size: 1.5rem;
	padding: 0 1rem;
	margin: 0 0 1.5rem 0;
}

.page-title__single {
	margin-bottom: 1.5rem;
	text-align: left;
	font-weight: bold;
	letter-spacing: 2px;
	font-size: 1.5rem;
	line-height: 1.5em;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}
.single-meta { 
	margin-bottom: 1rem;
	border-bottom: 1px dotted #ccc;
	padding: 0.75rem 0;
	text-align: right;
    display: flex;
    justify-content: space-between;
}
.single-meta time { color: #888;font-style: italic;margin: 0 1rem 0 0; }
.single-meta__cat { width: auto; }
@media screen and (min-width: 769px) {
	.page-title__single  {
		text-align: center;
	}
}

@media screen and (max-width: 768px) {
}
/* ---------------------------------------------
	pager
---------------------------------------------- */
.pager {
	margin-top: 2rem;
	margin-bottom: 1rem;
	padding-top: 1.5rem;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	
	border-top: 1px solid #aaa;
}
.pager-prev, .pager-next {
	width: calc(50% - 0.5rem);
}
.pager-prev a, .pager-next a { 
	padding-top: 1rem;
	padding-bottom: 1rem;
	margin: 0 auto;
	position: relative;
}
.pager-prev a:before,
.pager-next a:before {
	position: absolute;
	top: auto;
	bottom: auto;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 1rem;
	color: #000;
}
.pager-prev a:before {
	left: 1rem;
	content: "\f053"; /*左向きの < */
}
.pager-prev a {
	padding-left: 3rem;
	padding-right: 1rem;
}
.pager-next a:before {
	right: 1rem;
	content: '\f054'; /*右向きの > */
}
.pager-next a {
	padding-right: 3rem;
	padding-left: 1rem;
}
.pager-prev a,
.pager-next a {
	color: #000;
	display: block;
	text-decoration: none;
	background-color: #fdfdfd;
	background-repeat: no-repeat;
	background-size: 1rem 1rem;
	border: 1px solid #000;
	box-shadow: 2px 2px 0px 0px #ddd;
}
.pager-prev a:hover,
.pager-next a:hover { 
	color: #000;text-decoration: underline;
	background-color: #f0f0f0;
	box-shadow: none;
	transform: translate(2px,2px);
}
@media screen and (max-width: 600px) {
	.pager-prev, .pager-next {
		width: calc(100% - 0.0rem);
	}
	.pager-prev + .pager-next {
		margin-top: 1rem;
	}
}
/* ---------------------------------------------
	wp-pagenavi
---------------------------------------------- */
.wp-pagenavi {
	margin: 2rem 0 0 0;
}
