@charset "UTF-8";

/*================================================

　product

=================================================*/
.product {
	margin: 70px auto 0;
	padding: 0;
	text-align: center;
}
.product-content {
	max-width: 1280px;
	margin: 50px auto 0;
	padding: 0 35px;
	text-align: center;
}
.product-content h4 {
	margin: 0 auto;
	padding: 15px 0;
	color: #FFF;
	font-size: clamp(2.6rem, (100vw - 1080px) * 7 / 320 + 26px, 3.3rem);
	background-color: #000;
	border-radius: 10px;
}
.product-content h5 {
	margin: 0 auto;
	padding: 15px 0;
	font-size: clamp(1.8rem, (100vw - 1080px) * 5 / 320 + 18px, 2.3rem);
	border: 1px solid #000;
	border-radius: 10px;
}
.product-content-point {
	display: flex;
	justify-content: space-between;
	margin: 60px auto 30px;
	padding: 0;
}
.product-content-point ol {
	width: 568px;
	padding-top: 50px;
	text-align: left;
	font-size: clamp(1.7rem, (100vw - 1080px) * 5 / 320 + 17px, 2.2rem);
	line-height: 1.5;
	background: url("../images/product/product_line_03.png") center top / 568px auto no-repeat;
}
.product-content-point ol li {
	position: relative;
	padding: 0 0 0 32px;
	margin-top: 40px;
}
.product-content-point ol li::before {
	display: flex;
	justify-content: center;
	align-items: center;
	content: "1";
	position: absolute;
	top: 5px;
	left: 0;
	width: 26px;
	height: 26px;
	padding: 0 0 3px;
	color: #FFF;
	text-align: center;
	font-size: clamp(1.7rem, (100vw - 1080px) * 5 / 320 + 17px, 2.2rem);
	line-height: 1;
	background-color: #000;
	border-radius: 50%;
	z-index: 10;
}
.product-content-point ol li:nth-of-type(2)::before { content: "2"; }

.product-content-point ol li span {
	color: #E50012;
}

.product-content-point figure {
	width: 603px;
}

@media screen and (max-width: 1279px) {

	.product-content-point ol {
		width: 44.409695vw;
		padding-top: 3.909304vw;
		background: url("../images/product/product_line_03.png") left top / 44.409695vw auto no-repeat;
	}	
	.product-content-point figure {
		width: 47.146208vw;
	}

}

@media screen and (max-width: 1079px) {

	.product {
		margin: 6.487488vw auto 0;
	}
	.product h3 {
		width: 67.840593vw;
		margin: auto;
	}
	.product-content {
		margin: 4.63392vw auto 0;
		padding: 0 3.243744vw;
	}
	.product-content h4 {
		padding: 1.390176vw 0;
		font-size: clamp(1.8rem, (100vw - 769px) * 8 / 310 + 18px, 2.6rem);
	}
	.product-content h5 {
		padding: 1.390176vw 0;
		font-size: clamp(1.3rem, (100vw - 769px) * 5 / 310 + 13px, 1.8rem);
	}
	.product-content-point {
		margin: 60px auto 30px;
	}
	.product-content-point ol {
		font-size: clamp(1.2rem, (100vw - 769px) * 5 / 310 + 12px, 1.7rem);
	}
	.product-content-point ol li {
		position: relative;
		padding: 0 0 0 2.965709vw;
		margin-top: 3.707136vw;
	}
	.product-content-point ol li::before {
		top: 0;
		width: 2.409639vw;
		height: 2.409639vw;
		font-size: clamp(1.2rem, (100vw - 769px) * 5 / 310 + 12px, 1.7rem);
	}

}

@media screen and (max-width: 768px) {

	.product {
		margin: 6.487488vw auto;
	}
	.product-content {
		padding: 0 20px;
	}
	.product-content h4,
	.product-content h5 {
		line-height: 1.3;
	}
	.product-content-point {
		flex-direction: column;
		align-items: center;
		margin: 7.8125vw auto 3.90625vw;
	}
	.product-content-point ol {
		width: 100%;
		max-width: 500px;
		padding-top: 9vw;
		background: url("../images/product/product_line_03.png") left top / 100% auto no-repeat;
	}
	.product-content-point ol li {
		position: relative;
		padding: 0 0 0 20px;
		margin-top: 3.707136vw;
	}
	.product-content-point ol li::before {
		top: 0;
		width: 18px;
		height: 18px;
	}
	.product-content-point figure {
		width: 100%;
		max-width: 500px;
		margin-top: 30px;
	}

}


