@charset "UTF-8";

/*--------------------------------------------------------------------
 *	PC/SP共通のstyle
 *--------------------------------------------------------------------*/

/* サイドメニュー */
#side_menu section.smenu {
	margin: 1em 0;
	font-size: 14px;
}

#side_menu section.smenu h2 {
	margin: 0;
	padding: 0.2em 0;
	font-size: 14px;
	background-color: #283CE5;
	color: #fff;
	line-height: 1.5;
	text-align: center;
}
#side_menu section.smenu ul {
	list-style-type: none;
	margin: 1em 0;
}
#side_menu p.button_old_blog a {
	margin: 2em 0;
	display: block;
	background-color: #283CE5;
	color: #fff;
	border-radius: 40px;
	text-align: center;
	padding: 0.5em 1em;
	transition: 0.5s;
	text-decoration: none;
	white-space: nowrap;
}
#side_menu .gsc-control-cse {
	padding: 0;
}
#side_menu form.gsc-search-box {
	margin: 1em 0;
}
#side_menu form.gsc-search-box table,
#side_menu form.gsc-search-box table td {
	margin: 0;
	border: none;
	padding: 0;
}
#side_menu form.gsc-search-box input.gsc-input {
	padding: 3px;
}

/* 記事リスト */
.blog_archive #main_contents .article_list {
	list-style-type: none;
	margin: 1em 0;
}
.blog_archive #main_contents .article_list li {
	margin: 0 0 2em 0;
	padding: 0 0 1em 0;
	border-bottom: 1px solid #dddddd;
}
.blog_archive #main_contents .article_list li a.entry_url {
	color: #1D1F35;
	text-decoration: none;
}
.blog_archive #main_contents .article_list li a.entry_url:hover {
	color: #283CE5;
	text-decoration: none;
}
.blog_archive #main_contents .article_list li p {
	margin: 0.5em 0;
}
.blog_archive #main_contents .article_list li p.title {
	font-size:  18px;
	font-weight: bold;
}
.blog_archive #main_contents .article_list li p.excerpt {
	padding: 1em 2em;
	font-size: 14px;
}
.blog_archive #main_contents .article_list li .article_header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
	margin-bottom: 1.5em;
}
.blog_archive #main_contents .article_list li .article_header p {
	margin: 0;
	font-size: 14px;
}
.blog_archive #main_contents .article_list li .article_header p.category a {
	display: block;
	width: 15em;
	background-color: #283CE5;
	color: #fff;
	border-radius: 15px;
	text-align: center;
	padding: 0 0.5em;
	transition: 0.5s;
	text-decoration: none;
	white-space: nowrap;
}

/* ページネーション */
.pagenation {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
}
.pagenation li {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 34px;
	height: 34px;
}
.pagenation .current_pg,
.pagenation a:hover {
	background: #1d1f35;
	color: #fff;
	text-align: center;
	line-height: 1;
}
.pagenation a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	background: #f1f2f4;
	text-decoration: none;
	text-align: center;
	line-height: 1;
	color: #1d1f35;
}
.pagenation a:hover {
	opacity: 1;
	transition: .4s;
}

/* パンくず */
#pankuzu {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 1.5em 0;
}
#pankuzu li a {
	text-decoration: none;
	color: #1d1f35;
}
#pankuzu li:last-child span {
	padding-bottom: 3px;
	border-bottom: 1px solid #1d1f35;
}
#pankuzu li:nth-child(n+2)::before {
	display: inline-block;
	content: ">";
	margin: 0 0.5em;
}

#main_contents h1.archive_title {
	margin: 1em 0 2em 0;
	text-align: center;
	font-weight: bold;
	font-size: 18px;
}

/* 記事詳細 */
#blog_article #main_contents article p.date {
	font-size: 12px;
}
#blog_article #main_contents article .article_header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
	margin-top: 2em;
	margin-bottom: 1.5em;
}
#blog_article #main_contents article .article_header p {
	margin: 0;
	font-size: 14px;
}
#blog_article #main_contents article .article_header p.category a {
	display: block;
	width: 15em;
	background-color: #283CE5;
	color: #fff;
	border-radius: 15px;
	text-align: center;
	padding: 0 0.5em;
	transition: 0.5s;
	text-decoration: none;
	white-space: nowrap;
}
#blog_article #main_contents article h1 {
	border-bottom: #666 dotted 1px;
	font-weight: bold;
	font-size: 20px;
}
#blog_article #main_contents article div.entry_body {
	line-height: 2.0;
	font-size: 14pt;
}
#blog_article #main_contents article div.entry_body p {
	margin: 1.5em 0;
}
#blog_article #main_contents article .post-nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 2em 0;
	gap: 1rem;
}

