@charset "UTF-8";
/*************************************
*
* sslr
*
**************************************/

/* common */
.pc {
	display: none;

	@media screen and (min-width: 768px) {
		display: block;
	}
}

.sp {
	@media screen and (min-width: 768px) {
		display: none;
	}
}

.inner {
	margin-left: 10px;
	margin-right: 10px;

	@media screen and (min-width: 1024px) {
		margin-left: 20px;
		margin-right: 20px;
	}
}

.ttl_block {
	margin-bottom: 40px;
	margin-left: 15px;

	@media screen and (min-width: 768px) {
		margin-bottom: 110px;
		margin-left: 7.11%;
	}

	.sub {
		display: block;
		font-size: 9px;
		font-family: 'Roboto', "リュウミン R-KL", serif;
		letter-spacing: 0.4em;
		line-height: 1;
		margin-bottom: 10px;

		@media screen and (min-width: 768px) {
			margin-bottom: 20px;
		}

		@media screen and (min-width: 1024px) {
			font-size: 1vw;
		}

		@media screen and (min-width: 1366px) {
			font-size: 11px;
		}
	}

	h2 {
		font-size: 24px;
		letter-spacing: 0.1em;
		line-height: 1;

		@media screen and (min-width: 1024px) {
			font-size: 2vw;
		}

		@media screen and (min-width: 1366px) {
			font-size: 32px;
		}
	}

	&::after {
		content: "";
		display: block;
		width: 20px;
		height: 1px;
		background-color: #222;
		margin-top: 26px;

		@media screen and (min-width: 768px) {
			margin-top: 40px;
		}
	}
}


/* kv */
.kv {
	margin-bottom: 75px;

	@media screen and (min-width: 768px) {
		margin-bottom:130px;

		height: 100vh;
		background: url(../img/sslr_mv_pc.jpg) no-repeat bottom center;
		background-size: cover;
		position: relative;

		.kv_lead {
			position: absolute;
			left: 0;
			bottom: 3.95vw;
			width: 100%;
			text-align: center;
			font-size: 50px;

			img {
				width: 94.42%;
				display: block;
				margin: 0 auto;
			}
		}
	}
}


/* sslr_feature */
#sslr_feature {
	margin-bottom: 80px;
	
	.feature_items {
		.item {
			color: #fff;
			position: relative;
			margin-bottom: 10px;

			@media screen and (min-width: 1024px) {
				margin-bottom: 20px;
			}

			p {
				position: absolute;
			}

			.number {
				font-size: 9px;
				top: 15px;
				left: 15px;
				letter-spacing: 0.3em;
				display: flex;
				align-items: center;

				@media screen and (min-width: 768px) {
					top: 52px;
					left: 50px;
					letter-spacing: 0.6em;
				}

				@media screen and (min-width: 1024px) {
					font-size: 1vw;
				}

				@media screen and (min-width: 1366px) {
					font-size: 14px;
				}

				span {
					font-family: "リュウミン R-KL", serif;
					display: block;
					border-left: 1px solid #fff;
					margin-left: 12px;
					padding-left: 12px;
					line-height: 1;
				}
			}

			.lead {
				font-size: 15px;
				/* font-family: "リュウミン R-KL", serif; */
				font-weight: 500;
				right: 20px;
				bottom: 30px;
				width: 82%;
				letter-spacing: 0.1em;

				@media screen and (min-width: 768px) {
					font-size: 2.6vw;
					right: 6.93vw;
					bottom: 5.77vw;
					width: 73vw;
					line-height: 2.4;
				}

				@media screen and (min-width: 1024px) {
					font-size: 1.6vw;
					right: 7.62vw;
					bottom: 5.8vw;
					width: 51vw;
					line-height: 2;
				}
			}
		}

		.item04 {
			.lead {
				@media screen and (min-width: 768px) {
					font-size: 18px;
					line-height: 2;
				}
			}
			.big {

				font-size: 21px;
				display: block;
				margin-bottom: 16px;

				@media screen and (min-width: 768px) {
					font-size: 32px;
					margin-bottom: 40px;
				}

				.plus {
					margin-left: 10px;
					margin-right: 10px;
					
					@media screen and (min-width: 768px) {
						margin-left: 50px;
						margin-right: 50px;
					}
				}
			}
		}
	}

	.cooperation {
		text-align: right;
		font-size: 11px;
		letter-spacing: 0.3em;
	}
}

