@charset "utf-8";

/**********************************************
* 
* cusutom
*
***********************************************/
/* Wysiwyg
***********************************************/
.Wysiwyg {
	color: var(--color-text);
	font-size: 1.7rem;
	font-weight: 500;
	font-family: var(--font-sans);
	letter-spacing: 0.05em;
	line-height: 1.88;
	padding-bottom: 80px;
}

.Wysiwyg p {
	margin: 0;
}

.Wysiwyg p + p {
	margin-top: 32px;
}

.Wysiwyg h2 {
	margin: 80px 0 32px;
	font-size: 3.8rem;
	font-weight: 500;
	color: var(--color-text);
	letter-spacing: 0.1em;
	line-height: 1.45;
}

.Wysiwyg h3 {
	position: relative;
	margin: 80px 0 24px;
	font-size: 2.8rem;
	font-weight: 500;
	color: var(--color-text);
	letter-spacing: 0.1em;
    display: flex;
    align-items: flex-start;
    gap: 15px;
    line-height: 1.7;
}

.Wysiwyg h3::before {
	position: relative;
    top: 0.7em;
    flex-shrink: 0;
    content: "";
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: linear-gradient(90deg, var(--color-accent) 50%, var(--color-primary) 50%);
}

.Wysiwyg .entry-content {
	margin-top: 40px;
}

.Wysiwyg h4 {
	margin: 48px 0 20px;
	padding-bottom: 24px;
	border-bottom: 2px solid #cbcbcb;
	font-size: 2.2rem;
	font-weight: 500;
	color: var(--color-text);
	letter-spacing: 0.1em;
	line-height: 1.45;
}

.Wysiwyg h5 {
	margin: 40px 0 16px;
	font-size: 2.2rem;
	font-weight: 500;
	color: var(--color-text);
	letter-spacing: 0.1em;
	line-height: 1.45;
}

.Wysiwyg a {
	color: var(--color-primary);
	text-decoration: underline;
	text-decoration-thickness: 0.5px;
	text-underline-offset: 0.2em !important;
	transition: color 0.4s ease;
}

.Wysiwyg a.-related,
.Wysiwyg a.is-related {
	color: var(--color-accent);
	font-weight: 700;
}

@media (hover: hover) and (pointer: fine) {
	.Wysiwyg a:hover {
		color: var(--color-accent);
	}
}

.Wysiwyg em,
.Wysiwyg [style*="text-decoration: underline"],
.Wysiwyg mark {
	font-style: normal;
	background: linear-gradient(transparent 62%, #fffdc6 62%);
	text-decoration: none!important;
}

.Wysiwyg img {
	max-width: 100%;
	height: auto;
	border-radius: 10px;
	margin-top: 14px;
	max-height: 1000px;
}

.Wysiwyg .Wysiwyg_thumbnail {
	overflow: hidden;
	width: 100%;
	max-width: 631px;
	margin: 60px auto;
	border-radius: 10px;
}

.Wysiwyg .Wysiwyg_thumbnail img {
	display: block;
	width: 100%;
	height: auto;
}

.Wysiwyg .wp-caption {
	max-width: 100%;
	margin: 30px 0;
}

.Wysiwyg .wp-caption-text {
	margin-top: 10px;
}

.Wysiwyg .Wysiwyg_tagList {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 24px 0;
	padding: 0;
	list-style: none;
}

.Wysiwyg blockquote {
	margin: 40px 0;
	padding: 50px;
	border-radius: 10px;
	background: var(--color-white);
	line-height: 1.88;
}

.Wysiwyg ul {
	margin: 20px 0;
	padding: 0;
	list-style: none;
}

.Wysiwyg ul li {
	position: relative;
	padding-left: 14px;
	font-size: 1.6rem;
	letter-spacing: 0.025em;
	line-height: 1.6;
}

.Wysiwyg ul li + li {
	margin-top: 12px;
}

.Wysiwyg ul li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.65em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--color-primary);
}

.Wysiwyg ol {
	counter-reset: wysiwyg-ol;
	margin: 20px 0;
	padding: 0;
	list-style: none;
}

.Wysiwyg ol li {
	position: relative;
	padding-left: 17px;
	font-size: 1.6rem;
	letter-spacing: 0.025em;
	line-height: 1.6;
	counter-increment: wysiwyg-ol;
}

.Wysiwyg ol li + li {
	margin-top: 12px;
}

