@charset "UTF-8";
/*--------------------------------------------------
**************************************************
  aside
**************************************************
--------------------------------------------------*/
aside {
	width:100%;
	max-width:475px;
}
.aside_inner {
	padding:40px;
	background:var(--gray-2);
}

.aside_inner + .aside_inner {
	margin-top: 40px;
}

.aside_inner .aside_item_name {
	font-size:2.4rem;
	font-weight:800;
}
.aside_inner .aside_thumb_title_list,
.aside_inner .column_category_list {
	margin-top:24px;
}

/* （人気｜最新）の記事 */
.aside_inner .aside_thumb_title_list > li + li {
	margin-top: 24px;
}

.aside_inner .aside_thumb_title_list a {
	display: flex;
	gap: 16px;
}

.aside_inner .aside_thumb_title_list .aside_thumb {
	width: 130px;
}

.aside_inner .aside_thumb_title_list .aside_thumb img {
	aspect-ratio: 130 / 68;
	object-fit: cover;
}

.aside_inner .aside_thumb_title_list .aside_thumb.no_image {
	aspect-ratio: 130 / 68;
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--green-3);
	font-family: "Roboto", sans-serif;
	font-size: 2.0rem;
	font-weight: 600;
	font-style: italic;
	line-height: 1;
	color: var(--green-1);
}

.aside_inner .aside_thumb_title_list .aside_text {
	width: calc(100% - 130px);
}

.aside_inner .aside_thumb_title_list .aside_title {
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1.5;
	transition: all 0.5s ease;
}

.aside_inner .aside_thumb_title_list a:hover .aside_title {
	color: var(--green-1);
}

/* 人気の記事 */
.aside_inner .aside_thumb_title_list.popular_posts {
	counter-reset: rank_num;
}

.aside_inner .aside_thumb_title_list.popular_posts > li {
	counter-increment: rank_num;
}

.aside_inner .aside_thumb_title_list.popular_posts .aside_thumb {
	position: relative;
}

.aside_inner .aside_thumb_title_list.popular_posts .aside_thumb::before {
	content: counter(rank_num, decimal-leading-zero); /* ← 先頭0をつける */
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	padding: 7px 4px;
	background: var(--green-1);
	font-family: "Roboto", sans-serif;
	font-size: 1.4rem;
	font-weight: 500;
	font-style: italic;
	line-height: 1;
	color: var(--white-1);
}

/* 最新の記事 */
.aside_inner .aside_thumb_title_list .aside_date {
	margin-top: 3px;
	font-size: 1.2rem;
	font-weight: 500;
	color: rgba(29, 29, 29, .5);
}


/* カテゴリー */
.aside_inner .column_category_list li a {
	padding:10px;
	display:block;
	border-top:1px solid var(--gray-1);
	font-weight:500;
	font-size: 1.6rem;
}
.aside_inner .column_category_list li a:hover,
.aside_inner .column_category_list li a.is-active {
	color: var(--green-1);
}


/* PC - SP */
@media screen and (min-width:1000px) and ( max-width:1199px) {
	aside {
		max-width:100%;
	}
	.aside_inner {
		padding:30px;
	}
}

/* SP */
@media screen and (max-width: 999px) {
	aside {
		max-width:100%;
	}
	.aside_inner {
		padding:30px 5vw;
	}

	.aside_inner + .aside_inner {
		margin-top: 24px;
	}

	.aside_inner .aside_item_name {
		font-size:2.0rem;
	}

	.aside_inner .aside_thumb_title_list,
	.aside_inner .column_category_list {
		margin-top:16px;
	}

	/* （人気｜最新）の記事 */
	.aside_inner .aside_thumb_title_list .aside_title {
		font-size: 1.4rem;
	}

	/* カテゴリー */
	.aside_inner .column_category_list li a {
		font-size: 1.4rem;
	}
}


