@charset "UTF-8";

/* リセット */
code { display: inline !important; margin: 0 !important; }

/* ------------------------------ 投稿ページ START ------------------------------ */
/* サイドバー */
.widget-title.sub-section-title { padding: 0 5px 5px; color: var(--color-main); font-size: 1rem; line-height: 1.2; }
:is(.post-type-post, .archive, .single) .widget_nav_menu>ul li a { padding: 0.85em 1.5em; border: 1px solid #ccc; border-radius: 5px; background-color: #fff; color: #333; transition: all 0.3s; }
:is(.post-type-post, .archive, .single) .widget_nav_menu>ul li a:hover { color: var(--color-main); }
:is(.post-type-post, .archive, .single) .widget_nav_menu>ul li>ul.children { margin-left: 1.5em; }
:is(.post-type-post, .archive, .single) .widget_nav_menu>ul li.current-cat>a { border-color: var(--color-main); background: var(--color-main); color: #fff; }

/* アーカイブページ */
:is(.blog, .archive) .main-section { margin-bottom: 30px; }
.archive-header { margin-bottom: var(--space-m); }
.vk_posts-layout-card-noborder { display: grid; grid-template-columns: repeat(2, 1fr); grid-template-rows: auto; gap: 30px; margin: 0; }
.card.card-noborder { margin: 0; width: 100% !important; }
.card-noborder .vk_post_imgOuter { aspect-ratio: 3/2; border-color: var(--color-border); background-color: var(--color-base); background-image: none !important; background-size: contain; background-repeat: no-repeat; transition: all 0.3s; overflow: hidden; }
.card-noborder .vk_post_imgOuter:before { display: none; }
.vk_post_imgOuter>a::after { display: none; }
.card-noborder .vk_post_imgOuter_singleTermLabel { top: 5px; right: 5px; }
.card-noborder .vk_post_imgOuter_img { position: static; height: 100%; object-fit: contain; border-radius: 0; transition: all 0.3s; }
.card-noborder:hover .vk_post_imgOuter_img { transform: scale(1.1); }
.card-noborder .card-body { padding-top: 15px; }
.vk_post .vk_post_title { font-size: clamp(1rem, 0.909rem + 0.45vw, 1.25rem); }
.vk_post .vk_post_date i { display: none; }
.pagination { margin-top: var(--space-m); }

/* シングルページ */
.single .entry-header { margin-bottom: var(--space-m); }
.single .entry-header h1 { margin: 0 0 10px; }
.entry-meta { color: var(--vk-color-text-light); font-size: 1rem; }
.entry-meta-item-date i { display: none; }
.entry-meta-data-list dl { margin: 0; }
.single .site-body .entry-footer { margin: var(--space-m) 0 0; }
.p-single__back-button { margin: var(--space-l) 0 0;  text-align: center; }
.p-single__back-button .c-btn::before { right: auto; left: 20px; transform: translateY(-50%) rotate(225deg); }

.single .entry-body .single-main-thumb {
	margin-bottom: var(--space-m);
	border: 1px solid var(--color-border);
}
.single .entry-body .single-main-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.single .entry-body p { line-height: 1.8; }
.single .entry-body ul {
	margin: 0;
}
.single .entry-body :is(ul,ol) li:not(:last-child) {
	margin-bottom: 0.8lh;
}
.single .entry-body table td:first-child {
	width: 30% !important;
	border-right: none;
	border-left: none;
	background: var(--color-base);
	color: var(--color-main);
	font-weight: 700;
	text-align: left;
}
.single .entry-body table td {
	border-right: none;
	border-left: none;
}
.single .entry-body table td a {
	text-decoration: underline !important;
}
/* ------------------------------ 投稿ページ END ------------------------------ */


/* ------------------------------ 取扱商品 START ------------------------------ */
/* アーカイブページ */
.post-type-archive.post-type-products .site-body {
	margin: 30px 0 0;
	background-image: var(--bg-img01);
	background-size: 8px 8px;
}
.p-product-type__head .c-sec-ttl--big h1 {
	font-size: clamp(2.5rem, 1.955rem + 2.73vw, 4rem);
}
.p-product-type__head .c-sec-ttl--big .u-en {
	text-stroke: 2px var(--color-sub);
	-webkit-text-stroke: 2px var(--color-sub);
}
.p-product-type__head-text {
	margin: var(--space-m) 0 0;
	text-align: center;
}
.p-product-type__head-text .u-txt {
	font-size: clamp(1rem, 0.909rem + 0.45vw, 1.25rem);
	font-weight: 700;
}
.tax-product-type .vk_posts-layout-card-noborder {
	grid-template-columns: repeat(2, 1fr);
	margin: var(--space-l) 0 0;
}
.tax-product-type .card-noborder .vk_post_imgOuter {
	padding: 30px;
	border-radius: 8px;
}
.tax-product-type .vk_post .card-title {
	font-size: clamp(1.25rem, 1.159rem + 0.45vw, 1.5rem);
	font-weight: 900;
	text-align: center;
}
.tax-product-type .card-noborder:hover .vk_post_title a {
	transition: all 0.3s;
}
.tax-product-type .vk_post_title_new {
	display: block;
	margin: 0;
}
@media (hover: hover) {
	.tax-product-type .card-noborder:hover .vk_post_imgOuter_img {
		transform: scale(1);
		opacity: 0.5;
	}
	.tax-product-type .card-noborder:hover .vk_post_title a {
		color: var(--color-main);
	}
}
#lineup-link {
	background-image: var(--bg-img01);
	background-size: 8px 8px;
}
.accordion-list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.accordion-item {
	width: 100%;
}
.accordion-ttl {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px;
	position: relative;
	z-index: 2;
	padding: 20px 60px 20px 20px;
	border-radius: 8px;
	background: var(--color-base);
	cursor: pointer;
	transition: all 0.3s;
}
.accordion-ttl::before, .accordion-ttl::after {
	position: absolute;
	z-index: 2;
	content:'';
	width: 20px;
	height: 2px;
	background-color: #fff;
	transition: all 0.3s;
}
.accordion-ttl::before {
	top: 49%;
	right: 20px;
	transform: rotate(0deg);
}
.accordion-ttl::after {
	top: 49%;
	right: 20px;
	transform: rotate(90deg);
}
.accordion-ttl.close::before {
	transform: rotate(45deg);
}
.accordion-ttl.close::after {
	transform: rotate(-45deg);
}
.accordion-ttl p {
	flex: 1;
	position: relative;
	z-index: 1;
	color: var(--color-main);
	font-size: 1.1em;
	font-weight: 700;
}
.accordion-ttl p::before {
	position: absolute;
	z-index: -1;
	top: 50%;
	left: calc(100% + 10px);
	transform: translateY(-50%);
	content: "";
	width: 40px;
	height: auto;
	aspect-ratio: 1;
	border-radius: 4px;
	background: var(--color-main);
}
.accordion-contents {
	display: none;
}
.accordion-contents-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 20px;
	padding: 20px;
}
.accordion-text {
	flex: 1;
	margin-top: 0.4em;
}
.p-kaiteki__wrap p {
	margin-bottom: 10px;
	font-weight: 700;
	text-align: center;
}
.p-kaiteki__dl {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	gap: 10px;
}
.p-kaiteki__dl .dli {
	width: 100%;
	padding: 30px;
	border: 1px solid var(--color-main);
}
.p-kaiteki__dl .dli dt {
	margin-bottom: 10px;
}
.p-kaiteki__dl .dli:nth-child(-n+2) dt {
	color: var(--color-main)
}
.p-kaiteki__dl .dli:nth-child(3) {
	border-color: var(--color-border);
}

