/* =========================================================
   医師紹介 専用CSS（page-doctor.php）
   共通部分は soshigaya-base.css
========================================================= */

/* --- 医師ナビ（ページ内リンク） --- */
.p-ssg .p-doctor-nav {
	padding: 80px 0 110px;
}
.p-ssg .p-doctor-nav__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 9px;
	padding: 0 20px;
}
.p-doctor-nav__list li {
	width: 223px;
}
.p-doctor-nav .p-ssgBtn {
	width: 100%;
	font-size: 18px;
}
.p-doctor-nav .p-ssgBtn small {
	margin-left: .3em;
	font-size: 14px;
}

/* --- 各医師セクション --- */
.p-doctor-sec {
	padding: 70px 0 90px;
	scroll-margin-top: calc(var(--ssg-header-h) + 10px);
}
.p-doctor-sec--first {
	padding-top: 40px;
}
.p-doctor-sec--last {
	padding-bottom: 110px;
}

/* プロフィール（左：文章／右：写真） */
.p-doctor-profile {
	display: grid;
	grid-template-columns: minmax(0, 448px) minmax(0, 470px);
	justify-content: space-between;
	gap: 40px;
	align-items: start;
	margin-bottom: 40px;
}
.p-doctor-profile--director {
	grid-template-columns: minmax(0, 448px) minmax(0, 420px);
}
.p-doctor-profile__role {
	font-family: var(--ssg-font);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.6;
}
.p-ssg .p-doctor-profile__name {
	margin-top: 10px;
	font-size: 23px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .04em;
}
.p-doctor-profile__name span {
	font-size: 17px;
	letter-spacing: 0;
}
.p-ssg .p-doctor-profile__catch {
	margin-top: 10px;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.75;
	letter-spacing: .04em;
}
.p-doctor-profile__text {
	margin-top: 36px;
}
.p-doctor-profile__text .u-mt {
	margin-top: 1.95em;
}
.p-doctor-profile__figure {
	position: relative;
}
.p-doctor-profile__photo {
	width: 100%;
	border-radius: var(--ssg-radius);
}
.p-doctor-profile--director .p-doctor-profile__photo {
	aspect-ratio: 420 / 535;
	object-fit: cover;
	object-position: center 20%;
}
.p-doctor-profile__photo.is-wide {
	aspect-ratio: 470 / 350;
	object-fit: cover;
	border-radius: 0;
}
.p-doctor-profile__photo.is-rounded {
	aspect-ratio: 470 / 370;
	object-fit: cover;
}
.p-doctor-link {
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* 丸いバッジ（担当曜日・手術実績） */
.p-doctor-badge {
	position: absolute;
	top: -40px;
	right: -30px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 125px;
	height: 125px;
	border-radius: 50%;
	background: var(--ssg-teal);
	color: #fff;
	font-family: var(--ssg-font);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.7;
	text-align: center;
}
.p-doctor-badge--large {
	top: -30px;
	width: 170px;
	height: 170px;
	background: linear-gradient(135deg, #36bfc8, #05a9b5);
	box-shadow: 0 0 0 6px rgba(255, 255, 255, .55);
	font-size: 17px;
	line-height: 1.6;
}
.p-doctor-badge__sub {
	margin-top: 4px;
}
.p-doctor-badge__num {
	font-size: 18px;
	line-height: 1.3;
}
.p-doctor-badge__num strong {
	color: #ffe45c;
	font-size: 24px;
}

/* 東京ドクターズ バナー */
.p-doctor-interview {
	position: absolute;
	right: -30px;
	bottom: -70px;
	display: block;
	width: 175px;
	border: 1px solid #ccc;
	border-radius: 4px;
	overflow: hidden;
	background: #fff;
	transition: transform .2s, box-shadow .2s;
}
.p-doctor-interview:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(0, 0, 0, .12);
}

/* 資格・略歴など */
.p-doctor-defs .p-ssgDefs__item:first-child {
	border-top-color: #9a9a9a;
}
.p-doctor-profile--director + .p-doctor-defs {
	margin-top: 60px;
}

/* --- 論文・著書・受賞歴（アコーディオン） --- */
.p-doctor-papers {
	margin-top: 40px;
	border: 1px solid var(--ssg-teal);
	border-radius: 0 0 6px 6px;
	background: var(--ssg-cream);
}
.p-doctor-papers__toggle {
	position: relative;
	display: block;
	padding: 16px 70px;
	background: var(--ssg-teal);
	color: #fff;
	font-family: var(--ssg-font);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
	list-style: none;
	cursor: pointer;
}
.p-doctor-papers__toggle::-webkit-details-marker {
	display: none;
}
.p-doctor-papers__icon {
	position: absolute;
	top: 50%;
	right: 20px;
	width: 26px;
	height: 26px;
	transform: translateY(-50%);
}
.p-doctor-papers__icon::before,
.p-doctor-papers__icon::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: 2px;
	background: #fff;
	transition: transform .25s;
}
.p-doctor-papers__icon::after {
	transform: rotate(90deg);
}
.p-doctor-papers[open] .p-doctor-papers__icon::after {
	transform: rotate(0);
}
.p-doctor-papers__body {
	padding: 40px 40px 50px;
	color: var(--ssg-brown);
}
.p-ssg .p-doctor-papers__title {
	margin-top: 40px;
	color: var(--ssg-teal);
	font-size: 19px;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: .04em;
}
.p-ssg .p-doctor-papers__title:first-child {
	margin-top: 0;
}
.p-doctor-papers__lead {
	font-family: var(--ssg-font);
	font-weight: 500;
}
.p-doctor-papers__lead a {
	text-decoration: underline;
	text-underline-offset: 3px;
}
.p-doctor-papers__list li {
	position: relative;
	padding-left: 1.6em;
}
.p-doctor-papers__list li::before {
	content: "";
	position: absolute;
	left: .55em;
	top: .9em;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: currentColor;
}