/*--------------------------------------------------
**************************************************
  .archive_item
**************************************************
--------------------------------------------------*/
.archive_item {
	width: 550px;
}

.archive_item .thumb,
.archive_item .thumb img {
	aspect-ratio: 550 / 310;
}

.archive_item .thumb img {
	object-fit: cover;
}

.archive_item .thumb.no_image {
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--green-3);
	font-family: "Roboto", sans-serif;
	font-size: 3.0rem;
	font-weight: 600;
	font-style: italic;
	line-height: 1;
	color: var(--green-1);
}

.archive_item .post_info {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	margin-top: 24px;
}

.archive_item .category {
	padding: 6px 14px;
	background: var(--green-3);
	font-size: 1.3rem;
	font-weight: 600;
	color: #0462CC;
}

.archive_item time {
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1;
	color: rgba(29, 29, 29, .5);
}

.archive_item .title {
	margin-top: 16px;
	font-size: 2.0rem;
	font-weight: 700;
	line-height: 1.58;
}

/* SP */
@media screen and (max-width: 767px) {
	.archive_item {
		width: calc(50% - 8px);
	}
	.archive_item .thumb,
	.archive_item .thumb img {
		aspect-ratio: 160 / 90;
	}

	.archive_item .thumb.no_image {
		font-size: 2.0rem;
	}

	.archive_item .post_info {
		gap: 10px;
		margin-top: 16px;
	}

	.archive_item .category {
		padding: 4px 8px;
		font-size: 1.2rem;
	}

	.archive_item time {
		font-size: 1.2rem;
	}

	.archive_item .title {
		font-size: 1.5rem;
		font-weight: 600;
		line-height: 1.6;
	}
}


/*--------------------------------------------------
**************************************************
  .archive_pickup
**************************************************
--------------------------------------------------*/
.archive_pickup {
	position: relative;
	width: 100%;
	margin-top: 30px;
	padding-block: 80px;
	background: var(--green-1);
}

.archive_pickup_inner {
	display: flex;
	gap: 40px;
	width: min(var(--content-pc-width-2), var(--content-sp-width-1));
	margin-inline: auto;
}

.archive_pickup .archive_item .title {
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.58;
	color: var(--white-1);
}

.archive_pickup .swiper-button-prev,
.archive_pickup .swiper-button-next,
.archive_pickup .swiper-pagination {
	display: none;
}

/* SP */
@media screen and (max-width: 767px) {
	/* 背景ブロック */
	.archive_pickup {
		position: relative;
		margin-top: 20px;
		padding-block: 40px;
	}

	/* Swiper の wrapper（ここでは余白は付けない） */
	.archive_pickup_inner {
		display: flex;
		gap: 0;
		width: 100%;
		max-width: 100%;
		margin: 0;
		/* padding や overflow:visible は付けない */
	}

	/* スライド 1枚 = コンテナ幅ぴったり */
	.archive_pickup .archive_item {
		width: 100% !important; /* Swiper の inline width を上書き */
	}

	/* カード本体。ここで左右の余白を作る */
	.archive_pickup .archive_item > a {
		display: block;
		width: 80%;           /* 画面幅の 8 割ぐらい */
		max-width: 296px;     /* モックの幅に合わせたいなら調整 */
		margin: 0 auto;       /* 中央寄せ */
	}

	.archive_pickup .archive_item .thumb,
	.archive_pickup .archive_item .thumb img {
		aspect-ratio: 296 / 205;
		width: 100%;
		height: auto;
		display: block;
	}

	.archive_pickup .archive_item .thumb.no_image {
		display: flex;
	}

	.archive_pickup .archive_item .post_info {
		margin-top: 16px;
	}

	.archive_pickup .archive_item .category {
		padding: 4px 14px;
	}

	.archive_pickup .archive_item .title {
		font-size: 1.6rem;
		line-height: 1.5;
	}

	/* ===== ナビ矢印 ===== */
	.archive_pickup .swiper-button-prev,
	.archive_pickup .swiper-button-next {
		position: absolute;
		top: 40%;
		transform: translateY(-50%);
		display: block;
		width: 36px;
		height: 36px;
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center;
		z-index: 10;
	}

	/* カードの左端あたりに来るように 10% − 18px */
	.archive_pickup .swiper-button-prev {
		left: calc(10% - 18px);
		background-image: url(../imgs/common/arrow_6.svg);
	}

	/* 右も同様 */
	.archive_pickup .swiper-button-next {
		right: calc(10% - 18px);
		background-image: url(../imgs/common/arrow_7.svg);
	}

	/* Swiper デフォルト矢印アイコンを消す */
	.archive_pickup .swiper-button-next::after,
	.archive_pickup .swiper-button-prev::after {
		display: none;
	}

	/* ===== ページネーション ===== */
	.archive_pickup .swiper-pagination {
		position: static;
		display: block;
		margin-top: 16px;
		text-align: center;
	}

	.archive_pickup .swiper-pagination-bullet {
		width: 10px;
		height: 10px;
		opacity: 1;
		background: #d9d9d9;
	}

	.archive_pickup .swiper-pagination-bullet-active {
		background: var(--black-1);
	}
}


