.environment {
	margin-top: clamp(100px, 10.4vw, 200px);
	width: 100%;
}

.environmentInner {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	max-width: 1920px;
	width: 100%;
	padding-left: clamp(16px, (16.7vw), 320px);
	padding-right: clamp(16px, (16.7vw), 320px);
}

@media (max-width: 767px) {
	.environmentInner {
		padding-left: 16px;
		padding-right: 16px;
	}
}

.environmentContainer {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-direction: row;
}

@media (max-width: 1024px) {
	.environmentContainer {
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
		flex-direction: column;
	}
}

.environmentBody {
	width: 50%;
	padding-right: clamp(0px, 5.2vw, 100px);
}

@media (max-width: 1024px) {
	.environmentBody {
		display: contents;
	}
}

.environmentBodyTtl {
	font-size: clamp(2.2rem, (2.3vw), 4.4rem);
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.01em;
}

@media (max-width: 1024px) {
	.environmentBodyTtl {
		order: 1;
	}

	.environmentBodyTtl br {
		display: none;
	}
}

.environmentBodyTxt {
	margin-top: clamp(42px, 3.1vw, 60px);
	font-size: clamp(1.4rem, (1vw), 1.8rem);
	font-weight: 500;
	line-height: 1.5;
}

@media (max-width: 1024px) {
	.environmentBodyTxt {
		order: 3;
	}
}

.environmentMedia {
	margin-top: 30px;
	width: 50%;
	display: flex;
	justify-content: flex-start;
	align-items: flex-end;
	flex-direction: column;
}

@media (max-width: 1024px) {
	.environmentMedia {
		width: 100%;
		order: 2;
	}
}

.environmentMediaImg.-first {
	width: 92.4764890282%;
	aspect-ratio: 590/400;
}

@media (max-width: 1024px) {
	.environmentMediaImg.-first {
		width: calc(100% - clamp(35px, 2.6vw, 50px));
		margin-right: auto;
		max-width: 550px;
	}
}

.environmentMediaImg.-second {
	margin-top: calc(-100% + 100% - clamp(24.5px, 1.8vw, 35px));
	margin-right: calc(-100% + 100% - clamp(35px, 2.6vw, 50px));
	width: 58.1504702194%;
	aspect-ratio: 371/250;
	position: relative;
	z-index: 1;
}

@media (max-width: 1024px) {
	.environmentMediaImg.-second {
		margin-right: 0;
	}
}

.environmentMore {
	margin-top: clamp(50px, 5.2vw, 100px);
	width: 100%;
}

.environmentMoreList {
	width: 100%;
	flex-wrap: wrap;
	row-gap: 30px;
	column-gap: clamp(16px, 3.1vw, 60px);
}

.environmentMoreList.-double {
	flex-wrap: wrap;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: row;
	width: 100%;
	row-gap: clamp(16px, 3.1vw, 60px);
	column-gap: clamp(16px, 3.1vw, 60px);
	align-items: stretch;
}

@media (max-width: 1250px) {
	.environmentMoreList.-double {
		flex-wrap: wrap;
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
		flex-direction: row;
		width: 100%;
		row-gap: clamp(27.5px, 2.9vw, 55px);
		column-gap: clamp(27.5px, 2.9vw, 55px);
		align-items: stretch;
	}
}

.environmentMoreList.-quad {
	flex-wrap: wrap;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-direction: row;
	width: 100%;
	row-gap: 0;
	column-gap: 0;
/*
	row-gap: clamp(16px, 1.4vw, 27px);
	column-gap: clamp(16px, 1.4vw, 27px);
*/
	align-items: stretch;
}

@media (max-width: 1250px) {
	.environmentMoreList.-quad {
		flex-wrap: wrap;
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
		flex-direction: row;
		width: 100%;
		row-gap: clamp(27.5px, 2.9vw, 55px);
		column-gap: clamp(27.5px, 2.9vw, 55px);
		align-items: stretch;
	}
}

.environmentMoreItem {
	background-color: #f2f3fa;
	border-radius: 10px;
	overflow: hidden;
}

.environmentMoreItem.-double {
	width: calc((100% - clamp(16px, 3.1vw, 60px) * 1) / 2);
}

@media (max-width: 1250px) {
	.environmentMoreItem.-double {
		width: calc((100% - clamp(27.5px, 2.9vw, 55px) * 1) / 2);
	}
}

.environmentMoreItem.-quad {
	width: calc((100% - clamp(16px, 3.1vw, 60px) * 3) / 4);
	width: 32%;
}

@media (max-width: 1250px) {
	.environmentMoreItem.-quad {
		width: calc((100% - clamp(27.5px, 2.9vw, 55px) * 1) / 2);
	}
}

@media (max-width: 767px) {
	.environmentMoreItem {
		width: 100%;
	}
}

