/* ===== けんこうさろん ===== */

/* --- 一覧ページ（archive-kensalon.php） --- */
.kensalon-archive{
	max-width:960px;
	margin:0 auto;
	padding:2rem 1.5rem;
}
.kensalon-archive-logo{
	text-align:center;
	margin-bottom:1.5rem;
}
.kensalon-archive-logo img{
	max-width:100%;
	height:auto;
}
.kensalon-archive-lead{
	font-size:14px;
	line-height:1.9;
	color:#666;
	text-align:center;
	margin-bottom:2.5rem;
}
.kensalon-list{
	display:grid;
	grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
	gap:1.5rem;
	list-style:none;
	padding:0;
	margin:0 0 2.5rem;
}
.kensalon-item{
	position:relative;
	display:flex;
	flex-direction:column;
	background:#fff;
	border:1px solid #eee;
	border-radius:4px;
	overflow:hidden;
	box-shadow:0 2px 8px rgba(0,0,0,.06);
	transition:box-shadow .2s,transform .2s;
}
.kensalon-item:hover{
	box-shadow:0 4px 14px rgba(0,0,0,.12);
	transform:translateY(-2px);
}
.kensalon-item--latest{
	border:2px solid #761815;
	box-shadow:0 4px 14px rgba(118,24,21,.18);
}
.kensalon-item img{
	width:100%;
	height:auto;
	display:block;
}
.kensalon-badge{
	position:absolute;
	top:.8rem;
	left:.8rem;
	z-index:1;
	background:#761815;
	color:#fff;
	font-size:11px;
	font-weight:700;
	letter-spacing:.05em;
	padding:.3rem .8rem;
	border-radius:999px;
}
.kensalon-item-body{
	display:flex;
	flex-direction:column;
	flex:1;
	padding:1.2rem 1.4rem 1.4rem;
}
.kensalon-issue{
	font-size:13px;
	font-weight:700;
	color:#761815;
	margin:0 0 .3rem;
	display:none;
}
.kensalon-date{
	font-size:12px;
	color:#999;
	margin:0 0 .6rem;
}
.kensalon-title{
	font-size:16px;
	font-weight:700;
	line-height:1.5;
	margin:0 0 .6rem;
}
.kensalon-title a{
	color:#333;
	text-decoration:none;
	transition:color .2s;
}
.kensalon-title a:hover{color:#761815;}
.kensalon-feature{
	font-size:18px;
	font-weight:700;
	line-height:1.7;
	color:#555;
	margin:0 0 1rem;
	flex:1;
}
.kensalon-item-toc{
	font-family:inherit;
	font-size:12px;
	line-height:1.7;
	color:#555;
	white-space:pre-wrap;
	word-break:break-word;
	margin:0 0 1rem;
}
.kensalon-dl-btn{
	display:inline-block;
	align-self:center;
	margin-top:20px;
	background:#761815;
	color:#fff !important;
	font-size:13px;
	font-weight:700;
	text-decoration:none;
	padding:.6rem 1.4rem;
	border-radius:4px;
	transition:background-color .2s,opacity .2s;
}
.kensalon-dl-btn:hover{
	background:#8f231f;
	opacity:.9;
}
.kensalon-pager{
	text-align:center;
	margin-bottom:2rem;
}
.kensalon-pager .page-numbers{
	display:inline-block;
	min-width:2rem;
	padding:.4rem .6rem;
	margin:0 .2rem;
	font-size:13px;
	color:#333;
	text-decoration:none;
	border:1px solid #eee;
	border-radius:4px;
}
.kensalon-pager .page-numbers.current{
	background:#761815;
	color:#fff;
	border-color:#761815;
}
.kensalon-pager .page-numbers:hover{
	border-color:#761815;
	color:#761815;
}
.kensalon-backnumber-link{
	text-align:center;
	padding-top:1.5rem;
	border-top:1px solid #eee;
}
.kensalon-backnumber-link a{
	color:#761815;
	font-size:14px;
	font-weight:700;
	text-decoration:none;
}
.kensalon-backnumber-link a:hover{text-decoration:underline;}

/* --- 詳細ページ（single-kensalon.php） --- */
.kensalon-single{
	max-width:820px;
	margin:2rem auto;
	padding:0 1.5rem;
}
.kensalon-single-inner{}
.kensalon-single-header{
	display:block;
	position:static;
	height:auto;
	background:none;
	box-shadow:none;
	padding:0 0 1rem;
	margin-bottom:1.5rem;
	border-bottom:2px solid #761815;
}
.kensalon-single-vol{
	font-size:13px;
	font-weight:700;
	color:#761815;
	margin:0 0 .5rem;
}
.kensalon-single-title{
	font-size:clamp(20px,2.5vw,28px);
	font-weight:700;
	color:#333;
	line-height:1.5;
	margin:0 0 .5rem;
}
.kensalon-single-date{
	font-size:13px;
	color:#999;
}
.kensalon-single-body{
	line-height:1.9;
	font-size:15px;
	color:#444;
}
.kensalon-single-img{
	max-width:100%;
	max-height:400px;
	width:auto;
	height:auto;
	display:block;
	margin-bottom:1.5rem;
}
.kensalon-single-2col{
	display:grid;
	grid-template-columns:minmax(240px,1fr) 2fr;
	gap:4rem;
	margin-bottom:1.5rem;
}
@media screen and (max-width:767px){
	.kensalon-single-2col{
		grid-template-columns:1fr;
	}
}
.kensalon-single-feature{
	font-size:15px;
	color:#333;
	background:#f5f5f5;
	padding:.9rem 1.2rem;
	border-left:3px solid #761815;
	margin-bottom:1.5rem;
}
.kensalon-single-toc{
	background:#f5f5f5;
	border-left:3px solid #761815;
	padding:1.2rem 1.4rem;
	margin-bottom:1.8rem;
}
.kensalon-single-toc h2{
	font-size:16px;
	font-weight:700;
	color:#333;
	margin:0 0 .6rem;
}
.kensalon-single-toc pre{
	font-family:inherit;
	font-size:14px;
	line-height:1.9;
	color:#444;
	white-space:pre-wrap;
	word-break:break-word;
	margin:0;
}
.kensalon-single-body p{margin-bottom:1.2rem;}
.kensalon-single-dl{
	text-align:center;
	margin:2rem 0;
}
.kensalon-nav{
	display:flex;
	justify-content:space-between;
	margin-top:2.5rem;
	padding-top:1.5rem;
	border-top:1px solid #eee;
	font-size:13px;
}
.kensalon-nav-prev,
.kensalon-nav-next{color:#761815;text-decoration:none;}
.kensalon-nav-prev:hover,
.kensalon-nav-next:hover{text-decoration:underline;}
.kensalon-nav-next{margin-left:auto;}

/* --- バックナンバー一覧（page-kensalon-backnumber.php） --- */
.kensalon-backnumber{
	max-width:960px;
	margin:0 auto;
	padding:2rem 1.5rem;
}
.kensalon-backnumber .page-title{
	font-size:clamp(20px,2.5vw,28px);
	font-weight:700;
	padding-left:14px;
	border-left:4px solid #761815;
	margin-bottom:2rem;
}
.kensalon-bn-table{
	width:100%;
	border-collapse:collapse;
	font-size:14px;
}
.kensalon-bn-table th{
	background-color:#761815;
	color:#fff;
	font-weight:700;
	padding:.8rem 1rem;
	text-align:left;
	white-space:nowrap;
}
.kensalon-bn-table td{
	padding:.8rem 1rem;
	border-bottom:1px solid #eee;
	color:#333;
}
.kensalon-bn-table tr:last-child td{border-bottom:none;}
.kensalon-bn-table tbody tr:hover{background-color:#f5f5f5;}
.kensalon-bn-table a{
	color:#761815;
	text-decoration:none;
}
.kensalon-bn-table a:hover{text-decoration:underline;}

/* --- けんこうさろん SPレスポンシブ --- */
@media screen and (max-width: 767px) {
	.kensalon-archive,
	.kensalon-single,
	.kensalon-backnumber{
		padding:1.5rem 1rem;
	}
	.kensalon-list{
		grid-template-columns:1fr;
		gap:1.2rem;
	}
	.kensalon-single-header,
	.kensalon-nav{
		flex-wrap:wrap;
	}
	.kensalon-nav{
		flex-direction:column;
		gap:.8rem;
	}
	.kensalon-nav-next{margin-left:0;}
	.kensalon-bn-table{
		font-size:12px;
	}
	.kensalon-bn-table th,
	.kensalon-bn-table td{
		padding:.6rem .5rem;
	}
}

