@charset "UTF-8";

.smb-faq {
	border-top: 1px solid #333;
}

.smb-faq__item {
	padding: var(--_padding2) 0;
	border-bottom: 1px solid #333;
}

.smb-faq__item__answer__label,
.smb-faq__item__question__label {
	font-family: var(--font_eng);
	font-weight: 700;
	font-size: 2.5rem;
	line-height: 1.5;
}

.smb-faq__item__question__label {
	color: var(--kwt_skyblue);
}

.smb-faq__item__question .smb-faq__item__question__body {
	font-size: 1.125rem;
}

@media ( min-width: 769px ) {
	.wp-block-gallery.sdgs-icon {
		display: grid;
		grid-template-columns: repeat(auto-fit, 90px);
		max-width: 100%;
		gap: 10px !important;
		justify-content: end;
	}

	.wp-block-gallery.sdgs-icon figure {
		margin: 0;
		padding: 0;
	}

	.wp-block-gallery.sdgs-icon img {
		height: 90px;
		width: 90px;
		object-fit: contain;
		display: block;
	}


	.wp-block-gallery.sdgs-icon figure.wp-block-image {
		width: 90px !important;
	}

	.contact_column {
		position: relative;
	}

	.contact_fixed {
		position: sticky;
		top: calc( 64px + 1.5em );
		height: 100vh;
		flex-shrink: 0;
	}

}

@media (min-width: 1024px) {
	.archive.category .p-archive .c-entries .c-entries__item,
	.blog .p-archive .c-entries .c-entries__item {
			flex: 0 1 25%;
			max-width: 25%;
		}
}

@media (min-width: 769px) and (max-width: 1023px){

}

@media (max-width: 768px) {
	.wp-block-gallery.sdgs-icon {
		display: grid;
		grid-template-columns: repeat(auto-fit, 72px);
		max-width: calc(72px * 5 + 10px * 4);
		gap: 10px !important;
		justify-content: stretch;
	}

	.wp-block-gallery.sdgs-icon figure {
		margin: 0;
		padding: 0;
	}

	.wp-block-gallery.sdgs-icon img {
		height: 72px;
		width: 72px;
		object-fit: contain;
		display: block;
	}


	.wp-block-gallery.sdgs-icon figure.wp-block-image {
		width: 72px !important;
	}
}








@media (any-hover: hover) {

}




.c-prev-next-nav {
		display: flex;
		justify-content: space-between;
		flex-direction: row;
		flex-wrap: nowrap;
		margin-top: 4em;
		margin-bottom: 2.7rem;
		gap: 1.5em;
}
.c-prev-next-nav__item {
		flex: 0 1 50%;
}
.c-prev-next-nav__item:first-child {
	margin-right: .5px;
	margin-top: 0;
}

.c-prev-next-nav__item:last-child {
	margin-left: .5px;
	text-align: right;
	margin-top: 0;
}

.c-prev-next-nav__item > a {
	align-items: center;
	flex-direction: inherit;
	border: 1px solid #ccc;
	background: #fff;
	color: inherit;
	padding: .9rem!important;
	transition: all .2s ease-out;
	display: inline-block !important;
}

.c-prev-next-nav__item > a:hover {
	background: #f7f7f7;
	color: #333;
}

.c-prev-next-nav__item:first-child > a {
	 justify-content: flex-start;
}

.c-prev-next-nav__item:first-child > a span {
	margin-left: 8px;
}

.c-prev-next-nav__item:last-child > a {
	 justify-content: flex-end;
}

.c-prev-next-nav__item:last-child > a span {
	margin-right: 8px;
}

.c-prev-next-nav__item > span.disabled {
	display: inline-block;
	width: 100%;
	height: 100%;
	background: #f5f5f5; /* 任意の色 */
	border: 1px solid #ccc;
	pointer-events: none; /* クリック無効 */
}

.wp-block-list.credo_list {
	margin-left: 2em !important;
}

.wp-block-list.credo_list li::marker,
.wp-block-list.credo_list li strong {
	font-size: 1.5rem;
	font-family: var(--font_eng) !important;
	font-weight: bold;
	color: var(--accent-color);
}

.knowledge_cat-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.knowledge_cat-list {
	display: flex;
	gap: 4px
}

.knowledge_cat-list_item a {
	display: block;
	padding: .25em .75em;
	background: #7a7a7a;
	text-decoration: none;
	transition: var(--hover_anime);
	color: #fff;
}