/* sslr_advantage */
#sslr_advantage {
	margin-bottom: 80px;

	.advantage_items {

		.item {
			margin-bottom: 10px;

			.txt {
				background-color: #303030;

				@media screen and (min-width: 1366px) {
					width: 50%;
				}

				dl {
					dt {
						color: #fff;
						margin-bottom: 25px;
						letter-spacing: 0.15em;

						@media screen and (min-width: 768px) {
							margin-bottom: 75px;
						}

						@media screen and (min-width: 1366px) {
							margin-bottom: 5vw;
						}

						.num {
							text-align: center;
							color: #a5a5a5;
							display: block;
							font-size: 20px;
							border-bottom: 1px solid #a5a5a5;
							width: fit-content;
							margin: 0 auto 20px;
							letter-spacing: 0;
							font-family: "リュウミン R-KL", serif;

							@media screen and (min-width: 768px) {
								font-size: 24px;
							}

							@media screen and (min-width: 1366px) {
								font-size: 1.76vw;
								margin: 0 auto 2.2vw;
							}
						}

						.ttl_main {
							margin-right: -0.2em;
							font-size: 22px;
							line-height: 1.2;
							display: block;

							@media screen and (min-width: 768px) {
								font-size: 28px;
							}

							@media screen and (min-width: 1366px) {
								font-size: 2.05vw;
							}
						}
					}

					dd {
						color: #f1f1f1;

						p {
							font-size: 13px;
							letter-spacing: 0.15em;
							line-height: 2.4;

							@media screen and (min-width: 768px) {
								font-size: 15px;
							}

							@media screen and (min-width: 1366px) {
								margin-bottom: 1.1vw;
							}
						}
					}
				}
			}

			.ph {
				overflow: hidden;
				text-align: center;

				@media screen and (min-width: 1366px) {
					width: 50%;
					flex: none;
				}
			}
		}

		.item01 {
			@media screen and (min-width: 1366px) {
				display: flex;
			}

			.txt {
				padding: 50px 35px 100px;

				@media screen and (min-width: 1366px) {
					padding: 4vw 4.95vw;
				}
			}
		}

		.item02 {
			@media screen and (min-width: 1366px) {
				display: flex;
				flex-direction: row-reverse;
			}

			.txt {
				@media screen and (min-width: 768px) {
					display: flex;
					flex-direction: column;
					justify-content: space-between;
				}

				dl {

					padding: 50px 35px 100px;

					@media screen and (min-width: 1366px) {
						padding: 4vw 4.95vw;
					}
				}

				.ttl_main {
					text-align: center;
				}

				.note {
					background-color: #4b4b4b;
					color: #fff;
					font-size: 10px;
					text-align: center;
					line-height: 1;
					padding: 15px 10px;
					letter-spacing: 0.1em;
					text-align: left;

					@media screen and (min-width: 768px) {
						font-size: 13px;
						padding: 20px 50px;
					}

					@media screen and (min-width: 1366px) {
						margin-top: auto;
					}
				}
			}
		}

	}

	.cooperation {
		text-align: right;
		font-size: 11px;
		letter-spacing: 0.3em;
	}
}