/*--------------------------------------------------
**************************************************
  .archive_container
**************************************************
--------------------------------------------------*/
.archive_container {
	display: flex;
	justify-content: space-between;
	gap: 96px;
	width: min(var(--content-pc-width-2), var(--content-sp-width-1));
	margin-block: 80px 120px;
}

.archive_container .list_inner {
	width: min(100%, 1140px);
}

.archive_container .list_inner .archive_list {
	display: flex;
	flex-wrap: wrap;
	gap: 56px 40px;
	margin-bottom: 210px;
}

/* SP */
@media screen and (max-width: 767px) {
	.archive_container {
		flex-direction:column;
		gap: 80px;
		margin-block: 40px 60px;
	}

	.archive_container .list_inner .archive_list {
		gap: 40px 16px;
		margin-bottom: 40px;
	}
}




/*--------------------------------------------------
**************************************************
  single column
**************************************************
--------------------------------------------------*/
.single_container {
	display: flex;
	justify-content: space-between;
	gap: 96px;
	width: min(var(--content-pc-width-2), var(--content-sp-width-1));
	margin-top: 40px;
}

.single_container article {
	width: min(100%, 1140px);
}

.single_container article .post_title {
	font-size: 4.0rem;
	font-weight: 800;
	line-height: 1.75;
}

.single_container article .post_info {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 10px;
}

.single_container article .post_info span.category {
	padding:3px 14px;
	background: var(--green-3);
	text-align:center;
	font-size:1.3rem;
	font-weight:600;
	color:#0462CC;
}

.single_container article .post_info span.post_date {
	font-size:1.4rem;
	font-weight:500;
	color: rgba(29, 29, 29, .5);
}

.single_container article .thumb {
	/* width: min(100%, 900px); */
	margin: 40px auto 0;
	text-align: center;
}

.single_container article .content {
	margin-top:50px;
	line-height:2.2;
	font-size:1.6rem;
}

.single_container article .content h2,
.single_container article .content h3,
.single_container article .content h4,
.single_container article .content h5,
.single_container article .content h6,
.single_container article .content ul,
.single_container article .content ol,
.single_container article .content dl,
.single_container article .content img,
.single_container article .content table {
	margin-block: 32px;
}

.single_container article .content img {
	max-width:100%;
	display:block;
	margin-inline: auto;
}

.single_container article .content .ez-toc-section {
	scroll-margin-top: var(--scroll-margin-top-pc);
}

.single_container article .content h2 {
	padding: 12px 24px;
	background: var(--green-1);
	color: var(--white-1);
}

.single_container article .content h2,
.single_container article .content h2 span {
	font-size: 2.6rem !important;
	font-weight: 600;
}

