@import url('https://fonts.googleapis.com/css2?family=Yomogi&display=swap');

/* =========================================================
   JOURNAL
   /journal/
   /journal/{post-slug}/
   ========================================================= */

/* =========================================================
   Digipress Header Hide
   journal 関連ページだけテーマ側ヘッダー・タイトル・パンくずを非表示
   ========================================================= */

/* テーマのグローバルヘッダー */
body.post-type-archive-journal > header,
body.single-journal > header,
body.tax-journal_type > header,
body.post-type-archive-journal #header,
body.single-journal #header,
body.tax-journal_type #header,
body.post-type-archive-journal #header_area,
body.single-journal #header_area,
body.tax-journal_type #header_area,
body.post-type-archive-journal .header,
body.single-journal .header,
body.tax-journal_type .header,
body.post-type-archive-journal .dp-header,
body.single-journal .dp-header,
body.tax-journal_type .dp-header,
body.post-type-archive-journal .dp_header,
body.single-journal .dp_header,
body.tax-journal_type .dp_header {
	display: none !important;
}

/* グローバルメニュー・検索・フロートメニュー */
body.post-type-archive-journal #global_menu,
body.single-journal #global_menu,
body.tax-journal_type #global_menu,
body.post-type-archive-journal #global-nav,
body.single-journal #global-nav,
body.tax-journal_type #global-nav,
body.post-type-archive-journal .global-nav,
body.single-journal .global-nav,
body.tax-journal_type .global-nav,
body.post-type-archive-journal .global_menu,
body.single-journal .global_menu,
body.tax-journal_type .global_menu,
body.post-type-archive-journal #hd_searchform,
body.single-journal #hd_searchform,
body.tax-journal_type #hd_searchform,
body.post-type-archive-journal #expand_float_menu,
body.single-journal #expand_float_menu,
body.tax-journal_type #expand_float_menu,
body.post-type-archive-journal .dp-sticky-header,
body.single-journal .dp-sticky-header,
body.tax-journal_type .dp-sticky-header,
body.post-type-archive-journal .dp_sticky_header,
body.single-journal .dp_sticky_header,
body.tax-journal_type .dp_sticky_header {
	display: none !important;
}

/* DigiPress側のページタイトル */
body.post-type-archive-journal #ct-hd,
body.single-journal #ct-hd,
body.tax-journal_type #ct-hd,
body.post-type-archive-journal .ct-hd,
body.single-journal .ct-hd,
body.tax-journal_type .ct-hd {
	display: none !important;
}

/* DigiPress側のパンくず */
body.post-type-archive-journal #dp_breadcrumb_nav,
body.single-journal #dp_breadcrumb_nav,
body.tax-journal_type #dp_breadcrumb_nav,
body.post-type-archive-journal .dp_breadcrumb_nav,
body.single-journal .dp_breadcrumb_nav,
body.tax-journal_type .dp_breadcrumb_nav {
	display: none !important;
}

/* 上部余白を詰める */
body.post-type-archive-journal,
body.single-journal,
body.tax-journal_type {
	padding-top: 0 !important;
}

body.post-type-archive-journal #container,
body.single-journal #container,
body.tax-journal_type #container,
body.post-type-archive-journal .dp-container,
body.single-journal .dp-container,
body.tax-journal_type .dp-container,
body.post-type-archive-journal .content-wrap,
body.single-journal .content-wrap,
body.tax-journal_type .content-wrap,
body.post-type-archive-journal #content,
body.single-journal #content,
body.tax-journal_type #content,
body.post-type-archive-journal .content,
body.single-journal .content,
body.tax-journal_type .content,
body.post-type-archive-journal #wrapper,
body.single-journal #wrapper,
body.tax-journal_type #wrapper {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* journal側の自前ヘッダーは表示する */
body.post-type-archive-journal .yp-journal-hero,
body.single-journal .yp-journal-single-hero,
body.tax-journal_type .yp-journal-hero {
	display: block !important;
}

/* =========================================================
   Common
   ========================================================= */

.yp-journal-archive,
.yp-journal-single {
	width: 100%;
	background: #ffffff;
	color: #333333;
	font-family: inherit;
}

.yp-journal-archive *,
.yp-journal-single * {
	box-sizing: border-box;
}