.Wysiwyg ol li::before {
	content: counter(wysiwyg-ol) ".";
	position: absolute;
	left: 0;
	top: 0;
	color: var(--color-primary);
	font-family: var(--font-num);
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.6;
}

.Wysiwyg table {
	width: 100%;
	margin: 40px 0;
	border-spacing: 0;
	table-layout: fixed;
	background: transparent;
}

.Wysiwyg tr + tr td,
.Wysiwyg tr + tr th {
	border-top: 1px solid #cbcbcb;
}

.Wysiwyg td {
	padding: 24px 0;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.5;
	color: var(--color-text);
	vertical-align: top;
}

.Wysiwyg th,
.Wysiwyg tr:not(:has(th)) td:first-child {
	width: 240px;
	padding: 24px 0;
	background: transparent;
	color: var(--color-primary);
	font-size: 1.7rem;
	font-weight: 500;
	line-height: 1.5;
	vertical-align: top;
	border: 0;
}

.Wysiwyg tr:first-child th,
.Wysiwyg tr:first-child:not(:has(th)) td:first-child,
.Wysiwyg tr:first-child td {
	border-top: 1px solid #cbcbcb;
}

.Wysiwyg tr:last-child th,
.Wysiwyg tr:last-child:not(:has(th)) td:first-child,
.Wysiwyg tr:last-child td {
	border-bottom: 1px solid #cbcbcb;
}

.Wysiwyg iframe {
	margin: 30px 0!important;
}

.Wysiwyg .aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.Wysiwyg .alignleft {
	float: left;
	margin: 0.5em 40px 0.5em 0;
}

.Wysiwyg .alignright {
	float: right;
	margin: 0.5em 0 0.5em 40px;
}

@media (max-width: 767px) {
	.Wysiwyg {
		padding-bottom: 40px;
		font-size: 1.6rem;
		letter-spacing: 0.04em;
		line-height: 1.75;
	}

	.Wysiwyg p {
		padding-right: 25px;
	}

	.Wysiwyg p + p {
		margin-top: 28px;
	}

	.Wysiwyg h2 {
		margin: 60px 0 24px;
		font-size: 2.4rem;
		padding-right: 25px;
	}

	.Wysiwyg h3 {
		margin: 48px 0 20px;
		font-size: 2rem;
		padding-right: 25px;
	}

	.Wysiwyg h3::before {
		top: 0.7em;
		width: 10px;
		height: 10px;
	}

	.Wysiwyg h3::after {
		left: 5px;
		top: 0.5em;
		width: 5px;
		height: 10px;
	}

	.Wysiwyg .entry-content {
		margin-top: 24px;
	}

	.Wysiwyg h4 {
		margin: 40px 0 16px;
		padding-bottom: 20px;
		font-size: 1.8rem;
		padding-right: 25px;
	}

	.Wysiwyg h5 {
		margin: 32px 0 12px;
		font-size: 1.8rem;
		padding-right: 25px;
	}

	.Wysiwyg img {
		max-width: calc(100% - 15px);
	}

	.Wysiwyg .Wysiwyg_thumbnail {
		max-width: none;
		margin: 40px 0;
		padding: 0 30px 0 15px;
	}

	.Wysiwyg .Wysiwyg_thumbnail img {
		max-width: 100%;
	}

	.Wysiwyg .Wysiwyg_tagList {
		padding-right: 25px;
	}

	.Wysiwyg blockquote {
		padding: 30px 25px;
	}

	.Wysiwyg blockquote p {
		padding-right: 5px;
	}

	.Wysiwyg ul,
	.Wysiwyg ol {
		margin: 16px 0;
		padding-right: 25px;
	}

	.Wysiwyg ul li,
	.Wysiwyg ol li {
		font-size: 1.5rem;
	}

	.Wysiwyg table {
		margin: 32px 0;
		padding-right: 25px;
	}

	.Wysiwyg td,
	.Wysiwyg th,
	.Wysiwyg tr:not(:has(th)) td:first-child {
		max-width: none;
		min-width: 0;
		padding: 16px 0;
	}

	.Wysiwyg iframe {
		max-width: 100%!important;
	}

	.Wysiwyg .alignleft,
	.Wysiwyg .alignright {
		float: none;
		margin: 0.5em 0;
	}
}

/* p-CustomLayout
***********************************************/
.p-CustomLayout {
	display: flex;
	gap: 80px;
}

