@charset "UTF-8";
/****************************************
　　コラム 詳細
****************************************/

/* post_header
-----------------------------*/
#post_header {
	margin-top: 1em;
	margin-bottom: 1em;
}
#post_header .titleArea {
	margin-bottom: 0.5em;
}
#post_header .titleArea .date {
	font-weight: 500;
	font-size: min(3vw, 25px);
	margin-bottom: 1.5em;
}
#post_header .titleArea .title {
	font-weight: 500;
	line-height: 1.32;
	font-size: min(5vw, 50px);
	margin-bottom: 0.5em;
}
#post_header .titleArea h1 span {
	display: block;
	font-weight: inherit;
	line-height: inherit;
	font-size: min(3vw, 30px);
	margin-top: 0.5em;
}
@media (min-width: 768px) {
	#post_header {
		display: flex;
		margin-top: 78px;
		margin-bottom: 32px;
	}
	#post_header .titleArea {
		flex-basis: 90%;
	}
	#post_header .titleArea .tagList li a {
		font-size: min(1.8vw, 18px);
	}
}
/*.snsShare*/
.snsShare {
	text-align: left;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
.snsShare a+a {
	margin: 0 0 0 5px;
}
.snsShare p {
	font-weight: 600;
	display: inline-block;
	margin-right: 10px;
}
.snsShare a {
	display: inline-block;
}
.snsShare a img {
	width: min(5vw, 32px);
}
@media (min-width: 768px) {
	.snsShare {
		display: block;
		text-align: center;
		flex-basis: 50px;
		margin-left: 40px;
	}
	.snsShare a+a {
		margin: 10px 0 0 0;
	}
	.snsShare p {
		display: block;
		padding-bottom: 10px;
		margin-right: 0;
	}
	.snsShare a {
		display: block;
	}
}

/* トップ画像
-----------------------------*/
#post_visual {
	margin-bottom: 2em;
}
@media (min-width: 768px) {
	#post_visual {
		margin-bottom: 3.3em;
	}	
}

/* post_content
-----------------------------*/
#post_content {
	width: 94%;
	margin: auto;
}
@media (min-width: 768px) {
	#post_content {
		width: 100%;
	}	
}