/*================================================

　product-detail

=================================================*/
.product-detail {
	margin: 0 auto 30px;
	padding-bottom: 55px;
	background: url("../images/common/arrow.svg") center bottom / 36px 31px no-repeat;
}
.product-detail-content {
	padding-bottom: 45px;
	background: linear-gradient(90deg, transparent 0%, transparent calc(50% - 100px), #E9E9E9 calc(50% - 100px), #E9E9E9 calc(50% + 100px), transparent calc(50% + 100px), transparent 100%);
}
.product-detail-content-header {
	max-width: 1350px;
	margin: auto;
	text-align: center;
	background-image:
		url("../images/top/product_line_01.jpg"), url("../images/top/product_line_02.jpg");
	background-size:
		283px auto, 283px auto;
	background-position:
		left center, right center;
	background-repeat:
		no-repeat, no-repeat;
}
.product-detail-content-header img {
	width: 750px;
}
.product-detail-content-point {
	position: relative;
}
.product-detail-content-point ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	max-width: 1220px;
	margin: auto;
	padding: 0 0;
}
.product-detail-content-point ul li {
	width: 48.770492%;
	margin: 30px 0 0;
	padding: 0;
}
.product-detail-content-point ul li h3 {
	display: flex;
	align-items: center;
	position: relative;
	height: 50px;
	padding-left: 65px;
	font-size: clamp(2.4rem, (100vw - 1080px) * 6 / 320 + 24px, 3rem);
	font-weight: 700;
}
.product-detail-content-point ul li h3::before {
	position: absolute;
	content: '';
	display: block;
	top: 0;
	left: 0;
	width: 48px;
	height: 50px;
	background: url("../images/top/product_icon_01.svg") center center / 48px auto no-repeat;
}
.product-detail-content-point ul li h3 span {
	margin-left: -0.4em;
}
.product-detail-content-point ul li p {
	margin-top: 7px;
	font-size: clamp(1.5rem, (100vw - 1080px) * 4 / 320 + 15px, 1.9rem);
	line-height: 1.6;
}

@media screen and (max-width: 1399px) {

	.product-detail {
		margin: 0 auto 2.144389vw;
		padding-bottom: 55px;
		background: url("../images/common/arrow.svg") center bottom / 36px 31px no-repeat;
	}
	.product-detail-content {
		padding-bottom: 3.216583vw;
	}
	.product-detail-content-header {
		background-size:
			20.228735vw auto, 20.228735vw auto;
	}
	.product-detail-content-header img {
		width: 53.609721vw;
	}
	.product-detail-content-point {
		position: relative;
	}
	.product-detail-content-point ul {
		padding: 0 40px;
	}
	.product-detail-content-point ul li {
		margin: 2.144389vw 0 0;
	}

}

@media screen and (max-width: 1079px) {

	.product-detail-content-point ul li h3 {
		height: 4.63392vw;
		padding-left: 6.024096vw;
		font-size: clamp(1.6rem, (100vw - 769px) * 8 / 310 + 16px, 2.4rem);
	}
	.product-detail-content-point ul li h3::before {
		width: 4.448563vw;
		height: 4.63392vw;
		background: url("../images/top/product_icon_01.svg") center center / 4.448563vw auto no-repeat;
	}
	.product-detail-content-point ul li p {
		font-size: clamp(1.1rem, (100vw - 769px) * 5 / 310 + 11px, 1.6rem);
	}

}