.p-CustomLayout_side {
	width: 220px;
}

.p-CustomLayout_main {
	flex: 1;
}

.p-CustomLayout_sideBottom {
	margin-top: 50px;
}

@media (max-width: 767px) {
	.p-CustomLayout {
		display: flex;
		flex-direction: column;
	}

	.p-CustomLayout.-spSideTop .p-CustomLayout_main {
		order: 2;
	}

	.p-CustomLayout_side {
		width: 100%;
		display: contents;
	}

	.p-CustomLayout.-spSideTop .p-CustomLayout_sideTop {
		order: 1;
	}

	.p-CustomLayout.-spSideTop .p-CustomLayout_sideBottom {
		order: 3;
	}
}

/* p-CustomSide
***********************************************/
.p-CustomSide_title {
	margin-bottom: 10px;
	display: flex;
	align-items: center;
	gap: 5px;
}

.p-CustomSide_titleEn {
	font-size: 1.8rem;
	font-weight: 900;
	font-family: var(--font-english);
	letter-spacing: 0.15em;
	color: var(--color-primary);
	text-transform: uppercase;
}

.p-CustomSide_titleJp {
	font-size: 1.2rem;
	font-weight: 500;
	font-family: var(--font-sans);
	letter-spacing: 0.05em;
	color: var(--color-text);
}

.p-CustomSide_list {
	display: grid;
	grid-template-columns: 1fr;
	column-gap: 18px;
	row-gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
}

.p-CustomSide_item {
	border-bottom: 1px solid #e3e3e3;
}

.p-CustomSide_link {
	position: relative;
	display: flex;
	align-items: center;
	padding: 14px 15px 13px 0;
	color: var(--color-text);
	font-size: 1.5rem;
	font-family: var(--font-sans);
	letter-spacing: 0.03em;
	text-decoration: none;
}

.p-CustomSide_link::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 7px;
	width: 8px;
	height: 8px;
	border-top: 2px solid var(--color-primary);
	border-right: 2px solid var(--color-primary);
	transform: translateY(-50%) rotate(45deg);
}

.p-CustomSide_item.is-current {
	border-bottom-color: var(--color-primary);
}

.p-CustomSide_item.is-current .p-CustomSide_link {
	color: var(--color-primary);
	font-weight: 500;
}

@media (max-width: 767px) {
	.p-CustomSide_list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.p-CustomSide_link {
		font-size: 16px;
	}
}

/* p-CustomArchive
***********************************************/
.p-CustomArchive {
	list-style: none;
	margin: 0;
	padding: 0;
}

.p-CustomArchive_item {
	border-bottom: 1px solid #e3e3e3;
}

.p-CustomArchive_details {
	display: block;
}

.p-CustomArchive_summary {
	position: relative;
	display: flex;
	align-items: center;
	padding: 12px 15px 12px 0;
	color: var(--color-text);
	font-size: 1.8rem;
	font-weight: 700;
	font-family: var(--font-english);
	letter-spacing: 0.08em;
	cursor: pointer;
	list-style: none;
}

.p-CustomArchive_summary::-webkit-details-marker {
	display: none;
}

.p-CustomArchive_summary::before,
.p-CustomArchive_summary::after {
	content: "";
	position: absolute;
	right: 7px;
	top: 50%;
	width: 12px;
	height: 2px;
	background-color: var(--color-primary);
	transform: translateY(-50%);
}

.p-CustomArchive_summary::after {
	transform: translateY(-50%) rotate(90deg);
}

.p-CustomArchive_detailsContent {
	overflow: hidden;
}

.p-CustomArchive_details[open] .p-CustomArchive_summary::after {
	display: none;
}

.p-CustomArchive_details::details-content {
	content-visibility: unset;
    display: block grid;
	transition-duration: 300ms;
	transition-property: grid-template-rows;
}

.p-CustomArchive_details:not([open])::details-content {
    grid-template-rows: 0fr;
}

.p-CustomArchive_details[open]::details-content {
    grid-template-rows: 1fr;
}


.p-CustomArchive_months {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, auto));
	gap: 0px 20px;
	list-style: none;
	margin: 0;
	padding: 0 0 13px 24px;
	text-align: right;
	margin-top: -4px;
}

.p-CustomArchive_monthLink {
	color: var(--color-text);
	font-size: 1.2rem;
	font-family: var(--font-sans);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-decoration: none;
	display: block;
}

