/**
 * LOGHOUSE LIBRARY / World index v1.2.1
 * Scope: world_article archive only.
 */
body.post-type-archive-world_article,
body.ll-world-index-page {
	--ll-forest: #263739;
	--ll-ink: #243033;
	--ll-muted: #737d7c;
	--ll-line: #dfe4e2;
	--ll-paper: #ffffff;
	--ll-soft: #f5f6f4;
	--ll-max: 1180px;
}

body.post-type-archive-world_article .l-content,
body.ll-world-index-page .l-content {
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}

.ll-world-index {
	background: var(--ll-paper);
	color: var(--ll-ink);
}

.ll-world-index *,
.ll-world-index *::before,
.ll-world-index *::after {
	box-sizing: border-box;
}

.ll-world-index__inner {
	width: min(calc(100% - 40px), var(--ll-max));
	margin: 0 auto;
	padding: 46px 0 90px;
}

.ll-world-index__hero {
	max-width: 820px;
	padding: 26px 0 70px;
}

.ll-world-index__kicker,
.ll-world-index__section-kicker {
	margin: 0 0 12px;
	color: var(--ll-muted);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .12em;
}

.ll-world-index__title {
	margin: 0;
	color: var(--ll-forest);
	font-family: "Noto Serif JP", serif;
	font-size: clamp(38px, 6vw, 68px);
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: .02em;
}

.ll-world-index__lead {
	max-width: 740px;
	margin: 30px 0 0;
	font-size: clamp(17px, 2vw, 20px);
	line-height: 2;
}

.ll-world-index__status {
	display: inline-block;
	margin: 30px 0 0;
	padding-top: 11px;
	border-top: 1px solid var(--ll-line);
	color: var(--ll-muted);
	font-size: 13px;
}

.ll-world-index__status strong {
	color: var(--ll-forest);
	font-size: 17px;
}

.ll-world-index__section {
	padding: 72px 0;
	border-top: 1px solid var(--ll-line);
}

.ll-world-index__section-head {
	max-width: 700px;
	margin-bottom: 34px;
}

.ll-world-index__section-head h2,
.ll-world-index__research-copy h2 {
	margin: 0;
	color: var(--ll-forest);
	font-size: clamp(26px, 3vw, 36px);
	font-weight: 600;
	line-height: 1.5;
}

.ll-world-index__section-head > p:last-child,
.ll-world-index__research-copy > p {
	margin: 14px 0 0;
	color: #475251;
	font-size: 15px;
	line-height: 1.9;
}

.ll-world-featured-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 34px 30px;
}

.ll-world-card {
	min-width: 0;
}

.ll-world-card__link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.ll-world-card__link:hover .ll-world-card__title,
.ll-world-card__link:focus-visible .ll-world-card__title {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}

.ll-world-card__media {
	margin: 0 0 16px;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--ll-soft);
}

.ll-world-card__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ll-world-card__meta {
	margin: 0 0 8px;
	color: var(--ll-muted);
	font-size: 12px;
	letter-spacing: .03em;
}

.ll-world-card__title {
	margin: 0;
	color: var(--ll-forest);
	font-size: 21px;
	font-weight: 600;
	line-height: 1.55;
}

.ll-world-card__excerpt {
	margin: 10px 0 0;
	color: #525d5b;
	font-size: 14px;
	line-height: 1.75;
}

.ll-world-card__credit {
	margin: 7px 0 0;
	color: #929997;
	font-size: 10px;
	line-height: 1.45;
}

.ll-world-card__credit a {
	color: inherit;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}

.ll-world-region-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	border-top: 1px solid var(--ll-forest);
	border-bottom: 1px solid var(--ll-forest);
}

.ll-world-region-card {
	display: flex;
	min-height: 155px;
	padding: 22px 18px;
	border-right: 1px solid var(--ll-line);
	color: inherit;
	text-decoration: none;
	flex-direction: column;
}

.ll-world-region-card:last-child {
	border-right: 0;
}

.ll-world-region-card:hover,
.ll-world-region-card:focus-visible {
	background: var(--ll-soft);
}

.ll-world-region-card__code {
	color: var(--ll-muted);
	font-size: 11px;
	letter-spacing: .12em;
}

.ll-world-region-card__name {
	margin-top: auto;
	color: var(--ll-forest);
	font-family: "Noto Serif JP", serif;
	font-size: 19px;
	font-weight: 500;
}

.ll-world-region-card__description {
	margin-top: 7px;
	color: #6f7977;
	font-size: 11px;
	line-height: 1.55;
}

.ll-world-region-card__count {
	margin-top: 5px;
	color: var(--ll-muted);
	font-size: 12px;
}