.single_container article .content h3 {
	border-bottom: var(--black-1) 1px solid;
}

.single_container article .content h3,
.single_container article .content h3 span {
	font-size: 2.2rem;
	font-weight: 600;
}

.single_container article .content ul {
	list-style-type: disc;
	list-style-position: outside;
	padding-left: 40px;
}

.single_container article .content table {
	width: 100%;
}

.single_container article .content table th {
	background: var(--green-1);
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--white-1);
}

.single_container article .content .article_summary {
	position: relative;
	width: min(894px, 100%);
	margin: 48px auto 56px;
	padding: 64px 40px 40px;
	background: var(--gray-2);
}

.single_container article .content .article_summary .text_1 {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 436px;
	padding: 16px 5px;
	background: var(--green-1);
	text-align: center;
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 1;
	color: var(--white-1);
}

.single_container article .content .article_summary .list {
	list-style-type: none;
	margin-block: 0;
}

.single_container article .content .article_summary .list > li {
	position: relative;
	width: 100%;
	padding: 10px 40px;
	background: var(--white-1);
	font-size: 1.8rem;
	font-weight: 600;
	color: var(--green-1);
}

.single_container article .content .article_summary .list > li + li {
	margin-top: 8px;
}

.single_container article .content .article_summary .list > li::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 20px;
	transform: translateY(-50%);
	display: block;
	width: 8px;
	height: 8px;
	background: var(--green-1);
	border-radius: 50%;
}

/* 目次 */
#ez-toc-container {
	width: min(100%, 894px);
	margin: 56px auto;
	padding: 48px 40px 40px;
	border-top: var(--gray-1) 1px solid;
	border-bottom: var(--gray-1) 1px solid;
}

#ez-toc-container .ez-toc-title {
	position: relative;
	text-align: center;
	font-size: 2.2rem;
	font-weight: 800;
}

#ez-toc-container .ez-toc-title::before {
	content: '';
	display: inline-block;
	width: 24px;
	height: 15px;
	margin-right: 10px;
	background: url(../imgs/other/icon_mokuji.svg) no-repeat left top / 24px;
}

#ez-toc-container .ez-toc-cssicon-toggle-label {
	display: none;
}

#ez-toc-container .ez-toc-list {
	counter-reset: toc_counter;
	list-style-type: none;
	padding: 0;
}

#ez-toc-container .ez-toc-list li {
	counter-increment: toc_counter;
	position: relative;
	padding-left: 35px;
	font-size: 1.6rem;
	font-weight: 500;
}

#ez-toc-container .ez-toc-list li::before {
	content: counter(toc_counter) ". ";
	position: absolute;
	top: 3px;
	left: 0;
	font-family: "Roboto", sans-serif;
	font-size: 1.6rem;
	font-weight: 500;
	font-style: italic;
	color: var(--green-1);
}

/* あわせて読みたい */
.related_link_box {
	position: relative;
	display: block;
	width: min(894px, 100%);
	margin: 55px auto;
	padding: 24px;
	border: var(--gray-1) 1px solid;
}

.related_link_heading {
	position: absolute;
	top: 0;
	left: 24px;
	transform: translateY(-50%);
	display: inline-block;
	padding: 2px 24px 2px 40px;
	background: var(--white-1) url(../imgs/other/check_03.svg) no-repeat left 16px center / 13px;
	font-size: 1.6rem;
	font-weight: 700;
}

.related_link_image_text {
	display: flex;
	gap: 24px;
}

.related_link_image {
	aspect-ratio: 180 / 100;
	width: 180px;
}

.related_link_image.no_image {
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--green-3);
	font-family: "Roboto", sans-serif;
	font-size: 2.0rem;
	font-weight: 600;
	font-style: italic;
	line-height: 1;
	color: var(--green-1);
}

.related_link_image img {
	object-fit: cover;
	margin: 10px 0 0 !important;
}

.related_link_text {
	width: calc(100% - 180px);
}