.yp-journal-archive a,
.yp-journal-single a {
	color: inherit;
	text-decoration: none;
}

.yp-journal-archive img,
.yp-journal-single img {
	max-width: 100%;
	height: auto;
}

/* =========================================================
   Archive Hero
   ========================================================= */

.yp-journal-hero {
	width: 100%;
	padding: 92px 24px 80px;
	background: linear-gradient(180deg, #f9f8f4 0%, #ffffff 100%);
}

.yp-journal-hero__inner {
	width: min(960px, 100%);
	margin: 0 auto;
	text-align: center;
}

.yp-journal-hero__label {
	margin: 0 0 18px !important;
	padding: 0 !important;
	font-size: 11px !important;
	line-height: 1.8 !important;
	letter-spacing: 0.28em !important;
	color: #a69d8a !important;
	font-weight: 400 !important;
}

.yp-journal-hero__title {
	--yp-pen-color: #5f5a51;

	position: relative;
	display: inline-block;
	margin: 0 0 26px !important;
	padding: 44px 12px 0 !important;
	font-family: "Yomogi", "Hiragino Maru Gothic ProN", "Yu Gothic", sans-serif !important;
	font-size: clamp(40px, 6vw, 78px) !important;
	line-height: 1.25 !important;
	letter-spacing: 0.08em !important;
	font-weight: 400 !important;
	color: #222222 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
	transform: rotate(-1.2deg);
	text-shadow: 0.02em 0.02em 0 rgba(0, 0, 0, 0.04);
	isolation: isolate;
	overflow: visible;
	white-space: normal;
	z-index: 1;
}

.yp-journal-hero__title::before {
	content: "✎" !important;
	display: block !important;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%) rotate(-10deg);
	font-family: inherit !important;
	font-size: 26px !important;
	line-height: 1 !important;
	color: var(--yp-pen-color) !important;
	opacity: 0.88;
}

.yp-journal-hero__title::after {
	display: none !important;
	content: none !important;
}

.yp-journal-hero__lead {
	width: min(680px, 100%);
	margin: 0 auto !important;
	padding: 0 !important;
	font-size: 15px !important;
	line-height: 2.1 !important;
	letter-spacing: 0.06em !important;
	color: #555555 !important;
}

/* =========================================================
   Archive Intro
   ========================================================= */

.yp-journal-intro {
	width: 100%;
	padding: 72px 24px 56px;
	background: #ffffff;
}

.yp-journal-intro__inner {
	width: min(760px, 100%);
	margin: 0 auto;
}

.yp-journal-intro__inner p {
	margin: 0 0 1.8em !important;
	padding: 0 !important;
	font-size: 15px !important;
	line-height: 2.2 !important;
	letter-spacing: 0.06em !important;
	color: #444444 !important;
	text-align: left !important;
}

.yp-journal-intro__inner p:last-child {
	margin-bottom: 0 !important;
}

/* =========================================================
   Archive Filter
   ========================================================= */

.yp-journal-filter {
	width: 100%;
	padding: 24px;
	background: #ffffff;
}

.yp-journal-filter__inner {
	width: min(1080px, 100%);
	margin: 0 auto;
	padding: 28px 0;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.yp-journal-filter__label {
	margin: 0 0 18px !important;
	padding: 0 !important;
	font-size: 11px !important;
	line-height: 1.6 !important;
	letter-spacing: 0.22em !important;
	color: #9b927f !important;
	text-align: center !important;
}

.yp-journal-filter__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.yp-journal-filter__item {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.yp-journal-filter__item::before {
	display: none !important;
	content: none !important;
}

.yp-journal-filter__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 8px 18px;
	border: 1px solid rgba(0, 0, 0, 0.14);
	border-radius: 999px;
	background: #ffffff;
	color: #444444;
	font-size: 13px;
	line-height: 1.5;
	letter-spacing: 0.04em;
	transition:
		background 0.22s ease,
		color 0.22s ease,
		border-color 0.22s ease,
		transform 0.22s ease;
}

.yp-journal-filter__link:hover,
.yp-journal-filter__link:focus-visible,
.yp-journal-filter__link.is-current {
	background: #222222;
	color: #ffffff;
	border-color: #222222;
	transform: translateY(-1px);
}

/* =========================================================
   Archive List
   ========================================================= */

.yp-journal-list {
	width: 100%;
	padding: 56px 24px 96px;
	background: #ffffff;
}

.yp-journal-list__inner {
	width: min(1180px, 100%);
	margin: 0 auto;
}

.yp-journal-grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 28px;
	align-items: start;
}