@media (any-hover: hover) {
	.knowledge_cat-list_item a:hover {
		background: #5a5a5a;
	}
}



/* ---------------------------
	 kwt_gallery — ギャラリー（4列・同サイズ）
	 貼り付け先: テーマ style.css / カスタム CSS
	 --------------------------- */
.kwt_gallery,
.wp-block-gallery.kwt_gallery {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 24px !important;
	margin: 0 !important;
	padding: 0 !important;
	align-items: stretch;
	box-sizing: border-box;
}



.kwt_gallery > figure.wp-block-image > img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block;
	cursor: zoom-in;
	transition: transform .3s ease, filter .3s ease, opacity 0.3s ease-out;
	border-radius: inherit;
}

@media (any-hover: hover) {
	.kwt_gallery > figure.wp-block-image:hover > img {
		transform: scale(1.05);
		filter: brightness(.7);
	}
}


/* 5) Gutenberg の figcaption 等を隠す（必要があれば調整） */
.kwt_gallery .wp-block-image figcaption {
	display: none;
}

.kwt_gallery.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image) {
	width: auto !important;
}








.c-entry-summary__term {
	display: none;
}



.gmaps {
	width: 100%;
	height: 450px;
	overflow: hidden;
	position: relative;
}

.gmaps::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #0091ff;
	z-index: 1;
	pointer-events: none;
	mix-blend-mode: overlay;
}

.gmaps .root_search {
	position: absolute;
	bottom: var(--_margin-1);
	right: var(--_margin-1);
	z-index: 2;
}

.gmaps .root_search a {
	display: block;
	transition: var(--hover_anime);
	padding: .5em 1.5em;
	background: var(--accent-color);
	color: #fff;
	font-weight: bold;
	text-decoration: none;
}

.gmaps iframe {
	display: block;
	width: 100%;
	height: calc(100% + 450px);
	margin-top: -225px;
	-webkit-filter: grayscale(1);
					filter: grayscale(1);
}

.c-entry-summary__figure:before,
.p-related-posts .c-entry-summary__figure:before {
	padding-top: 66.666%;
}

.bg_text-sec .smb-section__background-text__text {
	font-family: var(--font_eng);
	font-weight: 700;
	font-optical-sizing: auto;
	text-transform: uppercase;
}

.wipein .wp-block-cover__inner-container {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
}



.mfg .smb-media-text__title {
	--_font-size-level: 3;
}

.mfg .smb-media-text__title span {
	font-size: 1.25rem;
}

.mfg .smb-media-text__title + .smb-media-text__body {
	margin-top: 1em;
}

/* .mfg .smb-media-text__figure {
	position: relative;
	aspect-ratio: 3 / 2;
	overflow: hidden;
}

.mfg .smb-media-text__figure img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
		 object-fit: cover;
} */

.mfg .wp-block-list li {
	font-size: 1.125rem;
}

.mfg .wp-block-list li + li {
	margin-top: 0.25em;
}

.mfg .wp-block-snow-monkey-blocks-media-text.smb-media-text + .smb-media-text {
	margin-top: 4em;
}





/** 製品情報のワイプアニメーション */

.kwt_gallery .img-wipe-cover {
	position: absolute;
	inset: 0;
	background-color: #eee;
	transform-origin: right center;
	will-change: transform;
}

.kwt_gallery figure.wp-block-image {
	position: relative;
	overflow: hidden;
	aspect-ratio: 3 / 2;
}

.img-wipe-cover {
	position: absolute;
	inset: 0;
	background-color: #333; /* ← ワイプカラーを自由指定 */
	transform-origin: right center;
	will-change: transform;
}

.kwt_gallery figure.wp-block-image {
	position: relative;
	overflow: hidden;
		aspect-ratio: 3 / 2;
}

.kwt_gallery figure.wp-block-image img {
	width: 100%;
	height: auto;
	display: block;
	opacity: 0;
}