.environmentMoreImg {
	width: 100%;
	aspect-ratio: 610/357;
}

.environmentMoreWrap {
	padding: clamp(16px, 1.5vw, 28px);
}

.environmentMoreTtl {
	font-size: clamp(1.6rem, (1vw), 2rem);
	font-weight: bold;
	line-height: 1.5;
	color: #00009b;
}

.environmentMoreTxt {
	margin-top: clamp(10.5px, 0.8vw, 15px);
	font-size: clamp(1.4rem, (0.8vw), 1.4rem);
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.01em;
}

.case {
	margin-top: clamp(100px, 10.4vw, 200px);
	padding-top: clamp(100px, 10.4vw, 200px);
	padding-bottom: clamp(100px, 10.4vw, 200px);
	width: 100%;
	background-color: #f2f3fa;
}

.caseInner {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	max-width: 1920px;
	width: 100%;
	padding-left: clamp(16px, (16.7vw), 320px);
	padding-right: clamp(16px, (16.7vw), 320px);
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-direction: column;
}

@media (max-width: 767px) {
	.caseInner {
		padding-left: 16px;
		padding-right: 16px;
	}
}

.caseHead {
	width: 100%;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-direction: column;
}

.caseHeadTtl {
	text-align: center;
}

.caseHeadTtl.-en {
	font-size: clamp(4.8rem, (4.2vw), 8rem);
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.02em;
	font-family: "Jost";
	color: #00009b;
}

.caseHeadTtl.-ja {
	margin-top: clamp(7px, 0.5vw, 10px);
	font-size: clamp(1.44rem, (0.9vw), 1.8rem);
	font-weight: bold;
	line-height: 1.4444444444;
	letter-spacing: 0.01em;
}

.caseBody {
	margin-top: clamp(50px, 5.2vw, 100px);
	width: 100%;
}

.caseBodyList {
	flex-wrap: wrap;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: row;
	width: 100%;
	row-gap: clamp(52.5px, 3.9vw, 75px);
	column-gap: clamp(27.5px, 2.9vw, 55px);
}

.caseBodyItem {
	width: calc((100% - clamp(27.5px, 2.9vw, 55px) * 2) / 3);
}

@media (max-width: 767px) {
	.caseBodyItem {
		width: calc((100% - clamp(27.5px, 2.9vw, 55px) * 1) / 2);
	}

	.caseBodyItem:not(.-show):nth-of-type(n + 3) {
		display: none;
	}
}

.caseBodyLink {
	width: 100%;
}

.caseBodyThumbnail {
	width: 100%;
	aspect-ratio: 393/276;
	object-fit: cover;
	border-radius: 10px;
}

.caseBodyTime {
	margin-top: clamp(12.6px, 0.9vw, 18px);
	display: block;
	font-size: clamp(1.3rem, (0.7vw), 1.4rem);
	font-weight: 500;
	line-height: 1;
}

.caseBodyTtl {
	margin-top: clamp(7px, 0.5vw, 10px);
	font-size: clamp(1.4rem, (1vw), 2rem);
	font-weight: bold;
	line-height: 1.5;
	color: #00009b;
}

.caseBodyTtl.-single {
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
}

