@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');
@import url('./grid.css');

#matsukaze-led {
	position: relative;
	margin: 0 auto;
	padding: 0;
	line-height: 1.7 !important;
	letter-spacing: .05rem;
	font-size: 14px;
	font-family: 'Lato', 'Noto Sans JP', 'sans-serif';
	color: #333;
	background: #fff;
	word-break: break-word;
	text-rendering: optimizeSpeed;
}
#matsukaze-led * {
	font-family: 'Lato','Noto Sans JP','sans-serif';
}


#matsukaze-led .plpLink {
	position: sticky;
	bottom: 48px;
	left: 50%;
	width: fit-content;
	transform: translateX(-50%);
	opacity: 0;
	transition: .5s;
}
	#matsukaze-led .plpLink.start {
		opacity: 1;
	}

	#matsukaze-led .plpLink a {	
		display: block;
		color: #FFF;
		padding: 12px 80px;
		border-radius: 8px;
		background: #c7a957;
		transition: .3s;
	}
		#matsukaze-led .plpLink a:hover {	
			opacity: .8;
		}

/* KV */
#matsukaze-led .kv {
	margin: 0 auto 80px auto;
	max-width: 1169px;
}
	#matsukaze-led .kv > div {
		display: flex;
		flex-wrap: wrap;
	}
		#matsukaze-led .kv > div p {
			width: 50%;
		}
		#matsukaze-led .kv > div p img {
			width: 100%;
		}


#matsukaze-led .lp-title {
	padding-bottom: 45px
}

#matsukaze-led .lp-title-svg {
	height: 48px !important;
	width: auto;
}

#matsukaze-led .list-free-comment strong {
	font-weight: 700;
	color: #4f468a
}

#matsukaze-led .text-link {
	display: inline;
	text-decoration: none;
	padding-bottom: 2px;
	border-bottom: 1px solid #e1e1e1;
	transition: .25s ease-in-out
}

#matsukaze-led .merit {
	padding: 0 20px 100px
}

#matsukaze-led .merit .title {
	margin: 0 auto;
	max-width: 540px;
	padding-bottom: 80px
}

#matsukaze-led .merit .merits {
	margin: 0 auto;
	max-width: 1020px;
	padding-bottom: 80px
}

#matsukaze-led .merit .merit-item .circle {
	background: #4f468a;
	background: linear-gradient(135deg, #4f468a 15%, #69629c 85%);
	border-radius: 50%
}

#matsukaze-led .merit .other-merits {
	margin: 0 auto;
	max-width: 1020px
}

#matsukaze-led .merit .other-merits .d-flex {
	justify-content: center;
	align-items: center
}

#matsukaze-led .merit .other-merits .other-merits_title {
	padding: 28px 10px;
	justify-content: center;
	align-items: center;
	text-align: center;
	border: 1px solid #333;
	width: 56px;
	font-size: 18px;
	line-height: 24px
}

#matsukaze-led .merit .other-merits .other-merits_contents {
	justify-content: center;
	align-items: center
}

#matsukaze-led .merit .other-merits ul {
	padding: 0;
	margin: 0
}

#matsukaze-led .merit .other-merits ul li {
	list-style: none;
	font-size: 21px
}

#matsukaze-led .merit .other-merits ul li::before {
	content: "";
	background: url(../img/cate_icon-check.svg) no-repeat;
	display: inline-block;
	width: 28px;
	height: 28px;
	vertical-align: middle;
	margin-right: 10px
}

#matsukaze-led .about {
	max-width: 1020px;
	margin: 0 auto;
	padding: 0 20px 100px
}

#matsukaze-led .about .description {
	font-size: 20px;
	padding-bottom: 45px
}

#matsukaze-led .about .about-items {
	gap: 40px
}

#matsukaze-led .about .about-head {
	max-width: 490px;
	padding: 10px 0;
	justify-content: start;
	align-items: center;
	gap: 20px;
	background: #4f468a
}

#matsukaze-led .about .about-head .head {
	padding-left: 20px;
	font-size: 18px;
	color: #fff
}

#matsukaze-led .about .about-head .subhead {
	font-size: 16px;
	color: #fff
}

#matsukaze-led .about .about-item {
	max-width: 490px;
	border-left: 4px solid #4f468a;
	border-bottom: 4px solid #4f468a;
	border-right: 4px solid #4f468a;
	padding: 20px;
	min-height: 340px
}

#matsukaze-led .about .about-item .features-text {
	padding-right: 20px;
	width: 70%
}

#matsukaze-led .about .about-item .features-image {
	max-width: 160px
}

#matsukaze-led .about .about-item .cost-item {
	justify-content: start;
	align-items: center;
	gap: 15px;
	padding-bottom: 10px
}

#matsukaze-led .about .about-item .cost-subtitle {
	font-size: 16px;
	color: #4f468a;
	font-weight: 700
}

