@charset "utf-8";

/*=============================
　　　　title
===============================*/
.sec-title {
	color: #252525;
	font-family: var(--f_serif);
	font-weight: 500;
	font-size: 40px;
	letter-spacing: 0.05em;
}

/*=============================
　　　　parts 
===============================*/
.inner {
	width: 1240px;
	margin: 0 auto;
}
/*.is-loading {
	pointer-events: none;
}*/

/*=============================
　　　　body
===============================*/
/*body {
	background: url("../images/bg_toppage.webp");
	background-size: 100% auto;
	position: relative;
}*/
body {
	position: relative;
}
body::before {
	position: fixed;
	content: "";
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url("../images/bg_toppage.webp");
	background-size: cover;
  background-position: center top;
	z-index: -1;
}


/*=============================
　　　　mv
===============================*/
#mv {
	position: relative;
	z-index: 1;
	/*padding: 500px 0 450px;*/
	padding: 500px 0 275px;
}
#mv .wrap.flex {
	display: flex;
	justify-content: flex-end;
	overflow: visible;
}
#mv .textbox {
	width: fit-content;
}
#mv .textbox .mv-title img {
	width: 470px;
	height: auto;
	margin: 0 0 28px;
}
#mv .textbox > ul {
	display: flex;
	flex-direction: column;
	gap: 14px;
	font-family: var(--f_serif);
	font-weight: 500;
	letter-spacing: 0.12em;
	padding: 0 0 0 20px;
}
#mv .textbox > ul li {
	font-feature-settings: 'palt' 1;
}


/*=============================
　　　　concept
===============================*/

#concept {
	/*padding-bottom: 395px;*/
	padding-bottom: 220px;
	padding-top: 175px;
	position: relative;
}
#concept .textbox {
	padding: 0 0 0 30px;
}
#concept .textbox .sec-title {
	margin-bottom: 26px;
	font-feature-settings: 'palt' 1;
}
#concept .textbox > p {
	font-weight: 500;
	line-height: 2.2;
	letter-spacing: 0.1em;
	width: 504px;
	font-feature-settings: 'palt' 1;
}
#concept .deco_b {
	position: absolute;
	bottom: -108px;
	left: 65px;
	width: 310px;
	height: auto;
}




/*=============================
　　　　service
===============================*/

#service {
	display: flex;
	justify-content: flex-end;
	/*padding: 0 0 155px;*/
	padding: 175px 0 0px;
}
#service .textbox {
	background: rgb(255 255 255 / 0.4);
	padding: 120px max(calc((100% - 1240px) / 2), 0px) 125px 110px;
	width: fit-content;
}
#service .textbox .boxinner {
	width: 720px;
}
#service .textbox .boxinner .sec-title {
	margin-bottom: 54px;
}
#service .textbox .boxinner > ul {
	display: flex;
	flex-direction: column;
	gap: 40px;
	
}
#service .listtitle {
	color: #231815;
	font-size: 20px;
	font-weight: 500;
	font-feature-settings: 'palt' 1;
	padding: 0 0 0 20px;
	margin: 0 0 20px;
	position: relative;
}
#service .listtitle::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 4px;
	transform: translate(0 , -50%);
	width: 9.27px;
	aspect-ratio: 927/ 993;
	background: url("../images/service/ic_asterisk.svg") no-repeat;
	background-size: contain;
}
#service .listtext {
	line-height: 2.1;
	padding: 0 0 0 20px;
	font-feature-settings: 'palt' 1;
}


/*=============================
　　　　works
===============================*/
#works {
	/*padding: 100px 0 200px;*/
	padding: 275px 0 25px;
}
#works .sec-title {
	padding: 0 0 0 35px;
	margin: 0 0 45px;
}
#works .caselist {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: flex-start;
	align-items: center;
}
/*#works .caselist .casecard {
	background: #fff;
	width: calc((100% - 20px) / 3);
	height: 305px;
	position: relative;
}*/

#works .caselist .casecard a {
	color: #353535;
}

#works .caselist .bg_clear {
	background: transparent;
	width: calc((100% - 20px) / 3);
  height: 305px;
}
#works .caselist > a {
	background: #fff;
	width: calc((100% - 20px) / 3);
	height: 305px;
	position: relative;
}
#works .caselist a img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: opacity 0.3s ease;
}
#works .caselist p {
	font-size: 24px;
	font-family: var(--f_serif);
	text-align: right;
	font-feature-settings: 'palt' 1;
	position: absolute;
	bottom: 5px;
	right: 0;
}

@media (any-hover: hover) {
	#works .caselist > a:hover {
		opacity: 1;
	}
	#works .caselist > a:hover img {
		opacity: 0.8;
	}
}


/*=============================
　　　　company
===============================*/
#company {
	/*padding: 100px 0 0;*/
	/*padding: 50px 0 0;*/
	padding: 225px 0 0;
	margin-bottom: 150px;
}
#company .wrap.flex {
	display: flex;
	justify-content: space-between;
	padding: 0 40px 0 0;
	overflow: visible;
}
#company .left {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 45px;
	padding: 70px 160px 0;
}
#company .left .sec-title {
	/*margin: 0 0 45px;*/
}
#company .left > img {
	width: 120px;
	height: auto;
}
#company .right {
	width: 620px;
}
#company .right table {
	width: 100%
}
#company .right table tbody {
	
}
#company .right table tbody tr {
	display: flex;
	justify-content: space-between;
}
#company .right table tbody tr th,
#company .right table tbody tr td {
	font-weight: 500;
	padding: 32px 30px;
	font-feature-settings: 'palt' 1;
}
#company .right table tbody tr th {
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid #6d6d6d;
	width: 138px;
}
#company .right table tbody tr td {
	border-bottom: 1px solid #999;
	width: 475px;
	letter-spacing: 0.1em;
}
#company .right table tbody tr td > ul {
	display: flex;
	flex-direction: column;
	gap: 10px;
}



