/* スタッフ詳細ページ（/staff/{slug}/） */
.p-staff-single__inner { max-width: 60rem; margin: 0 auto; padding: 0 1.25rem; }

/* ---- プロフィール（FV） ---- */
.p-staff-single__hero { padding: 12.375rem 0 5.5rem; }
.p-staff-single__hero-grid { display: grid; grid-template-columns: 22rem 1fr; gap: 3.5rem; align-items: center; }
.p-staff-single__photo { position: relative; }
.p-staff-single__photo::before { content: ""; position: absolute; inset: 1.25rem -1.25rem -1.25rem 1.25rem; border-radius: 1.875rem; background: #00b3d1; opacity: .25; }
.p-staff-single__photo-img { position: relative; display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 1.875rem; border: .375rem solid #fff; box-shadow: 0 .625rem 1.875rem rgba(37, 71, 121, .18); background: #fff; }
.p-staff-single__label { display: inline-block; font-size: .875rem; font-weight: 700; letter-spacing: .14em; line-height: 1; color: #fff; background: #00b3d1; padding: .5rem 1rem .4rem; border-radius: 100vw; margin-bottom: 1.25rem; }
.p-staff-single__name { font-size: 2.75rem; font-weight: 700; line-height: 1.3; color: #254779; margin: 0; letter-spacing: .04em; }
.p-staff-single__name-en { font-size: 1.25rem; font-weight: 700; color: #00b3d1; letter-spacing: .06em; margin-top: .375rem; }
.p-staff-single__facts { margin: 1.75rem 0 0; padding: 0; display: grid; gap: .625rem; }
.p-staff-single__fact { display: flex; align-items: baseline; gap: .875rem; font-size: .9375rem; line-height: 1.7; }
.p-staff-single__fact-label { flex: 0 0 auto; min-width: 6.5rem; text-align: center; font-size: .8125rem; font-weight: 700; line-height: 1; color: #254779; background: #fff; border: 1px solid #b9dfe8; padding: .4375rem .75rem; border-radius: 100vw; }
.p-staff-single__sns { display: flex; gap: .75rem; margin: 1.75rem 0 0; padding: 0; }
.p-staff-single__sns-link { display: block; transition: transform .25s ease; }
.p-staff-single__sns-link:hover { transform: translateY(-.1875rem); }
.p-staff-single__sns-icon { display: block; width: 2.5rem; height: 2.5rem; }

.p-staff-single__message { position: relative; margin-top: 4rem; background: #fff; border-radius: 1.25rem; box-shadow: 0 0 1.25rem rgba(37, 71, 121, .1); padding: 2.25rem 2.5rem 2rem; }
.p-staff-single__message-label { position: absolute; top: -.875rem; left: 2rem; font-size: .875rem; font-weight: 700; letter-spacing: .14em; line-height: 1; color: #254779; background: #face42; padding: .5rem 1rem .4rem; border-radius: 100vw; }
.p-staff-single__message-text { margin: 0; font-size: 1.0625rem; font-weight: 500; line-height: 2; color: #254779; }

/* ---- 経歴など（本文） ---- */
.p-staff-single__detail-section { padding: 5rem 0 0; }
.p-staff-single__detail > h2, .p-staff-single__detail > h3, .p-staff-single__detail > h4 { display: flex; align-items: center; gap: .75rem; font-size: 1.25rem; font-weight: 700; line-height: 1.5; color: #254779; margin: 3rem 0 1.25rem; padding: 0 0 .875rem; border: 0; border-bottom: .125rem solid #dbfaff; background: none; }
.p-staff-single__detail > h2:first-child, .p-staff-single__detail > h3:first-child, .p-staff-single__detail > h4:first-child { margin-top: 0; }
.p-staff-single__detail > h2::before, .p-staff-single__detail > h3::before, .p-staff-single__detail > h4::before { content: ""; flex: 0 0 auto; width: .875rem; height: .875rem; border-radius: 50%; background: #00b3d1; box-shadow: 0 0 0 .25rem rgba(0, 179, 209, .2); position: static; }
.p-staff-single__detail ul, .p-staff-single__detail ol { list-style: none; margin: 0; padding: 0; }
.p-staff-single__detail li { position: relative; padding: .875rem 0 .875rem 1.5rem; font-size: 1rem; line-height: 1.9; border-bottom: 1px dashed #b9dfe8; }
.p-staff-single__detail li:last-child { border-bottom: 0; }
.p-staff-single__detail li::before { content: ""; position: absolute; left: .25rem; top: 1.6rem; width: .5rem; height: .5rem; border-radius: 50%; background: #face42; }
.p-staff-single__detail p { font-size: 1rem; line-height: 1.9; margin: 0 0 1rem; }
.p-staff-single__detail li p { margin: 0; }

.p-staff-single__back { text-align: center; padding: 5rem 0 6.25rem; }

@media (max-width: 767px) {
	.p-staff-single__hero { padding: 7rem 0 3rem; }
	.p-staff-single__hero-grid { grid-template-columns: 1fr; gap: 2.25rem; }
	.p-staff-single__photo { width: 72%; margin: 0 auto; }
	.p-staff-single__photo::before { inset: .875rem -.875rem -.875rem .875rem; border-radius: 1.25rem; }
	.p-staff-single__photo-img { border-radius: 1.25rem; }
	.p-staff-single__intro { text-align: center; }
	.p-staff-single__name { font-size: 2rem; }
	.p-staff-single__name-en { font-size: 1.0625rem; }
	.p-staff-single__facts { text-align: left; margin-top: 1.5rem; }
	.p-staff-single__fact { gap: .75rem; font-size: .875rem; }
	.p-staff-single__fact-label { min-width: 5.75rem; font-size: .75rem; padding: .4375rem .5rem; }
	.p-staff-single__sns { justify-content: center; }
	.p-staff-single__message { margin-top: 3rem; padding: 1.875rem 1.25rem 1.5rem; border-radius: .9375rem; }
	.p-staff-single__message-label { left: 1.25rem; }
	.p-staff-single__message-text { font-size: .9375rem; line-height: 1.9; }
	.p-staff-single__detail-section { padding-top: 3rem; }
	.p-staff-single__detail > h2, .p-staff-single__detail > h3, .p-staff-single__detail > h4 { font-size: 1.125rem; margin-top: 2.25rem; }
	.p-staff-single__detail li { font-size: .9375rem; padding: .75rem 0 .75rem 1.25rem; }
	.p-staff-single__detail li::before { left: .125rem; top: 1.4rem; }
	.p-staff-single__back { padding: 3rem 0 3.75rem; }
}