/* =========================================================
   Floating Animation
   ========================================================= */

@keyframes ypJournalFloatA {
	0% {
		transform: translateY(0px) rotate(-0.8deg);
	}
	50% {
		transform: translateY(-8px) rotate(-1.2deg);
	}
	100% {
		transform: translateY(0px) rotate(-0.8deg);
	}
}

@keyframes ypJournalFloatB {
	0% {
		transform: translateY(0px) rotate(0.8deg);
	}
	50% {
		transform: translateY(-10px) rotate(1.2deg);
	}
	100% {
		transform: translateY(0px) rotate(0.8deg);
	}
}

@keyframes ypJournalFloatC {
	0% {
		transform: translateY(0px) rotate(-0.3deg);
	}
	50% {
		transform: translateY(-6px) rotate(0.3deg);
	}
	100% {
		transform: translateY(0px) rotate(-0.3deg);
	}
}

/* =========================================================
   Archive Card
   ========================================================= */

.yp-journal-card {
	margin: 0;
	padding: 0;
	background: transparent;
}

.yp-journal-card--large {
	grid-column: span 6;
}

.yp-journal-card--medium {
	grid-column: span 4;
}

.yp-journal-card--small {
	grid-column: span 2;
}

.yp-journal-card:nth-child(3n + 1) .yp-journal-card__link {
	animation: ypJournalFloatA 6.8s ease-in-out infinite;
}

.yp-journal-card:nth-child(3n + 2) .yp-journal-card__link {
	animation: ypJournalFloatB 7.6s ease-in-out infinite;
}

.yp-journal-card:nth-child(3n) .yp-journal-card__link {
	animation: ypJournalFloatC 6.2s ease-in-out infinite;
}

.yp-journal-card__link {
	display: block;
	height: 100%;
	background: #ffffff;
	border: 1px solid rgba(0, 0, 0, 0.07);
	box-shadow: 0 16px 42px rgba(0, 0, 0, 0.08);
	overflow: hidden;
	transition:
		transform 0.28s ease,
		box-shadow 0.28s ease,
		border-color 0.28s ease;
	will-change: transform;
}

.yp-journal-card__link:hover,
.yp-journal-card__link:focus-visible {
	transform: translateY(-10px) rotate(0deg) !important;
	box-shadow: 0 24px 56px rgba(0, 0, 0, 0.12);
	border-color: rgba(0, 0, 0, 0.14);
	animation-play-state: paused;
}

.yp-journal-card__thumb {
	position: relative;
	width: 100%;
	overflow: hidden;
	background: #f4f2ee;
}

.yp-journal-card--large .yp-journal-card__thumb {
	aspect-ratio: 5 / 4;
}

.yp-journal-card--medium .yp-journal-card__thumb {
	aspect-ratio: 4 / 5;
}

.yp-journal-card--small .yp-journal-card__thumb {
	aspect-ratio: 4 / 5;
}

.yp-journal-card__image {
	display: block;
	width: 100%;
	height: 100% !important;
	object-fit: cover;
	transition: transform 0.5s ease;
}

.yp-journal-card__link:hover .yp-journal-card__image,
.yp-journal-card__link:focus-visible .yp-journal-card__image {
	transform: scale(1.04);
}

.yp-journal-card__noimage {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background:
		linear-gradient(135deg, rgba(186, 191, 149, 0.14), rgba(255, 255, 255, 0.92)),
		#f8f7f3;
}

.yp-journal-card__noimage span {
	font-size: 12px;
	line-height: 1.6;
	letter-spacing: 0.22em;
	color: #9b927f;
}

.yp-journal-card__body {
	padding: 24px 22px 26px;
}

.yp-journal-card--large .yp-journal-card__body {
	padding: 28px 26px 30px;
}

.yp-journal-card--medium .yp-journal-card__body {
	padding: 24px 22px 26px;
}

.yp-journal-card--small .yp-journal-card__body {
	padding: 20px 18px 22px;
}