/* sslr_technology */
#sslr_technology {
	margin-bottom: 10px;

	@media screen and (min-width: 1024px) {
		margin-bottom: 20px;
	}

	.technology_items {
		border: 1px solid #DFDFDF;
		padding-left: 15px;

		overflow: hidden;

		@media screen and (min-width: 1024px) {
			padding-left: 38px;
			padding-right: 11px;
		}

		.technology_items_inner {
			border-left: 1px solid #DFDFDF;
			position: relative;

			&::before {
				content: "";
				width: 1px;
				height: 100%;
				background-color: #DFDFDF;
				position: absolute;
				left: -3px;
				top: 0;
			}
			
			@media screen and (min-width: 1024px) {
				border-right: 1px solid #DFDFDF;

				&::before {
					content: "";
					width: 1px;
					height: 100%;
					background-color: #DFDFDF;
					position: absolute;
					left: -6px;
					top: 0;
				}
			}

			&::after {
				content: "";
				display: block;
				width: 28px;
				height: 33px;
				background: url(../img/sslr_technology_02bottom_sp.png) no-repeat;
				background-size: contain;

				position: absolute;
				bottom: -1px;
				left: -16px;
			}

			@media screen and (min-width: 1024px) {
				&::after {
					content: "";
					display: block;
					width: 63px;
					height: 49px;
					background: url(../img/sslr_technology_02bottom_pc.png) no-repeat;
					background-size: contain;
	
					position: absolute;
					bottom: -1px;
					left: -42px;
				}
			}
		}

		.item_inner {
			max-width: 855px;
			margin: 0 auto;
		}

		.item {
			padding: 60px 26px 70px;
			position: relative;

			@media screen and (min-width: 768px) {
				padding: 110px 26px 110px;
			}

			@media screen and (min-width: 1024px) {
				&::after {
					content: "";
					display: block;
					width: 21px;
					height: 570px;
					background: url(../img/sslr_technology_right_pc.png) no-repeat;
					background-size: contain;

					position: absolute;
					bottom: 20px;
					right: -2px;
				}
			}
		}

		.item:not(:last-child) {
			border-bottom: 1px solid #DFDFDF;
		}

		.ttl {
			padding-left: 30px;
			padding-right: 10px;

			@media screen and (min-width: 768px) {
				display: flex;
				justify-content: space-between;
				align-items: center;
				margin-bottom: 120px;
			}

			h3 {
				font-size: 20px;
				margin-bottom: 24px;
				text-decoration: underline;

				@media screen and (min-width: 768px) {
					width: 50%;
					margin-bottom: 0;
					font-size: 22px;
				}

				@media screen and (min-width: 1024px) {
					font-size: 26px;
				}
			}

			.lead {
				margin-bottom: 40px;

				@media screen and (min-width: 768px) {
					width: 50%;
					margin-bottom: 0;
					font-size: 14px;
				}
			}
		}

		.ph_items {

			@media screen and (min-width: 768px) {
				display: flex;
				justify-content: space-between;
			}

			.ph:not(:last-child) {
				margin-bottom: 30px;

				@media screen and (min-width: 768px) {
					margin: 0 25px;
				}
			}
		}

		.item01 {
			&::before {
				content: "";
				display: block;
				width: 28px;
				height: 246px;
				background: url(../img/sslr_technology_01top_sp.png) no-repeat;
				background-size: contain;

				position: absolute;
				top: 0;
				left: -16px;
			}

			@media screen and (min-width: 1024px) {
				&::before {
					content: "";
					display: block;
					width: 63px;
					height: 270px;
					background: url(../img/sslr_technology_01top_pc.png) no-repeat;
					background-size: contain;
	
					position: absolute;
					top: 0;
					left: -42px;
				}
			}
		}

		.item02 {
			&::before {
				content: "";
				display: block;
				width: 28px;
				height: 280px;
				background: url(../img/sslr_technology_02top_sp.png) no-repeat;
				background-size: contain;

				position: absolute;
				top: -38px;
				left: -16px;
			}

			@media screen and (min-width: 1024px) {
				&::before {
					content: "";
					display: block;
					width: 63px;
					height: 319px;
					background: url(../img/sslr_technology_02top_pc.png) no-repeat;
					background-size: contain;
	
					position: absolute;
					top: -50px;
					left: -42px;
				}
			}
		}
	}
}


