@charset "utf-8";
/*------------------------------------------------------------
	lp
------------------------------------------------------------*/
.loading {
	display: none !important;
}
#main {
	overflow: hidden;
}
#main .mainVisual {
	margin-bottom: -135px;
	height: 100svh;
	position: relative;
}
#main .mainVisual picture {
	display: block;
	width: 100%;
	height: 100%;
}
#main .mainVisual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#main .infinite {
	position: relative;
	z-index: 10;
}
#main .infinite01 {
	margin: 0 0 175px;
}
#main .enTtl {
	color: #c3d4c5;
	font-weight: 300;
	font-size: 13rem;
	letter-spacing: -0.02em;
	white-space: nowrap;
	line-height: 1.3;
}
#main .headLine05 {
	margin-bottom: 68px;
	padding-bottom: 0;
	border-bottom: none;
}
#main .headLine05 .jp {
	color: #000;
	font-size: 1.6rem;
}
#main .headLine05 .en {
	margin-bottom: 20px;
	color: #2c2c2c;
	font-size: 5.6rem;
	letter-spacing: 0.02em;
	font-family: 'Open Sans', 'Noto Sans JP', sans-serif;
	line-height: 1.2;
}
#main .headLine05 .en:last-child {
	margin-bottom: 0;
}
#main .story {
	margin-bottom: 162px;
	position: relative;
	z-index: 1;
}
#main .story .comBox {
	max-width: 850px;
}
#main .story .txtList li {
	color: #333;
	font-size: 1.2rem;
	letter-spacing: 0.04em;
	line-height: 2.2;
	font-family: 'Roboto', 'Noto Sans JP', sans-serif;
}
#main .story .txtList li:first-child {
	flex: 1;
}
#main .story .txtList li:nth-child(2) {
	margin-left: 5%;
	width: 47%;
}
#main .story .txtList .en {
	font-size: 1.1rem;
	line-height: 2;
}
#main .story .txtList li p a {
	border-bottom: 1px solid #222;
}
#main .story .txtList li p a:hover {
	opacity: 0.5;
}
#main .storyBg {
	position: relative;
	z-index: 1;
}
#main .storyBg .bg {
	position: absolute;
	z-index: -1;
	left: 0;
	top: 140px;
	width: 100%;
	height: calc(100% - 280px);
	background: #c3d4c5;
	content: "";
}
#main .storyBg .bgBox {
	position: relative;
}
#main .storyBg .bgBox .photo {
	position: relative;
}
#main .storyBg .bgBox img, #main .storyBg .bgBox video, #main .storyBg .bgBox iframe {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
#main .storyBg .bgBox .photo01 {
	margin: 0 0 130px 7.75%;
	aspect-ratio: 126/70;
}
#main .storyBg .bgBox .phoList {
	margin-bottom: 130px;
	align-items: flex-start;
}
#main .storyBg .bgBox .phoList li {
	position: relative;
}
#main .storyBg .bgBox .phoList li:first-child {
	width: 50.5%;
	aspect-ratio: 690/549;
}
#main .storyBg .bgBox .phoList li:last-child {
	width: 30.9%;
	margin: 6.75% 0 0 10.4%;
	aspect-ratio: 422/580;
}
#main .storyBg .bgBox .photo02 {
	margin: 0 auto;
	width: 73.2%;
	aspect-ratio: 100/61;
}
#main .storyBg + .commit {
	margin-top: -140px;
}
#main .commit .bgBox {
	padding: 325px 0 196px;
	position: relative;
}
#main .commit .bgBox .bg {
	position: absolute;
	left: 0;
	top: 0;
	width: calc(50% - 301px);
	height: 100%;
	background: #c3d4c5;
}
#main .commit .bgBox .comBox {
	position: relative;
	z-index: 1;
}
#main .commit .txtBox .headLine05 {
	margin: 0 50px 0 -7px;
	width: 51%;
	text-align: left;
}
#main .commit .txtBox .headLine05 .en {
	font-size: 6rem;
	line-height: 1.2;
}
#main .commit .txtBox .rBox {
	margin: 15px 0% 0 0;
	flex: 1;
}
#main .commit .txtBox .rBox > div {
	margin-bottom: 33px;
}
#main .commit .txtBox .rBox > div:last-child {
	margin-bottom: 0 !important;
}
#main .commit .txtBox .rBox p {
	color: #333;
	font-size: 1.2rem;
	line-height: 2.16;
	letter-spacing: 0.06em;
	font-family: 'Roboto', 'Noto Sans JP', sans-serif;
}
#main .commit .txtBox .rBox p a {
	border-bottom: 1px solid #222;
}
#main .commit .txtBox .rBox p a:hover {
	opacity: 0.5;
}
#main .commit .txtBox .rBox .en p {
	font-size: 1.1rem;
	line-height: 2;
	letter-spacing: 0.04em;
}
#main .commit .photo {
	margin-top: 101px;
}
#main .commit .photo img {
	width: 100%;
}
#main .storyBg + .commitSlide {
	margin-top: 100px;
}
#main .commitSlide {
	margin-bottom: 100px;
}
#main .commitSlide .phoUl {
	margin-bottom: -1px;
	flex-wrap: nowrap;
}
#main .commitSlide .phoUl li {
	height: 31vw;
	flex-shrink: 0;
}
#main .commitSlide .phoUl li span {
	display: block;
	height: 100%;
}
#main .commitSlide .phoUl img {
	max-width: 100%;
	width: auto;
	height: 100%;
	object-fit: cover;
}
#main .commit + .commit .bgBox {
	padding-top: 0;
}
#main .midPhoto {
	margin-bottom: 100px;
}
#main .storyBg + .midPhoto {
	margin-top: 100px;
}
#main .midPhoto img, #main .midPhoto video, #main .midPhoto iframe {
	width: 100%;
	height: auto;
	display: block;
}
#main .midPhoto iframe {
	height: 56.2vw;
}
#main .product {
	margin: 100px 0 126px;
}
#main .product .headLine05 {
	margin-bottom: 90px;
}
#main .product .headLine05 .en {
	margin-bottom: 18px;
}
#main .product .imgSec a:hover {
	opacity: 0.7;
}
#main .product .imgBox .phoBox {
	width: 50%;
}
#main .product .imgBox .phoBox img {
	width: 100%;
}
#main .product .imgBox .txtBox {
	margin: 0 20px 0 82px;
	width: 470px;
	display: flex;
	align-items: center;
}
#main .product .imgBox .txtBox .subtitle,#main .fabric .imgBox .txtBox .subtitle {
	margin-bottom: 40px;
	font-weight: 400;
	font-size: 1.6rem;
	line-height: 1.5;
	letter-spacing: 0.04em;
	color: #000;
}
#main .product .imgBox .txtBox h3 {
	display: block;
	font-size: 4rem;
	line-height: 1.2;
	margin-bottom: 10px;
	font-weight: 400;
	letter-spacing: 0.02em;
	font-family: 'Open Sans', 'Noto Sans JP', sans-serif;
}
#main .product .imgBox .txtBox .number,#main .fabric .imgBox .txtBox .number {
	margin-bottom: 20px;
	display: block;
	font-size: 1.4rem;
	letter-spacing: 0.02em;
	/*color: #5f8163;*/
	line-height: 1;
}
#main .product .imgBox .txtBox p {
	font-size: 1.23rem;
	letter-spacing: 0.04em;
	line-height: 2.16;
	color: #000;
}
#main .product .imgBox .txtBox .subBox p a {
	border-bottom: 1px solid #222;
}
#main .product .imgBox .txtBox .subBox p a:hover {
	opacity: 0.5;
}
#main .product .imgBox:nth-child(2n) a {
	flex-direction: row-reverse;
}
#main .product .imgBox:nth-child(2n) .txtBox {
	margin-left: 20px;
	margin-right: 30px;
}
#main .infinite02 {
	margin-bottom: -80px;
}
#main .fabric {
	margin: 168px 0 180px;
}
#main .fabric .comBox {
	max-width: 1114px;
}
#main .fabric .headLine05 {
	margin-bottom: 80px;
	text-align: left;
}
#main .fabric .headLine05 .en {
	margin-bottom: 11px;
	font-size: 7.2rem;
}
#main .fabric .imgBox {
	margin-left: auto;
	width: calc(50% + 557px);
	justify-content: flex-end;
}
#main .fabric .imgBox .subBox:not(:last-child) {
	margin-bottom: 75px;
}
#main .fabric .imgBox .lBox {
	margin-right: 125px;
	flex: 1;
}
#main .fabric .imgBox .phoBox {
	margin-right: 50px;
	width: 469px;
}
#main .fabric .imgBox .phoBox img {
	width: 100%;
}
#main .fabric .imgBox .imgList li {
	margin: 24px 8px 0 0;
	width: 151px;
}
#main .fabric .imgBox .imgList img {
	width: 100%;
}
#main .fabric .imgBox .txtBox {
	margin-top: -8px;
	flex: 1;
	max-width: 415px;
}
#main .fabric .imgBox .txtBox h3 {
	margin-bottom: 28px;
	font-size: 2.8rem;
	letter-spacing: 0.02em;
	line-height: 1.3;
	color: #2c2c2c;
	font-weight: 400;
	font-family: 'Open Sans', 'Noto Sans JP', sans-serif;
}
#main .fabric .imgBox .txtBox h3 + .subtitle {
	margin-top: -10px;
}
#main .fabric .imgBox .txtBox p {
	font-size: 1.23rem;
	letter-spacing: 0.04em;
	line-height: 2.16;
	color: #333;
}
#main .fabric .imgBox .txtBox p a {
	border-bottom: 1px solid #222;
}
#main .fabric .imgBox .txtBox p a:hover {
	opacity: 0.5;
}
#main .fabric .imgBox .rBox {
	width: 14.5%;
}
#main .fabric .imgBox .rBox img {
	width: 100%;
}
#main .gallery {
	margin: 90px 0 70px;
}
#main .gallery .headLine05 .jp {
	font-size: 1.5rem;
	letter-spacing: 0.1em;
}
#main .gallery .headLine05 .en {
	margin-bottom: 15px;
	color: #2c2c2c;
	font-size: 4.2rem;
	letter-spacing: 0.02em;
}
#main .gallery .phoUl li {
	width: 19.9vw;
}
#main .gallery .phoUl .pho {
	display: block;
	aspect-ratio: 1/1;
}
#main .gallery .phoUl img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#main .gallery .phoUl a:hover {
	opacity: 0.7;
}
#main {
	margin-bottom: 130px;
}
#main .bgWhite > section:last-child,#main .bgWhite > div:last-child {
	margin-bottom: 0 !important;
}
@media screen and (max-width: 1300px) {
	#main .fabric .imgBox .lBox {
		margin-right: 8%;
	}
}
@media screen and (max-width: 1140px) {
	#main .fabric .imgBox {
		margin-left: 20px;
	}
}
@media screen and (max-width: 1120px) {
	#main .product .imgBox .txtBox {
		width: auto;
		flex: 1;
	}
}
@media screen and (min-width: 1000px) {
	#gFooter {
		padding-top: 88px;
		border-top: 1px solid #d1d1d1;
	}
	#main .topBox .comBtn a:hover {
		opacity: 0.7;
	}
	#main .product .imgBox.textTop:not(:last-child) {
		margin-bottom: 75px;
	}
}
@media screen and (max-width: 999px) {
	#main .mainVisual {
		margin-bottom: -150px;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	#main .mainVisual picture {
		height: auto;
	}
	#main .mainVisual img {
		object-fit: inherit;
		height: auto;
		object-position: center center;
	}
	#main .infinite01 {
		margin: 0 0 100px;
		padding-top: 80px;
	}
	#main .enTtl {
		font-size: 6.8rem;
	}
	#main .headLine05 {
		margin: 0 5px 50px;
		padding: 0;
	}
	#main .headLine05 .jp {
		font-size: 1.3rem;
	}
	#main .headLine05 .en {
		margin-bottom: 12px;
		font-size: 3.2rem;
		line-height: 1.2;
	}
	#main .story {
		margin-bottom: 110px;
	}
	#main .story .comBox {
		margin: 0 5px;
		max-width: inherit;
	}
	#main .story .txtList {
		display: block;
	}
	#main .story .txtList li {
		line-height: 1.83;
	}
	#main .story .txtList li:nth-child(2) {
		margin: 22px 0 0;
		width: auto;
	}
	#main .story .txtList .en {
		font-size: 1rem;
	}
	#main .storyBg .bg {
		top: 80px;
		height: calc(100% - 160px);
	}
	#main .storyBg .bgBox .photo01 {
		margin: 0 0 50px 7.9%;
		aspect-ratio: 345/500;
	}
	#main .storyBg .bgBox .phoList {
		margin-bottom: 50px;
		display: block;
	}
	#main .storyBg .bgBox .phoList li:first-child {
		width: auto;
		margin-right: 13%;
		aspect-ratio: 326/220;
	}
	#main .storyBg .bgBox .phoList li:last-child {
		width: auto;
		margin: 50px 8% 0 40.8%;
		aspect-ratio: 192/264;
	}
	#main .storyBg .bgBox .photo02 {
		margin: 0;
		width: 92%;
		aspect-ratio: 345/345;
	}
	#main .storyBg + .commit {
		margin-top: -80px;
	}
	#main .commit .bgBox {
		padding: 210px 0 110px;
	}
	#main .commit .bgBox .bg {
		width: 26.7%;
	}
	#main .commit .bgBox .comBox {
		margin: 0 5px;
	}
	#main .commit .txtBox {
		display: block;
	}
	#main .commit .txtBox .headLine05 {
		margin: 0 0 50px;
		width: auto;
	}
	#main .commit .txtBox .headLine05 .en {
		font-size: 3.2rem;
		line-height: 1.1;
	}
	#main .commit .txtBox .rBox {
		margin: 0;
		flex: 1;
	}
	#main .commit .txtBox .rBox > div {
		margin-bottom: 23px;
	}
	#main .commit .txtBox .rBox p {
		line-height: 1.83;
	}
	#main .commit .txtBox .rBox .en p {
		font-size: 1rem;
	}
	#main .commit .photo {
		margin-top: 55px;
	}
	#main .commitSlide .phoUl li {
		height: 52vw;
	}
	#main .commitSlide {
		margin-bottom: 90px;
	}
	#main .storyBg + .commitSlide {
		margin-top: 90px;
	}
	#main .midPhoto {
		margin-bottom: 96px;
	}
	#main .storyBg + .midPhoto {
		margin-top: 96px;
	}
	#main .product {
		margin: 96px 0 96px;
	}
	#main .product .headLine05 {
		margin-bottom: 50px;
	}
	#main .product .headLine05 .en {
		margin-bottom: 15px;
		line-height: 1.05;
	}
	#main .product .imgBox:not(:last-child) {
		margin-bottom: 75px;
	}
	#main .product .imgBox .phoBox {
		width: 100%;
		order: 0;
	}
	#main .product .imgBox .txtBox {
		margin: 27px 20px 0 !important;
		width: auto;
		display: block;
		order: 1;
	}
	#main .product .imgBox .txtBox .subtitle,#main .fabric .imgBox .txtBox .subtitle {
		margin-bottom: 16px;
		font-size: 1.3rem;
	}
	#main .product .imgBox .txtBox h3 {
		margin-bottom: 4px;
		font-size: 2.6rem;
	}
	#main .product .imgBox .txtBox .number,#main .fabric .imgBox .txtBox .number {
		margin-bottom: 17px;
		font-size: 1.2rem;
	}
	#main .product .imgBox .txtBox p {
		line-height: 2.08;
	}
	#main .infinite02 {
		margin-bottom: -40px;
	}
	#main .fabric {
		margin: 103px 0 113px;
	}
	#main .fabric .comBox {
		padding: 0 20px;
	}
	#main .fabric .headLine05 {
		margin: 0 0 50px;
	}
	#main .fabric .headLine05 .jp {
		font-size: 1.1rem;
	}
	#main .fabric .headLine05 .en {
		margin-bottom: 14px;
		font-size: 3.8rem;
	}
	#main .fabric .imgBox {
		margin-left: 0;
		width: auto;
		display: block;
	}
	#main .fabric .imgBox .lBox {
		margin: 0 20px 75px;
	}
	#main .fabric .imgBox .phoBox {
		margin: 0 0 25px;
		width: auto;
	}
	#main .fabric .imgBox .imgList li {
		margin: 18px 5px 0 0;
		width: calc((100% - 10px)/3);
	}
	#main .fabric .imgBox .imgList li:nth-child(3n) {
		margin-right: 0;
	}
	#main .fabric .imgBox .txtBox {
		margin-top: 0;
		max-width: inherit;
	}
	#main .fabric .imgBox .txtBox h3 {
		margin-bottom: 17px;
		font-size: 2rem;
		letter-spacing: 0.02em;
		line-height: 1.4;
	}
	#main .fabric .imgBox .txtBox p {
		font-size: 1.2rem;
		line-height: 2.08;
	}
	#main .fabric .imgBox .rBox {
		width: auto;
	}
	#main .gallery {
		margin: 57px 0 50px;
	}
	#main .gallery .headLine05 .jp {
		font-size: 1.1rem;
	}
	#main .gallery .headLine05 .en {
		margin-bottom: 11px;
		font-size: 2.8rem;
	}
	#main .gallery .phoUl li {
		width: 37vw;
	}
	#main {
		margin-bottom: 100px;
	}
}
@media screen and (max-width: 999px) and (min-width: 405px) and (max-height: 460px) {
	#main .mainVisual img {
		height: 100%;
		object-fit: contain;
	}
}