.ll-world-index__research {
	display: grid;
	grid-template-columns: minmax(190px, .55fr) minmax(0, 1.45fr);
	gap: 44px;
	margin: 70px 0;
	padding: 48px;
	background: var(--ll-forest);
	color: #fff;
}

.ll-world-index__research-number {
	align-self: center;
	font-family: "Libre Baskerville", serif;
	font-size: clamp(82px, 12vw, 154px);
	line-height: .9;
	opacity: .95;
}

.ll-world-index__research-copy h2,
.ll-world-index__research-copy > p,
.ll-world-index__research .ll-world-index__section-kicker {
	color: #fff;
}

.ll-world-index__research-copy > p {
	opacity: .9;
}

.ll-world-index__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 24px;
}

.ll-world-index__chips span {
	padding: 6px 10px;
	border: 1px solid rgba(255,255,255,.35);
	border-radius: 999px;
	font-size: 11px;
	letter-spacing: .05em;
}

.ll-world-index__research-note {
	font-size: 12px !important;
	opacity: .72 !important;
}

.ll-world-latest-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 34px 24px;
}

.ll-world-latest-grid .ll-world-card__title {
	font-size: 18px;
}

.ll-world-country-groups {
	border-top: 1px solid var(--ll-forest);
}

.ll-world-country-group {
	display: grid;
	grid-template-columns: 190px minmax(0, 1fr);
	gap: 34px;
	padding: 32px 0;
	border-bottom: 1px solid var(--ll-line);
	scroll-margin-top: 90px;
}

.ll-world-country-group__head span,
.ll-world-country-group__head small {
	display: block;
	color: var(--ll-muted);
	font-size: 11px;
	letter-spacing: .08em;
}

.ll-world-country-group__head h3 {
	margin: 5px 0 7px;
	color: var(--ll-forest);
	font-size: 20px;
	font-weight: 600;
}

.ll-world-country-group__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px 32px;
}

.ll-world-country-entry__name {
	margin: 0 0 7px;
	font-weight: 600;
}

.ll-world-country-entry ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ll-world-country-entry li + li {
	margin-top: 5px;
}

.ll-world-country-entry a {
	color: #465351;
	font-size: 13px;
	line-height: 1.6;
	text-decoration: none;
}

.ll-world-country-entry a:hover,
.ll-world-country-entry a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ll-world-country-group__empty {
	margin: 0;
	color: #a0a6a4;
	font-size: 13px;
}

@media (max-width: 959px) {
	.ll-world-region-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.ll-world-region-card {
		min-height: 118px;
		border-bottom: 1px solid var(--ll-line);
	}
	.ll-world-index__research {
		grid-template-columns: 1fr;
	}
	.ll-world-index__research-number {
		font-size: 86px;
	}
	.ll-world-latest-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 599px) {
	.ll-world-index__inner {
		width: calc(100% - 40px);
		padding: 20px 0 64px;
	}
	.ll-world-index__hero {
		padding: 24px 0 48px;
	}
	.ll-world-index__title {
		font-size: 39px;
	}
	.ll-world-index__lead {
		margin-top: 24px;
		font-size: 16px;
		line-height: 1.9;
	}
	.ll-world-index__section {
		padding: 52px 0;
	}
	.ll-world-index__section-head {
		margin-bottom: 25px;
	}
	.ll-world-featured-grid,
	.ll-world-latest-grid {
		grid-template-columns: 1fr;
		gap: 35px;
	}
	.ll-world-card__media {
		margin-bottom: 13px;
	}
	.ll-world-card__title {
		font-size: 19px;
	}
	.ll-world-region-grid {
		grid-template-columns: 1fr;
		border-bottom: 0;
	}
	.ll-world-region-card {
		min-height: 0;
		padding: 16px 4px;
		border-right: 0;
		border-bottom: 1px solid var(--ll-line);
		flex-direction: row;
		align-items: baseline;
		gap: 12px;
	}
	.ll-world-region-card__name {
		margin: 0;
		font-size: 18px;
	}
	.ll-world-region-card__description {
		display: none;
	}
	.ll-world-region-card__count {
		margin: 0 0 0 auto;
	}
	.ll-world-index__research {
		gap: 24px;
		margin: 52px -20px;
		padding: 40px 20px;
	}
	.ll-world-index__research-number {
		font-size: 72px;
	}
	.ll-world-country-group {
		grid-template-columns: 1fr;
		gap: 19px;
		padding: 27px 0;
	}
	.ll-world-country-group__list {
		grid-template-columns: 1fr;
		gap: 22px;
	}
}