/* =========================================================
   タブレット（〜1024px）
========================================================= */
@media (max-width: 1024px) {
	.p-doctor-badge,
	.p-doctor-badge--large,
	.p-doctor-interview {
		right: -10px;
	}
}

/* =========================================================
   SP（〜767px）
========================================================= */
@media (max-width: 767px) {
	.p-ssg .p-doctor-nav {
		padding: 40px 0 60px;
	}
	.p-ssg .p-doctor-nav__list {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}
	.p-doctor-nav__list li {
		width: auto;
	}
	.p-doctor-nav .p-ssgBtn {
		padding: 8px 6px;
		font-size: 15px;
	}
	.p-doctor-nav .p-ssgBtn small {
		font-size: 12px;
	}

	.p-doctor-sec {
		padding: 40px 0 60px;
	}
	.p-doctor-sec--first {
		padding-top: 30px;
	}

	.p-doctor-profile,
	.p-doctor-profile--director {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	/* SPは写真を上に */
	.p-doctor-profile__figure {
		order: -1;
		margin: 30px 10px 0 0;
	}
	.p-doctor-profile--director .p-doctor-profile__figure {
		margin-bottom: 60px;
	}
	.p-doctor-profile__role {
		font-size: 15px;
	}
	.p-ssg .p-doctor-profile__name {
		font-size: 20px;
	}
	.p-doctor-profile__name span {
		font-size: 14px;
	}
	.p-ssg .p-doctor-profile__catch {
		font-size: 17px;
	}
	.p-doctor-profile__text {
		margin-top: 20px;
	}

	.p-doctor-badge {
		top: -30px;
		right: -10px;
		width: 96px;
		height: 96px;
		font-size: 13px;
	}
	.p-doctor-badge--large {
		width: 130px;
		height: 130px;
		font-size: 13px;
	}
	.p-doctor-badge__num {
		font-size: 14px;
	}
	.p-doctor-badge__num strong {
		font-size: 19px;
	}
	.p-doctor-interview {
		right: -10px;
		bottom: -50px;
		width: 120px;
	}
	.p-doctor-profile--director + .p-doctor-defs {
		margin-top: 30px;
	}

	.p-doctor-papers__toggle {
		padding: 14px 50px 14px 16px;
		font-size: 15px;
		text-align: left;
	}
	.p-doctor-papers__icon {
		right: 14px;
		width: 20px;
		height: 20px;
	}
	.p-doctor-papers__body {
		padding: 24px 16px 32px;
	}
	.p-ssg .p-doctor-papers__title {
		margin-top: 28px;
		font-size: 17px;
	}
	.p-doctor-papers__list {
		font-size: 13px;
		overflow-wrap: anywhere;
	}
}
