@charset "UTF-8";
body {
	font-family: "Amiri", "Shippori Mincho", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", system-ui, "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
	font-weight: 500;
}
/* -------------------------------- */
.mv {
	display: flex;
	align-items: center;
	height: 100vh;
	padding: 0 160px;
	background: url("/_common/img/home/mv.webp") 50% 50% / cover no-repeat;
}
.mv__inner {
	width: 100%;
	color: #fff;
}
.mv__inner p {
	font-size: 20px;
	font-weight: 400;
	line-height: 100px;
	letter-spacing: .1em;
}
.mv__inner h1 {
	margin-top: 50px;
	font-size: 54px;
	line-height: 90px;
	letter-spacing: .1em;
	animation-delay: .2s;
}
@media screen and (min-width: 767px) and (max-width: 1201px) {
	.mv {
		background: url("/_common/img/home/mv.webp") 70% 50% / cover no-repeat;
	}
	.mv__inner h1 {
		font-size: 46px;
	}
}
@media screen and (max-width: 767px) {
	.mv {
		height: 100svh;
		padding: 0 5%;
		background: url("/_common/img/home/mv.webp") 70% 50% / cover no-repeat;
	}
	.mv__inner p {
		font-size: 3.6vw;
		line-height: 1.5;
		letter-spacing: .1em;
	}
	.mv__inner h1 {
		margin-top: 30px;
		font-size: 8vw;
		line-height: 1.8;
		letter-spacing: .1em;
	}
}
/* -------------------------------- */
.intro {
	padding: 160px 5%;
	background: url("/_common/img/home/intro-bg.webp") 50% 0% / 100% auto no-repeat;
}
.intro__inner {
	display: flex;
	align-items: center;
	gap: 80px;
	max-width: 1200px;
	margin: 0 auto;
}
.intro__texts {
}
.intro__texts-en {
	font-size: 20px;
	font-weight: 400;
	letter-spacing: 0.1em;
}
.intro__texts h2 {
	margin-top: 40px;
	font-size: 46px;
	letter-spacing: .05em;
	line-height: 40px;
}
.intro__texts h3 {
	margin-top: 50px;
	font-size: 26px;
	letter-spacing: .05em;
	line-height: 40px;
}
.intro__texts1 {
	margin-top: 30px;
	font-size: 16px;
	line-height: 34px;
	letter-spacing: .05em;
}
.intro__visual {
	width: 468px;
	min-width: 468px;
}
.intro ul {
	position: relative;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	margin-top: 40px;
	padding: 35px 15px 35px 35px;
	border: 1px solid #fff;
}
.intro ul::after {
	position: absolute;
	content: "";
	top: 10px;
	left: 10px;
	width: 100%;
	height: 100%;
	border: 1px solid #fff;
}
.intro ul li {
	position: relative;
	width: 45%;
	padding-left: 14px;
	font-size: 16px;
	line-height: 36px;
}
.intro ul li:nth-child(even) {
	width: 55%;
}
.intro ul li::after {
	position: absolute;
	content: "";
	top: 50%;
	left: 0;
	transform: translate(0,-50%);
	width: 8px;
	height: 8px;
	background-color: #fff;
	border-radius: 4px;
}
@media screen and (max-width: 767px) {
	.intro {
		padding: 50px 5%;
		background: url("/_common/img/home/intro-bg.webp") 50% 0% / 200% auto no-repeat;
	}
	.intro__inner {
		flex-direction: column;
		gap: 40px;
	}
	.intro__texts {
	}
	.intro__texts-en {
		font-size: 12px;
		font-weight: 400;
		letter-spacing: 0.1em;
	}
	.intro__texts h2 {
		margin-top: 20px;
		font-size: 26px;
		letter-spacing: .05em;
		line-height: 1.5;
	}
	.intro__texts h3 {
		margin-top: 20px;
		font-size: 18px;
		letter-spacing: .05em;
		line-height: 1.5;
	}
	.intro__texts1 {
		margin-top: 20px;
		font-size: 15px;
		line-height: 1.65;
	}
	.intro__visual {
		width: 100%;
		max-width: 200px;
		min-width: initial;
	}
	.intro ul {
		display: flex;
		flex-direction: column;
		gap: 10px;
		margin-top: 20px;
		padding: 30px 30px 22px;
	}
	.intro ul li {
		width: 100%;
		padding-left: 14px;
		font-size: 15px;
		line-height: 1.5;
	}
	.intro ul li:nth-child(even) {
		width: 100%;
	}
}
/* -------------------------------- */
.fusion {
	padding: 0 5% 155px;
	overflow: hidden;
}
.fusion__inner {
	max-width: 1200px;
	margin: 0 auto;
	background: url("/_common/img/home/fusion-bg.webp") 50% 50% / auto 100% no-repeat;
}
.fusion__title-en {
	color: #aa915b;
	font-size: 140px;
	font-weight: 400;
	letter-spacing: .1em;
	text-align: center;
	opacity: .3;
}
.fusion h2 {
	margin-top: -110px;
	font-size: 36px;
	letter-spacing: .05em;
	line-height: 56px;
	text-align: center;
}
.fusion__description {
	margin-top: 30px;
	letter-spacing: .05em;
	line-height: 34px;
	text-align: center;
}
.fusion__content {
	position: relative;
	max-width: 1080px;
	margin: 90px auto 0;
	padding: 70px 80px;
	border-left: 1px solid rgba(255,255,255,0.5);
	border-right: 1px solid rgba(255,255,255,0.5);
	border-bottom: 1px solid rgba(255,255,255,0.5);
}
.fusion__content h3 {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 100%;
	font-size: 36px;
	letter-spacing: .05em;
	line-height: 56px;
	text-align: center;
}
.fusion__content h3::before {
	position: absolute;
	content: "";
	top: 50%;
	left: 0;
	width: calc(50% - 150px);
	height: 1px;
	background-color: rgba(255,255,255,0.5);
}
.fusion__content h3::after {
	position: absolute;
	content: "";
	top: 50%;
	right: 0;
	width: calc(50% - 150px);
	height: 1px;
	background-color: rgba(255,255,255,0.5);
}
.fusion__content h4 {
	font-size: 28px;
	letter-spacing: .05em;
	line-height: 30px;
	text-align: center;
}
.fusion__line {
	width: 100%;
	height: 1px;
	margin-top: 20px;
	background-color: #fff;
	opacity: .5;
}
.fusion__content p {
	margin-top: 20px;
	letter-spacing: .05em;
	line-height: 34px;
}
.fusion__content ul {
	display: flex;
	flex-wrap: wrap;
	margin-top: 30px;
	padding: 35px 55px;
	background-color: rgba( 34,40,76 , .5 );
	color: #fff;
}
.fusion__content ul li {
	width: 50%;
	letter-spacing: .05em;
	line-height: 32px;
}
@media screen and (max-width: 767px) {
	.fusion {
		padding: 0;
	}
	.fusion__inner {
		padding: 50px 5%;
	}
	.fusion__title-en {
		font-size: 40px;
		font-weight: 400;
		letter-spacing: .1em;
	}
	.fusion h2 {
		margin-top: -30px;
		font-size: 26px;
		line-height: 1.65;
	}
	.fusion__description {
		margin-top: 30px;
		line-height: 1.65;
	}
	.fusion__content {
		margin: 60px auto 0;
		padding: 60px 16px 16px;
		border-left: 1px solid rgba(255,255,255,0.5);
		border-right: 1px solid rgba(255,255,255,0.5);
		border-bottom: 1px solid rgba(255,255,255,0.5);
	}
	.fusion__content h3 {
		font-size: 24px;
		line-height: 1.5;
	}
	.fusion__content h3::before {
		width: calc(50% - 120px);
	}
	.fusion__content h3::after {
		width: calc(50% - 120px);
	}
	.fusion__content h4 {
		font-size: 18px;
		line-height: 1.65;
	}
	.fusion__line {
		width: 100%;
		height: 1px;
		margin-top: 20px;
		background-color: #fff;
		opacity: .5;
	}
	.fusion__content p {
		margin-top: 20px;
		line-height: 1.65;
	}
	.fusion__content ul {
		margin-top: 20px;
		padding: 20px;
	}
	.fusion__content ul li {
		width: 100%;
		line-height: 32px;
	}
}
/* -------------------------------- */
.about {
	padding: 140px 5% 100px;
	background: url("/_common/img/home/about-bg.webp") 50% 50% / cover no-repeat;
}
.about__inner {
	max-width: 1200px;
	margin: 0 auto;
}
.about__title-en {
	color: #aa915b;
	font-size: 70px;
	font-weight: 400;
	line-height: 80px;
	letter-spacing: .1em;
}
.about h2 {
	font-size: 26px;
	line-height: 40px;
	letter-spacing: .05em;
}
.about__flex {
	display: flex;
	margin-top: 30px;
}
.about__flex > div {
	flex: 1;
}
.about__flex h3 {
	flex: 1;
	font-size: 28px;
	line-height: 48px;
	letter-spacing: .05em;
}
.about__flex h4 {
	font-size: 28px;
	line-height: 48px;
	letter-spacing: .05em;
}
.about__flex p {
	margin-top: 30px;
	line-height: 34px;
	letter-spacing: .05em;
}
@media screen and (max-width: 767px) {
	.about {
		padding: 50px 5%;
	}
	.about__inner {
	}
	.about__title-en {
		font-size: 40px;
		font-weight: 400;
		line-height: 1.5;
		letter-spacing: .1em;
	}
	.about h2 {
		font-size: 20px;
		line-height: 1.5;
	}
	.about__flex {
		flex-direction: column;
		margin-top: 50px;
	}
	.about__flex > div {
	}
	.about__flex h3 {
		font-size: 26px;
		line-height: 1.5;
		letter-spacing: .05em;
	}
	.about__flex h4 {
		margin-top: 40px;
		font-size: 18px;
		line-height: 1.5;
	}
	.about__flex p {
		margin-top: 30px;
		line-height: 34px;
		letter-spacing: .05em;
	}
}
/* -------------------------------- */
.cards__inner {
	display: flex;
	width: 100%;
	height: 795px;
}
.cards__inner .card {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 75px;
	color: #fff;
	cursor: pointer;
	transition: flex .5s ease;
}
.cards__inner .card:nth-child(1) {
	background: url("/_common/img/home/card1-bg.webp") 50% 50% / cover no-repeat;
}
.cards__inner .card:nth-child(2) {
	background: url("/_common/img/home/card2-bg.webp") 50% 50% / cover no-repeat;
}
.cards__inner .card:nth-child(3) {
	background: url("/_common/img/home/card3-bg.webp") 0% 50% / cover no-repeat;
}
.cards__inner .card:nth-child(4) {
	background: url("/_common/img/home/card4-bg.webp") 50% 50% / cover no-repeat;
}
.cards__inner:hover .card {
	flex: 1;
	transition: .5s;
}
.cards__inner .card:hover {
	position: relative;
	flex: 6;
	transition: .5s;
}
.cards__inner .card:hover::after {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.4);
	transition: .5s;
}
.card__title {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-direction: column;
	height: 275px;
	white-space: nowrap;
	z-index: 2;
}
.card__title h3 {
	font-size: 42px;
	line-height: 64px;
	letter-spacing: .1em;
	writing-mode: vertical-rl;
	text-orientation: mixed;
}
.cards__stitle {
	font-size: 26px;
	line-height: 48px;
	letter-spacing: .05em;
	text-align: center;
}
.cards__inner .card .cards__open {
	position: relative;
	width: 0;
	opacity: 0;
	overflow: hidden;
	transition: .5s;
	z-index: 2;
}
.cards__inner .card:hover .cards__open {
	width: auto;
	padding-left: 75px;
	opacity: 1;
	transition: .5s;
	transition-delay: .3s;
}
.cards__open h4 {
	font-size: 24px;
	line-height: 40px;
	letter-spacing: .05em;
}
.cards__open-flex {
	display: flex;
	gap: 30px;
	margin-top: 30px;
}
.cards__visual {
	width: 190px;
	min-width: 190px;
}
@media screen and (min-width: 767px) and (max-width: 1201px) {
	.cards__inner {
		flex-direction: column;
		height: auto;
	}
	.cards__inner .card {
		flex-direction: column;
		padding: 50px 5%;
	}
	.cards__inner .card:hover::after {
		position: absolute;
		content: "";
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,0.4);
		transition: .5s;
	}
	.cards__inner .card:nth-child(3) {
		background: url("/_common/img/home/card3-bg.webp") 50% 50% / cover no-repeat;
	}
	.card__title {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 20px;
		height: 160px;
	}
	.card__title h3 {
		font-size: 24px;
		line-height: 1.5;
		letter-spacing: .1em;
	}
	.cards__stitle {
		font-size: 20px;
		line-height: 1.5;
		letter-spacing: .05em;
	}
	.cards__inner .card .cards__open {
		display: none;
		width: auto;
		margin-top: 30px;
		opacity: 1;
		/* position: relative;
		width: 0;
		height: 0;
		opacity: 0;
		overflow: hidden;
		transition: height .5s ease;
		z-index: 2; */
	}
	.cards__inner .card:hover .cards__open {
		width: initial;
		padding: initial;
		opacity: initial;
		transition: initial;
		transition-delay: initial;
	}
	.cards__open h4 {
		font-size: 18px;
		line-height: 1.5;
		letter-spacing: .05em;
	}
	.cards__open-flex {
		flex-direction: column;
		gap: 30px;
		margin-top: 30px;
	}
	.cards__visual {
		width: 100%;
		max-width: 120px;
		min-width: initial;
		margin: 0 auto;
	}
}
@media screen and (max-width: 767px) {
	.cards__inner {
		flex-direction: column;
		height: auto;
	}
	.cards__inner .card {
		flex-direction: column;
		padding: 50px 5%;
	}
	.cards__inner .card:hover::after {
		position: absolute;
		content: "";
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,0.4);
		transition: .5s;
	}
	.cards__inner .card:nth-child(3) {
		background: url("/_common/img/home/card3-bg.webp") 50% 50% / cover no-repeat;
	}
	.card__title {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 20px;
		height: 160px;
	}
	.card__title h3 {
		font-size: 24px;
		line-height: 1.5;
		letter-spacing: .1em;
	}
	.cards__stitle {
		font-size: 20px;
		line-height: 1.5;
		letter-spacing: .05em;
	}
	.cards__inner .card .cards__open {
		display: none;
		width: auto;
		margin-top: 30px;
		opacity: 1;
		/* position: relative;
		width: 0;
		height: 0;
		opacity: 0;
		overflow: hidden;
		transition: height .5s ease;
		z-index: 2; */
	}
	.cards__inner .card:hover .cards__open {
		width: initial;
		padding: initial;
		opacity: initial;
		transition: initial;
		transition-delay: initial;
	}
	.cards__open h4 {
		font-size: 18px;
		line-height: 1.5;
		letter-spacing: .05em;
	}
	.cards__open-flex {
		flex-direction: column;
		gap: 30px;
		margin-top: 30px;
	}
	.cards__visual {
		width: 100%;
		max-width: 120px;
		min-width: initial;
		margin: 0 auto;
	}
}
/* -------------------------------- */
.product {
	padding: 155px 5%;
	background-color: #161c3b;
}
.product__inner {
	max-width: 1200px;
	margin: 0 auto;
}
.product__title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
}
.product__title-en {
	color: #aa915b;
	font-size: 70px;
	font-weight: 400;
	line-height: 80px;
	letter-spacing: .1em;
}
.product__title h2 {
	font-size: 26px;
	line-height: 40px;
	letter-spacing: .05em;
}
.product__list h3 {
	position: relative;
	margin-top: 75px;
	padding-left: 15px;
	font-size: 24px;
	letter-spacing: .05em;
	line-height: 1;
	border-left: 1px solid #aa915b;
}
.product__list h3::after {
	position: absolute;
	content: "";
	left: 0;
	bottom: -16px;
	width: 100%;
	height: 1px;
	background-color: #fff;	
}
.product__list h3.mt {
	margin-top: 75px;
}
.product__list ul {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 40px;
	width: 100%;
	margin-top: 56px;
}
.product__list ul li a {
	display: block;
	background-color: #1c2345;
	color: #fff;
	box-shadow: 10px 10px 30px rgba(0,0,0,.3);
}
.product__list ul li a:hover {
    opacity: .5;
    transition: .3s;
}
.product__texts {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 34px 22px 54px;
}
.product__texts-gender {
	display: flex;
	align-items: center;
	gap: 6px;
}
.product__texts-gender span {
	padding: 9px 12px 3px;
	font-size: 14px;
	line-height: 1;
	letter-spacing: .05em;
	border: 1px solid #fff;
}
.product__texts h4 {
	margin-top: 12px;
	font-size: 20px;
	letter-spacing: .05em;	
}
.product__texts-text {
	margin-top: 12px;
	font-size: 14px;
	line-height: 24px;
	letter-spacing: .05em;
}
.product__texts-btn {
	position: relative;
	display: flex;
	align-items: center;
	gap: 48px;
	margin-top: 40px;
	margin-bottom: 15px;
}
.product__texts-btn::after {
	position: absolute;
	content: "";
	left: 0;
	bottom: -15px;
	width: 100%;
	height: 1px;
	margin-top: 10px;
	background-color: #fff;
	opacity: .3;
}
.product__texts-btn::before {
	position: absolute;
	content: "";
	left: 0;
	bottom: -15px;
	width: 18px;
	height: 1px;
	margin-top: 10px;
	background-color: #786d5e;
	z-index: 2;
}
@media screen and (max-width: 767px) {
	.product {
		padding: 50px 5%;
	}
	.product__title {
		flex-direction: column;
		align-items: flex-start;
		gap: 30px;
	}
	.product__title-en {
		font-size: 40px;
		font-weight: 400;
		line-height: 1.5;
		letter-spacing: .1em;
	}
	.product__title h2 {
		font-size: 20px;
		line-height: 1.5;
		letter-spacing: .05em;
	}
	.product__list h3 {
		margin-top: 50px;
		padding-left: 15px;
		font-size: 20px;
		letter-spacing: .05em;
		line-height: 1;
	}
	.product__list h3::after {
		bottom: -16px;
		background-color: #fff;	
	}
	.product__list h3.mt {
		margin-top: 60px;
	}
	.product__list ul {
		grid-template-columns: repeat(1,1fr);
		gap: 30px;
		margin-top: 40px;
	}
	.product__list ul li a:hover {
		opacity: 1;
	}
	.product__texts {
		padding: 20px 16px;
	}
	.product__texts h4 {
		margin-top: 12px;
		font-size: 20px;
		letter-spacing: .05em;	
	}
	.product__texts-text {
		margin-top: 12px;
		font-size: 14px;
		line-height: 24px;
		letter-spacing: .05em;
	}
	.product__texts-btn {
		position: relative;
		display: flex;
		align-items: center;
		gap: 48px;
		margin-top: 20px;
		margin-bottom: 15px;
	}
	.product__texts-btn::after {
		position: absolute;
		content: "";
		left: 0;
		bottom: -15px;
		width: 100%;
		height: 1px;
		margin-top: 10px;
		background-color: #fff;
		opacity: .3;
	}
	.product__texts-btn::before {
		position: absolute;
		content: "";
		left: 0;
		bottom: -15px;
		width: 18px;
		height: 1px;
		margin-top: 10px;
		background-color: #786d5e;
		z-index: 2;
	}
}