/* prev / next の幅を調整して左右に寄せる */
#blog_article #main_contents article .post-nav .prev,
#blog_article #main_contents article .post-nav .next {
	flex: 1 1 0;
	min-width: 0; /* 子要素の text-overflow を効かせるために必要 */
}

/* 左は左寄せ、右は右寄せ */
#blog_article #main_contents article .post-nav .prev { text-align: left; }
#blog_article #main_contents article .post-nav .next { text-align: right; }

/* リンクの見た目 */
#blog_article #main_contents article .post-nav a {
	display: inline-block;
	max-width: 100%;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* 検索結果 */
#blog_search table.gsc-search-box {
	margin: 30px 0 15px;
	padding: 0;
	border: none;
}
#blog_search table.gsc-search-box table,
#blog_search table.gsc-search-box th,
#blog_search table.gsc-search-box td {
	margin: 0;
	padding: 0;
	border: none;
	line-height:0px;
}

#blog_search table.gsc-search-box td {
	padding: 6px;
	background:none;
}

#blog_search table.gsc-search-box input {
	margin: 0;
}
#blog_search .gsst_b a.gsst_a {
	padding-top: 2px;
}

#blog_search div.gsc-above-wrapper-area table,
#blog_search div.gsc-above-wrapper-area table th,
#blog_search div.gsc-above-wrapper-area table td {
	border: none;
}

#blog_search div.gsc-wrapper table,
#blog_search div.gsc-wrapper table th,
#blog_search div.gsc-wrapper table td {
	border: none;
}

#blog_search div.gsc-wrapper div.gs-title {
	padding: 5px 0;
	line-height: 1.6;
	text-decoration: none;
}

#blog_search div.gsc-wrapper div.gs-title a:link,
#blog_search div.gsc-wrapper div.gs-title a:visited {
	color: #000095;
	text-decoration: underline;
}

#blog_search div.gsc-wrapper div.gs-title a:hover,
#blog_search div.gsc-wrapper div.gs-title a:active {
	color: #000095;
	text-decoration: none;
}

#blog_search div.gsc-wrapper div.gs-title b {
	color: #CC0033;
	text-decoration: none;
}

#blog_search div.gsc-wrapper table.gsc-table-result {
	margin: 0 0 0 5px;
}

#blog_search div.gsc-wrapper div.gs-webResult {
	padding: 0 0 10px 0;
	background: transparent url('../../search/images/horizontal_dotted_line.gif') repeat-x left bottom;
}


/*--------------------------------------------------------------------
 *	737px未満用（SP用）の記述
 *--------------------------------------------------------------------*/
@media screen and (max-width: 736px) {


/* 見出し -----------------------*/

body.search #main_ttl {
	background-image: url(../../search/images/h1_background.png);
}
body.search #main_ttl h1 {
	padding: 18% 0;
}

body.search main .wrap {
	margin: 0 5%;
}

}


/*--------------------------------------------------------------------
 *	750px未満用（SP用）の記述
 *--------------------------------------------------------------------*/
@media screen and (max-width: 749px) {

/* メイン */
#main_wrap {
	padding: 0 3%;
}

/* 記事リスト */
.blog_archive #main_contents .article_list li .article_header p.tags {
	flex-basis: 100%;
}


/* ページネーション */
.pagenation {
	margin-top: 41px;
	font-size: 14px;
}
.pagenation li {
	margin: 1.5%;
}

/* 記事詳細 */
#blog_article #main_contents article div.entry_body {
	padding: 1em 0;
}
#blog_article #main_contents article .post-nav {
	flex-direction: column;
	align-items: stretch;
}
#blog_article #main_contents article .post-nav .prev,
#blog_article #main_contents article .post-nav .next {
	text-align: center;
}
#blog_article #main_contents article .post-nav a {
	display: block;
}



}


/*--------------------------------------------------------------------
 *	750px以上用（PC用）の記述
 *--------------------------------------------------------------------*/
@media screen and (min-width: 750px), print {

main {
	width: 1000px;
	margin: 0 auto;
}


/* メイン */
#main_wrap {
	display: flex;
	padding: 97px 0 45px;
}

/* メインコンテンツ */
#main_contents {
	flex: 1;
	order: 2;
	padding: 20px;
}

/* サイドメニュー */
#side_menu {
	width: 250px;
	order: 1;
	padding: 20px;
}

/* ページネーション */
.pagenation {
	margin: 64px 0 0;
}
.pagenation li {
	margin: 7px;
	font-size: 14px;
}

/* 記事詳細 */
.blog_archive #main_contents .article_list li p.excerpt {
	background-color: #eee;
}
#blog_article #main_contents article div.entry_body {
	padding: 15px;
	background-color: #eee;
}



/*--------------------------------------------------------------------
 *	印刷用の記述
 *--------------------------------------------------------------------*/
@media print {
  header, #side_menu {
    display: none !important;
  }
}