.p-CustomArchive_monthLinkNumber {
	font-size: 1.8rem;
	font-family: var(--font-english);
}

.p-CustomArchive_month.is-muted .p-CustomArchive_monthLink {
	color: #b1b1b1;
	pointer-events: none;
}

@media (max-width: 767px) {
	.p-CustomArchive_summary {
		padding-right: 18px;
		font-size: 18px;
		letter-spacing: 0.08em;
	}

	.p-CustomArchive_months {
		display: none;
		padding-bottom: 14px;
	}

	.p-CustomArchive_details[open] .p-CustomArchive_months {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, auto));
		gap: 8px 12px;
	}

	.p-CustomArchive_monthLink {
		font-size: 16px;
	}
}

/* p-NewsList
***********************************************/
.p-NewsList_list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.p-NewsList_item {
	border-bottom: 2px solid #e3e3e3;
}

.p-NewsList_link {
	display: flex;
	gap: 30px;
	padding: 20px 0 28px;
	text-decoration: none;
}

.p-NewsList_thumb {
	flex: 0 0 180px;
	height: 120px;
	border: 1px solid #ebebeb;
	background: #fff;
}

.p-NewsList_thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 6px;
}

.p-NewsList_body {
	flex: 1;
	min-width: 0;
}

.p-NewsList_meta {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 14px;
}

.p-NewsList_date {
	color: #afafaf;
	font-size: 1.2rem;
	font-family: var(--font-english);
	line-height: 1;
}

.p-NewsList_tag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 22px;
	padding: 0 14px;
	border-radius: 5px;
	background-color: var(--color-primary);
	color: #fff;
	font-size: 1.2rem;
	font-family: var(--font-sans);
	letter-spacing: 0.05em;
	line-height: 1;
}

.p-NewsList_title {
	display: -webkit-box;
	margin: 0;
	color: #3c3c3c;
	font-size: 15px;
	font-weight: 500;
	font-family: var(--font-sans);
	letter-spacing: 0.08em;
	line-height: 1.85;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
}

@media (max-width: 767px) {
	.p-NewsList_item {
		border-bottom-width: 1px;
	}

	.p-NewsList_link {
		gap: 12px;
		padding: 18px 0;
	}

	.p-NewsList_thumb {
		flex-basis: 125px;
		height: 83px;
	}

	.p-NewsList_body {
		display: flex;
		flex-direction: column;
	}

	.p-NewsList_meta {
		order: -1;
		gap: 10px;
		margin-bottom: 8px;
	}

	.p-NewsList_date {
		font-size: 12px;
	}

	.p-NewsList_tag {
		height: 20px;
		padding: 0 8px;
		border-radius: 3px;
		font-size: 10px;
		font-weight: 700;
	}

	.p-NewsList_title {
		font-size: 14px;
		letter-spacing: 0.05em;
		line-height: 1.6;
		-webkit-line-clamp: 3;
		line-clamp: 3;
	}
}

/* p-NewsArchive
***********************************************/
.p-NewsArchive_articles {
	max-width: none;
	margin-top: 84px;
}

.ArticleIntro_link {
	height: 100%;
	padding: 0 clamp(20px, -74.118px + 12.255vw, 70px) 30px;
	border-bottom: 1px solid #cbcbcb;
}

.ArticleIntro_item:not(:nth-child(3n + 1))::before {
	height: calc(100% - 48px);
	top: auto;
	transform: none;
}

.p-NewsArchive_articles .ArticleIntro_list {
	row-gap: 48px;
}

.p-NewsArchive_articles .ArticleIntro_tags {
	flex-direction: row;
	flex-wrap: wrap;
	gap: 8px 16px;
}

@media (max-width: 767px) {
	.p-NewsArchive_articles {
		margin-top: 64px;
	}

	.p-NewsArchive_articles .ArticleIntro_list {
		row-gap: 0;
	}

	.p-NewsArchive_articles .ArticleIntro_item:not(:nth-last-child(-n + 3)) {
		padding-bottom: 0;
	}

	.ArticleIntro_item + .ArticleIntro_item {
		padding-top: 0;
	}

	.ArticleIntro_item + .ArticleIntro_item::before {
		display: none;
	}
}