/*---------------------------------------
　エディター内スタイル
---------------------------------------*/
.entry_body h2,
.entry_body h3,
.entry_body h4,
.entry_body h2 span,
.entry_body h3 span,
.entry_body h4 span,
.entry_body p,
.entry_body p span,
.entry_body li,
.entry_body li span,
.entry_body a,
.entry_body a span {
	font-weight: 500;
}
.entry_body p {
	line-height: 2;
	margin-top: 0.8em;
}
.entry_body p + p {
	margin-top: 0;
}
.entry_body p a {
	color: #D24A6C;
	text-decoration: underline;
}
.entry_body ol {
	list-style: decimal;
}
.entry_body ul, 
.entry_body li {
	list-style: unset;
}
.entry_body li {
	padding-top: 10px;
}
.entry_body em {
    font-style: italic;
}
.entry_body del {
	text-decoration: line-through;
}
.entry_body strong {
	font-weight: 900;
}
.entry_body table {
	border-top: 1px solid #ededed;
	border-left: 1px solid #ededed;
	border-right: none;
	border-bottom: none;
	border-spacing: 0;
	line-height: 1.5;
}
.entry_body table td {
	border-top: none;
	border-left: none;
	border-right: 1px solid #ededed;
	border-bottom: 1px solid #ededed;
	padding: 6px 8px 3px;
}
.entry_body .alignleft, 
.entry_body .alignright,
.entry_body .aligncenter {
	display: block;
	margin: 15px auto;
	text-align: center;
}
.entry_body p img {
	border-radius: min(1.9vw, 19px);
}
.entry_body {
	margin-bottom: 4em;
}
@media (min-width: 768px){
	.entry_body .alignright {
		float: right;
		margin: 0 0 15px 35px;
	}
	.entry_body .alignleft {
		float: left;
		margin: 0px 35px 15px 0;
	}
	.entry_body p {
		line-height: 3;
	}
	.entry_body p::after {
		content: "";
		display: block;
		clear: both;
	}
	.entry_body {
		margin-bottom: 7em;
	}
}
/*
記事内のHタグ用スタイル
---------------------------*/
.entry_body h2 {
	background-color: #f5e5a2;
	border-radius: 2em;
	padding: 0.2em 1em 0.3em 1em;
	font-size: min(4.6vw, 30px);
	line-height: 1.3;
	text-align: center;
	margin: 2.6em 0 0.8em 0;
}
.entry_body h3 {
	display: inline-block;
	font-size: min(4.5vw, 27px);
	line-height: 1.3;
	position: relative;
	padding-bottom: 0.5em;
	margin-top: 2em;
}
.entry_body h3:before {
	content: "";
	display: inline-block;
	position: absolute;
	height: 3px;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: #d4dcc6;
}
.entry_body h4 {
	font-size: min(4vw, 24px);
	padding-left: 1em;
	position: relative;
	margin-top: 1.5em;
	line-height: 1.5;
}
.entry_body h4:before {
	content: "";
	display: inline-block;
	position: absolute;
	height: 0.5em;
	width: 0.5em;
	left: 0;
	top: 0.5em;
	background-color: #d4dcc6;
	border-radius: 100%;
}
@media (min-width: 768px) {
	.entry_body h3 {
		margin-top: 1em;
	}
	.entry_body h3:before {
		height: 5px;
	}
}
/*
目次（プラグインCSSもあり）
---------------------------*/
#toc_container {
	text-align: center;
}
#toc_container .toc_list {
	text-align: left;
	display: inline-block;
	margin: 0 auto;
	border: none;
	background-color: #d4dcc6;
	border-radius: min(5.8vw, 58px);
	padding: 3em min(6vw, 111px);
}
#toc_container ul:not(.toc_list) {
	margin: 0;
	padding: 0;
}
#toc_container li {
	line-height: 1.7;
	font-weight: 500;
}
#toc_container li a {
	display: inline-block;
	margin-bottom: 0.5em;
}
#toc_container li a:hover {
	position: relative;
}
#toc_container li a:hover:before {
	position: absolute;
	content: "";
	bottom: 0;
	width: 100%;
	height: 2px;
	background-color: #b5a368;
}
#toc_container.no_bullets ul li {
	padding-top: 0;
}
/*1階層目*/
#toc_container .toc_list {
	list-style: none;
}
#toc_container .toc_list > li {
	padding-top: 0;
	margin-bottom: 2em;
}
#toc_container .toc_list > li:last-of-type {
	margin-bottom: 0;
}
#toc_container .toc_list > li > a {
	font-weight: 700;
}
/*2階層目の数字*/
#toc_container .toc_list > li > ul {
	counter-reset: listnum; /* カウンターをリセット */
}
#toc_container .toc_list > li > ul > li {
	position: relative;
	padding-left: 1em;
}
#toc_container .toc_list > li > ul > li::before {
	counter-increment: listnum; /* counter-resetと同じ文字列 */
	content: counter(listnum); /* カウントした数に応じて番号を表示 */
	position: absolute;
	left: 0;
	top: 0;
}
/*3階層目のドット*/
#toc_container .toc_list > li > ul > li > ul > li {
	position: relative;
	padding-left: 1em;
}
#toc_container .toc_list > li > ul > li > ul > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.6em;
	width: 0.4em;
	height: 0.4em;
	background-color: #231815;
	border-radius: 100%;
}
@media (max-width: 430px) {
	#toc_container {
		padding: 1.5em;
	}
	#toc_container li {
		font-size: 95%;
	}
	#toc_container .toc_list > li {
		margin-bottom: 1em;
	}
}
/*目次リンクのヘッダーの高さトル*/
.entry_body h2 span,
.entry_body h3 span,
.entry_body h4 span {
	margin-top: -66px;
	padding-top: 66px;
}
@media (min-width: 900px) {
	.entry_body h2 span,
	.entry_body h3 span,
	.entry_body h4 span {
		margin-top: -142px;
		padding-top: 142px;
	}
}