#matsukaze-led .about .about-item .cost-badge {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 14px;
	color: #4f468a;
	font-weight: 700;
	letter-spacing: 1.4px;
	padding: 6px 14px;
	background: #e5e3ed;
	border-radius: 50px;
	min-width: 81px
}

#matsukaze-led .about .about-item .cost-price {
	font-size: 40px;
	color: #4f468a;
	font-weight: 700;
	line-height: normal
}

#matsukaze-led .about .about-item .cost-price>span {
	font-size: 16px
}

#matsukaze-led .flow {
	max-width: 1020px;
	margin: 0 auto;
	padding: 0 20px 100px;
	position: relative
}

#matsukaze-led .flow .description {
	font-size: 20px;
	padding-bottom: 45px
}

#matsukaze-led .flow .flow-items {
	gap: 40px
}

#matsukaze-led .flow .flow-items .flow-item {
	flex-direction: column;
	flex: 1;
	max-width: 172px;
	align-items: center;
	gap: 12px
}

#matsukaze-led .flow .flow-items .flow-item .subtitle {
	font-size: 16px;
	color: #4f468a;
	font-weight: 700;
	text-align: center;
	line-height: 2.5rem
}

#matsukaze-led .flow .flow-line {
	margin: 0 auto;
	width: 90%;
	border-bottom: 10px solid #a7a3c5;
	position: absolute;
	content: "";
	top: 260px;
	left: 40px;
	z-index: -1
}

#matsukaze-led .reason {
	max-width: 1020px;
	margin: 0 auto;
	padding: 0 20px 100px
}

#matsukaze-led .reason .reason-items {
	flex: 1;
	gap: 40px
}

#matsukaze-led .reason .reason-items .reason-item {
	flex-direction: column;
	gap: 20px
}

#matsukaze-led .reason .reason-items .reason-item .head {
	font-size: 18px;
	color: #fff;
	background: #4f468a;
	text-align: center;
	justify-content: center;
	align-items: center;
	padding: 6px 10px
}

#matsukaze-led .reason .reason-items .reason-item .images {
	gap: 8px
}

#matsukaze-led .reason .reason-items .reason-item .images .image-left {
	flex: 2;
	text-align: center
}

#matsukaze-led .reason .reason-items .reason-item .images .annotation-left {
	flex: 1;
	word-wrap: break-word;
	min-width: 0;
	align-self: flex-end
}

#matsukaze-led .reason .reason-items .reason-item .images .image-right {
	flex: 1;
	text-align: center
}

#matsukaze-led .reason .reason-items .reason-item .images .annotation-right {
	flex: 1;
	word-wrap: break-word;
	min-width: 0;
	align-self: flex-end
}

#matsukaze-led .safety {
	max-width: 1020px;
	margin: 0 auto;
	padding: 0 20px 100px
}

#matsukaze-led .safety .description {
	font-size: 20px;
	padding-bottom: 45px
}

#matsukaze-led .safety .safety-items {
	gap: 40px;
}

#matsukaze-led .safety .safety-items .safety-item {
	flex: 1;
	flex-direction: column;
	gap: 20px;
}

#matsukaze-led .safety .safety-items .safety-item .head {
	font-size: 18px;
	color: #fff;
	background: #4f468a;
	text-align: center;
	justify-content: center;
	align-items: center;
	padding: 6px 10px
}

#matsukaze-led .safety .safety-items .safety-item .description {
	font-size: 14px;
	padding-bottom: 0;
}

#matsukaze-led .safety .safety-items .safety-item .image-seal {
	width: 60%;
	height: auto;
	margin: 0 auto;
}

#matsukaze-led .safety .safety-items .safety-item .image-light {
	width: 80%;
	height: auto;
	margin: 0 auto;
}

#matsukaze-led .products {
	max-width: 1020px;
	margin: 0 auto;
	padding: 0 20px 100px
}

#matsukaze-led .products .product-items {
	gap: 20px;
}

#matsukaze-led .products .product-items .product-item {
	flex: 1;
	flex-direction: column;
	gap: 10px;
}

#matsukaze-led .products .product-items .product-item .description {
	flex-grow: 1;
}

#matsukaze-led .products .product-items .product-item .head {
	font-size: 18px;
	color: #fff;
	background: #4f468a;
	text-align: center;
	justify-content: center;
	align-items: center;
	padding: 6px 10px
}

#matsukaze-led .seminar {
	max-width: 1020px;
	margin: 0 auto;
	padding: 0 20px 100px
}

#matsukaze-led .seminar .seminar-items {
	flex-direction: column;
	gap: 20px
}

#matsukaze-led .seminar .seminar-items .subtitle {
	font-size: 18px
}

#matsukaze-led .seminar .seminar-items .link::before {
	content: "";
	background: url(../img/cate_icon-arrow.svg) no-repeat;
	display: inline-block;
	width: 14px;
	height: 14px;
	vertical-align: middle;
	margin-bottom: 3px
}
#matsukaze-led .seminar .row > div {
	width: 50%;
	padding: 0 12px;
}
	#matsukaze-led .seminar .row > div img {
		width: 100%;
		height: auto;
	}