@media screen and (max-width: 768px) {

	.product-detail-content {
		background: linear-gradient(90deg, transparent 0%, transparent calc(50% - 13.020833vw), #E9E9E9 calc(50% - 13.020833vw), #E9E9E9 calc(50% + 13.020833vw), transparent calc(50% + 13.020833vw), transparent 100%);
	}
	.product-detail-content-header img {
		width: 412px;
	}
	.product-detail-content-point ul {
		display: block;
		max-width: 540px;
		margin: auto;
		padding: 0 40px;
	}
	.product-detail-content-point ul li {
		width: 100%;
		margin: 30px 0 0;
		padding: 0;
	}
	.product-detail-content-point ul li h3 {
		height: 30px;
		padding-left: 40px;
	}
	.product-detail-content-point ul li h3::before {
		width: 30px;
		height: 32px;
		background: url("../images/top/product_icon_01.svg") center center / 30px auto no-repeat;
	}

}



/*================================================

　voice

=================================================*/
.voice {
	margin-bottom: 30px;
	padding: 0 40px 50px;
}
.voice-content {
	max-width: 1136px;
	margin: 0 auto;
	padding: 0 0 30px;
}
.voice-content h3 {
	text-align: center;
	font-size: clamp(1.8rem, (100vw - 1080px) * 4 / 320 + 18px, 2.2rem);
	font-weight: 700;
}
.voice-content-comment {
	display: flex;
	justify-content: space-between;
	margin-top: 20px;
}
.voice-content-comment figure {
	width: 160px;
	text-align: center;
}
.voice-content-comment figure figcaption {
	margin-top: 5px;
	font-size: clamp(1.3rem, (100vw - 1080px) * 3.5 / 320 + 13px, 1.65rem);
	line-height: 1.2;
}
.voice-content-comment p {
	width: 948px;
	margin-top: -5px;
	font-size: clamp(1.3rem, (100vw - 1080px) * 3.5 / 320 + 13px, 1.65rem);
	line-height: 1.8;
}

@media screen and (max-width: 1279px) {

	.voice {
		margin-bottom: 30px;
		padding: 0 40px 50px;
	}
	.voice-content-comment figure {
		width: 160px;
	}
	.voice-content-comment p {
		width: calc(100% - 188px);
	}
}

@media screen and (max-width: 768px) {

	.voice-content {
		padding: 0 0 3.90625vw;
	}
	.voice-content h3 {
		line-height: 1.3;
	}
	.voice-content-comment {
		display: block;
	}
	.voice-content-comment figure {
		margin: 20px auto;
	}
	.voice-content-comment p {
		width: 100%;
		margin-top: 0;
	}

}


/*================================================

　explanation-content

=================================================*/
.explanation-content {
	display: flex;
	justify-content: space-between;
	max-width: 1038px;
	margin: 0 auto 100px;
	padding: 0;
}
.explanation-content .explanation-content-detail {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	max-width: 773px;
	margin: 0;
	padding: 0;
}
.explanation-content .explanation-content-detail h3,
.explanation-content .explanation-content-detail dl,
.explanation-content .explanation-content-detail ul {
	margin-bottom: 15px;
	font-size: clamp(1.6rem, (100vw - 1080px) * 4 / 320 + 16px, 2rem);
	line-height: 1.6;
}
.explanation-content .explanation-content-detail ul {
	margin-bottom: 0;
}
.explanation-content .explanation-content-detail .detail-box:first-child {
	margin-top: 20px;
}
.explanation-content .explanation-content-detail .detail-box h3,
.explanation-content .explanation-content-detail .detail-box ul {
	font-size: clamp(1.5rem, (100vw - 1080px) * 4 / 320 + 15px, 1.9rem);
}

.explanation-content .explanation-content-detail dl dd {
	text-indent: 1em;
}
.explanation-content figure {
	max-width: 180px;
	margin: 0;
	padding: 0;
}

@media screen and (max-width: 1399px) {

	.explanation-content {
		max-width: 74.195854vw;
		margin: 0 auto 100px;
	}
	.explanation-content .explanation-content-detail {
		max-width: 55.253753vw;
	}
	.explanation-content figure {
		max-width: 12.866333vw;
	}

}

@media screen and (max-width: 1079px) {

	.explanation-content {
		margin: 0 auto 9.267841vw;
	}
	.explanation-content .explanation-content-detail h3,
	.explanation-content .explanation-content-detail dl,
	.explanation-content .explanation-content-detail ul {
		margin-bottom: 15px;
		font-size: clamp(1.1rem, (100vw - 769px) * 5 / 310 + 11px, 1.6rem);
	}
	.explanation-content .explanation-content-detail .detail-box h3,
	.explanation-content .explanation-content-detail .detail-box ul {
		font-size: clamp(1rem, (100vw - 769px) * 5 / 310 + 10px, 1.5rem);
	}

}

@media screen and (max-width: 768px) {

	.explanation-content {
		max-width: 74.195854vw;
	}
	.explanation-content .explanation-content-detail {
		max-width: 55.253753vw;
	}
	.explanation-content figure {
		min-width: 100px;
	}

}
@media screen and (max-width: 599px) {

	.explanation-content {
		max-width: 95vw;
	}
	.explanation-content .explanation-content-detail .detail-box:first-child {
		margin-top: 0;
	}
	.explanation-content .explanation-content-detail {
		max-width: calc(100% - 120px);
	}
	.explanation-content figure {
		min-width: 100px;
	}

}

/*================================================

　quality

=================================================*/
.quality {
	max-width: 1400px;
	margin: 90px auto 0;
	padding: 0 135px;
}
.quality h2 {
	margin: 0 0 40px;
	text-align: center;
}
.quality-content {
	display: flex;
	justify-content: space-between;
	margin: 0;
	padding: 0;
}
.quality-content-detail {
	max-width: 551px;
	margin: 0;
	padding: 0;
}
.quality-content-detail h3 {
	padding-top: 60px;
	font-size: clamp(2.2rem, (100vw - 1080px) * 7 / 320 + 22px, 2.9rem);
	font-weight: 700;
	line-height: 1.4;
	background: url("../images/product/product_icon_01.svg") center top / 48px auto no-repeat;
}
.quality-content-detail p {
	margin-top: 30px;
	text-align: justify;
	font-size: clamp(1.4rem, (100vw - 1080px) * 5 / 320 + 14px, 1.9rem);
	line-height: 1.7;
}
.quality-content figure {
	max-width: 560px;
	margin: 0;
	padding: 0;
}

@media screen and (max-width: 1399px) {

	.quality {
		margin: 90px auto 0;
		padding: 0 9.64975vw;
	}
	.quality-content-detail {
		max-width: 39.385275vw;
	}
	.quality-content figure {
		max-width: 40.028592vw;
	}

}

@media screen and (max-width: 1079px) {

	.quality {
		margin: 8.341057vw auto 0;
	}
	.quality-content-detail h3 {
		padding-top: 5.560704vw;
		font-size: clamp(1.5rem, (100vw - 769px) * 7 / 310 + 15px, 2.2rem);
		background: url("../images/product/product_icon_01.svg") center top / 4.448663vw auto no-repeat;
	}
	.quality-content-detail p {
		margin-top: 2.31696vw;
		font-size: clamp(1.1rem, (100vw - 769px) * 3 / 310 + 11px, 1.4rem);
	}

}

@media screen and (max-width: 768px) {

	.quality {
		padding: 0 20px;
	}
	.quality h2 {
		margin: 0 0 5.208333vw;
	}
	.quality-content {
		flex-direction: column;
		align-items: center;
	}
	.quality-content-detail {
		max-width: 500px;
	}
	.quality-content figure {
		max-width: 500px;
		margin-bottom: 3.90625vw;
	}

}

/*================================================

　features

=================================================*/
.feature {
	margin-top: 100px;
}
.feature-wrap {
	margin: 0 auto;
	padding: 0 20px;
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
}
.feature-content {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	max-width: 1060px;
	margin: 0 auto;
	padding: 40px 0;
	border-left: 1px solid #000;
}
.feature-content h2 {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 290px;
	height: 298px;
	font-size: clamp(2.3rem, (100vw - 1080px) * 6 / 320 + 23px, 2.9rem);
	font-weight: 700;
	background-color: #E9E9E9;
}
.feature-content h2::before {
	content: '';
	position: absolute;
	top: 0;
	left: -50vw;
	width: 50vw;
	height: 100%;
	background-color: #E9E9E9;
	z-index: -1;
}
.feature-content .feature-content-detail {
	width: 100%;
	max-width: 740px;
}
.feature-content .feature-content-detail .detail-box {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: clamp(1.9rem, (100vw - 1080px) * 5 / 320 + 19px, 2.4rem);
	line-height: 1.5;
}
.feature-content .feature-content-detail .detail-box:nth-of-type(2) {
	margin-top: 15px;
	padding: 15px 45px;
	border: 1px solid #000;
}
.feature-content .feature-content-detail .detail-box .detail-box-text {
	font-size: clamp(2.2rem, (100vw - 1080px) * 5 / 320 + 22px, 2.7rem);
}
.feature-content .feature-content-detail .detail-box .detail-box-text p span {
	padding-left: 5px;
	font-size: clamp(1.8rem, (100vw - 1080px) * 4 / 320 + 18px, 2.2rem);
}
.feature-content .feature-content-detail .detail-box .detail-box-text p:nth-of-type(2) {
	font-size: clamp(1.4rem, (100vw - 1080px) * 3 / 320 + 14px, 1.7rem);
}
.feature-content .feature-content-detail .detail-box:nth-of-type(2) figure {
	max-width: 306px;
}
.feature-content .feature-content-detail .detail-box:last-child {
	margin-top: 20px;
	justify-content: space-around;
}
.feature-content .feature-content-detail .detail-box:last-child li figure {
	margin-top: 10px;
	text-align: center;
}

@media screen and (max-width: 1279px) {

	.feature-content .feature-content-detail {
		max-width: 720px;
	}

}

@media screen and (max-width: 1079px) {

	.feature-content {
		flex-direction: column;
		padding: 40px 0;
		border-left: 1px solid #000;
	}
	.feature-content h2 {
		width: 100%;
		height: auto;
		padding: 10px 0;
		margin-bottom: 30px;
		font-size: clamp(1.6rem, (100vw - 769px) * 7 / 310 + 16px, 2.3rem);
	}
	.feature-content .feature-content-detail {
		max-width: 840px;
		padding: 0 8.341057vw;
	}
	.feature-content .feature-content-detail .detail-box {
		font-size: clamp(1.3rem, (100vw - 769px) * 6 / 310 + 13px, 1.9rem);
	}
	.feature-content .feature-content-detail .detail-box:nth-of-type(2) {
		margin-top: 15px;
		padding: 15px 4.170528vw;
	}
	.feature-content .feature-content-detail .detail-box .detail-box-text {
		font-size: clamp(1.5rem, (100vw - 769px) * 7 / 310 + 15px, 2.2rem);
	}
	.feature-content .feature-content-detail .detail-box .detail-box-text p span {
		font-size: clamp(1.3rem, (100vw - 769px) * 5 / 310 + 13px, 1.8rem);
	}
	.feature-content .feature-content-detail .detail-box .detail-box-text p:nth-of-type(2) {
		font-size: clamp(1rem, (100vw - 769px) * 4 / 310 + 10px, 1.4rem);
	}

}

@media screen and (max-width: 768px) {

	.feature-wrap {
		padding: 0;
	}
	.feature-content {
		padding: 40px 0;
		border-left: none;
	}
	.feature-content .feature-content-detail {
		padding: 0 5.341057vw;
	}
	.feature-content .feature-content-detail .detail-box {
		font-size: 1.2rem;
	}
	.feature-content .feature-content-detail .detail-box .detail-box-text {
		font-size: 1.4rem;
		white-space: nowrap;
	}
	.feature-content .feature-content-detail .detail-box:first-child p,
	.feature-content .feature-content-detail .detail-box .detail-box-text p {
		margin-right: 10px;
	}
	.feature-content .feature-content-detail .detail-box:first-child figure {
		width: 38.671875vw;
	}
	.feature-content .feature-content-detail .detail-box:nth-of-type(2) figure {
		width: 39.84375vw;
	}
	.feature-content .feature-content-detail .detail-box:last-child li {
		padding: 0 10px;
		font-size: 1rem;
	}
	.feature-content .feature-content-detail .detail-box:last-child figure {
		width: 16.145833vw;
		margin: auto;
	}

}


/*================================================

　factory

=================================================*/
.factory {
	margin: 80px auto 0;
	padding: 0;
	text-align: center;
}
.factory-content {
	max-width: 1400px;
	margin: 30px auto 0;
	padding: 0 95px;
	text-align: center;
}
.factory-content h4 {
	margin: 0 auto;
	padding: 15px 0;
	color: #FFF;
	font-size: clamp(2.5rem, (100vw - 1080px) * 6 / 320 + 25px, 3.1rem);
	background-color: #000;
	border-radius: 10px;
}
.factory-content figure {
	display: flex;
	justify-content: space-between;
	margin: 40px auto 50px;
	padding: 0 80px;
}
.factory-content figure img {
	width: 515px;
}
.factory-content ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto 100px;
	padding: 0 100px;
}
.factory-content ul li:nth-of-type(1) { width: 238px; }
.factory-content ul li:nth-of-type(2) { width: 130px; }
.factory-content ul li:nth-of-type(3) { width: 298px; }

