@charset "utf-8";
/*----------------------------
	main visual
-----------------------------*/
.mv {
	margin-bottom: 187px;
	width: 100%;
	height: 100vh;
	background: url(../img/img_mv.jpg) top center / cover no-repeat;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}
.mv::after {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: rgba(0,0,0,.3);
}
.mv__title {
	position: relative;
	z-index: 1;
}
.mv__logo {
	display: block;
	margin: 0 auto 12px;
}
.mv__text {
	color: var(--white);
	font-family: var(--abhaya);
	line-height: 1.2;
	font-weight: normal;
}
/*----------------------------
	main contents
-----------------------------*/

/*----------------------------
	contents
-----------------------------*/
/* concept */
.sec--concept {
	width: 86%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	flex-direction: row-reverse;
	padding-bottom: 19%;
	position: relative;
	margin-bottom: 145px;
	align-items: flex-start;
}
.sec--concept .sec__title {
	margin-left: 32px;
	margin-bottom: 50px;
	width: 100%;
}
.sec--concept .text__outer {
	max-width: 388px;
	width: 34.642%;
	margin: auto;
}
.sec--concept .title--line {
	font-size: var(--fs-20);
	line-height: 1.7;
	margin: 0 auto 62px;
	text-align: center;
}
.sec--concept .text {
	line-height: 2;
}
.sec--concept .img__outer {
	position: relative;
	max-width: 653px;
	width: 58.303%;
}
.img--1 {
	width: 71.516%;
	height: auto;
	display: block;
	margin: 0 3.981% 0 auto;
}
.img--2 {
	width: 29.249%;
	height: auto;
	right: 0;
	top: 77.298%;
}
.img--3 {
	width: 39.969%;
	height: auto;
	left: -7.28%;;
	top: 92.795%;
}
.img--4 {
	right: -6.607%;
	bottom: -50px;
	width: 28.125%;
	height: auto;
}
.forte {
	color: var(--main-color);
	text-align: center;
	position: relative;
	padding: 100px 0 160px;
}
.list--forte {
	display: grid;
	width: 750px;
	margin: auto;
	position: relative;
}
.list--forte::after {
	content: "";
	width: 110px;
	height: 1px;
	position: absolute;
	background-color: var(--accent-blue);
	bottom: 150px;
	right: 0;
	left: 0;
	margin: auto;
}
.list--forte .outer {
	width: 260px;
	height: 260px;
}
.list--forte .outer:nth-child(1) {
	grid-row: 1/2;
	grid-column: 1/3;
	position: relative;
	margin: 0 auto 124px;
}
.list--forte .outer:nth-child(2) {
	grid-row: 2/3;
	grid-column: 1/2;
	position: relative;
	margin-right: auto;
}
.list--forte .outer:nth-child(3) {
	grid-row: 2/3;
	grid-column: 2/3;
	margin-left: auto;
}
.list--forte .outer:nth-child(1)::before,
.list--forte .outer:nth-child(1)::after {
	content: "";
	width: 110px;
	height: 1px;
	position: absolute;
	background-color: var(--accent-blue);
	top: 315px;
	margin: auto;
}
.list--forte .outer:nth-child(1)::before {
	transform: rotate(-50deg);
	left: -78px;
}
.list--forte .outer:nth-child(1)::after {
	transform: rotate(50deg);
	right: -78px;
}
.list--forte__item {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 1;
	font-size: var(--fs-16);
}
.list--forte__item::before {
	content: "";
	background: var(--base-color);
	border-radius: 50%;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: -1;
}
.list--forte__item::after {
	content: "";
	border: 1px solid var(--accent-blue);
	border-radius: 50%;
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: -1;
}
.icon::before {
	content: "";
	width: 2rem;
	height: 2rem;
	display: block;
	margin: 0 auto 12px;
}
.icon--ruler::before {
	background: url(../img/icon_ruler.png) center/100% no-repeat;
}
.icon--sewing-machine::before {
	background: url(../img/icon_sewing-machine.png) center/100% no-repeat;
}
.icon--magnifying-glass::before {
	background: url(../img/icon_magnifying-glass.png) center/100% no-repeat;
}
.forte .text {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	font-size: var(--fs-20);
	font-family: var(--mincho);
	font-weight: bold;
	max-height: max-content;
	padding-top: 66px;
}
.forte .text em {
	display: block;
	font-size: var(--fs-60);
	line-height: 1;
}
/* news */
.sec--news {
	margin-bottom: 240px;
}
.sec--news .sec__title {
	text-align: right;
	position: relative;
	margin-bottom: 124px;
}
.sec--news .sec__title::before {
	content: "";
	width: calc(100% - 22.0625rem);
	height: 1px;
	background-color: var(--main-color);
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}
.list--news {
	display: flex;
	gap: 3.571%;
	/* justify-content: space-between; */
}
.list--news__item {
	max-width: 250px;
	width: 22.321%;
}
.img--news {
	width: 100%;
	height: auto;
	margin-bottom: 16px;
	display: block;
}
.list--news__item .date {
	margin-bottom: 5px;
}
.list--news__item .title {
	font-size: var(--fs-16);
	color: var(--main-color);
	font-weight: bold;
	margin-bottom: 16px;
}
/* collection */
.sec--collection {
	padding-bottom: 260px;
	/* margin-bottom: 460px; */
}
.sec--collection .sec__title {
	margin-bottom: 124px;
}
.list--collection__outer {
	position: relative;
	margin-bottom: 208px;
}
.list--collection {
	display: flex;
}
.list--collection::after {
	content: "";
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .3);
	position: absolute;
	left: 0;
	top: 0;
}
.list--collection__item {
	width: 25%;
}
.img--collection {
	width: 100%;
	height: auto;
}
.list--collection__outer .text__outer {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	z-index: 1;
	max-width: max-content;
	max-height: max-content;
	text-align: center;
}
.list--collection__outer .text {
	color: var(--white);
	font-family: var(--mincho);
	font-size: var(--fs-18);
	margin-bottom: 32px;
	line-height: 1;
}
.link--square {
	color: var(--white);
	border: solid 1px var(--white);
	padding: 16px 90px;
	position: relative;
	box-sizing: border-box;
	display: block;
}
.link--square::after {
	content: "";
	width: .875rem;
	height: .25rem;
	background: url(../img/icon_arrow.png) center /100% no-repeat;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 22px;
}
/* order */
.sec--order__outer {
	background: var(--white);
	position: relative;
	/* padding-top: 280px; */
	padding-bottom: 215px;
}
.bg--order {
	display: block;
	position: sticky;
	top: 0;
}
.bg--order img,.bg--order source {
	display: block;
	width: 100%;
	height: auto;
}
.sec--order {
	background-color: var(--white);
	padding-top: 280px;
	position: relative;
	z-index: 10;
}
/* .sec--order__outer::before {
	content: "";
	background: url(../img/bg_major.png) center/cover no-repeat;
	background-attachment: fixed;
	aspect-ratio: 980/551;
	width: 100%;
	height: 100%;
	position: absolute;
	top: -460px;
	left: 0;
	z-index: -1;
} */
.sec--order .flex {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row-reverse;
	margin-bottom: 226px;
}
.sec--order .text__outer {
	width: 50%;
	line-height: 2;
}
.sec--order .img__outer {
	width: 50%;
	position: relative;
	min-height: 24.375rem;
}
.img--order--1 {
	max-width: 358px;
	width: 63.928%;
	height: auto;
	margin: auto;
	display: block;
}
.img--order--2 {
	max-width: 345px;
	width: 61.607%;
	height: auto;
	position: absolute;
	top: 78.458%;
	left: 62.857%;
}
.sec--order .sec__title {
	margin-bottom: 60px;
	text-align: right;
}
.list--order__item {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 36px;
}
.list--order__item + .list--order__item {
	margin-top: 166px;
	position: relative;
}
.list--order__item + .list--order__item::before {
	content: "";
	width: 1px;
	height: 72px;
	background: var(--main-color);
	position: absolute;
	left: 6.25rem;
	top: -112px;
}
.list--order__item .title {
	font-size: var(--fs-16);
	text-align: center;
	font-weight: normal;
	position: relative;
	z-index: 1;
	width: 12.5rem;
	height: 12.5rem;
	display: flex;
	align-items: center;
	flex-direction: column;
	justify-content: center;
}
.list--order__item .title::before {
	content: "";
	width: 100%;
	height: 100%;
	background: var(--base-color);
	position: absolute;
	top: .875rem;
	left: .875rem;
	z-index: -1;
}
.list--order__item .title::after {
	content: "";
	width: 100%;
	height: 100%;
	border: solid 1px var(--main-color);
	position: absolute;
	top: 0;
	left: 0;
}
.list--order__item .title em {
	font-size: var(--fs-60);
	font-family: var(--tt);
	color: var(--main-color);
	display: block;
	position: relative;
	line-height: 1;
	padding-bottom: 5px;
	margin-bottom: 16px;
}
.list--order__item .title em::before {
	content: "";
	width: 2.5rem;
	height: .25rem;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	background-color: var(--main-color);
}
.list--order__item .text__outer {
	line-height: 2;
	width: calc(100% - (12.5rem + 264px));
}
/* reserve */
.sec--reserve {
	margin-bottom: 158px;
}
.sec--reserve .sec__title {
	margin-bottom: 120px;
}
/*----------------------------
	media query
-----------------------------*/
@media screen and (max-width: 960px){
	.list--forte {
		max-width: 750px;
		width: calc(100% - 32px);
	}
	.list--forte .outer {
		width: 250px;
		height: 250px;
	}
}
@media screen and (max-width: 768px){
	/*----------------------------
		mv
	-----------------------------*/
	.mv {
		margin-bottom: 130px;
	}
	/*----------------------------
		concept
	-----------------------------*/
	.sec--concept {
		flex-direction: column;
	}
	.sec--concept .sec__title {
		margin-left: 0;
	}
	.sec--concept .text__outer {
		width: calc(100% - 32px);
		margin-bottom: 60px;
	}
	.sec--concept .img__outer {
		width: 86%;
	}
	/* forte */
	.list--forte {
		max-width: 530px;
	}
	.list--forte::after {
		width: 60px;
		bottom: 80px;
	}
	.list--forte .outer {
		width: 140px;
		height: 140px;
	}
	.list--forte .outer:nth-child(1)::before, .list--forte .outer:nth-child(1)::after {
		width: 60px;
		top: 192px;
	}
	.list--forte .outer:nth-child(1)::before {
		left: -40px;
	}
	.list--forte .outer:nth-child(1)::after {
		right: -40px;
	}
	.forte .text {
		top: -10px;
		padding-top: 0;
	}
	/*----------------------------
		news
	-----------------------------*/
	.sec--news {
		margin-bottom: 160px;
	}
	.sec--news .sec__title {
		margin-bottom: 60px;
	}
	.sec--news .sec__title::before {
		width: calc(100% - (11.25rem + 16px));
	}
	.list--news {
		flex-wrap: wrap;
		row-gap: 32px;
	}
	.list--news__item {
		width: 48%;
	}
	/*----------------------------
		collection
	-----------------------------*/
	.sec--collection {
		padding-bottom: 160px;
	}
	.sec--collection .sec__title {
		margin-bottom: 60px;
	}
	.list--collection__outer {
		margin-bottom: 160px;
	}
	.list--collection {
		flex-wrap: wrap;
	}
	.list--collection__item {
		width: 50%;
	}
	/*----------------------------
		order
	-----------------------------*/
	.sec--order__outer::before {
		background: url(../img/bg_major_sp.jpg) center / 100% no-repeat;
		aspect-ratio: 790/551;
	}
	.sec--order__outer {
		/* padding-top: 160px; */
		padding-bottom: 160px;
	}
	.sec--order {
		padding-top: 160px;
	}
	.sec--order .sec__text {
		max-width: max-content;
		margin-left: auto;
		margin-right: auto;
	}
	.sec--order .flex {
		flex-direction: column;
		margin-bottom: 160px;
	}
	.flex > .text__outer {
		width: 100%;
		margin-bottom: 32px;
	}
	.sec--order .img__outer {
		width: 100%;
		min-height: auto;
		max-width: 500px;
		margin-left: auto;
		margin-right: auto;
	}
	.img--order--1 {
		margin-left: 0;
	}
	.img--order--2 {
		top: 73%;
		left: auto;
		right: 0;
	}
	.list--order__item {
		flex-wrap: wrap;
	}
	.list--order__item + .list--order__item::before {
		left: 0;
		right: 0;
		margin: auto;
	}
	.list--order__item .title {
		width: 8.75rem;
		height: 8.75rem;
	}
	.list--order__item .text__outer {
		width: 100%;
	}
	/*----------------------------
		reserve
	-----------------------------*/
	.sec--reserve .sec__title {
		margin-bottom: 60px;
	}
	.sec--reserve {
		margin-bottom: 130px;
	}
}