/*---------------------------------------
　著者プロフィール
---------------------------------------*/
#authorProfile {
	max-width: 690px;
	margin: 0 auto;
	border: 2px solid #87785e;
	border-radius: min(1.9vw, 19px);
	background-color: #f7f7f5;
	text-align: center;
	padding: 2em min(6vw, 60px) 1em;
	position: relative;
	margin-bottom: 3em;
}
#authorProfile h2 {
	font-weight: 500;
	color: #ffffff;
	border-radius: 2em;
	padding: 0.4em 1.3em;
	background-color: #87785e;
	border: 4px solid #ffffff;
	position: absolute;
	top: -1.3em;
	left: 1.5em;
}
#authorProfile figure {
	margin: auto;
	width: 50%;
	max-width: 198px;
}
#authorProfile figure img {
	border-radius: 100%;
}
#authorProfile dl {
	text-align: left;
}
#authorProfile dt {
	font-size: min(4.6vw, 20px);
	line-height: 1.3;
	font-weight: 500;
	margin: 1em 0;
}
#authorProfile dt span {
	line-height: inherit;
	font-weight: inherit;
	font-size: 80%;
}
#authorProfile dd {
	line-height: 1.9;
	font-weight: 500;
}
@media (min-width: 540px) {
	#authorProfile {
		width: 96%;	
		padding: 2em 2em 1em min(4.8%, 3em);
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	#authorProfile figure {
		margin: 0;
		width: 32.8%;
		max-width: 198px;
	}
	#authorProfile dl {
		width: 62%;
		max-width: 375px;
	}
	#authorProfile dt {
		font-size: min(2.5vw, 20px);
		margin-top: 0;
	}
	#authorProfile dt span {
		display: initial;
		font-size: inherit;
	}
	#authorProfile dd {
		font-size: min(2vw, 13px);
		line-height: 1.9;
	}
}

/*---------------------------------------
　関連記事　.yarpp
---------------------------------------*/
#post_content .yarpp {
	margin-top: 3em;
	max-width: 690px;
	margin: 0 auto;
	border: 2px solid #87785e;
	border-radius: min(1.9vw, 19px);
	background-color: #f7f7f5;
	text-align: center;
	padding: 2.5em 2em 1em 2em;
	position: relative;
	margin-bottom: 3em;
}
#post_content .yarpp h2 {
	font-weight: 500;
	color: #ffffff;
	border-radius: 2em;
	padding: 0.4em 1.3em;
	background-color: #87785e;
	border: 4px solid #ffffff;
	position: absolute;
	top: -1.3em;
	left: 1.5em;
}
#post_content .yarpp .tit:before{
	content: "";
	background-image: linear-gradient(to right, #333, #333 2px, transparent 2px, transparent 6px);
	background-size: 6px 2px;
	background-repeat: repeat-x;
	position: absolute;
	height: 2px;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: initial;
}
#post_content .yarpp  ul {
	margin: 0;
	list-style: none;
	text-align: left;
}
#post_content .yarpp li {
	line-height: 1.6;
	letter-spacing: 0.05em;
	padding: 0;
	margin: 0 0 1em 0;
	padding-left: 1.2em;
}
#post_content .yarpp  ul a {
	position: relative;
	z-index: 2;
	display: block;
}
#post_content .yarpp  ul a > br {
	display: none;
}
#post_content .yarpp  ul a::before {
	content: '';
	width: 8px;
	height: 8px;
	border-top: solid 2px #b5a368;
	border-right: solid 2px #b5a368;
	position: absolute;
    left: -1em;
    top: 0.5em;
	transform: rotate(45deg);
}
#post_content .yarpp  ul a:hover:after {
	position: absolute;
	z-index: -1;
	content: "";
	bottom: 0;
	left: -1.5em;
	width: 105%;
	height: 100%;
	background-color: #d4dcc6;
	background-color: #ffffff;
	border-radius: 1em;
}
@media (min-width: 769px) {
	#post_content .yarpp {
		width: 96%;	
	}
	#post_content .yarpp li {
		line-height: 1.86;
		font-size: 15px;
	}
	#post_content .yarpp  ul a::before {

	}
}
/*---------------------------------------
　おすすめ記事 colum.cssの調整
---------------------------------------*/
#pickup {
	margin-top: 6em;
	background-color: #f5e5a2;
}
@media (min-width: 768px) {
	#pickup {
		margin-top: 8em;
	}
}