/* p-NewsFilter
***********************************************/
.p-NewsFilter {
	position: relative;
	overflow: hidden;
	border-radius: 10px;
	background-color: var(--color-white);
	max-width: calc(100% - 26px);
	margin: 0 auto;
	transition: background-color 0.4s ease;
}

.p-NewsFilter::before {
	content: "";
	position: absolute;
	inset: 0;
	background-color: #a5a5a5;
	mix-blend-mode: color-burn;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.4s ease;
}

.p-NewsFilter.-archive {
	margin-top: 100px;
}

.p-NewsFilter_trigger {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	width: 100%;
	padding: 30px 50px 30px;
	border: none;
	background: transparent;
	color: var(--color-text);
	font-family: var(--font-ja);
	text-align: left;
	cursor: pointer;
}

.p-NewsFilter_head {
	display: inline-flex;
	align-items: center;
	gap: 20px;
	min-width: 0;
}

.p-NewsFilter_search {
	position: relative;
	flex-shrink: 0;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: var(--gradient);
}

.p-NewsFilter_search::after {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 18px;
	height: 18px;
	background: url(../../images/common/icon-search.svg) no-repeat center / contain;
}

.p-NewsFilter_title {
	font-size: 2.2rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.2;
}

.p-NewsFilter_toggle {
	position: relative;
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--color-primary);
}

.p-NewsFilter_toggle::before,
.p-NewsFilter_toggle::after {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 10px;
	height: 2px;
	border-radius: 1px;
	background: var(--color-white);
}

.p-NewsFilter_toggle::after {
	transform: rotate(90deg);
	transition: opacity 0.4s ease, transform 0.4s ease;
}

.p-NewsFilter_trigger[aria-expanded="true"] {
	padding: 30px 50px 16px;
}

.p-NewsFilter_trigger[aria-expanded="true"] .p-NewsFilter_toggle::after {
	opacity: 0;
	transform: rotate(90deg) scaleY(0);
}

.p-NewsFilter_panel {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.35s ease;
}

.p-NewsFilter_panel[aria-hidden="false"] {
	grid-template-rows: 1fr;
}

.p-NewsFilter_body {
	overflow: hidden;
	min-height: 0;
	padding: 0 50px;
	opacity: 0;
	transition: opacity 0.25s ease, padding-bottom 0.35s ease;
}

.p-NewsFilter_panel[aria-hidden="false"] .p-NewsFilter_body {
	padding-bottom: 34px;
	opacity: 1;
}

.p-NewsFilter_body::before {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	margin-bottom: 34px;
	background: #cbcbcb;
}

.p-NewsFilter_row {
	display: flex;
	align-items: center;
	gap: 41px;
}

.p-NewsFilter_row.-top {
	align-items: flex-start;
}

.p-NewsFilter_row + .p-NewsFilter_row {
	margin-top: 23px;
}

.p-NewsFilter_label {
	flex-shrink: 0;
	width: 5.6em;
	color: var(--color-text);
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1;
}

.p-NewsFilter_cats,
.p-NewsFilter_tags {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
	padding: 0;
}

.p-NewsFilter_cats {
	gap: 8px;
}

.p-NewsFilter_cat {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 71px;
	height: 29px;
	padding: 0 12px;
	border-radius: 9999px;
	background: var(--color-bg);
	color: var(--color-text);
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1;
	text-decoration: none;
	transition: color 0.4s ease;
}

.p-NewsFilter_cat.is-current {
	background: var(--color-primary);
	color: var(--color-white);
	pointer-events: none;
}

.p-NewsFilter_tags {
	gap: 0 21px;
    margin-top: -7px;
}

.p-NewsFilter_tag {
	color: var(--color-text-muted);
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.4;
	text-decoration: none;
	transition: color 0.4s ease;
}

.p-NewsFilter_tag.is-current {
	color: var(--color-primary);
	font-weight: 700;
}

@media (hover: hover) and (pointer: fine) {
	.p-NewsFilter:has(.p-NewsFilter_trigger:hover) {
		background-color: transparent;
	}

	.p-NewsFilter:has(.p-NewsFilter_trigger:hover)::before {
		opacity: 1;
	}

	.p-NewsFilter_cat:hover,
	.p-NewsFilter_tag:hover {
		color: var(--color-primary);
	}
}

