@charset "UTF-8";

.mainvisual-wrap {
}
.mainvisual-wrap .slide-box li {
    width: 100%;
}

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

	.mainvisual-wrap {
		height: 133.733333vw;
	}

}

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

　concept

=================================================*/
.concept {
	margin-top: 70px;
	margin-bottom: 100px;
}
.concept-content {
	border-bottom: 4px solid #808080;
}
.concept-content h3 {
	margin-bottom: 45px;
	text-align: center;
}
.series-content-detail {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	max-width: 1400px;
	margin: auto;
	padding: 0 50px;
}
.series-content-detail-text {
	width: 730px;
	font-size: clamp(1.25rem, (100vw - 1080px) * 3.5 / 320 + 12.5px, 1.6rem);
	line-height: 1.8;
}
.series-content-detail-img {
	margin-left: calc(50% - 50vw);
	width: calc(50vw - 110px);
}
.concept-content > figure {
	margin-top: 20px;
	text-align: center;
}
.concept-content strong {
	padding: 0 0.1em;
	font-weight: normal;
	background: linear-gradient(transparent 55%, #BAE2F8 55%);
}

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

	.series-content-detail-text {
		width: 52.180129vw;
	}
	.series-content-detail-img {
		width: calc(50vw - 7.862759vw);
	}
	.concept-content > figure {
		margin-top: 20px;
		text-align: center;
	}

}

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

	.concept {
		margin-top: 6.487488vw;
		margin-bottom: 9.267841vw;
	}
	.concept-content {
		border-bottom: 4px solid #808080;
	}
	.concept-content h3 {
		margin-bottom: 4.170528vw;
		padding: 0 20px;
	}
	.series-content-detail {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		align-items: center;
		padding: 0 20px;
	}
	.series-content-detail-text {
		width: auto;
		max-width: 700px;
		margin-top: 30px;
		font-size: 1.4rem;
		line-height: 1.8;
	}
	.series-content-detail-img {
		margin-left: auto;
		width: 100%;
	}
	.series-content-detail-img figure {
		width: auto;
		max-width: 700px;
		margin: auto;
	}
	.concept-content > figure {
		margin-top: 20px;
		text-align: center;
	}
	.concept-content > figure img {
		max-width: 700px;
	}

}

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

	.concept-content h3 {
		margin-bottom: 4.170528vw;
		padding: 0 20px;
	}
	.series-content-detail {
		padding: 0 20px;
	}
	.series-content-detail-text {
		max-width: 700px;
		margin-top: 30px;
		font-size: 1.4rem;
	}
	.concept-content > figure {
		margin-top: 20px;
		text-align: center;
	}
	.concept-content > figure img {
		max-width: 91.145833vw;
	}

}

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

　product

=================================================*/
.product {
	margin: 0 auto 30px;
	padding-bottom: 55px;
	background: url("../images/common/arrow.svg") center bottom / 36px 31px no-repeat;
}
.product-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-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-content-header img {
	width: 750px;
}
.product-content-point {
	position: relative;
}
.product-content-point ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	max-width: 1220px;
	margin: auto;
	padding: 0 0;
}
.product-content-point ul li {
	width: 48.770492%;
	margin: 30px 0 0;
	padding: 0;
}
.product-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-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-content-point ul li h3 span {
	margin-left: -0.4em;
}
.product-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 {
		margin: 0 auto 2.144389vw;
		padding-bottom: 55px;
		background: url("../images/common/arrow.svg") center bottom / 36px 31px no-repeat;
	}
	.product-content {
		padding-bottom: 3.216583vw;
		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-content-header {
		background-size:
			20.228735vw auto, 20.228735vw auto;
	}
	.product-content-header img {
		width: 53.609721vw;
	}
	.product-content-point {
		position: relative;
	}
	.product-content-point ul {
		padding: 0 40px;
	}
	.product-content-point ul li {
		margin: 2.144389vw 0 0;
	}

}

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

	.product-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-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-content-point ul li p {
		font-size: clamp(1.1rem, (100vw - 769px) * 5 / 310 + 11px, 1.6rem);
	}

}

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

	.product-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-content-header img {
		width: 412px;
	}
	.product-content-point ul {
		display: block;
		max-width: 540px;
		margin: auto;
		padding: 0 40px;
	}
	.product-content-point ul li {
		width: 100%;
		margin: 30px 0 0;
		padding: 0;
	}
	.product-content-point ul li h3 {
		height: 30px;
		padding-left: 40px;
	}
	.product-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;
	background: url("../images/common/arrow.svg") center bottom / 36px 31px no-repeat;
}
.voice-content {
	max-width: 1136px;
	margin: 0 auto;
	padding: 0 0 30px;
	border-bottom: 40px solid #E9E9E9;
}
.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;
		border-bottom: 5.208333vw solid #E9E9E9;
	}
	.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;
	}

}


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