/* sslr_advantage */
#sslr_lineup {
	margin-bottom: 60px;

	.bg {
		background-color: #F6F6F6;
		border: 1px solid #EFEFEF;
		padding-top: 80px;
		padding: 80px 20px 70px;
	}

	.ttl {
		text-align: center;
		margin-bottom: 70px;

		@media screen and (min-width: 1024px) {
			margin-bottom: 95px;
		}

		.sub {
			display: block;
			font-size: 11px;
			font-family: 'Roboto', "リュウミン R-KL", serif;
			letter-spacing: 0.6em;
			line-height: 1;
			margin-bottom: 20px;

			@media screen and (min-width: 768px) {
				margin-bottom: 30px;
			}
		}
	
		h2 {
			font-size: 30px;
			letter-spacing: 0.2em;
			line-height: 1;

			@media screen and (min-width: 768px) {
				font-size: 32px;
			}

			@media screen and (min-width: 1024px) {
				font-size: 34px;
			}
		}
	}

	.lineup_items {

		max-width: 967px;
		margin: 0 auto;

		.item {
			margin-bottom: 70px;

			&:last-child {
				margin-bottom: 0;
			}

			.item_ttl {
				margin-bottom: 40px;
				padding-bottom: 25px;
				border-bottom: 1px solid #bbb;

				@media screen and (min-width: 768px) {
					display: flex;
					justify-content: space-between;
					align-items: flex-end;
				}

				h3 {
					font-size: 22px;
					font-weight: 200;
					line-height: 1;
					letter-spacing: 0.1em;

					.sub {
						font-size: 9px;
						margin-bottom: 15px;
						display: block;
						font-family: "リュウミン R-KL", serif;
						letter-spacing: 0.6em;
					}
				}

				.type {
					display: none;
					line-height: 1;

					@media screen and (min-width: 768px) {
						font-size: 9px;
						letter-spacing: 0.3em;
						display: flex;
						align-items: center;
		
						span {
							font-family: "リュウミン R-KL", serif;
							display: block;
							border-left: 1px solid #000;
							margin-left: 12px;
							padding-left: 12px;
							line-height: 1;
						}
					}
				}
			}

			.ph_items {

				@media screen and (min-width: 768px) {
					display: flex;
					justify-content: space-between;
				}

				.ph {
					@media screen and (min-width: 768px) {
						width: 49.02%;
					}
				}

				.ph:not(:last-child) {
					margin-bottom: 25px;

					@media screen and (min-width: 768px) {
						margin-bottom: 0;
					}
				}
			}

		}
	}

	.note {
		margin-top: 20px;
	}
}

.contact_block {

	.lead {
		text-align: center;
		font-size: 16px;
		font-weight: bold;
		letter-spacing: 0.2em;
		margin-bottom: 30px;

		@media screen and (min-width: 768px) {
			margin-bottom: 50px;
		}

		&::after {
			content: "";
			width: 86px;
			height: 17px;
			display: block;
			clip-path: polygon(100% 8%, 50% 100%, 0 8%, 0 0, 50% 92%, 100% 0);
			background-color: #000;
			background-size: 100% 100%;
			margin: 30px auto 0;
		}
	}

	.btn_pc_block {
		display: none;

		@media screen and (min-width: 768px) {
			display: block;
		}
	}

	.btn_sp_block {
		@media screen and (min-width: 768px) {
			display: none;
		}
	}

	.products_btmbtn {

		@media screen and (max-width: 767px) {
			display: flex;
			justify-content: space-between;
			flex-wrap: wrap;

			li {
				text-align:center;
				font-size:12px;
				width:46%;
				padding:0 2%;
				margin-bottom:10px;

				a {
					display: block;
					background-color: #004A76;
					color: #fff;
					text-align: center;
					border-radius: 2px;
					padding:8px 0;
					transition: all 0.8s ease;

					&:hover {
						text-decoration:none;
						transition: all 0.8s ease;
						opacity: 0.5;
					}
				}
			}
		}

		@media screen and (min-width: 768px) {
			display: flex;
			justify-content: space-between;

			li {
				width:24.8%
			}
		}

		a {
			background-image: none;
			padding-left: 0;
		}
		
	}
}

#product_article .floating_btn {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 10;
	box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.2);
	border-radius: 6px;
	width: 280px;
}

@media screen and (min-width: 768px) {
	#product_article .led_floating_btn {
		position: fixed;
		right: 20px;
		bottom: 20px;
		z-index: 10;
		box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.2);
		border-radius: 6px;
	}
}

@media screen and (min-width: 1023px), print {
	#product_article .led_floating_btn {
		position: fixed;
		right: 20px;
		bottom: 20px;
		z-index: 10;
		box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.2);
		border-radius: 6px;
	}
}