.related_link_title {
	font-size: 2.0rem;
	font-weight: 700;
	color: var(--green-1);
}

.related_link_lead {
	font-size: 1.4rem;
	line-height: 1.57;
}

/* この記事を書いた人 */
.author_box {
	position: relative;
	width: min(894px, 100%);
	margin: 80px auto;
	padding: 40px;
	border: var(--gray-1) 1px solid;
}

.author_heading {
	position: absolute;
	top: 0;
	left: 40px;
	transform: translateY(-50%);
	display: inline-block;
	padding: 8px 24px;
	background: var(--green-3);
	font-size: 1.6rem;
	font-weight: 600;
	color: var(--green-1);
}

.author_image_text {
	display: flex;
	align-items: center;
	gap: 24px;
}

.author_image {
	width: 100px;
}

.author_text {
	width: calc(100% - 100px);
}

.author_name {
	font-size: 1.6rem;
	font-weight: 600;
}

.author_bio {
	margin-top: 10px;
	font-size: 1.4rem;
	line-height: 1.57;
}

/* 関連記事 */
.related_articles {
	width: min(var(--content-pc-width-2), 100%);
	margin: 160px auto 0;
}

.related_articles_heading {
	text-align: center;
	font-size: 4.0rem;
	font-weight: 800;
	line-height: 1;
}

.related_articles_list {
	display: flex;
	gap: 20px;
	margin-top: 70px;
}

.related_articles_list .archive_item {
	width: 417px;
}

.link_box {
	display: flex;
	justify-content: center;
	margin-block: 64px 200px;
}

.link_box a {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 16px;
	font-size: 1.6rem;
	font-weight: 700;
}

/* PC - SP */
@media screen and (min-width:1000px) and ( max-width:1199px) {
	.single_container {
		margin-top:80px;
		margin-bottom:80px;
		display:flex;
		justify-content:space-between;
		gap:50px;
	}
}

