/*
	Sub-page layout
	下層ページ (profile / publications / projects / presentations / aboutme) 専用のスタイル。
	TOP ページ (index.html) はこのファイルを読み込まないため、一切影響を受けません。
	すべてのルールを .subpage 以下に限定しているのもそのためです。
*/

/* ===== セクション全体：余白と本文幅 ===== */

	.subpage.main.style1 {
		padding: 4.5em 0 6.5em 0;
	}

	.subpage.main.style1 > .content {
		width: 52em;
		max-width: calc(100% - 5em);
		text-align: left;
	}

/* ===== ページ見出し（各ページに 1 つだけ） ===== */

	.subpage .page-header {
		text-align: center;
		margin: 0 0 3.5em 0;
	}

	.subpage.main.style1 .page-title {
		font-size: 2.75em;
		line-height: 1.15;
		letter-spacing: -0.035em;
		margin: 0;
	}

	/* 見出しの下の細いライン */
	.subpage .page-header:after {
		content: '';
		display: block;
		width: 3em;
		height: 2px;
		margin: 0.9em auto 0 auto;
		background-color: rgba(255, 255, 255, 0.35);
	}

	.subpage .page-lead {
		max-width: 36em;
		margin: 1.2em auto 0 auto;
		font-size: 0.9em;
		line-height: 1.8;
		color: rgba(255, 255, 255, 0.7);
	}

/* ===== ページ内のセクション（Degrees / Education など） ===== */

	.subpage .page-section {
		margin: 4em 0 0 0;
	}

	.subpage .page-section:first-of-type {
		margin-top: 0;
	}

	.subpage.main.style1 .section-title {
		font-size: 1.4em;
		line-height: 1.3;
		letter-spacing: -0.02em;
		text-align: left;
		margin: 0 0 1.5em 0;
		padding-bottom: 0.5em;
		border-bottom: 1px solid rgba(255, 255, 255, 0.18);
	}

	.subpage p {
		line-height: 1.85;
		margin-bottom: 1.5em;
	}

	.subpage .page-section > :last-child {
		margin-bottom: 0;
	}

/* ===== ラベル付きリスト（Profile の基本情報） ===== */

	.subpage .info-list,
	.subpage .entry-list {
		list-style: none;
		margin: 0;
		padding: 0;
	}

	.subpage .info-list > li,
	.subpage .entry-list > li {
		display: grid;
		grid-template-columns: 9.5em 1fr;
		gap: 0 1.5em;
		margin: 0 0 1.1em 0;
		line-height: 1.7;
	}

	.subpage .info-list > li:last-child,
	.subpage .entry-list > li:last-child {
		margin-bottom: 0;
	}

	.subpage .info-label,
	.subpage .entry-date {
		font-size: 0.85em;
		line-height: 2;
		letter-spacing: 0.02em;
		color: rgba(255, 255, 255, 0.6);
	}

	/* 研究分野などの箇条書き */
	.subpage .sub-list {
		list-style: none;
		margin: 0.2em 0 0 0;
		padding: 0;
	}

	.subpage .sub-list > li {
		margin: 0 0 0.4em 0;
		padding-left: 1.1em;
		position: relative;
		line-height: 1.6;
	}

	.subpage .sub-list > li:before {
		content: '';
		position: absolute;
		left: 0;
		top: 0.62em;
		width: 5px;
		height: 5px;
		border-radius: 50%;
		background-color: rgba(255, 255, 255, 0.45);
	}

	.subpage .sub-list > li:last-child {
		margin-bottom: 0;
	}

	.subpage .orcid-icon {
		width: 18px;
		vertical-align: -3px;
		margin: 0 0.2em;
	}

/* ===== Profile / About Me の 2 カラム（本文 + 写真） ===== */

	.subpage .intro-columns {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		gap: 2.5em;
	}

	.subpage .intro-body {
		flex: 1 1 22em;
		min-width: 0;
	}

	.subpage .intro-photo {
		flex: 0 0 14em;
		max-width: 100%;
		margin: 0.3em 0 0 0;
	}

	.subpage .intro-photo img {
		display: block;
		width: 100%;
		border-radius: 8px;
		border: 2px solid rgba(255, 255, 255, 0.2);
	}

/* ===== 年の区切り ===== */

	.subpage .year-separator {
		max-width: none;
		margin: 3em 0 1.8em 0;
	}

	.subpage .year-separator .year-number {
		font-size: 2.4em;
		margin-bottom: -8px;
		color: rgba(255, 255, 255, 0.18);
	}

	.subpage .page-section > .year-separator:first-child,
	.subpage .year-separator:first-child {
		margin-top: 0;
	}