.yp-journal-card__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	margin-bottom: 14px;
	font-size: 12px;
	line-height: 1.5;
	letter-spacing: 0.05em;
	color: #8a8173;
}

.yp-journal-card__date,
.yp-journal-card__place {
	display: inline-block;
	color: #8a8173;
}

.yp-journal-card__title {
	margin: 0 0 12px !important;
	padding: 0 !important;
	font-weight: 500 !important;
	color: #222222 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
}

.yp-journal-card--large .yp-journal-card__title {
	font-size: 28px !important;
	line-height: 1.55 !important;
	letter-spacing: 0.05em !important;
}

.yp-journal-card--medium .yp-journal-card__title {
	font-size: 22px !important;
	line-height: 1.6 !important;
	letter-spacing: 0.05em !important;
}

.yp-journal-card--small .yp-journal-card__title {
	font-size: 17px !important;
	line-height: 1.65 !important;
	letter-spacing: 0.04em !important;
}

.yp-journal-card__title::before,
.yp-journal-card__title::after {
	display: none !important;
	content: none !important;
}

.yp-journal-card__subtitle,
.yp-journal-card__excerpt {
	margin: 0 0 18px !important;
	padding: 0 !important;
	color: #555555 !important;
}

.yp-journal-card--large .yp-journal-card__subtitle,
.yp-journal-card--large .yp-journal-card__excerpt {
	font-size: 14px !important;
	line-height: 2 !important;
	letter-spacing: 0.04em !important;
}

.yp-journal-card--medium .yp-journal-card__subtitle,
.yp-journal-card--medium .yp-journal-card__excerpt {
	font-size: 13px !important;
	line-height: 1.9 !important;
	letter-spacing: 0.04em !important;
}

.yp-journal-card--small .yp-journal-card__subtitle,
.yp-journal-card--small .yp-journal-card__excerpt {
	font-size: 12px !important;
	line-height: 1.85 !important;
	letter-spacing: 0.03em !important;
}

.yp-journal-card__terms,
.yp-journal-card__events {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-top: 14px;
}

.yp-journal-card__term,
.yp-journal-card__event {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 5px 10px;
	border-radius: 999px;
	background: #f4f2ee;
	color: #6f675d;
	font-size: 11px;
	line-height: 1.4;
	letter-spacing: 0.04em;
}

.yp-journal-card__event {
	background: rgba(186, 191, 149, 0.18);
	color: #5f6445;
}

/* =========================================================
   Archive Pagination
   ========================================================= */

.yp-journal-pagination {
	margin-top: 64px;
	text-align: center;
}

.yp-journal-pagination .navigation {
	margin: 0;
}

.yp-journal-pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
}

.yp-journal-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	min-height: 40px;
	padding: 8px 12px;
	border: 1px solid rgba(0, 0, 0, 0.12);
	background: #ffffff;
	color: #333333;
	font-size: 13px;
	line-height: 1.4;
	transition:
		background 0.22s ease,
		color 0.22s ease,
		border-color 0.22s ease;
}

.yp-journal-pagination .page-numbers.current,
.yp-journal-pagination .page-numbers:hover,
.yp-journal-pagination .page-numbers:focus-visible {
	background: #222222;
	color: #ffffff;
	border-color: #222222;
}

.yp-journal-empty {
	width: min(720px, 100%);
	margin: 0 auto;
	padding: 64px 24px;
	background: #f8f7f3;
	text-align: center;
}

.yp-journal-empty p {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 15px !important;
	line-height: 2 !important;
	letter-spacing: 0.05em !important;
	color: #555555 !important;
}

/* =========================================================
   Single Hero
   ========================================================= */