@media (max-width: 767px) {
	.p-NewsFilter {
		max-width: 100%;
	}

	.p-NewsFilter.-archive {
		margin-top: 80px;
	}

	.p-NewsFilter_trigger {
		padding: 22px 20px;
	}

	.p-NewsFilter_trigger[aria-expanded="true"] {
		padding: 23px 19px 16px;
	}

	.p-NewsFilter_row {
		flex-direction: column;
		align-items: flex-start;
		gap: 0;
	}

	.p-NewsFilter_row.-top {
		gap: 0;
	}

	.p-NewsFilter_head {
		gap: 14px;
	}

	.p-NewsFilter_search {
		width: 36px;
		height: 36px;
	}

	.p-NewsFilter_search::after {
		width: 14px;
		height: 14px;
	}

	.p-NewsFilter_title {
		font-size: 1.7rem;
	}

	.p-NewsFilter_toggle {
		width: 30px;
		height: 30px;
	}

	.p-NewsFilter_body {
		padding: 0 20px;
	}

	.p-NewsFilter_panel[aria-hidden="false"] .p-NewsFilter_body {
		padding-bottom: 15px;
	}

	.p-NewsFilter_cats {
		gap: 5px;
	}

	.p-NewsFilter_body::before {
		margin-bottom: 20px;
	}

	.p-NewsFilter_row + .p-NewsFilter_row {
		margin-top: 24px;
	}

	.p-NewsFilter_label {
		width: auto;
		margin-bottom: 14px;
		font-size: 1.6rem;
	}

	.p-NewsFilter_cat {
		min-width: 64px;
		height: 27px;
		padding: 0 12px;
		font-size: 1.3rem;
	}

	.p-NewsFilter_tags {
		gap: 1px 13px;
	}

	.p-NewsFilter_tag {
		font-size: 1.5rem;
	}

	.ArticleIntro_link {
		padding: 0 8px 30px;

	}

	.ArticleIntro_cats {
		margin-bottom: 10px;
	}
}

/* p-NewsArchiveYears
***********************************************/
.p-NewsArchiveYears {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 19px 0;
	list-style: none;
	margin: 0;
	padding: 0;
	padding-right: clamp(0px, -112.941px + 14.706vw, 60px);
}

.p-NewsArchiveYears_year {
	margin: 0 0 16px;
	color: var(--color-text);
	font-family: var(--font-num);
	font-size: 2rem;
	letter-spacing: 0.02em;
	line-height: 1;
}

.p-NewsArchiveYears_months {
	display: grid;
	grid-template-columns: repeat(4, auto);
	justify-content: start;
    column-gap: 15px;
    row-gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
}

.p-NewsArchiveYears_monthLink {
	color: var(--color-primary);
	font-family: var(--font-num);
	font-size: 2rem;
	letter-spacing: 0.02em;
	line-height: 1;
	text-decoration: underline;
	transition: color 0.4s ease;
}

.p-NewsArchiveYears_month.is-muted .p-NewsArchiveYears_monthLink {
	color: #a5a5a5;
	text-decoration: none;
	pointer-events: none;
}

@media (hover: hover) and (pointer: fine) {
	.p-NewsArchiveYears_month:not(.is-muted) .p-NewsArchiveYears_monthLink:hover {
		color: var(--color-accent);
	}
}

@media (max-width: 1023px) {
	.p-NewsArchiveYears {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.p-NewsArchiveYears {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 22px 36px;
		padding-right: 0;
	}

	.p-NewsArchiveYears_year {
		margin-bottom: 5px;
		font-size: 1.7rem;
	}

	.p-NewsArchiveYears_months {
		column-gap: 12px;
        row-gap: 0;
	}

	.p-NewsArchiveYears_monthLink {
		font-size: 1.7rem;
	}
}

/* p-VoiceList
***********************************************/
.p-VoiceList_list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.p-VoiceList_item {
	border-bottom: 2px solid #e3e3e3;
}

.p-VoiceList_link {
	display: flex;
	gap: 30px;
	padding: 15px 0 28px;
	text-decoration: none;
}

.p-VoiceList_thumb {
	flex: 0 0 180px;
	height: 120px;
	border-radius: 6px;
	background: #e6f5c8;
	overflow: hidden;
}

.p-VoiceList_thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.p-VoiceList_body {
	flex: 1;
	min-width: 0;
}

.p-VoiceList_meta {
	margin-bottom: 10px;
}

.p-VoiceList_tag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 21px;
	padding: 0 12px;
	border-radius: 5px;
	background-color: var(--color-primary);
	color: #fff;
	font-size: 1.2rem;
	font-weight: 700;
	font-family: var(--font-sans);
	letter-spacing: 0.05em;
	line-height: 1;
}