/* ===== Publications ===== */

	.subpage .pub-container {
		max-width: none;
		margin: 0;
	}

	.subpage .pub-item {
		margin-bottom: 2.5em;
		line-height: 1.7;
	}

	.subpage .pub-item:last-child {
		margin-bottom: 0;
	}

	.subpage .pub-title {
		font-size: 1.05em;
		margin-bottom: 0.4em;
	}

	.subpage .pub-authors,
	.subpage .pub-journal {
		font-size: 0.9em;
		color: rgba(255, 255, 255, 0.8);
	}

	.subpage .pub-journal {
		margin-bottom: 1em;
	}

	.subpage .pub-links {
		display: flex;
		flex-wrap: wrap;
		gap: 0.6em;
	}

/* ===== Presentations ===== */

	.subpage .talk-item {
		margin: 0 0 2.2em 0;
	}

	.subpage .talk-item:last-child {
		margin-bottom: 0;
	}

	.subpage .talk-meta {
		font-size: 0.85em;
		line-height: 1.6;
		color: rgba(255, 255, 255, 0.7);
		margin-bottom: 0.35em;
	}

	.subpage .talk-date {
		color: #ffffff;
		font-weight: bold;
		margin-right: 0.7em;
	}

	.subpage .talk-title {
		font-size: 1em;
		font-weight: bold;
		line-height: 1.6;
		color: #ffffff;
	}

/* ===== Projects ===== */

	.subpage .gallery {
		width: 100%;
		margin: 0;
		gap: 2em 0;
	}

	.subpage .gallery article {
		width: 50%;
		padding: 0 1em;
	}

	.subpage .gallery article .image img {
		display: block;
		width: 100%;
		height: 14em;
		object-fit: cover;
		border-radius: 6px;
	}

	.subpage .project-caption {
		margin: 0.9em 0 0 0;
	}

	.subpage .project-name {
		font-size: 1em;
		font-weight: bold;
		color: #ffffff;
		margin-bottom: 0.25em;
	}

	.subpage .project-note {
		font-size: 0.85em;
		line-height: 1.7;
		color: rgba(255, 255, 255, 0.7);
	}

/* ===== タブレット ===== */

	@media screen and (max-width: 980px) {

		.subpage.main.style1 > .content {
			max-width: calc(100% - 3em);
		}

		.subpage.main.style1 .page-title {
			font-size: 2.4em;
		}

		.subpage .intro-columns {
			gap: 2em;
		}

	}

/* ===== スマートフォン ===== */

	@media screen and (max-width: 736px) {

		.subpage.main.style1 {
			padding: 3em 0 4.5em 0;
		}

		.subpage.main.style1 > .content {
			max-width: calc(100% - 2.5em);
		}

		.subpage .page-header {
			margin-bottom: 2.5em;
		}

		.subpage.main.style1 .page-title {
			font-size: 1.9em;
		}

		.subpage.main.style1 .section-title {
			font-size: 1.2em;
			margin-bottom: 1.2em;
		}

		.subpage .page-section {
			margin-top: 3em;
		}

		/* ラベルと内容を縦積みにする */
		.subpage .info-list > li,
		.subpage .entry-list > li {
			display: block;
			margin-bottom: 1.3em;
		}

		.subpage .info-label,
		.subpage .entry-date {
			display: block;
			line-height: 1.5;
			margin-bottom: 0.15em;
		}

		.subpage .intro-columns {
			gap: 2em;
		}

		.subpage .intro-photo {
			flex: 1 1 100%;
			max-width: 16em;
			margin-left: auto;
			margin-right: auto;
		}

		.subpage .year-separator .year-number {
			font-size: 2em;
		}

		.subpage .gallery article {
			width: 100%;
			padding: 0;
		}

		.subpage .gallery article .image img {
			height: auto;
		}

	}

/* ===== 見出し直後の年区切りは詰める ===== */

	.subpage .section-title + .year-separator {
		margin-top: 0.5em;
	}

/* ===== フッター（TOP ページと同じ 2 段組み） ===== */

	.footer-stacked {
		flex-wrap: wrap;
	}

	.footer-stacked .affiliation-logos {
		flex: 0 0 100%;
		text-align: left;
		margin-bottom: 1.5em;
	}

	@media screen and (max-width: 1000px) {

		.footer-stacked .affiliation-logos {
			text-align: center;
			margin-bottom: 0;
		}

	}
