.product_tag_list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 16px calc(3%);
}
.product_tag_list a{
	text-decoration: none;
	color: #222;
	line-height: 1.1;
	margin: 8px 0;
	font-size: 14px;
}

.searchWraps {
	display: grid;
	grid-template-columns: auto 64px;
	column-gap: 4px;
	background-color: white;
	padding: 6px;
	justify-content: space-between;
	border-radius: 8px;
	width: fit-content;
	box-shadow: 0 1px 2px 0 #CCC, 0 2px 10px 2px #DDD;
}
#key {
	max-width: 200px;
	padding: 6px;
	border: none;
}




/* 製品一覧 */


.product_list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 0 3%;
}
.product_list a {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 3;
	row-gap: 6px;
	text-decoration: none;
	color: #222;
}
.product_list .product_list_title {
	font-size:   17px;
	line-height: 1.2;
	color: #222;
	font-weight: 500;
	margin-bottom: 6px;
}
.product_list .product_list_descp {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 1;
	row-gap: 12px;
	font-size: 13px;
	line-height: 1.2;
	color: #a0908a;
	font-weight: 300;
	margin-bottom: 0;
}
.dtdd_wrap {
	padding-left: 12px;
	border-left: solid 4px #C8BFBC;
	margin-bottom: 12px;
}
.product_list .product_list_img {
	margin-bottom: 72px;
}
.product_list_s .product_list .product_list_img  {
	margin-bottom: 0;
}
.product_list_s .product_list .dtdd_wrap  {
	margin-bottom: 48px;
}


.product_list img {
	aspect-ratio: 120 / 63;
	object-fit: cover;
	overflow: hidden;
	display: inline-block;
	border: solid 3px #FFF;
}
.product_list .img-rounded-hover {
	transition: 0.5s;
	padding: 16px;
	margin: -16px;
}
.product_list .img-rounded-hover:hover {
	z-index: 1;
	background: rgba(255,255,255,0.85);
	border-radius: 8px;
	transform: scale(106%);
	backdrop-filter: blur(3px);
}



/* ポータルリンク */
.portal_link {
	display: grid;
	grid-template-columns: repeat(auto-fill,minmax(240px, 1fr));
	gap: 0 36px;
}

.portal_link a {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 2;
	box-shadow: rgba(0,0,0,0.08) 0 1px 2px 0, rgba(175,175,175,0.30) 0 2px 10px 3px;
	background-color: white;
	border-radius: 8px;
	text-decoration: none;
	color: #222;
	row-gap: 0;
	overflow: hidden;
	transition: 0.5s;
	margin-bottom: 36px;
}
.portal_link_text {
	padding: 24px 16px;
	line-height: 1.2;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 17px;
	font-weight: 500;
	flex-wrap: wrap;
}
.portal_link_text > div {
	font-size: 14px;
	font-weight: 300;
	width: 100%;
	color: var(--color-brown);
	margin-top: 6px;
}
.portal_link a:hover {
	transform: scale(105%);
}



/**/
.portal_list {
	display: grid;
	grid-template-columns: repeat( auto-fill, minmax(480px, 1fr));
	gap: 80px 64px;
}
.portal_list_col_3 .portal_list {
	grid-template-columns: repeat( auto-fill, minmax(320px, 1fr));
	gap: 64px 48px;
}
.portal_list a{
	color: #222;
	text-decoration: none;
}
.portal_list .portal_title {
	font-size: 20px;
	line-height: 1.2;
	font-weight: 500;
}
.portal_list .portal_catch {
	font-size: 15px;
	color: rgba(0,147,171,1.00);
	line-height: 1.2;
}
.portal_list .portal_text {
	font-size: 14px;
	color: #666;
	line-height: 1.3;
	font-weight: 300;
}
.img-aspectratio-1 {
	aspect-ratio: 10 / 4;
	object-fit: cover;
}
.img-aspectratio-2 {
	aspect-ratio: 120 / 63;
	object-fit: cover;
}
.img-aspectratio-3{
	aspect-ratio: 120 / 63;
	object-fit: cover;
}