/* シングルページ */
/* 共通 */
.single-products .main-section h2 {
	margin: 0 0 var(--space-s);
	padding: 0 0 10px;
	border-bottom: 2px solid #eee;
	color: var(--color-sub);
}
.single-products .main-section .p-product__content h2 {
	margin: 0;
}

/* 導入 */
.p-product__intro-cat {
	margin: 0 0 10px;
}
.p-product__intro-cat p {
	display: inline-block;
	color: var(--color-main);
	font-size: clamp(1.25rem, 1.159rem + 0.45vw, 1.5rem);
	font-weight: 900;
}
.p-product__intro-cat p:not(:last-child) {
	margin: 0 20px 0 0;
}
.p-product__intro-title {
	margin: 0 0 var(--space-m);
	padding: 0 0 30px;
	border-bottom: 2px solid #eee;
}
.p-product__intro-title h1 {
	font-size: clamp(1.75rem, 1.295rem + 2.27vw, 3rem);
	font-weight: 900;
}
.p-product__intro-content {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: var(--space-m);
	width: 100%;
}
.p-product__intro-image {
	flex: 1 1 0;
	width: 100%;
	aspect-ratio: 3/2;
}
.p-product__intro-image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.p-product__intro-content-inner {
	flex: 1 1 0;
	width: 100%;
}
.p-product__intro-label {
	margin: 0 0 30px;
}
.p-product__intro-label p {
	display: inline-block;
	padding: 4px 20px;
	background: var(--color-sub);
	color: #fff;
	font-size: clamp(1.125rem, 1.08rem + 0.23vw, 1.25rem);
	font-weight: 900;
}
.p-product__intro-lead {
	margin: 0 0 30px;
}
.p-product__intro-lead .u-lead {
	font-size: clamp(1.25rem, 0.977rem + 1.36vw, 2rem);
}

