@charset "UTF-8";

/*記事article、事例support　詳細で使用
---------------------------------------*/
#articleDetail .mainRead h2,
#supportDetail .mainRead h2 {
	font-weight: 500;
	margin-bottom: 1.2em;
}
@media (min-width: 768px) {
	#articleDetail .mainRead,
	#supportDetail .mainRead {
		padding-bottom: 20px;
	}
}
/*---------------------------------------
 エディター内スタイル
---------------------------------------*/
.entry_body p,
.entry_body dt,
.entry_body dd {
	font-size: clamp(14px, 2.99vw, 23px);
    line-height: 1.87;
	margin-bottom: 2em;
}
.entry_body p a {
	color: #006fbc;
}
.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;
}*/
@media (max-width: 767px) {
	.entry_body table {
		width: 100% !important;
	}	
}
.entry_body .alignleft, 
.entry_body .alignright,
.entry_body .aligncenter {
	display: block;
	margin: 15px auto;
	text-align: center;
}
@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::after {
		content: "";
		display: block;
		clear: both;
	}*/
}
.entry_body h2 {
	font-size: clamp(23px, 4.94vw, 38px);
	font-weight: 500;
	line-height: 1.6;
	margin-bottom: 1.2em;
}
.entry_body h3 {
	font-size: clamp(14px, 2.99vw, 23px);
	line-height: 1.87;
	margin-bottom: 2em;
	font-weight: 700;
}
.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;
	}
}
.entry_body figcaption {
	font-size: clamp(12px, 2.08vw, 16px);
	line-height: 1.69;
	margin: 0.5em auto 0 auto;
	width: 80%;
	text-align: right;
}
@media (min-width: 768px) {
	.entry_body figcaption {
		width: auto;
		text-align: left;
	}
}
/*
インタビュー
---------------------------*/
.interview figure {
	width: auto;
	text-align: center;
	margin-bottom: 2em;
}
.interview figure img {
	width: 80%;
	max-width: 464px;
}
.interview .question,
.interview .answer {
	position: relative;
	padding-left: 1.5em;
}
.interview .question {
	margin-bottom: 0;
}
.interview .answer {
	font-weight: 700;
	margin-bottom: 1em;
}
.interview .question::before {
	position: absolute;
	left: 0;
	top: 0;
	content: "Q.";
	font-weight: inherit;
}
.interview .answer::before {
	position: absolute;
	left: 0;
	top: 0;
	content: "A.";
	font-weight: inherit;
}
@media (min-width: 768px){
	.interview .flex {
		display: flex;
	}
	.interview .flex figure {
		width: auto;
		margin-right: 2.5%;
	}
	#supportDetail .interview .flex figure {
		margin-right: 5%;
	}
	.interview .flex figure img {
		width: auto;
		max-width: 32vw;
	}
	.interview .flex .text {
		width: auto;
	}
	/*2番目以降画像左*/
	.interview section:nth-child(n + 2) figure,
	#supportDetail .interview .flex:nth-of-type(n + 2) figure {
		order: 2;
		margin-right: 0;
		margin-left: 2.5%;
	}
	#supportDetail .interview .flex:nth-of-type(n + 2) figure {
		margin-left: 4%;
	}
	.interview section:nth-child(n + 2) .flex .text {
		order: 1;
	}
	#supportDetail .interview .flex:first-of-type .text {
		margin-top: 1.8em;
	}
	#supportDetail .interview .flex:first-of-type figcaption {
		margin-top: 1.2em;
	}
	.interview .answer {
		margin-bottom: 1.8em;
	}
	.interview .coment {
		margin-bottom: 3em;
	}
}
@media (min-width: 1200px){
	.interview .flex figure img {
		width: auto;
		max-width: 464px;
	}
}
/*
インタビュアー
---------------------------*/
#authorProfile {
	max-width: 965px;
	padding: 2em;
	margin: 2.5em 0 0 0;
	background-color: #f7f7f5;
}
#authorProfile li {
	position: relative;
	margin-bottom: 2.5em;
	padding-top: 0;
	list-style: none;
}
#authorProfile li:last-child {
	margin-bottom: 0;
}
#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: 80%;
	max-width: 186px;
	max-height: 152px;
	margin-bottom: 1em;
}
#authorProfile figure img {
	border-radius: min(1.9vw, 19px);
    object-fit: cover;
    width: 100%;
    height: 100%;
    aspect-ratio: 93 / 76;
}
#authorProfile dl {
	text-align: left;
}
#authorProfile dt,
#authorProfile dd {
	font-size: min(3vw, 18px);
	line-height: 1.55;
	margin-bottom: 0;
}
#authorProfile dt span {
	line-height: inherit;
	font-weight: inherit;
}
#authorProfile dt {
	font-weight: 700;
	margin-bottom: 1em;
}
#authorProfile .link-text {
	text-align: right;
	margin-top: 2em;
}
@media (min-width: 540px) {
	#authorProfile {
		width: 96%;	
		padding: min(3.58vw, 34px) min(5.58vw, 53px);
	}
	#authorProfile ul {
		margin-top: 13px;
		margin-left: 22px;
	}
	#authorProfile li {
		display: flex;
	}
	#authorProfile figure {
		margin: 0 4.5% 0 0;
		width: auto;
	}
	#authorProfile dt {
		margin-bottom: 2em;
	}
	#authorProfile .link-text {
		margin-top: 0;
	}
}
/*
概要DATA
---------------------------*/
#information {
	border-top: 1px solid #44403f;	
	padding-top: 1em;
}
#information dl {
	display: flex;
}
#information dt {
	width: 6em;
}
#information dt,
#information dd {
	margin-bottom: 0;
}
#information .text {
	margin-bottom: 2em;
}
#information .photo {
	text-align: center;
}
#information .photo img {
	width: 80%;
    max-width: 464px;
}
#information .photo p {
	text-align: left;
	font-size: clamp(12px, 2.08vw, 16px);
	line-height: 1.69;
	margin: 1em auto 0 auto;
}
@media (min-width: 1000px) {
	#information dt,
	#information dd {
		font-size: clamp(14px, 2vw, 23px);
	}
}
@media (min-width: 1000px) {
	#information {
		margin-top: 3.8em;
		padding-bottom: 4em;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}	
	#information h3 {
		width: 100%;
		margin-right: 0;
		margin-bottom: 0;
	}
	#information .text {
		width: 49%;
		padding-top: 2.5em;
		margin-bottom: 0;
	}
	#information .photo {
		width: min(35vw, 50%);
		text-align: left;
	}
	#information .photo img {
		width: auto;
	}
}

/*---------------------------------------
目次（プラグイン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;
}
#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;
}
#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;
	content: counter(listnum);
	position: absolute;
	left: 0;
	top: 0;
}
#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: -60px;
	padding-top: 60px;
}
@media (min-width: 1000px) {
	.entry_body h2 span,
	.entry_body h3 span,
	.entry_body h4 span {
		margin-top: -80px;
		padding-top: 80px;
	}
}*/
/*---------------------------------------
　関連記事　.yarpp
---------------------------------------
.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;
}
.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;
}
.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;
}
.yarpp  ul {
	margin: 0;
	list-style: none;
	text-align: left;
}
.yarpp li {
	line-height: 1.6;
	letter-spacing: 0.05em;
	padding: 0;
	margin: 0 0 1em 0;
	padding-left: 1.2em;
}
.yarpp  ul a {
	position: relative;
	z-index: 2;
	display: block;
}
.yarpp  ul a > br {
	display: none;
}
.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);
}
.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) {
	.yarpp {
		width: 96%;	
	}
	.yarpp li {
		line-height: 1.86;
		font-size: 15px;
	}
	.yarpp  ul a::before {

	}
}*/