.p-VoiceList_company {
	margin: 8px 0 0;
	color: #3c3c3c;
	font-size: 1.7rem;
	font-weight: 500;
	font-family: var(--font-sans);
	letter-spacing: 0.08em;
	line-height: 1.4;
}

.p-VoiceList_text {
	display: -webkit-box;
	margin: 8px 0 0;
	color: #3c3c3c;
	font-size: 1.5rem;
	font-family: var(--font-sans);
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 1.85;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
}

@media (max-width: 767px) {
	.p-VoiceList_item {
		border-bottom-width: 1px;
	}

	.p-VoiceList_link {
		gap: 12px;
		padding: 18px 0;
	}

	.p-VoiceList_thumb {
		flex-basis: 140px;
		height: 94px;
	}

	.p-VoiceList_meta {
		margin-bottom: 6px;
	}

	.p-VoiceList_tag {
		height: 20px;
		padding: 0 8px;
		border-radius: 3px;
		font-size: 10px;
	}

	.p-VoiceList_company {
		margin-top: 6px;
		font-size: 15px;
	}

	.p-VoiceList_text {
		margin-top: 6px;
		font-size: 14px;
		letter-spacing: 0.05em;
		line-height: 1.6;
	}
}

/* p-Pagenation
***********************************************/
.p-Pagenation {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	margin-top: 60px;
}

.p-Pagenation_arrow {
	position: relative;
	flex: 0 0 56px;
	width: 24px;
	height: 24px;
}

.p-Pagenation_arrow::before {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 10px;
	height: 18px;
	background-color: var(--color-primary);
	mask: url(../../images/common/icon-arrow_pagenation.svg) no-repeat center / contain;
	transition: background-color 0.4s ease;
}

.p-Pagenation_arrow.-prev::before,
.p-Pagenation_arrow--prev::before {
	transform: scaleX(-1);
}

.p-Pagenation_list {
	display: flex;
	align-items: center;
	gap: 16px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.p-Pagenation_link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	color: var(--color-primary);
	font-size: 2.2rem;
	font-family: var(--font-num);
	letter-spacing: 0.02em;
	line-height: 1;
	text-decoration: none;
}

.p-Pagenation_item:not(.is-current) .p-Pagenation_link {
	position: relative;
	transition: color 0.4s ease;
}

.p-Pagenation_item:not(.is-current) .p-Pagenation_link::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	border-radius: 50%;
	background-color: #a5a5a5;
	mix-blend-mode: color-burn;
	pointer-events: none;
}

.p-Pagenation_item.is-current .p-Pagenation_link {
	background: var(--color-white);
	pointer-events: none;
}

.p-Pagenation_ellipsis {
	color: var(--color-text);
	font-size: 2.2rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1;
}

.p-Pagenation_dots {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.p-Pagenation_dot {
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background-color: #b1b1b1;
}

@media (hover: hover) and (pointer: fine) {
	.p-Pagenation_arrow:hover::before {
		background-color: var(--color-accent);
	}

	.p-Pagenation_item:not(.is-current) .p-Pagenation_link:hover {
		color: var(--color-accent);
	}
}

@media (max-width: 767px) {
	.p-Pagenation {
		gap: 8px;
		margin-top: 48px;
	}

	.p-Pagenation_list {
		gap: 8px;
	}

	.p-Pagenation_link {
		width: 36px;
		height: 36px;
		font-size: 1.6rem;
	}

	.p-Pagenation_arrow::before {
		width: 8px;
		height: 14px;
		mask: url(../../images/common/icon-arrow_pagenation_sp.svg) no-repeat center / contain;
	}

	.p-Pagenation_ellipsis {
		font-size: 1.6rem;
	}
}

/* ArticlePager
***********************************************/
.p-Article_filters {
	margin-top: 100px;
}

.ArticlePager {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 58px;
	margin-top: 64px;
	padding: 0;
	list-style: none;
}

.ArticlePager_item {
	flex: 0 0 auto;
}

.ArticlePager_link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	transition: opacity 0.4s;
}

.ArticlePager_link.-all:hover {
	opacity: 0.75;
}