@media screen and (max-width: 1399px) {

	.factory-content {
		margin: 2.144389vw auto 0;
		padding: 0 6.790565vw;
	}
	.factory-content figure {
		margin: 2.859185vw auto 3.573981vw;
		padding: 0 5.71837vw;
	}
	.factory-content figure img {
		width: 36.812009vw;
	}
	.factory-content ul {
		margin: 0 auto 7.147963vw;
		padding: 0 7.147963vw;
	}
	.factory-content ul li:nth-of-type(1) { width: 17.012152vw; }
	.factory-content ul li:nth-of-type(2) { width: 9.292352vw; }
	.factory-content ul li:nth-of-type(3) { width: 21.300929vw; }

}

@media screen and (max-width: 1079px) {

	.factory h3 {
		width: 79.703429vw;
		margin: auto;
	}
	.factory-content h4 {
		padding: 1.390176vw 0;
		font-size: clamp(1.8rem, (100vw - 769px) * 7 / 310 + 18px, 2.5rem);
		border-radius: 10px;
	}

}

@media screen and (max-width: 768px) {

	.factory-content h4 {
		line-height: 1.3;
	}
	.factory-content figure {
		flex-direction: column;
	}
	.factory-content figure img {
		width: 100%;
	}
	.factory-content figure img:first-child {
		margin-bottom: 20px;
	}

}