/* PC - SP */
@media screen and (max-width: 999px) {
	.single_container {
		flex-direction: column;
		gap: 80px;
		margin-block: 16px 60px;
	}
	
	.single_container article .post_title {
		font-size: 2.4rem;
		line-height: 1.6;
	}

	.single_container article .post_info {
		margin-top: 16px;
	}

	.single_container article .post_info span.category {
		font-size:1.2rem;
	}

	.single_container article .thumb {
		margin-block: 24px;
	}

	.single_container article .thumb img {
		width: 100%;
		height: auto;
	}

	.single_container article .content {
		margin-top:40px;
		line-height:2.2;
		font-size:1.4rem;
		font-weight:500;
	}

	.single_container article .content .ez-toc-section {
		scroll-margin-top: var(--scroll-margin-top-sp);
	}

	.single_container article .content h2 {
		padding: 8px 16px;
	}

	.single_container article .content h2,
	.single_container article .content h2 span {
		font-size: 2.0rem !important;
	}

	.single_container article .content h3,
	.single_container article .content h3 span {
		font-size: 1.8rem;
	}

	.single_container article .content .article_summary {
		margin-top: 60px;
		padding: 32px 16px 16px;
	}

	.single_container article .content .article_summary .text_1 {
		width: 200px;
		padding: 12px 24px;
		font-size: 1.5rem;
	}

	.single_container article .content .article_summary .list {
		padding-left: 0;
	}

	.single_container article .content .article_summary .list > li {
		padding: 10px 14px 10px 30px;
		font-size: 1.5rem;
		line-height: 1.46;
	}

	.single_container article .content .article_summary .list > li::before {
		left: 12px;
	}

	/* 目次 */
	#ez-toc-container {
		margin-block: 62px 40px;
		padding: 32px 16px;
	}

	#ez-toc-container .ez-toc-title {
		font-size: 1.8rem;
	}

	#ez-toc-container .ez-toc-title::before {
		width: 19px;
		height: 12px;
		background-size: 19px;
	}

	#ez-toc-container .ez-toc-list li {
		padding-left: 30px;
		font-size: 1.5rem;
	}

	/* あわせて読みたい */
	.related_link_box {
		margin-block: 32px;
		padding: 24px 16px 16px;
	}

	.related_link_heading {
		left: 16px;
		padding: 2px 8px 2px 31px;
		background: var(--white-1) url(../imgs/other/check_03.svg) no-repeat left 8px center / 13px;
		font-size: 1.4rem;
	}

	.related_link_image_text {
		gap: 16px;
	}

	.related_link_image {
		aspect-ratio: 120 / 68;
		width: 120px;
	}

	.related_link_image.no_image {
		font-size: 2.0rem;
	}

	.related_link_image img {
		margin: 5px 0 0 !important;
	}

	.related_link_text {
		width: calc(100% - 120px);
	}

	.related_link_title {
		font-size: 1.5rem;
		line-height: 1.46;
	}

	/* この記事を書いた人 */
	.author_box {
		margin-block: 48px 80px;
		padding: 32px 16px 16px;
		border: var(--gray-1) 1px solid;
	}

	.author_heading {
		left: 16px;
		padding: 5px 13px;
		font-size: 1.4rem;
	}

	.author_image_text {
		align-items: stretch;
		gap: 16px;
	}

	.author_image {
		width: 60px;
	}

	.author_text {
		width: calc(100% - 60px);
	}

	.author_name {
		font-size: 1.4rem;
	}

	.author_bio {
		margin-top: 8px;
		font-size: 1.2rem;
	}

	/* 関連記事 */
	.related_articles {
		margin-top: 80px;
	}

	.related_articles_heading {
		text-align: left;
		font-size: 2.0rem;
	}

	.related_articles_list {
		flex-wrap: wrap;
		gap: 24px 16px;
		margin-top: 24px;
	}

	.related_articles_list .archive_item {
		width: calc(50% - 16px);
	}

	.single_container article .related_articles .thumb {
		margin-top: 0;
	}

	.link_box {
		margin-block: 24px 0;
	}

	.link_box a {
		font-size: 1.4rem;
	}

	.link_box a .icon_arrow_right_1 {
		width: 36px;
		height: 36px;
	}
	
}


/*--------------------------------------------------
**************************************************
  taxonomy-news
**************************************************
--------------------------------------------------*/
.term_container {
	margin-top:60px;
}
.term_title {
	margin-top:60px;
	font-size:3.6rem;
	font-weight:700;
	text-align:center;
	color: var(--green-1);
}
.term_container aside ul li a.is-active {
	color: var(--green-1);
}

@media screen and (min-width:1000px) and ( max-width:1199px) {
	
	.term_container {
		margin-top:40px;
	}
	.term_title {
		margin-top:40px;
	}
}

@media screen and (max-width: 999px) {
	
	.term_container {
		margin-top:30px;
	}
	.term_title {
		margin-top:30px;
		font-size:1.8rem;
	}
	
}



/*------------------------------------------------------------
 * コラム一覧カードのカラム表示（幅に応じて 2〜4 列）
 *----------------------------------------------------------*/
@media screen and (min-width: 768px) {

	.archive_container .list_inner .archive_list {
		gap: 44px 24px;
		margin-bottom: 80px;
	}
	.archive_container .list_inner .archive_list .archive_item {
		width: calc((100% - 24px) / 2);
	}
	.archive_container .list_inner .archive_list .archive_item .thumb img {
		display: block;
		width: 100%;
	}
	.archive_container .list_inner .archive_list .archive_item .post_info {
		margin-top: 14px;
	}
	.archive_container .list_inner .archive_list .archive_item .category {
		padding: 4px 10px;
		font-size: 1.2rem;
	}
	.archive_container .list_inner .archive_list .archive_item time {
		font-size: 1.2rem;
	}
	.archive_container .list_inner .archive_list .archive_item .title {
		margin-top: 10px;
		font-size: 1.6rem;
		line-height: 1.55;
	}

}