#matsukaze-led #youtube {
	max-width: 640px;
	margin: 0 auto;
	padding-top: 60px
}

#matsukaze-led #youtube .title {
	text-align: center;
	padding-bottom: 15px;
	font-size: 18px
}

#matsukaze-led #youtube .movie-youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%
}

#matsukaze-led #youtube .movie-youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%
}

@media screen and (max-width: 1199px){
	/*bootstrapを使用する場合。幅を1200pxとして
	左右に15pxずつpaddingをつけている為*/
}
@media screen and (max-width: 1169px){
	#matsukaze-led .flow .flow-items.d-flex {
		flex-direction: column;
		gap: 24px;
	}
	#matsukaze-led .flow .flow-items.d-flex .flow-item {
		flex-direction: row;
		max-width: unset;
		gap: 24px;
	}
	#matsukaze-led .flow .flow-items .flow-item .subtitle {
		text-align: unset;
	}

	#matsukaze-led .reason .reason-items .reason-item .images {
		flex-direction: column-reverse;
	}
}
	
@media screen and (max-width: 1024px){
	#matsukaze-led .products .product-items .product-item img {
		width: 100%;
		height: auto;
	}
	#matsukaze-led .plpLink {
		position: fixed;
	}
	#matsukaze-led .plpLink.stop {
		position: relative;
	}

}

@media (max-width: 767px){
	#matsukaze-led .kv {
		margin-bottom: 20px;
	}
	#matsukaze-led .merit,
	#matsukaze-led .about,
	#matsukaze-led .flow,
	#matsukaze-led .reason,
	#matsukaze-led .safety,
	#matsukaze-led .products {
		padding-bottom: 48px;
	}


	#matsukaze-led .merit .title {
		padding-bottom: 36px;
	}
	#matsukaze-led .lp-title {
		padding-bottom: 24px;
	}

	#matsukaze-led .merit .merits {
		padding-bottom: 36px;
	}


	#matsukaze-led .merit .other-merits .d-flex {
		flex-direction: column;
	}
	#matsukaze-led .merit .other-merits .other-merits_title {
		padding: 4px 16px;
		width: auto;
		font-size: 2.1rem;
		line-height: inherit;
	}
	#matsukaze-led .merit .other-merits ul li {
		font-size: 1.8rem;
		line-height: 3.8rem;
	}
	#matsukaze-led .merit .other-merits ul li::before {
		margin-right: 8px;
		width: 16px;
		height: 16px;
	}

	#matsukaze-led .lp-title-svg {
		height: 32px !important;
	}

	#matsukaze-led .flow .description {
		font-size: 2rem;
		padding-bottom: 24px;
	}

	#matsukaze-led .reason .reason-items {
		flex-direction: column;
	}
	#matsukaze-led .reason .reason-items .reason-item .head {
		font-size: 2rem;
	}


	#matsukaze-led .about .about-head {
		flex-direction: column;
		align-items: start;
		padding-left: 16px;
		max-width: 100%;
		gap: 0;
	}
	#matsukaze-led .about .about-head .head {
		padding-left: 0;
	}
	#matsukaze-led .about .description {
		font-size: 2rem;
		padding-bottom: 24px;
	}
	#matsukaze-led .about .about-items {
		flex-direction: column;
	}
	#matsukaze-led .about .about-item {
		flex-direction: column;
		padding: 12px;
		height: auto;
		min-width: 100%;
	}
	#matsukaze-led .about .about-item .features-text {
		padding-right: 0;
		width: auto;
	}
	#matsukaze-led .about .about-item .features-image {
		margin: 0 auto;
		padding-top: 12px;
		max-width: 220px;
	}
	#matsukaze-led .about .about-item img {
		width: 100%;
		height: auto;
	}
	#matsukaze-led .about .about-item .cost-item {
		gap: 8px;
		padding-bottom: 8px;
		padding-top: 8px;
	}

	#matsukaze-led .safety .safety-items .safety-item .head {
		font-size: 2rem;
	}
	#matsukaze-led .safety .description {
		font-size: 2rem;
	}
	#matsukaze-led .safety .safety-items {
		flex-direction: column;
	}

	#matsukaze-led .products .product-items {
		flex-direction: column;
	}
	#matsukaze-led .products .product-items .product-item .head {
		font-size: 2rem;
	}

	#matsukaze-led .seminar .row {
		flex-direction: column;
	}
	#matsukaze-led .seminar .seminar-items .subtitle {
		font-size: 2.4rem;
		text-align: center;
	}
	#matsukaze-led .seminar .row > div {
		width: auto;
		padding: 0;
	}
	#matsukaze-led .plpLink {
		width: 60%;
		text-align: center;
	}
		#matsukaze-led .plpLink a {
			padding: 8px 32px;
		}
}