/* カーテン（ワイプ） */
.kwt_gallery figure.wp-block-image .img-wipe-cover {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;

	background-color: var(--wipe-color, #eee);
	transform-origin: left center;
	transform: scaleX(1);
	z-index: 2;
	pointer-events: none;
}

.kwt_gallery figcaption.wp-element-caption {
	display: none;
}

/* 6) レスポンシブ（幅狭くなったら列数を減らす） */
@media (max-width: 1200px) {
	.kwt_gallery,
	.wp-block-gallery.kwt_gallery { 
		grid-template-columns: repeat(3, 1fr) !important;
		gap: 18px !important;
	}
}
@media (max-width: 768px) {
	.kwt_gallery,
	.wp-block-gallery.kwt_gallery {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 16px !important;
	}
}
@media (max-width: 480px) {
	.kwt_gallery,
	.wp-block-gallery.kwt_gallery {
		grid-template-columns: 1fr !important;
	}
}



@media (any-hover: hover) {

}

@media ( min-width: 769px ) {
	.flow {
		display: flex;
		flex-wrap: nowrap;
		justify-content: center;
		position: relative;
		text-align: center;
		margin: 40px auto;
	}

	.flow__step {
		display: flex;
		flex-direction: column;
		position: relative;
		width: 15%;
		min-width: 200px;
		background: #fff;
		padding: 30px 20px;
		box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
	}

	.flow__num {
		font-size: 48px;
		line-height: 1;
		font-weight: bold;
		color: #bac6ff;
		margin-top: auto;
	}

	.flow__title {
		font-size: 1.25rem;
		margin: 10px 0 10px;
		font-weight: 600;
	}

	.flow__text {
		font-size: 0.875rem;
		text-align: justify;
		color: #333;
		line-height: 1.6;
		padding-bottom: .75em;
	}

	.flow__icon {
	}

	.flow__icon img {
		width: 72px;
		height: auto;
		margin-bottom: 12px;
	}

	.flow__arrow {
		width: 20px;
		height: 40px;
		align-self: center;
		clip-path: polygon(0 0, 100% 50%, 0 100%);
		background: #0b2e8a;
	}

}

@media (max-width: 1024px) {
	.flow {
		gap: 15px;
	}
	.flow__step {
		width: 30%;
	}
}



@media (max-width: 768px) {
	.flow {
		flex-direction: column;
		align-items: center;
		display: flex;
		gap: 0;
		flex-wrap: nowrap;
		justify-content: center;
		position: relative;
		text-align: center;
		margin: 40px auto;
	}

	.flow__step {
		display: flex;
		flex-direction: column;
		position: relative;
		width: 100%;
		background: #fff;
		padding: 1.5em;
		box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
	}

	.flow__num {
		z-index: 0;
		position: absolute;
		font-size: 40vw;
		line-height: 1;
		font-weight: bold;
		color: #eaecf8;
		margin-top: auto;
		top: 0;
		left: 20px;
	}

	.flow__title {
		font-size: 1.25rem;
		margin: 10px 0 10px;
		font-weight: 600;
		z-index: 1;
	}

	.flow__text {
		font-size: 0.875rem;
		text-align: justify;
		color: #333;
		line-height: 1.6;
		padding-bottom: .75em;
		z-index: 1;
	}

	.flow__icon {
	}

	.flow__icon img {
		width: 64px;
		height: auto;
	}

	.flow__arrow {
		width: 40px;
		height: 20px;
		align-self: center;
		clip-path: polygon(0 0, 50% 100%, 100% 0);
		background: #0b2e8a;
	}

	.business_type .c-row > .c-row__col {
		margin-bottom: 0;
	}

	.business_type .smb-items--glue > .c-row {
		gap: 0;
	}
}

@media ( max-width: 781px ) {
	.facilities {
		gap: 0;
	}

	.facilities .wp-block-column + .wp-block-column tr:first-child td {
		border-top: 0 !important
	}

	.look {
		flex-wrap: wrap !important;
		gap: .5em;
	}

	.look > * {
		display: block;
		width: 100%;
	}

	.look .wp-block-snow-monkey-blocks-btn {
		width: 100% !important;
		text-align: center;
	}

	.look .wp-block-snow-monkey-blocks-btn a {
		width: 100% 
	}
}

@media ( max-width: 600px ) {
	.message .wp-block-media-text.is-stacked-on-mobile {
		display: flex;
		flex-direction: column;
	}

	.message .wp-block-media-text__content .wp-block-group {
		padding-bottom: 0 !important;
	}

	.message figure.wp-block-media-text__media {
		width: 45%;
		margin: -4em var(--_margin1) 0 auto;
	}

}


ul.wp-block-list.products-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	list-style: none;
	padding: 0;
	margin: 0;
	gap: .5em .75em;
}

ul.wp-block-list.products-list li + li {
	margin-top: 0;
}

ul.wp-block-list.products-list li {
	padding: 4px 1em;
	background: #e8e8e8;
}