.caseBodyTtl.-double {
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.caseBodyTtl.-simple {
	font-size: clamp(1.75rem, (1.3vw), 2.5rem);
	font-weight: 500;
	line-height: 1.5;
	color: #333333;
}

.caseTags {
	margin-top: clamp(7px, 0.5vw, 10px);
	width: 100%;
}

.caseTagsList {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: row;
	flex-wrap: wrap;
	column-gap: clamp(14px, 1vw, 20px);
	row-gap: clamp(5.6px, 0.4vw, 7px);
}

.caseTagsList.-single {
	overflow: hidden;
	max-height: 15px;
}

.caseTagsItem {
	font-size: clamp(1.2rem, (0.6vw), 1.2rem);
	font-weight: 500;
	line-height: 1;
}

.caseBtn {
	margin-top: clamp(28px, 2.1vw, 40px);
	position: relative;
	z-index: 1;
	font-size: clamp(1.26rem, (0.9vw), 1.8rem);
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: 0.008em;
	color: #00009b;
	background-color: white;
	border: 1px solid #00009b;
	border-radius: clamp(5.6px, 0.4vw, 8px);
	padding-top: clamp(18px, 1.6vw, 30px);
	padding-bottom: clamp(18px, 1.6vw, 30px);
	display: inline-flex;
	justify-content: center;
	align-items: center;
	flex-direction: row;
	column-gap: clamp(11.2px, 0.8vw, 16px);
	min-width: clamp(175px, 13vw, 250px);
	width: clamp(175px, 13vw, 250px);
	transition: all 0.1s ease;
}

.caseBtn::after {
	content: "";
	display: block;
	width: clamp(7px, 0.5vw, 10px);
	height: clamp(7px, 0.5vw, 10px);
	border-radius: 50%;
	background-color: #d40522;
	transition: all 0.1s ease;
}

.caseBtn:hover {
	opacity: 1;
	color: white;
	background-color: #00009b;
}

.caseBtn:hover::after {
	background-color: white;
}

.products {
	margin-top: clamp(100px, 10.4vw, 200px);
	width: 100%;
}

.productsInner {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	max-width: 1920px;
	width: 100%;
	padding-left: clamp(16px, (16.7vw), 320px);
	padding-right: clamp(16px, (16.7vw), 320px);
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-direction: column;
}

@media (max-width: 767px) {
	.productsInner {
		padding-left: 16px;
		padding-right: 16px;
	}
}

.productsHead {
	width: 100%;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-direction: column;
}

.productsHeadTtl {
	text-align: center;
}

.productsHeadTtl.-en {
	font-size: clamp(4.8rem, (4.2vw), 8rem);
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.02em;
	font-family: "Jost";
	color: #00009b;
}

.productsHeadTtl.-ja {
	margin-top: clamp(7px, 0.5vw, 10px);
	font-size: clamp(1.44rem, (0.9vw), 1.8rem);
	font-weight: bold;
	line-height: 1.4444444444;
	letter-spacing: 0.01em;
}

.productsBody {
	margin-top: clamp(36.4px, 2.7vw, 52px);
	width: 100%;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: row;
	column-gap: clamp(28px, 2.1vw, 40px);
	row-gap: clamp(56px, 4.2vw, 80px);
	flex-wrap: wrap;
}

.productsBodyContainer.-double {
	min-width: 100%;
	width: 100%;
}

.productsBodyContainer.-single {
	width: calc((100% - clamp(28px, 2.1vw, 40px)) / 2);
	min-width: calc((100% - clamp(28px, 2.1vw, 40px)) / 2);
}

@media (max-width: 1024px) {
	.productsBodyContainer.-single {
		min-width: 100%;
		width: 100%;
	}
}

.productsBodyContainer.-full {
	min-width: 100%;
	width: 100%;
}

.productsBodyTtl.-first {
	font-size: clamp(2.1rem, (1.6vw), 3rem);
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: 0.01em;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: row;
	column-gap: clamp(9.7px, 0.7vw, 14px);
	margin-bottom: clamp(19.5px, 1.5vw, 28px);
}

.productsBodyTtl.-first::before {
	margin-top: clamp(4.8px, 0.4vw, 7px);
	content: "";
	display: block;
	width: clamp(3.5px, 0.3vw, 5px);
	min-width: clamp(3.5px, 0.3vw, 5px);
	height: clamp(21px, 1.6vw, 30px);
	background-color: #00009b;
}

.productsBodyTtl.-second {
	font-size: clamp(1.95rem, (1.4vw), 2.8rem);
	font-weight: bold;
	line-height: 1.1428571429;
	letter-spacing: 0.01em;
}

.productsBodyList {
	flex-wrap: wrap;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: row;
	width: 100%;
	row-gap: clamp(21px, 1.6vw, 30px);
	column-gap: clamp(28px, 2.1vw, 40px);
	align-items: stretch;
}

.productsBodyItem {
	background-color: #f2f3fa;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-direction: row;
	column-gap: clamp(19.2px, 1.7vw, 32px);
	padding: clamp(16px, 1.5vw, 28px);
}

.productsBodyItem.-double {
	width: calc((100% - clamp(28px, 2.1vw, 40px) * 1) / 2);
}

@media (max-width: 1024px) {
	.productsBodyItem.-double {
		width: calc((100% - clamp(28px, 2.1vw, 40px) * 0) / 1);
	}
}

.productsBodyItem.-single {
	width: calc((100% - clamp(28px, 2.1vw, 40px) * 0) / 1);
}

.productsBodyItem.-full {
	width: calc((100% - clamp(28px, 2.1vw, 40px) * 0) / 1);
}

.productsBodyThumbnail {
	width: clamp(110px, 11.5vw, 220px);
	min-width: clamp(110px, 11.5vw, 220px);
	/*aspect-ratio: 220/265;*/
}

.productsBodyWrap {
	width: calc(100% - clamp(110px, 11.5vw, 220px));
	height: 100%;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: column;
}

.productsBodyModel {
	margin-top: clamp(7px, 0.5vw, 10px);
	font-size: clamp(1.26rem, (0.9vw), 1.8rem);
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.01em;
}

.productsBodyTxt {
	margin-top: clamp(14px, 1vw, 20px);
	font-size: clamp(1.3rem, (0.7vw), 1.4rem);
	font-weight: 500;
	line-height: 1.4285714286;
	padding-bottom: clamp(14px, 1vw, 20px);
}

.productsBodyLink {
	margin-top: auto;
	position: relative;
	z-index: 1;
	font-size: clamp(1.26rem, (0.9vw), 1.8rem);
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: 0.008em;
	color: #00009b;
	background-color: white;
	border: 1px solid #00009b;
	border-radius: clamp(5.6px, 0.4vw, 8px);
	padding-top: clamp(13.2px, 1.1vw, 22px);
	padding-bottom: clamp(13.2px, 1.1vw, 22px);
	display: inline-flex;
	justify-content: center;
	align-items: center;
	flex-direction: row;
	column-gap: clamp(11.2px, 0.8vw, 16px);
	width: 100%;
	max-width: clamp(155px, 16.3vw, 312px);
	transition: all 0.1s ease;
}

.productsBodyLink::after {
	content: "";
	display: block;
	width: clamp(7px, 0.5vw, 10px);
	height: clamp(7px, 0.5vw, 10px);
	border-radius: 50%;
	background-color: #d40522;
	transition: all 0.1s ease;
}

.productsBodyLink:hover {
	opacity: 1;
	color: white;
	background-color: #00009b;
}

.productsBodyLink:hover::after {
	background-color: white;
}

.flow {
	margin-top: clamp(100px, 10.4vw, 200px);
	width: 100%;
}

.flowInner {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	max-width: 1920px;
	width: 100%;
	padding-left: clamp(16px, (16.7vw), 320px);
	padding-right: clamp(16px, (16.7vw), 320px);
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-direction: column;
}

@media (max-width: 767px) {
	.flowInner {
		padding-left: 16px;
		padding-right: 16px;
	}
}

.flowHead {
	width: 100%;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-direction: column;
}

.flowHeadTtl {
	text-align: center;
}

.flowHeadTtl.-en {
	font-size: clamp(4.8rem, (4.2vw), 8rem);
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.02em;
	font-family: "Jost";
	color: #00009b;
}

.flowHeadTtl.-ja {
	margin-top: clamp(7px, 0.5vw, 10px);
	font-size: clamp(1.44rem, (0.9vw), 1.8rem);
	font-weight: bold;
	line-height: 1.4444444444;
	letter-spacing: 0.01em;
}

.flowBody {
	margin-top: clamp(38.5px, 2.9vw, 55px);
	width: 100%;
}

.flowBodyList {
	width: 100%;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: column;
}

.flowBodyItem {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: row;
	column-gap: clamp(30px, 4.2vw, 80px);
	position: relative;
}

.flowBodyItem:not(:last-of-type) {
	padding-bottom: clamp(49px, 3.6vw, 70px);
}

.flowDots {
	position: absolute;
	bottom: 0;
	left: calc(clamp(85px, 8.9vw, 170px) / 2);
	transform: translate(-50%, 100%);
	width: 6px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	row-gap: 10px;
}

.flowDots.-skip {
	display: none;
}

.flowDots span {
	display: inline-block;
	width: 6px;
	min-width: 6px;
	height: 6px;
	min-height: 6px;
	border-radius: 50%;
	background-color: #aaaaaa;
}

@media (max-width: 767px) {
	.flowDots span {
		scale: 0.7;
	}
}

.flowBodyIcon {
	width: clamp(85px, 8.9vw, 170px);
	min-width: clamp(85px, 8.9vw, 170px);
	height: clamp(85px, 8.9vw, 170px);
	position: relative;
	z-index: 1;
	border-radius: 50%;
	background-color: white;
}

.flowBodyIcon::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	border: clamp(5px, 0.5vw, 10px) solid #feeb05;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
}

.flowBodyImg {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: -1;
	width: 60%;
	height: 60%;
	object-fit: contain;
}

.flowBodyDetail {
	margin-top: clamp(19.5px, 1.5vw, 28px);
}

.flowBodyWrap {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: row;
	column-gap: clamp(10px, 1.6vw, 30px);
}

.flowBodyNum {
	margin-top: clamp(1px, 0.3vw, 5px);
	font-size: clamp(1.75rem, (1.8vw), 3.5rem);
	font-weight: 600;
	line-height: 1.1428571429;
	font-family: "Jost";
	letter-spacing: 0.02em;
	border-bottom: 2px solid #feeb05;
}

.flowBodyTtl {
	font-size: clamp(1.75rem, (1.8vw), 3.5rem);
	font-weight: bold;
	line-height: 1.1428571429;
}

.flowBodyTxt {
	margin-top: clamp(12px, 1vw, 20px);
	font-size: clamp(1.44rem, (0.9vw), 1.8rem);
	font-weight: 500;
	line-height: 1.6666666667;
	letter-spacing: 0.01em;
}