.yp-journal-single-hero {
	width: 100%;
	padding: 86px 24px 60px;
	background: linear-gradient(180deg, #f9f8f4 0%, #ffffff 100%);
}

.yp-journal-single-hero__inner {
	width: min(920px, 100%);
	margin: 0 auto;
	text-align: center;
}

.yp-journal-single-hero__label {
	margin: 0 0 16px !important;
	padding: 0 !important;
	font-size: 11px !important;
	line-height: 1.7 !important;
	letter-spacing: 0.26em !important;
	color: #a69d8a !important;
}

.yp-journal-single-hero__title {
	--yp-pen-color: #5f5a51;

	position: relative;
	display: inline-block;
	margin: 0 0 22px !important;
	padding: 46px 14px 0 !important;
	font-family: "Yomogi", "Hiragino Maru Gothic ProN", "Yu Gothic", sans-serif !important;
	font-size: clamp(34px, 5.5vw, 68px) !important;
	line-height: 1.35 !important;
	letter-spacing: 0.08em !important;
	font-weight: 400 !important;
	color: #222222 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
	transform: rotate(-1deg);
	text-shadow: 0.02em 0.02em 0 rgba(0, 0, 0, 0.04);
	isolation: isolate;
	overflow: visible;
	white-space: normal;
	z-index: 1;
}

.yp-journal-single-hero__title::before {
	content: "✎" !important;
	display: block !important;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%) rotate(-10deg);
	font-family: inherit !important;
	font-size: 28px !important;
	line-height: 1 !important;
	color: var(--yp-pen-color) !important;
	opacity: 0.88;
}

.yp-journal-single-hero__title::after {
	display: none !important;
	content: none !important;
}

.yp-journal-single-hero__subtitle {
	width: min(700px, 100%);
	margin: 0 auto 22px !important;
	padding: 0 !important;
	font-size: 15px !important;
	line-height: 2 !important;
	letter-spacing: 0.05em !important;
	color: #555555 !important;
}

.yp-journal-single-hero__meta {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 16px;
	margin-top: 18px;
	font-size: 13px;
	line-height: 1.5;
	letter-spacing: 0.05em;
	color: #8a8173;
}

.yp-journal-single-hero__date,
.yp-journal-single-hero__place {
	display: inline-block;
	color: #8a8173;
}

.yp-journal-single-hero__terms {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin-top: 22px;
}

.yp-journal-single-hero__term {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 6px 12px;
	border-radius: 999px;
	background: #ffffff;
	color: #6f675d;
	font-size: 12px;
	line-height: 1.4;
	letter-spacing: 0.04em;
	transition:
		background 0.22s ease,
		color 0.22s ease;
}

.yp-journal-single-hero__term:hover,
.yp-journal-single-hero__term:focus-visible {
	background: #222222;
	color: #ffffff;
}

/* =========================================================
   Single Eyecatch
   ========================================================= */

.yp-journal-single-eyecatch {
	width: min(1080px, calc(100% - 48px));
	margin: 56px auto 0;
}

.yp-journal-single-eyecatch__image {
	display: block;
	width: 100%;
	max-height: 680px;
	object-fit: cover;
}

/* =========================================================
   Single Simple Layout
   ========================================================= */

.yp-journal-single-simple {
	width: min(820px, calc(100% - 48px));
	margin: 72px auto 96px;
}

/* =========================================================
   Single Content
   ========================================================= */

.yp-journal-single-content {
	width: 100%;
}

.yp-journal-single-content p {
	margin: 0 0 2em !important;
	padding: 0 !important;
	font-size: 16px !important;
	line-height: 2.25 !important;
	letter-spacing: 0.05em !important;
	color: #333333 !important;
}

.yp-journal-single-content h2 {
	margin: 3.2em 0 1.2em !important;
	padding: 0 0 0.55em !important;
	font-size: clamp(24px, 3vw, 34px) !important;
	line-height: 1.55 !important;
	letter-spacing: 0.06em !important;
	font-weight: 400 !important;
	color: #222222 !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(0, 0, 0, 0.14) !important;
	background: none !important;
	box-shadow: none !important;
}

.yp-journal-single-content h2::before,
.yp-journal-single-content h2::after {
	display: none !important;
	content: none !important;
}

.yp-journal-single-content h3 {
	margin: 2.6em 0 1em !important;
	padding: 0 !important;
	font-size: clamp(20px, 2.4vw, 26px) !important;
	line-height: 1.6 !important;
	letter-spacing: 0.05em !important;
	font-weight: 500 !important;
	color: #222222 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
}

.yp-journal-single-content h3::before,
.yp-journal-single-content h3::after {
	display: none !important;
	content: none !important;
}

.yp-journal-single-content ul,
.yp-journal-single-content ol {
	margin: 0 0 2em 1.4em !important;
	padding: 0 !important;
}