/* 仕様 */
.c-table--product :is(th,td) {
	padding: 1em;
}
.c-table--product th {
	background: #eee;
	color: var(--color-sub);
}
.p-product__table-note {
	margin: 20px 0 0;
}

/* 図面 */
.p-product__drawing-list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.p-product__drawing-item {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px;
	width: calc(100%/3 - 20px/3);
	padding: 20px;
	border: 2px solid #eee;
	border-radius: 4px;
}
.p-product__drawing-image {
	width: 100%;
	aspect-ratio: 3/2;
}
.p-product__drawing-image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.p-product__drawing-content {
	flex: 1 1 0;
	text-align: center;
}
.p-product__drawing-name p {
	font-size: clamp(0.9rem, 0.827rem + 0.36vw, 1.1rem);
	font-weight: 700;
	line-height: 1.4;
}
.p-product__drawing-link {
	margin: 10px 0 0;
}
.p-product__drawing-link a {
	display: inline-block;
	width: 100%;
	padding: 8px 20px;
	border-radius: 4px;
	background: var(--color-sub);
	color: #fff;
	transition: all 0.3s;
}
.p-product__drawing-link a .material-symbols-outlined {
	margin: 0 0 0.1em 0.2em;
}
@media (hover: hover) {
	.p-product__drawing-link a:hover {
		background: var(--color-sub-dark);
	}	
}
/* ------------------------------ 取扱商品 END ------------------------------ */


/* ------------------------------ 設置事例 START ------------------------------ */
/* アーカイブ */
.post-type-cases .card.card-noborder {
	position: relative;
	z-index: 1;
	overflow: visible;
}
.post-type-cases .card-noborder .vk_post_imgOuter {
	aspect-ratio: 4/3;
}
.post-type-cases .card-noborder .card-body {
	position: absolute;
	z-index: 2;
	bottom: 10px;
	left: -10px;
	max-width: 90%;
	padding: 4px 20px;
	background: var(--color-main);
}
.post-type-cases .vk_post .vk_post_title a {
	color: #fff;
}

/* シングル */
.post-type-cases .gallery:not(.gallery-columns-1) .gallery-item img {
	aspect-ratio: 4/3;
}
.post-type-cases.single .entry-header {
	display: inline-block;
	margin-bottom: 20px;
}
.post-type-cases.single .entry-header h1 {
	display: inline;
	margin: 0;
	padding: 4px 10px;
	background: var(--color-main);
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
	color: #fff;
}
/* ------------------------------ 設置事例 END ------------------------------ */


/* ------------------------------ レスポンシブ（992px以下） START ------------------------------ */
@media (max-width: 992px) {
	/* 投稿 */
	.single .main-section { margin-bottom: var(--space-l); }
}
/* ------------------------------ レスポンシブ（992px以下） END ------------------------------ */


/* ------------------------------ レスポンシブ（768px以下） START ------------------------------ */
@media (max-width: 768px) {
	/* 投稿 */
	.vk_posts-layout-card-noborder {
		gap: 20px 10px;
	}

	/* 取扱商品 */
	.tax-product-type .card-noborder .vk_post_imgOuter {
		padding: 15px;
	}
	.p-product__intro-image {
		flex: 0 0 100%;
	}
	.p-product__intro-content-inner {
		flex: 0 0 100%;
	}
	.p-product__drawing-item {
		width: calc(50% - 5px);
	}
	.p-product__drawing-image {
		aspect-ratio: auto;
	}

	/* 設置事例 */
	.vk_posts-postType-cases.vk_posts-layout-card-noborder {
		grid-template-columns: repeat(1, 1fr);
		gap: 30px 10px;
	}
}
/* ------------------------------ レスポンシブ（768px以下） END ------------------------------ */


/* ------------------------------ レスポンシブ（576px以下） START ------------------------------ */
@media (max-width: 576px) {
	/* 投稿 */
	.vk_posts-layout-card-noborder {
		grid-template-columns: repeat(1, 1fr);
	}

	/* 取扱商品 */
	.tax-product-type .vk_posts-layout-card-noborder {
		grid-template-columns: repeat(1, 1fr);
	}
}
/* ------------------------------ レスポンシブ（576px以下） END ------------------------------ */