@charset "utf-8";

/*
pagetitle
*/
.page-title {
	background-image: url(../img/topimage_column.jpg);
	@media (width <= 800px) {
		background-image: url(../img/topimage_column_sp.jpg);
	}
}


/* column */
.column {
	margin-bottom: 375px;
	@media (width <= 800px) {
		margin-bottom: 110px;
		padding: 0 20px;
	}
}
.column-head {
	margin-bottom: 56px;
	@media (width <= 800px) {
		margin-bottom: 35px;
	}
	.column-categorylist {
		position: relative;
		display: flex;
		align-items: flex-end;
		gap: 0 8px;
		margin-bottom: 35px;
		padding: 0 0 10px;
		@media (width <= 800px) {
			margin-bottom: 25px;
			padding-bottom: 6px;
		}
		&::after {
			position: absolute;
			left: 0;
			bottom: 0;
			width: 100%;
			height: 10px;
			content: "";
			background-color: var(--green01);
			border-radius: 0 0 5px 5px;
			@media (width <= 800px) {
				height: 6px;
			}
		}
		li {
			width: 190px;
			margin: 0;
			padding: 0;
			@media (width <= 800px) {
				width: 100%;
			}
			&.current {
				a {
					min-height: 62px;
					color: var(--white);
					background-color: var(--green01);
					@media (width >= 800px) {
						&:hover {
							color: var(--white);
						}
					}
					@media (width <= 800px) {
						min-height: 48px;
					}
				}
			}
			a {
				display: flex;
				align-items: center;
				justify-content: center;
				width: 100%;
				min-height: 45px;
				color: var(--darkgray);
				font-size: 20px;
				font-weight: 700;
				text-decoration: none;
				background-color: var(--lightgray);
				border-radius: 40px 40px 0 0;
				transition: color 0.3s ease-out;
				@media (width >= 800px) {
					&:hover {
						color: var(--green01);
					}
				}
				@media (width <= 800px) {
					min-height: 40px;
					font-size: 16px;
					border-radius: 24px 24px 0 0;
				}
			}
		}
	}
	h2 {
		font-size: 18px;
		padding-left: 27px;
		margin-bottom: 10px;
		@media (width <= 800px) {
			font-size: 16px;
		}
		&::before {
			position: absolute;
			left: 0;
			top: 50%;
			translate: 0 -50%;
			width: 19px;
			height: 22px;
			content: "";
			background-image: url(../img/icon_search.svg);
			background-repeat: no-repeat;
			background-position: left top;
			background-size: cover;
		}
	}
	.column-taglist {
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
		margin: 0;
		padding: 0;
		@media (width <= 800px) {
			gap: 8px;
		}
		li {
			margin: 0;
			padding: 0;
			&.current {
				a {
					color: var(--green01);
					border: 1px solid var(--green01);
				}
			}
			a {
				display: flex;
				align-items: center;
				justify-content: center;
				color: var(--darkgray);
				font-weight: 700;
				text-decoration: none;
				border-radius: 4px;
				border: 1px solid var(--gray03);
				padding: 8px 10px;
				transition: all 0.3s ease-out;
				@media (width >= 800px) {
					&:hover {
						color: var(--green01);
						border: 1px solid var(--green01);
					}
				}
				@media (width <= 800px) {
					padding: 5px 8px;
				}
			}
		}
	}
}


.column-list {
	display: flex;
	flex-wrap: wrap;
	gap: 40px 3.6%;
	margin: 0;
	padding: 0;
	@media (width <= 800px) {
		gap: 30px 0;
	}
	li {
		width: 30.9%;
		margin: 0;
		padding: 0;
		@media (width <= 800px) {
			width: 100%;
		}
		a {
			position: relative;
			display: block;
			width: 100%;
			text-decoration: none;
			background-color: var(--lightgray);
			border-radius: 10px;
			padding: 25px 25px 40px;
			@media (width <= 800px) {
				padding: 20px 20px 40px;
			}
			@media (width >= 800px) {
				&:hover {
					.column-img {
						img {
							scale: 1.1;
							opacity: 1;
						}
					}
				}
			}
			.column-img {
				display: block;
				margin: 0 auto 20px;
				overflow: hidden;
				@media (width <= 800px) {
					margin-bottom: 16px;
				}
				img {
					width: 100%;
					height: 180px;
					object-fit: cover;
					transition: scale 0.3s ease-out;
					@media (width <= 800px) {
						height: 100%;
					}
				}
			}
			.column-title {
				display: -webkit-box;
				text-overflow: ellipsis;
				-webkit-box-orient: vertical;
				-webkit-line-clamp: 2;
				line-clamp: 2;
				width: 100%;
				min-height: 48px;
				font-size: 16px;
				font-weight: 700;
				overflow: hidden;
				margin-bottom: 30px;
				@media (width <= 800px) {
					min-height: inherit;
					font-size: 14px;
					line-height: 1.42;
					margin-bottom: 20px;
				}
			}
			.btn-arrow {
				right: 10px;
				bottom: 10px;
			}
		}
	}
}