　bnavi

=================================================*/
.bnavi-banner {
	margin-bottom: 80px;
}
.bnavi-banner p {
	position: relative;
	max-width: 625px;
	margin: auto;
	padding: 0;
}
.bnavi-banner p::after {
	content: "";
	position: absolute;
	top: -30px;
	right: -32px;
	width: 44px;
	height: 46px;
	background: url("../images/top/bnavi_banner_img_01.svg") center top / 44px auto no-repeat;
}
.bnavi-banner a {
	display: block;
	position: relative;
	padding: 20px 0;
	text-align: center;
	font-size: clamp(1.8rem, (100vw - 1080px) * 4 / 320 + 18px, 3rem);
	font-weight: 700;
	border: 0.5px solid #000;
}
.bnavi-banner a::before,
.bnavi-banner a::after {
	content: "";
	position: absolute;
	top: -1px;
	right: 115px;
	width: 90px;
	height: 1px;
	background-color: #FFF;
}
.bnavi-banner a::after {
	top: auto;
	right: auto;
	left: 50px;
	bottom: -1px;
	width: 200px;
}

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

	.bnavi-banner {
		margin-bottom: 10.416667vw;
	}
	.bnavi-banner p {
		max-width: 81.380208vw;
	}
	.bnavi-banner p::after {
		top: -3.90625vw;
		right: -4.166667vw;
		width: 5.729167vw;
		height: 5.989583vw;
		background: url("../images/top/bnavi_banner_img_01.svg") center top / 5.729167vw auto no-repeat;
	}
	.bnavi-banner a {
		padding: 2.604167vw 0;
	}
	.bnavi-banner a::before,
	.bnavi-banner a::after {
		right: 14.973958vw;
		width: 11.71875vw;
	}
	.bnavi-banner a::after {
		left: 6.510417vw;
		width: 26.041667vw;
	}

}

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

　news

=================================================*/
.news {
	margin-top: 80px;
}
.news-wrap {
	margin: 0 auto;
	padding: 0;
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
}
.news-content {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 1000px;
	margin: 0 auto;
	padding: 50px 0;
	border-left: 1px solid #000;
}
.news-content h2 {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 295px;
	background-color: #E9E9E9;
}
.news-content h2::before {
	content: '';
	position: absolute;
	top: 0;
	left: -50vw;
	width: 50vw;
	height: 100%;
	background-color: #E9E9E9;
	z-index: -1;
}

.news-content ul {
	overflow: hidden scroll;
	width: calc(100% - 295px);
	height: 295px;
	margin: 0 auto;
	padding-left: 40px;
	text-align: left;
}
.news-content ul li {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 40px;
	padding: 0;
	font-size: clamp(1.4rem, (100vw - 1080px) * 2 / 320 + 14px, 1.6rem);
	font-weight: 700;
	line-height: 1.4;
}
.news-content ul li p {
	width: 100%;
	text-align: left;
}

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

	.news-content {
		padding-right: 30px;
	}

}

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

	.news {
		margin-top: 10.416667vw;
	}
	.news-content {
		flex-direction: column;
		justify-content: space-between;
		padding: 50px 0;
		border-left: none;
	}
	.news-content h2 {
		width: 100%;
		padding: 20px;
	}
	.news-content h2::before {
		display: none;
	}
	.news-content ul {
		width: 100%;
		height: 295px;
		padding: 20px;
	}
	.news-content ul li {
		margin-bottom: 20px;
	}

}
