/* =講師紹介ページ専用スタイル
-------------------------------------------------------------- */
#content.content-width{
	--ink:#2B2521;
	--ink-soft:#544E49;
	--muted:#8C8580;
	--pink:#F78DA7;
	--pink-deep:#C2506E;
	--pink-deepest:#8E3550;
	--line:#EEDCE2;
	--line-soft:#F5E9EC;
	color:var(--ink);
}

/* ---------- policy notice ---------- */
#content .notice{
	max-width:1040px;
	margin:0 auto;
	padding:14px 24px;
	font-size:13px;
	color:var(--ink-soft);
	text-align:center;
	border-bottom:1px solid var(--line);
}

/* ---------- hero ---------- */
#content .hero{
	max-width:1040px;
	margin:0 auto;
	padding:88px 24px 64px;
}
#content .hero-en{
	font-size:15px;
	letter-spacing:0.28em;
	color:var(--pink-deep);
	margin:0 0 18px;
}
#content .hero h1{
	font-weight:600;
	font-size:clamp(34px,5vw,52px);
	line-height:1.4;
	margin:0 0 26px;
	letter-spacing:0.04em;
}
#content .hero p{
	max-width:560px;
	font-size:15.5px;
	line-height:2;
	color:var(--ink-soft);
	margin:0;
}

/* ---------- honor section ---------- */
#content .honor{
	max-width:1040px;
	margin:0 auto;
	padding:20px 24px 90px;
}
#content .section-head{
	display:flex;
	align-items:baseline;
	gap:18px;
	margin-bottom:38px;
}
#content .section-head h2{
	font-weight:600;
	font-size:24px;
	margin:0;
	white-space:nowrap;
}
#content .section-head .rule{
	flex:1;
	height:1px;
	background:var(--line);
}
#content .section-note{
	font-size:13px;
	color:var(--muted);
	margin:-24px 0 34px;
}

#content .honor-grid{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
	gap:36px;
}
#content .honor-card{
	text-align:center;
}
#content .honor-card .photo{
	width:160px;
	height:160px;
	margin:0 auto 20px;
	border:1px solid var(--line);
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	overflow:hidden;
}
#content .honor-card .photo img{
	width:100%;
	height:100%;
	object-fit:cover;
}
#content .honor-card .photo .placeholder{
	font-size:12px;
	color:var(--muted);
	letter-spacing:0.1em;
}
#content .honor-badge{
	display:block;
	font-size:12px;
	letter-spacing:0.05em;
	color:var(--pink-deepest);
	margin-bottom:12px;
}
#content .honor-card h3{
	font-weight:600;
	font-size:19px;
	margin:0 0 10px;
	letter-spacing:0.05em;
}
#content .honor-card .achievement{
	font-size:13px;
	color:var(--pink-deep);
	margin:0 0 10px;
	line-height:1.7;
}
#content .honor-card .desc{
	font-size:13.5px;
	color:var(--ink-soft);
	line-height:1.9;
	text-align:left;
	max-width:280px;
	margin:0 auto;
}

/* ---------- directory sections ---------- */
#content .directory{
	max-width:1040px;
	margin:0 auto;
	padding:10px 24px 100px;
}
#content .dept{
	margin-bottom:56px;
}
#content .dept-title{
	display:flex;
	align-items:baseline;
	gap:16px;
	margin-bottom:6px;
}
#content .dept-title h3{
	font-weight:600;
	font-size:18px;
	margin:0;
	white-space:nowrap;
}
#content .dept-title .rule{
	flex:1;
	height:1px;
	background:var(--line);
}

#content .roster{
	margin-top:18px;
	border-top:1px solid var(--line-soft);
}
#content .roster-row{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:24px;
	padding:17px 4px;
	border-bottom:1px solid var(--line-soft);
}
#content .roster-name{
	font-size:16.5px;
	font-weight:500;
	letter-spacing:0.03em;
	white-space:nowrap;
}
#content .roster-subject{
	font-size:13px;
	color:var(--ink-soft);
	text-align:right;
	line-height:1.6;
}

/* ---------- footer note ---------- */
#content .foot-note{
	max-width:1040px;
	margin:0 auto;
	padding:0 24px 90px;
}
#content .foot-note-box{
	border-top:1px solid var(--line);
	padding-top:26px;
	font-size:13px;
	line-height:2;
	color:var(--muted);
	max-width:640px;
}

@media (max-width:560px){
	#content .hero{padding:64px 20px 48px;}
	#content .honor{padding:10px 20px 70px;}
	#content .directory{padding:10px 20px 80px;}
	#content .roster-row{flex-direction:column; align-items:flex-start; gap:4px;}
	#content .roster-subject{text-align:left;}
}