@media screen and (min-width: 1200px) {

	.archive_container .list_inner .archive_list {
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
		align-items: start;
	}
	.archive_container .list_inner .archive_list .archive_item {
		width: auto;
	}

}


/*--------------------------------------------------
**************************************************
  .column_cat_nav（コラムのカテゴリナビ）
**************************************************
--------------------------------------------------*/
.column_cat_nav {
	width: min(var(--content-pc-width-2), var(--content-sp-width-1));
	margin: 80px auto 0;
}

.column_cat_nav .column_cat_nav_title {
	padding-left: 14px;
	border-left: 4px solid var(--green-1);
	font-size: 2.0rem;
	font-weight: 700;
	line-height: 1.4;
}

.column_cat_nav .cat_list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 20px;
	padding: 0;
	list-style: none;
}

.column_cat_nav .cat_list li a {
	display: inline-flex;
	align-items: baseline;
	gap: 6px;
	padding: 10px 18px;
	border: 1px solid var(--green-3);
	border-radius: 100px;
	background: var(--white-1);
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1;
	color: var(--black-1);
	transition: .3s;
}

.column_cat_nav .cat_list li a .num {
	font-size: 1.2rem;
	color: rgba(29, 29, 29, .5);
}

.column_cat_nav .cat_list li a:hover {
	border-color: var(--green-1);
	background: var(--green-3);
	color: var(--green-1);
}

.column_cat_nav .cat_list li a.is-active {
	border-color: var(--green-1);
	background: var(--green-1);
	color: var(--white-1);
}

.column_cat_nav .cat_list li a.is-active .num {
	color: rgba(255, 255, 255, .7);
}

/* エリア別（開閉式） */
.column_cat_nav .cat_area {
	margin-top: 24px;
	border-top: 1px solid var(--gray-2);
	border-bottom: 1px solid var(--gray-2);
}

.column_cat_nav .cat_area_summary {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 18px 4px;
	list-style: none;
	cursor: pointer;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1;
}

.column_cat_nav .cat_area_summary::-webkit-details-marker {
	display: none;
}

.column_cat_nav .cat_area_summary::after {
	content: '';
	width: 8px;
	height: 8px;
	margin-top: -4px;
	border-right: 2px solid var(--green-1);
	border-bottom: 2px solid var(--green-1);
	transform: rotate(45deg);
	transition: .3s;
}

.column_cat_nav .cat_area[open] .cat_area_summary::after {
	margin-top: 4px;
	transform: rotate(-135deg);
}

.column_cat_nav .cat_area_summary .num {
	font-size: 1.3rem;
	font-weight: 500;
	color: rgba(29, 29, 29, .5);
}

.column_cat_nav .cat_area_body {
	padding: 4px 0 28px;
}

.column_cat_nav .cat_area_group + .cat_area_group {
	margin-top: 20px;
}

.column_cat_nav .cat_area_name {
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1;
	color: var(--green-1);
}

.column_cat_nav .cat_list.is_small {
	margin-top: 12px;
	gap: 8px;
}

.column_cat_nav .cat_list.is_small li a {
	padding: 8px 14px;
	font-size: 1.3rem;
}

/* SP */
@media screen and (max-width: 767px) {
	.column_cat_nav {
		margin-top: 40px;
	}

	.column_cat_nav .column_cat_nav_title {
		font-size: 1.8rem;
	}

	.column_cat_nav .cat_list {
		gap: 8px;
		margin-top: 16px;
	}

	.column_cat_nav .cat_list li a {
		padding: 9px 14px;
		font-size: 1.4rem;
	}

	.column_cat_nav .cat_area_summary {
		font-size: 1.5rem;
	}

	.column_cat_nav .cat_list.is_small li a {
		padding: 8px 12px;
		font-size: 1.3rem;
	}
}
