/** Shopify CDN: Minification failed

Line 153:3 Cannot use type selector "-inner" directly after nesting selector "&"
Line 208:3 Cannot use type selector "-wave-wrap" directly after nesting selector "&"
Line 218:4 Cannot use type selector "-inner" directly after nesting selector "&"
Line 267:3 Cannot use type selector "-inner" directly after nesting selector "&"
Line 275:5 Cannot use type selector "_fermentum" directly after nesting selector "&"
Line 435:3 Cannot use type selector "-wave-wrap" directly after nesting selector "&"
Line 450:4 Cannot use type selector "-inner" directly after nesting selector "&"
Line 455:6 Cannot use type selector "_fermentum" directly after nesting selector "&"
Line 687:3 Cannot use type selector "-pc" directly after nesting selector "&"
Line 690:3 Cannot use type selector "-sp" directly after nesting selector "&"
... and 16 more hidden warnings

**/
@charset "UTF-8";
@use '../_global'as *;
/* stem-c コレクション
--------------------------------------------------*/
.stem-c-collection-wrap {
    p{
      color: #333;
    }
	.hero-header-stem-c {
		position: relative;
		background-image: url('img_kv_stemc_pc.webp');
		background-position: center top;
		background-repeat: no-repeat;
		background-size: cover;
		height: 820px;
		@media (min-width: 1920px) {
			height: 1000px;
		}
		.text-wrap {
			position: absolute;
			top: 15%;
			left: 50%;
			color: white;
			text-align: center;
			transform: translateX(-50%);
			width: 100%;
			.heading-kv {
				font-size: 24px;
				font-weight: bold !important;
				&.big {
					font-size: 32px;
					margin-bottom: 20px;
				}
			}
		}
	}
	@media (max-width: 480px) {
		.hero-header-stem-c {
			position: relative;
			background-image: url('img_kv_stemc_sp.webp');
			height: 480px;
			.text-wrap {
				position: absolute;
				width: 100%;
				top: 18%;
				left: 50%;
				color: white;
				text-align: center;
				transform: translateX(-50%);
				.heading-kv {
					font-size: 17px;
					font-weight: bold !important;
					&.big {
						font-size: 23px;
						margin-bottom: 14px;
					}
				}
			}
		}
	}
	.stem-c-collection-block {
		max-width: 760px;
		padding: 0 20px;
		margin: 0 auto;
		.heading-stem-c {
			text-align: center;
			font-weight: bold;
			line-height: 160%;
			margin-top: 85px;
			margin-bottom: 55px;
			font-size: 28px;
		}
	}
	@media (max-width: 700px) {
		.stem-c-collection-block {
			.heading-stem-c {
				text-align: center;
				font-weight: bold;
				line-height: 160%;
				margin-top: 50px;
				margin-bottom: 35px;
				font-size: 20px;
			}
		}
	}
	.whatis {
		margin-bottom: 100px;
		p {
			font-size: 20px;
			line-height: 200%;
		}
	}
	@media (max-width: 700px) {
		.whatis {
			margin-bottom: 60px;
			p {
				font-size: 15px;
			}
		}
	}
	.developer {
		margin-bottom: 83px;
		.img-wrap {
			display: block;
			max-width: 536px;
			height: auto !important;
			margin: 0 auto 60px auto;
			p {
				text-align: center;
				font-size: 12px;
				text-align: center;
				padding-top: 10px;
			}
		}
		p {
			font-size: 18px;
			line-height: 200%;
		}
	}
	@media (max-width: 700px) {
		.developer {
			margin-bottom: 60px;
			.img-wrap {
				display: block;
				max-width: 536px;
				height: auto !important;
				margin: 0 auto 40px auto;
				p {
					font-size: 11px;
				}
			}
			p {
				font-size: 15px;
			}
		}
	}
	.stem_cell_nature {
		&-inner {
			max-width: 700px;
			margin: 0 auto;
			padding: 0 0 100px;
			& .text-block {
				font-size: 20px;
				letter-spacing: 0.3px;
				line-height: 40px;
				margin-top: 80px;
				margin-bottom: 90px;
				.stem-c {
					font-weight: 900;
				}
			}
			.green-boxes {
				margin: 0 auto;
				max-width: 536px;
				& p {
					background-color: #42D49C;
					text-align: center;
					margin-bottom: 46px;
					width: 100%;
					&.ja {
						font-size: 24px;
						line-height: 32px;
						letter-spacing: 2px;
						padding: 24px 0;
						margin-bottom: 14px;
						font-weight: bold;
					}
					&.en {
						font-size: 16px;
						letter-spacing: 1px;
						font-weight: bold;
						padding: 12px 0;
					}
				}
			}
			.img-wrap {
				max-width: 536px;
				margin: 0 auto;
				img {
					display: block;
					width: 100%;
					/*aspect-ratio: 700 / 702;*/
				}
			}
		}
		.ball {
			img {
				display: block;
				margin: 0 auto 83px auto;
				width: 30px;
			}
		}
		&-wave-wrap {
			margin-top: calc(-67 / 430 * 100%);
			img {
				display: block;
				width: 100%;
			}
		}
	}
	@media (max-width: 700px) {
		.stem_cell_nature {
			&-inner {
				margin: 0 auto;
				padding: 0 0 60px;
				& .text-block {
					font-size: 15px;
					line-height: 200%;
					margin-top: 0;
					margin-bottom: 50px;
					.stem-c {
						font-weight: 700;
					}
				}
				.green-boxes {
					& p {
						margin-bottom: 30px;
						width: 100%;
						&.ja {
							font-size: 17px;
							line-height: 32px;
							letter-spacing: 0;
							padding: 10px 0;
							margin-bottom: 14px;
							font-weight: bold;
						}
						&.en {
							font-size: 14px;
							letter-spacing: 0;
							padding: 10px 0;
						}
					}
				}
				.img-wrap {
					max-width: 536px;
					margin: 0 auto;
					img {
						display: block;
						width: 100%;
						/*aspect-ratio: 700 / 702;*/
					}
				}
			}
			.ball {
				img {
					margin: 0 auto 60px auto;
				}
			}
		}
	}
	.quality {
		&-inner {
			max-width: 700px;
			margin: 0 auto;
			padding: 0;
			.text {
				font-size: 20px;
				line-height: 40px;
				letter-spacing: 0.3px;
				&_fermentum {
					span {}
				}
			}
			.name {
				font-size: 18px;
				line-height: 30px;
				letter-spacing: 0.27px;
			}
			.ingredient {
				display: inline-block;
				border-radius: 20px;
				font-size: 20px;
				line-height: 30px;
				letter-spacing: -.5px;
				background-color: #fff;
				padding: 5.5px 14px;
				margin-bottom: 30px;
			}
			.stem-c {
				font-weight: 900;
			}
			.fermentum {
				.illustration-wrap {
					margin-top: 56px;
					display: flex;
					justify-content: center;
					position: relative;
					gap: 20px;
					.kuko {
						width: 482px;
						position: absolute;
						left: -135px;
						p {
							position: absolute;
							left: 135px;
							font-size: 18px;
							line-height: 30px;
							letter-spacing: .27px;
						}
						img {
							width: 100%;
						}
					}
					.chaba {
						position: relative;
						margin-top: 55px;
						width: 469px;
						right: -255px;
						p {
							position: absolute;
							right: 135px;
							top: -30px;
							font-size: 18px;
							line-height: 30px;
							letter-spacing: .27px;
						}
						img {
							width: 100%;
						}
					}
				}
			}
			.zakuro_extract {
				display: flex;
				position: relative;
				gap: 20px;
				margin-top: 57px;
				.ingredient-wrap {
					margin-top: 50px;
					min-width: 310px;
				}
				.illustration-wrap {
					.zakuro {
						position: relative;
						width: 501px;
						p {
							position: absolute;
							right: 105px;
							font-size: 18px;
							line-height: 30px;
							letter-spacing: .27px;
						}
						img {
							width: 100%;
						}
					}
				}
			}
			.glucan {
				position: relative;
				gap: 20px;
				margin-top: -110px;
				margin-bottom: 100px;
				.ingredient-wrap {
					min-width: 436px;
				}
				.illustration-wrap {
					.omugi {
						p {
							position: absolute;
							left: 0;
							font-size: 18px;
							line-height: 30px;
							letter-spacing: .27px;
							margin-top: 40px;
						}
						img {
							position: relative;
							left: -100px;
							width: 569px;
						}
					}
					.koubo {
						position: relative;
						width: 373px;
						img {
							width: 100%;
							margin-top: -255px;
						}
					}
				}
				.koubo-wrap {
					display: flex;
					position: relative;
					margin-top: 130px;
				}
			}
			.green-boxes {
				width: 100%;
				display: flex;
				flex-direction: column;
				text-align: center;
				margin-bottom: 46px;
				& p {
					background-color: #42D49C;
					display: inline-block;
					width: fit-content;
					font-size: 32px;
					line-height: 44px;
					font-weight: bold;
					margin: 0 auto 20px auto;
					padding: 16px 20px;
					letter-spacing: 3px;
					.stem-c {
						font-size: 34px;
						line-height: 39px;
						font-weight: bold;
						letter-spacing: 0px;
						margin-right: 10px;
					}
				}
			}
		}
		& .heading-wrap {
			margin-bottom: 70px;
			& .heading-common {
				margin-bottom: 80px;
			}
		}
		&-wave-wrap {
			position: relative;
			margin-top: calc(-50 / 530 * 100%);
			&._bottom {
				z-index: -1;
			}
			img {
				display: block;
				width: 100%;
			}
		}
	}
	@media (max-width: 700px) {
		.quality {
			overflow: hidden;
			&-inner {
				.text {
					font-size: 15px;
					line-height: 200%;
					letter-spacing: 0.3px;
					&_fermentum {
						span {}
					}
				}
				.name {
					font-size: 18px;
					line-height: 30px;
					letter-spacing: 0.27px;
				}
				.ingredient {
					display: inline-block;
					border-radius: 12px;
					font-size: 17px;
					line-height: 24px;
					letter-spacing: 0;
					background-color: #fff;
					padding: 5px 14px;
					margin-bottom: 20px;
					font-weight: bold;
					margin-left: -14px;
				}
				.stem-c {
					font-weight: 700;
				}
				.fermentum {
					.illustration-wrap {
						margin-top: 13px;
						.kuko {
							margin-left: 60px;
							margin-right: -28px;
							left: -160px;
							p {
								font-size: 15px;
								left: 110px;
								letter-spacing: 0.23px;
								line-height: 30px;
								position: absolute;
							}
							img {
								width: 300px;
							}
						}
						.chaba {
							margin-top: 60px;
							width: 300px;
							right: -160px;
							p {
								font-size: 15px;
								letter-spacing: 0.23px;
								line-height: 30px;
								position: absolute;
								right: 140px;
								top: -35px;
							}
							img {
								width: 100%;
							}
						}
					}
				}
				.zakuro_extract {
					margin-top: 0;
					height: 330px;
					.ingredient-wrap {
						margin-top: 50px;
						min-width: 310px;
						.text_zakuro {
							width: 160px;
							font-size: 14px;
							line-height: 180%;
						}
					}
					.illustration-wrap {
						position: absolute;
						left: 50%;
						margin-top: 30px;
						.zakuro {
							position: relative;
							width: 280px;
							p {
								position: absolute;
								right: 105px;
								font-size: 15px;
								line-height: 30px;
								letter-spacing: .27px;
							}
							img {
								width: 100%;
							}
						}
					}
				}
				.glucan {
					position: relative;
					gap: 20px;
					margin-top: -60px;
					margin-bottom: 60px;
					.ingredient-wrap {
						min-width: 100%;
					}
					.illustration-wrap {
						.omugi {
							p {
								position: absolute;
								left: 0;
								font-size: 15px;
								line-height: 30px;
								letter-spacing: 0;
								margin-top: 30px;
							}
							img {
								position: relative;
								left: -100px;
								width: 569px;
							}
						}
						.koubo {
							position: relative;
							width: 100%;
							img {
								width: 100%;
								margin-top: -255px;
							}
						}
					}
					.koubo-wrap {
						display: block;
						position: relative;
						margin-top: 130px;
						z-index: -1;
						.illustration-wrap {
							width: 200px;
							position: absolute;
							top: -20px;
							right: -50px;
						}
						.ingredient-wrap {
							width: 280px;
						}
					}
				}
				.green-boxes {
					width: 100%;
					display: flex;
					flex-direction: column;
					text-align: center;
					margin-bottom: 30px;
					& p {
						background-color: #42D49C;
						display: inline-block;
						width: fit-content;
						font-size: 20px;
						line-height: 150%;
						font-weight: bold;
						margin: 0 auto 10px auto;
						padding: 3px 10px;
						letter-spacing: 1px;
						.stem-c {
							font-size: 20px;
							line-height: auto;
							font-weight: bold;
							letter-spacing: 0px;
							margin-right: 4px;
						}
					}
				}
			}
			& .heading-wrap {
				margin-bottom: 50px;
				& .heading-common {
					margin-bottom: 80px;
				}
			}
		}
	}
	.powder {
		margin: 0 auto 100px;
		width: 413px;
		img {
			width: 100%;
		}
		p {
			margin-top: 13px;
			font-size: 18px;
			text-align: center;
		}
	}
	@media (max-width: 700px) {
		.powder {
			margin: 0 auto 80px;
			width: 280px;
			img {
				width: 100%;
			}
			p {
				margin-top: 13px;
				font-size: 16px;
				text-align: center;
			}
		}
	}
	.common-block-middle-wide {
		padding: 0;
		max-width: 350px;
		margin: 0 auto 100px;
		.img-wrap {
			width: 280px;
			margin: 0 auto 30px;
		}
		.content-wrap {
			.item-title {
				font-size: 20px;
				margin-bottom: 10px;
			}
			.item-price {
				color: #69727b;
				font-weight: bold;
			}
		}
		.quantity-cart {
			.quantity-wrap {
				margin-bottom: 20px;
				.quantity-box {
					margin-bottom: 10px;
				}
				.product-form__input {
					min-width: 250px;
				}
			}
		}
	}
	.for {
		&-pc {
			display: block;
		}
		&-sp {
			display: none;
		}
	}
	@media (max-width: 700px) {
		.for {
			&-pc {
				display: none;
			}
			&-sp {
				display: block;
			}
		}
	}
	.banner-product {
		margin-bottom: 80px;
		.banner-link-ul {
			display: flex;
			flex-wrap: wrap;
			gap: 30px;
			align-items: baseline;
			justify-content: space-between;
			.banner-link__item {
				width: 47%;
			}
		}
	}
	@media(max-width: 700px) {
		.banner-product {
			margin-bottom: 80px;
			.banner-link-ul {
				display: flex;
				flex-wrap: wrap;
				gap: 30px;
				align-items: baseline;
				.banner-link__item {
					width: 100%;
				}
			}
		}
	}
}
/* stem-c 商品ページ
--------------------------------------------------*/
.heading-common_stem-c {
	font-size: 20px;
	line-height: 34px;
	margin-bottom: 26.5px;
}
.faq_stem-c {
	background-color: #fafafa !important;
}
.stem-c-product-wrap {
	.kv-block {
		position: relative;
		background-image: url('img_kv_a_pc.webp');
		background-position: 50% 150%;
		background-repeat: no-repeat;
		background-size: auto 115%;
		height: 375px;
		margin-top: 65px;
		img {
			display: block;
			width: 100%;
		}
		&-inner {
			position: absolute;
			top: 200px;
			left: 50%;
			transform: translateX(-50%);
			text-align: center;
			width: 100%;
			.text-wrap {
				p {
					color: #fff;
					-webkit-box-decoration-break: clone;
					box-decoration-break: clone;
					font-feature-settings: "palt";
				}
				.top {
					font-size: 32px;
					line-height: 180%;
					letter-spacing: 1px;
					padding: 0 18px 0 18px;
					margin-bottom: 4px;
					font-weight: 700;
					display: inline-block;
					margin-bottom: 0px;
				}
				.bottom {
					font-size: 22px;
					line-height: 160%;
					padding: 3px 11px 3px 5px;
					display: inline-block;
					font-weight: 700;
				}
			}
		}
	}
	@media (max-width:768px) {
		.kv-block {
			margin: 0 -20px;
			background-position: 50% 115%;
			background-size: auto 120%;
			&-inner {
				.text-wrap {
					p {
						color: #fff;
					}
				}
			}
		}
	}
	.kv-text {
		max-width: 433px;
		margin: 3px auto 0 auto;
		&-inner {
			h1 {
				text-align: center;
				font-size: 35px;
				line-height: 30px;
				font-weight: bold;
			}
			p {
				width: 100%;
				margin: 21px auto 0 auto;
				display: inline-block;
				font-size: 18px;
				line-height: 31px;
			}
		}
	}
	@media (max-width:768px) {
		.kv-text {
			margin: 20px auto 0 auto;
			&-inner {
				h1 {
					text-align: center;
					font-size: 35px;
					line-height: 30px;
					font-weight: bold;
				}
				p {
					margin: 20px auto 0 auto;
					font-size: 14px;
					line-height: 24px;
				}
			}
		}
	}
	.positive-block {
		&-wave-wrap {
			position: relative;
			z-index: 0;
			margin-top: calc(-67 / 430 * 100%);
			margin: 0 -20px -3px -20px;
			img {
				display: block;
				width: 105%;
			}
		}
		@media (max-width: 768px) {
			padding-top: 47px;
		}
		&-inner {
			max-width: 700px;
			margin: 0 auto;
			@media (max-width: 429px) {
				& .heading-wrap {
					& .heading-common {
						font-size: 24px;
						letter-spacing: 0px;
						@media (max-width: 374px) {
							font-size: 20px;
						}
					}
					& .heading-block {
						@media (max-width: 374px) {
							font-size: 15px;
							letter-spacing: 0px;
						}
					}
				}
			}
		}
		.tab {
			.tab-list {
				text-align: center;
				font-size: 0;
				margin: 20px 0 24px 0;
				position: sticky;
				transition: opacity 0.3s ease;
				top: 105px;
				@media (max-width: 480px) {
					top: 80px;
				}
				&-item {
					display: inline-block;
					line-height: 32px;
					border: solid 2px #32D49C;
					font-size: 18px;
					background-color: white;
					color: #32D49C;
					box-sizing: border-box;
					padding: 0 15px;
					margin: 0 12.5px;
					border-radius: 18px;
					cursor: pointer;
					transition: 0.3s;
					@media (max-width: 350px) {
						font-size: 14px;
					}
					&:hover {
						background-color: #32D49C;
						color: #131937;
					}
					&.is-btn-active {
						background-color: #32D49C;
						color: #131937;
					}
				}
			}
			.tab-contents-wrap {
				width: 100%;
				.tab-contents {
					display: none;
					transition: 0.3s;
					&.is-contents-active {
						display: block;
					}
					.img-wrap {
						margin-bottom: 48px;
						img {
							display: block;
							max-width: 100%;
							width: 100%;
							height: auto;
							/*aspect-ratio: 536 / 306;*/
						}
					}
					.heading-contents {
						font-size: 25px;
						line-height: 30px;
						font-weight: 500 !important;
						margin-bottom: 50px;
						text-align: center;
						&::before {
							content: '';
							display: inline-block;
							width: 22px;
							height: 22px;
							background-image: url(img_ball.svg);
							background-size: 22px;
							margin-right: 16px;
							margin-bottom: -2px;
						}
					}
					.description {
						font-size: 20px;
						line-height: 200%;
						letter-spacing: 0.3px;
						margin-bottom: 50px;
					}
					.user-for {
						font-weight: 500 !important;
						font-size: 16px;
						padding-bottom: 10px;
						border-bottom: solid 2px #32D49C;
						text-align: center;
						display: inline-block;
						margin-bottom: 40px;
						&-wrap {
							text-align: center;
							padding-bottom: 100px;
						}
						&-list {
							li {
								background-color: white;
								line-height: 50px;
								font-size: 22px;
								padding: 0 16px;
								display: inline-block;
								margin-bottom: 20px;
								/*&:last-child {
                  margin-bottom: 0;*/
							}
						}
					}
				}
			}
		}
	}
}
@media (max-width: 768px) {
	.positive-block {
		&-inner {
			max-width: 700px;
			margin: 0 auto;
			padding: 0;
		}
		.tab {
			.tab-list {
				margin-bottom: 30px;
				transition: opacity 0.2s ease;
				&-item {
					padding: 0 15px;
					margin: 0 4px;
					@media (max-width: 429px) {
						font-size: 16px;
						padding: 0 12px;
					}
				}
			}
			.tab-contents-wrap {
				.tab-contents {
					display: none;
					transition: 0.3s;
					&.is-contents-active {
						display: block;
					}
					.img-wrap {
						margin-bottom: 34px;
						img {
							display: block;
							width: 100%;
							/*aspect-ratio: 333 / 241;*/
						}
					}
					.heading-contents {
						font-size: 23px;
						line-height: 30px;
						font-weight: 500;
						letter-spacing: 3.5px;
						margin-bottom: 30px;
						text-align: center;
						@media (max-width: 350px) {
							font-size: 20px;
						}
					}
					.description {
						font-size: 17px;
						line-height: 200%;
						letter-spacing: 0.3px;
						margin-bottom: 70px;
						@media (max-width: 429px) {
							font-size: 14px;
						}
					}
					.user-for {
						font-weight: 500;
						font-size: 16px;
						padding-bottom: 10px;
						border-bottom: solid 2px #32D49C;
						text-align: center;
						display: inline-block;
						margin-bottom: 25px;
						&-wrap {
							text-align: center;
							padding-bottom: 70px;
						}
						&-list {
							li {
								background-color: white;
								line-height: 30px;
								font-size: 17px;
								padding: 0 16px;
								display: inline-block;
								margin-bottom: 16px;
								/*&:last-child {
                    margin-bottom: 0;*/
							}
							@media (max-width: 429px) {
								font-size: 15px;
							}
						}
					}
				}
			}
		}
	}
}
}
}
#ProductSection-main-product-stem-c {
	.page-faq {
		.common-block {
			padding: 0;
			.faq_stem-c {
				padding: 0;
			}
		}
	}
}
/* 追加
-----------------------------------------------------*/
.stem-c-product-wrap .positive-block .tab .tab-contents-wrap .tab-contents .img-wrap img {
	aspect-ratio: inherit;
}
.sec-c-faq .faq-con:last-child {
	margin-bottom: 0;
}
.sec-c-faq .faq-answer {
	font-size: 14px;
}
.sec-c-faq .faq-bg {
	border-radius: 24px;
}
@media (min-width: 1024px) {
	.sec-c-faq .faq-bg {
		padding: 2em 2em;
	}
	.sec-c-faq .faq-answer {
		padding-right: 0;
	}
}
@media (min-width: 640px) {}
@media screen and (max-width: 640px) {
	.tab-contents-wrap p.description {
		font-size: 17px !important;
	}
}
/* 統合サイト後の追加css
-------------------------------------------------*/
label {
	font-size: 14px;
	font-weight: 400;
	margin-bottom: 5px;
}
input[type="text"], input[type="email"], input[type="password"], input[type="number"], input[type="tel"], input[type="url"], select {
	appearance: none;
	display: block;
	width: 100%;
	padding: 10px;
	line-height: 20px;
	font-size: 16px;
	font-weight: inherit;
	background: rgb(255, 255, 255);
	border-radius: 5px;
	color: rgb(51, 51, 51);
}
input[type="text"]::placeholder, input[type="email"]::placeholder, input[type="password"]::placeholder, input[type="number"]::placeholder, input[type="tel"]::placeholder, input[type="url"]::placeholder, select::placeholder {
	color: rgb(98, 97, 97);
}
input[type="text"]:focus, input[type="email"]:focus, input[type="password"]:focus, input[type="number"]:focus, input[type="tel"]:focus, input[type="url"]:focus, select:focus {
	outline: none;
	border-color: rgb(0, 0, 0);
}
input[type="text"].invalid, input[type="email"].invalid, input[type="password"].invalid, input[type="number"].invalid, input[type="tel"].invalid, input[type="url"].invalid, select.invalid {
	border-color: rgb(204, 0, 0);
}
input[type="text"].form-dark, input[type="email"].form-dark, input[type="password"].form-dark, input[type="number"].form-dark, input[type="tel"].form-dark, input[type="url"].form-dark, select.form-dark {
	background: rgb(27, 27, 27);
	border: 1px solid rgb(121, 121, 121);
	color: rgb(255, 255, 255);
}
input[type="text"].form-dark::placeholder, input[type="email"].form-dark::placeholder, input[type="password"].form-dark::placeholder, input[type="number"].form-dark::placeholder, input[type="tel"].form-dark::placeholder, input[type="url"].form-dark::placeholder, select.form-dark::placeholder {
	color: rgb(119, 119, 119);
}
input[type="text"].form-dark:focus, input[type="email"].form-dark:focus, input[type="password"].form-dark:focus, input[type="number"].form-dark:focus, input[type="tel"].form-dark:focus, input[type="url"].form-dark:focus, select.form-dark:focus {
	border-color: rgb(255, 255, 255);
}
input[type="text"].form-dark.invalid, input[type="email"].form-dark.invalid, input[type="password"].form-dark.invalid, input[type="number"].form-dark.invalid, input[type="tel"].form-dark.invalid, input[type="url"].form-dark.invalid, select.form-dark.invalid {
	border-color: rgb(204, 0, 0);
}
input[type="text"].form-dark:disabled, input[type="email"].form-dark:disabled, input[type="password"].form-dark:disabled, input[type="number"].form-dark:disabled, input[type="tel"].form-dark:disabled, input[type="url"].form-dark:disabled, select.form-dark:disabled {
	background: rgb(0, 0, 0);
	cursor: not-allowed;
	border-color: rgb(68, 68, 68);
}
/* 既存直書き用（抜粋）
----------------------------*/
select {
	background: url('select_arrow.png') right 10px center / 12px 8px no-repeat rgb(255, 255, 255);
	padding-right: 30px;
	color: rgb(51, 51, 51);
	border: 1px solid #000;
}
.product-form {
	width: auto;
	padding-top: 2rem
}
.product-form__controls-group {
	display: flex;
	flex-wrap: wrap
}
.product-form__controls-group--submit {
	margin-top: 0
}
.product-form__controls-group ~ .product-form__controls-group--submit {
	margin-top: 15px
}
.product-form__item {
	flex-grow: 0;
	flex-basis: 100%;
	margin-bottom: 10px;
	padding: 0
}
@media only screen and (min-width: 990px) {
	.product-form__item {
		flex-basis: 50%;
		padding: 0 5px
	}
	.product-single--large-image .product-form__item {
		flex-basis: 100%
	}
}
.product-form__item label {
	display: block
}
.product-form--hide-variant-labels .product-form__item label {
	position: absolute !important;
	overflow: hidden;
	clip: rect(0 0 0 0);
	height: 1px;
	width: 1px;
	margin: -1px;
	padding: 0;
	border: 0
}
.product-form__item--submit {
	-webkit-flex: 1 1 300px;
	-moz-flex: 1 1 300px;
	-ms-flex: 1 1 300px;
	flex: 1 1 300px
}
.product-form__item--no-variants {
	max-width: 400px
}
.product-form__item--payment-button {
	-ms-flex-preferred-size: 100%;
	-webkit-flex-basis: 100%;
	-moz-flex-basis: 100%;
	flex-basis: 100%
}
.item-link-bordered {
	display: block;
	background-color: white;
	-webkit-box-shadow: 0px 1px 20px 0px rgba(0, 0, 0, 0.1);
	-moz-box-shadow: 0px 1px 20px 0px rgba(0, 0, 0, 0.1);
	box-shadow: 0px 1px 20px 0px rgba(0, 0, 0, 0.1);
	padding: 5px;
}
/* .item-link-bordered .colored {
    background-color: #FFFCF8; } */
.item-link-bordered .item-wrap {
	overflow: hidden;
}
.item-link-bordered .item-wrap img {
	transition: 0.4s all;
	height: auto;
}
.item-link-bordered:hover .item-wrap img {
	transform: scale(1.09, 1.09);
	transition: 0.4s all;
}
.item-link-bordered.no-bordered {
	padding: 0;
}
.btn-dark {
  background-color: #1D1D1D;
  color: white;
  text-align: center;
  line-height: 54px;
  transition: 0.2s;
  border: none;
  width: 100%;
  display: block;
  font-size: 15px;
  margin: 0
  padding: 0;
  border-radius: 0;
  position: relative;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.btn-dark .icon-wrap {
	display: inline-block;
	font-size: 18px;
	padding-right: 5px;
}
.btn-dark:hover {
	opacity: 0.8;
}