.yp-journal-single-content li {
	margin: 0 0 0.7em !important;
	padding: 0 !important;
	font-size: 15px !important;
	line-height: 2 !important;
	letter-spacing: 0.04em !important;
	color: #333333 !important;
}

.yp-journal-single-content figure {
	margin: 3em 0 !important;
}

.yp-journal-single-content figure img {
	display: block;
	width: 100%;
	height: auto;
}

.yp-journal-single-content figcaption {
	margin-top: 10px !important;
	font-size: 12px !important;
	line-height: 1.8 !important;
	letter-spacing: 0.04em !important;
	color: #777777 !important;
	text-align: center !important;
}

.yp-journal-single-content blockquote {
	margin: 2.6em 0 !important;
	padding: 28px 32px !important;
	background: #f8f7f3 !important;
	border-left: 3px solid #babf95 !important;
	color: #444444 !important;
}

.yp-journal-single-content blockquote p {
	margin-bottom: 0 !important;
}

/* =========================================================
   Single Post Nav
   ========================================================= */

.yp-journal-single-nav {
	margin-top: 64px;
	padding-top: 36px;
	border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.yp-journal-single-nav__inner {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.yp-journal-single-nav__prev a,
.yp-journal-single-nav__next a {
	display: block;
	height: 100%;
	padding: 22px 24px;
	background: #ffffff;
	border: 1px solid rgba(0, 0, 0, 0.1);
	transition:
		background 0.22s ease,
		border-color 0.22s ease,
		transform 0.22s ease;
}

.yp-journal-single-nav__prev a:hover,
.yp-journal-single-nav__prev a:focus-visible,
.yp-journal-single-nav__next a:hover,
.yp-journal-single-nav__next a:focus-visible {
	background: #f8f7f3;
	border-color: rgba(0, 0, 0, 0.18);
	transform: translateY(-2px);
}

.yp-journal-single-nav__prev span,
.yp-journal-single-nav__next span {
	display: block;
	margin-bottom: 8px;
	font-size: 12px;
	line-height: 1.4;
	letter-spacing: 0.1em;
	color: #9b927f;
}

.yp-journal-single-nav__prev strong,
.yp-journal-single-nav__next strong {
	display: block;
	font-size: 14px;
	line-height: 1.8;
	letter-spacing: 0.04em;
	color: #333333;
	font-weight: 400;
}

.yp-journal-single-nav__next {
	text-align: right;
}

.yp-journal-single-back {
	margin-top: 36px;
	text-align: center;
}

.yp-journal-single-back__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 220px;
	min-height: 46px;
	padding: 12px 24px;
	border: 1px solid #222222;
	background: #222222;
	color: #ffffff !important;
	font-size: 14px;
	line-height: 1.5;
	letter-spacing: 0.08em;
	transition:
		background 0.22s ease,
		transform 0.22s ease;
}

.yp-journal-single-back__link:hover,
.yp-journal-single-back__link:focus-visible {
	background: #444444;
	transform: translateY(-2px);
}

/* =========================================================
   Tablet
   ========================================================= */

@media screen and (max-width: 1024px) {
	.yp-journal-grid {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}

	.yp-journal-card--large {
		grid-column: span 4;
	}

	.yp-journal-card--medium {
		grid-column: span 3;
	}

	.yp-journal-card--small {
		grid-column: span 3;
	}
}

/* =========================================================
   Mobile
   ========================================================= */

@media screen and (max-width: 767px) {
	.yp-journal-hero {
		padding: 62px 20px 56px;
	}

	.yp-journal-hero__label {
		font-size: 10px !important;
		margin-bottom: 12px !important;
	}

	.yp-journal-hero__title {
		padding-top: 36px !important;
		font-size: clamp(30px, 10vw, 46px) !important;
		margin-bottom: 18px !important;
		transform: rotate(-0.8deg);
	}

	.yp-journal-hero__title::before {
		font-size: 22px !important;
	}

	.yp-journal-hero__lead {
		font-size: 13px !important;
		line-height: 2 !important;
		text-align: left !important;
	}

	.yp-journal-intro {
		padding: 54px 20px 42px;
	}

	.yp-journal-intro__inner p {
		font-size: 13px !important;
		line-height: 2.05 !important;
	}

	.yp-journal-filter {
		padding: 20px;
	}

	.yp-journal-filter__inner {
		padding: 22px 0;
	}

	.yp-journal-filter__list {
		justify-content: flex-start;
		overflow-x: auto;
		flex-wrap: nowrap;
		padding-bottom: 4px !important;
		-webkit-overflow-scrolling: touch;
	}

	.yp-journal-filter__item {
		flex: 0 0 auto;
	}

	.yp-journal-filter__link {
		min-height: 36px;
		padding: 8px 15px;
		font-size: 12px;
		white-space: nowrap;
	}

	.yp-journal-list {
		padding: 42px 20px 72px;
	}

	.yp-journal-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.yp-journal-card--large,
	.yp-journal-card--medium,
	.yp-journal-card--small {
		grid-column: span 1;
	}

	.yp-journal-card__link {
		animation: none !important;
	}

	.yp-journal-card__body,
	.yp-journal-card--large .yp-journal-card__body,
	.yp-journal-card--medium .yp-journal-card__body,
	.yp-journal-card--small .yp-journal-card__body {
		padding: 22px 20px 24px;
	}

	.yp-journal-card--large .yp-journal-card__thumb,
	.yp-journal-card--medium .yp-journal-card__thumb,
	.yp-journal-card--small .yp-journal-card__thumb {
		aspect-ratio: 4 / 3;
	}

	.yp-journal-card--large .yp-journal-card__title,
	.yp-journal-card--medium .yp-journal-card__title,
	.yp-journal-card--small .yp-journal-card__title {
		font-size: 20px !important;
		line-height: 1.65 !important;
	}

	.yp-journal-card--large .yp-journal-card__subtitle,
	.yp-journal-card--medium .yp-journal-card__subtitle,
	.yp-journal-card--small .yp-journal-card__subtitle,
	.yp-journal-card--large .yp-journal-card__excerpt,
	.yp-journal-card--medium .yp-journal-card__excerpt,
	.yp-journal-card--small .yp-journal-card__excerpt {
		font-size: 13px !important;
		line-height: 1.9 !important;
	}

	.yp-journal-single-hero {
		padding: 58px 20px 48px;
	}

	.yp-journal-single-hero__label {
		font-size: 10px !important;
		margin-bottom: 12px !important;
	}

	.yp-journal-single-hero__title {
		padding-top: 38px !important;
		font-size: clamp(28px, 8.8vw, 42px) !important;
		line-height: 1.5 !important;
		transform: rotate(-0.7deg);
	}

	.yp-journal-single-hero__title::before {
		font-size: 23px !important;
	}

	.yp-journal-single-hero__subtitle {
		font-size: 13px !important;
		line-height: 2 !important;
		text-align: left !important;
	}

	.yp-journal-single-hero__meta {
		font-size: 12px;
	}

	.yp-journal-single-eyecatch {
		width: calc(100% - 40px);
		margin-top: 40px;
	}

	.yp-journal-single-simple {
		width: calc(100% - 40px);
		margin: 52px auto 72px;
	}

	.yp-journal-single-content p {
		font-size: 14px !important;
		line-height: 2.15 !important;
	}

	.yp-journal-single-content h2 {
		font-size: clamp(22px, 6vw, 30px) !important;
		line-height: 1.65 !important;
		margin-top: 2.8em !important;
	}

	.yp-journal-single-content h3 {
		font-size: clamp(19px, 5vw, 24px) !important;
		line-height: 1.65 !important;
	}

	.yp-journal-single-content li {
		font-size: 14px !important;
		line-height: 2 !important;
	}

	.yp-journal-single-nav__inner {
		grid-template-columns: 1fr;
	}

	.yp-journal-single-nav__next {
		text-align: left;
	}
}

/* =========================================================
   Small Mobile
   ========================================================= */

@media screen and (max-width: 420px) {
	.yp-journal-hero,
	.yp-journal-intro,
	.yp-journal-filter,
	.yp-journal-list,
	.yp-journal-single-hero {
		padding-left: 18px;
		padding-right: 18px;
	}

	.yp-journal-single-eyecatch,
	.yp-journal-single-simple {
		width: calc(100% - 36px);
	}

	.yp-journal-card__meta {
		display: grid;
		gap: 6px;
	}

	.yp-journal-single-back__link {
		width: 100%;
		min-width: 0;
	}
}