.ArticlePager_link.-prev::before,
.ArticlePager_link.-next::after {
	content: "";
	width: 10px;
	height: 18px;
	flex-shrink: 0;
	background-color: var(--color-primary);
	mask: url(../../images/common/icon-arrow_pagenation.svg) no-repeat center / contain;
	transition: background-color 0.4s ease;
}

.ArticlePager_link.-prev::before {
	transform: scaleX(-1);
}

.ArticlePager_link.-all {
	width: 280px;
	height: 60px;
	border-radius: 10px;
	background: var(--color-white);
	color: var(--color-primary);
	font-family: var(--font-num);
	font-size: 2.2rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1;
}

.ArticlePager_link.is-disable {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	opacity: 0.3;
}

@media (hover: hover) and (pointer: fine) {
	.ArticlePager_link.-prev:hover::before,
	.ArticlePager_link.-next:hover::after {
		background-color: var(--color-accent);
	}
}

@media (max-width: 767px) {
	.p-Article_filters {
		margin-top: 80px;
	}

	.ArticlePager {
		gap: 20px;
		margin-top: 40px;
	}

	.ArticlePager_link.-prev::before,
	.ArticlePager_link.-next::after {
		width: 8px;
		height: 14px;
		mask: url(../../images/common/icon-arrow_pagenation_sp.svg) no-repeat center / contain;
	}

	.ArticlePager_link.-all {
		width: 194px;
		height: 46px;
		font-size: 1.8rem;
	}
}

/* p-Article
***********************************************/
.p-Article_meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
	padding-right: 25px;
}

.p-Article_date {
	margin: 0;
	color: var(--color-primary);
	font-family: var(--font-num);
	font-size: 1.7rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1;
}

.p-Article_cats {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.p-Article_cat {
	position: relative;
	display: inline-flex;
	align-items: center;
	height: 29px;
	padding: 0 14px;
	border-radius: 14.5px;
	color: var(--color-text);
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1;
}

.p-Article_cat::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 14.5px;
	background: #a5a5a5;
	mix-blend-mode: color-burn;
	pointer-events: none;
	z-index: -1;
}

.p-Article_newsTitle {
	margin: 20px 0 0;
	padding-bottom: 40px;
	border-bottom: 1px solid #cbcbcb;
	font-size: 3.2rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.45;
}

.p-Article_cases {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 24px;
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
}

.p-Article_case {
	color: #717171;
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1;
}

.p-Article_voiceHeader {
	position: relative;
	display: flex;
	flex-direction: row-reverse;
	justify-content: flex-end;
	gap: 40px;
	padding-bottom: 48px;
	margin-bottom: 50px;
}

.p-Article_voiceHeader::before,
.p-Article_voiceHeader::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	border-radius: 2px;
	background: #E3E3E3;
}

.p-Article_voiceHeader::after {
	width: 80px;
	background: var(--color-primary);
}

.p-Article_voiceTextArea {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 16px;
}

.p-Article_voiceTitle {
	font-size: 2.8rem;
	font-weight: 500;
	font-family: var(--font-sans);
	letter-spacing: 0.1em;
	line-height: 1.7857;
}

.p-Article_voiceVisualArea {
	width: 240px;
}

.p-Article_voiceVisualArea img {
	width: 100%;
	height: auto;
	border-radius: 6px;
	overflow: hidden;
}

.p-Article_header {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
}

.p-Article_tag {
	font-size: 1.4rem;
	font-family: var(--font-sans);
	font-weight: 500;
	letter-spacing: 0.05em;
	color: var(--color-white);
	padding: 0 14px;
	border-radius: 5px;
	background-color: var(--color-primary);
	padding: 2px 15px;
}

@media (max-width: 767px) {
	.p-Article_wrap {
		margin-top: 0;
	}

	.p-Article_meta {
		align-items: center;
		gap: 12px;
	}

	.p-Article_date {
		font-size: 1.7rem;
	}

	.p-Article_newsTitle {
		margin-top: 16px;
		padding-bottom: 24px;
		font-size: 1.8rem;
		line-height: 1.55;
		padding-right: 25px;
	}

	.p-Article_cases {
		margin-top: 20px;
		gap: 12px 16px;
	}

	.p-Article_voiceHeader {
		display: block;
	}

	.p-Article_voiceTitle {
		margin-bottom: 41px;
	}

	.p-Article_voiceVisualArea {
		width: 100%;
	}
}

