@charset "UTF-8";/* CSS Document */body {	max-width: 2000px;	width: 100%;	margin: 0 auto;	font-family: "Noto Sans JP", sans-serif;	font-weight: 400;	font-style: normal;	color: #333;	line-height: 1.3;	animation: loading 3s;}@keyframes loading {	0% {		opacity: 0;	}	100% {		opacity: 1;	}}.fadein {	opacity: 0;	transform: translateY(50px);	transition: opacity .5s ease-in-out, transform .75s ease-in-out;}.fadein.js-scrollin {	opacity: 1;	transform: translateY(0);}.min768 {	display: none;}@media screen and (max-width: 768px) {	.min768 {		display: block;	}}/*--------------------------Header ---------------------------*/.header {	width: 100%;	position: fixed;	top: 3%;	left: 50%;	transform: translateX(-50%);	z-index: 99999;	-moz-box-sizing: border-box;	box-sizing: border-box;}.gnav {	display: flex;	justify-content: space-between;	align-items: center;	max-width: 1600px;	width: 83.33%;	background-color: #fff;	padding: 10px 50px;	border-radius: 50px;	margin: 0 auto;}.header-logo {	max-width: 230px;	width: 30%;}.header-logo img {	width: 100%;	padding-top: 7px;}.gnav-list {	max-width: 457px;	width: 55%;	display: flex;	justify-content: space-between;	position: relative;	font-family: "Albert Sans", sans-serif;}.gnav-list-item {	width: fit-content;	font-size: 20px;}.gnav-list-item a {	text-decoration: none;	color: #333;	letter-spacing: 0.05em;}.nav-btn {	display: none;}@media screen and (max-width: 1000px) {	.gnav-list {		overflow: hidden;		flex-direction: column;		justify-content: center;		max-width: 100vw;		width: 100vw;		max-height: 100vh;		height: 100vh;		position: absolute;		top: 0;		left: 0;		transform: translateX(200%);		transition: .7s all;		z-index: 3;	}	.gnav.js-open .gnav-list {		transform: translateX(0);	}	.global-bg {		position: fixed;		top: 0;		left: 0;		width: 100vw;		height: 100vh;		background-image: url("../img/top_bg.jpg");		background-repeat: no-repeat;		background-size: cover;		background-position: center;		z-index: 2;		transform: translateX(200%);		transition: transform 0.7s ease;	}	.global-bg.js-active {		transform: translateX(0);	}	.gnav.js-open .gnav-list-item {		padding: 1em 0;		margin: 0 auto;		width: 90%;		border-bottom: 0.5px solid #fff;	}	.gnav.js-open .gnav-list-item a {		padding: 8px;		color: #fff;		display: flex;		justify-content: space-between;		align-items: center;	}	.gnav.js-open .gnav-list-item a::after {		content: "";		display: block;		width: 10px;		height: 10px;		border-bottom: 1px solid #fff;		border-right: 1px solid #fff;		transform: rotate(-45deg);	}	.nav-btn {		display: inline-block;		cursor: pointer;		width: 32px;		height: 32px;		z-index: 10;		position: relative;	}	.nav-btn span {		display: block;		height: 2px;		background-color: #333;		width: 100%;		transition: all .3s;		position: absolute;		z-index: 10;	}	.nav-btn span:nth-of-type(1) {		top: 6px;	}	.nav-btn span:nth-of-type(2) {		top: 16px;	}	.nav-btn span:nth-of-type(3) {		top: 26px;	}	.nav-btn.js-open span:nth-of-type(1) {		top: 10px;		transform: translateY(6px) rotate(-40deg);	}	.nav-btn.js-open span:nth-of-type(2) {		opacity: 0;	}	.nav-btn.js-open span:nth-of-type(3) {		top: 22px;		transform: translateY(-6px) rotate(40deg);	}}@media screen and (max-width: 680px) {	.header {		top: 1.7%;	}	.gnav {		width: 95%;		padding: 10px 30px;	}	.gnav-list {		top: -19%;	}	.header-logo {		max-width: 200px;		width: 40%;	}}/*--------------------------Top---------------------------*/#Top {	width: 100%;	max-height: 1644px;	height: calc(100vw * 0.856);	background-image: url("../img/top_bg.jpg");	background-repeat: no-repeat;	background-size: 100% auto;	clip-path: polygon(0 0, 100% 0%, 100% 100%, 0 calc(100% - 10vw));	position: relative;	overflow: hidden;}.top-img1 {	display: block;	position: absolute;	top: -5.8%;	left: 0;	max-width: 1830px;	max-height: 1481px;	width: 96vw;	height: calc(96vw * 0.809);	object-fit: cover;	clip-path: polygon(0 calc(0% + 10vw), 100% 0%, 100% calc(100% - 10vw), 0% 100%);}.top-img2, .top-img3 {	display: block;	object-fit: cover;	position: absolute;	bottom: 16%;}.top-img2 {	max-width: 625.33px;	max-height: 714.66px;	width: 32.56vw;	height: calc(32.56vw * 1.1428);	right: 19.5%;	clip-path: polygon(calc(0% + 7vw) 0%, 100% 0%, calc(100% - 7vw) 100%, 0% 100%);}.top-img3 {	max-width: 533.33px;	max-height: 714.66px;	width: 27.777vw;	height: calc(27.777vw * 1.34);	right: -3%;	object-position: right;	clip-path: polygon(calc(0% + 7vw) 0, 100% 0, 100% 50%, calc(100% - 3vw) 100%, 0 100%);}.top-catch {	max-width: 1500px;	width: 83%;	margin: 15% auto 0;	position: relative;	font-size: clamp(1.875rem, 0.694rem + 3.78vw, 4rem);	line-height: 1.75;}.top-catch-en {	width: 83%;	margin: 23% 0 0 auto;	text-align: right;	position: relative;	font-size: clamp(3.125rem, 1.389rem + 5.56vw, 6.25rem);	font-family: "Albert Sans", sans-serif;	font-weight: 600;	color: #fff;}@media screen and (max-width: 768px) {	#Top {		max-height: 671px;		height: calc(100vw * 1.789);		background-size: 100% 100%;	}	.top-img1 {		top: -1%;		left: 0;		width: 93vw;		height: calc(93vw * 1.445);		max-height: 514px;		object-position: 65% 50%;	}	.top-img2 {		width: 48.9vw;		max-height: 210px;		height: calc(48.9vw * 1.1428);		right: 34.5%;	}	.top-img3 {		width: 41.75vw;		max-height: 210px;		height: calc(41.75vw * 1.34);	}	.top-catch {		width: 83%;		margin: 0 auto;		line-height: 1.5;		position: absolute;		top: 27%;		left: 10%;	}	.top-catch-en {		width: 90%;		margin: 0 auto;		position: absolute;		bottom: 7.5%;		right: 1%;	}}/*--------------------------Concept---------------------------*/#Concept {	max-width: 857px;	width: 90%;	margin: 0 auto min(7.98vw, 150px);	display: flex;	justify-content: flex-end;	align-items: center;	position: relative;}.concept-title-en {	position: absolute;	left: 0;	top: 50%;	transform: translateY(-50%);	color: #E9E9E9;	font-size: clamp(5.625rem, 3.889rem + 5.56vw, 8.75rem);	font-family: "Albert Sans", sans-serif;	font-weight: 600;	line-height: 0.95;	z-index: -1;}.concept-title {	max-width: 353px;	width: 49%;	padding-bottom: 5px;	font-size: clamp(1.5rem, 1.361rem + 0.44vw, 1.75rem);	font-weight: 500;	position: relative;}.concept-title::after {	content: "";	position: absolute;	bottom: 0;	left: 0;	height: 1px;	width: 110%;	background-color: #333;	z-index: -1;}.concept-img {	max-width: 362px;	min-width: 248px;	width: 50%;}@media screen and (max-width: 550px) {	#Concept {		width: 80%;		margin: min(15vw, 150px) auto;		justify-content: center;		align-items: center;		flex-direction: column;	}	.concept-title-en {		position: relative;		left: unset;		top: unset;		transform: translateY(0);		line-height: 0.85;	}	.concept-title {		position: absolute;		top: 13%;		left: 50%;		transform: translateX(-50%);		width: 100%;		text-align: center;		padding-bottom: 0;	}	.concept-title::after {		display: none;	}	.concept-img {		margin-top: 10px;		width: 100%;	}}/*--------------------------Service---------------------------*/#Service {	max-width: 1762px;	width: 90%;	margin: 0 0 0 auto;}.service-title-en {	font-size: clamp(3.375rem, 2.125rem + 4vw, 5.625rem);	font-family: "Albert Sans", sans-serif;	font-weight: 600;}.service-title-jp {	font-size: 16px;	font-weight: 400;}.service-wrap {	max-width: 1533px;	width: 87vw;	background-image: linear-gradient(90deg, rgba(194, 233, 251, 1), rgba(161, 196, 253, 1));	padding: min(5vw, 121px) min(5vw, 142px);	border-radius: 30px 0 0 30px;	margin: -3em 0 0 auto;	display: flex;	justify-content: space-between;	align-items: center;}.service-item {	max-width: 400.44px;	width: 33%;	max-height: 433.33px;	height: calc(17vw * 1.324);	background-repeat: no-repeat;	background-position: right;	background-size: 81.686% 100%;	font-size: clamp(1.125rem, 0.994rem + 0.38vw, 1.375rem);	position: relative;}.service-item a {	display: block;	width: 100%;	text-decoration: none;	color: #333;}.service-item1 a {	background-image: url("../img/service1.jpg");}.service-item2 a {	background-image: url("../img/service2.jpg");}.service-item3 a {	background-image: url("../img/service3.jpg");}.service-item p {	max-width: 350px;	width: 100%;	padding: 0.5em 1em;	margin-bottom: 1em;	text-align: center;	background-color: #fff;	clip-path: polygon(calc(0% + 10px) 0%, 100% 0%, calc(100% - 10px) 100%, 0% 100%);	position: absolute;	bottom: 10%;	left: 0;}@media screen and (max-width: 1390px) {.service-wrap {	padding: 4vw 3vw;}}@media screen and (max-width: 1000px) {	.service-wrap {		max-width: 600px;		width: 80%;		flex-direction: column;		align-items: flex-end;		row-gap: 50px;		padding: min(15vw, 80px) 3vw;	}	.service-item {		width: 100%;		background-size: contain;		height: calc(50vw * 1.324);	}	.service-item p {		padding: 0.5em;	}}@media screen and (max-width: 768px) {	.service-item {		width: 100%;		background-size: contain;		height: calc(70vw * 1.324);	}}@media screen and (max-width: 520px) {	#Service {		width: 93%;	}	.service-wrap {		width: 95%;	}	.service-item p {		max-width: 300px;	}}/*--------------------------Message---------------------------*/#Message {	margin-top: min(20vw, 145px);}.message-title-en {	width: fit-content;	padding-right: min(8.333vw, 120px);	margin: 0 0 0 auto;	font-size: clamp(3.375rem, 2.125rem + 4vw, 5.625rem);	font-family: "Albert Sans", sans-serif;	font-weight: 600;	position: relative;	z-index: 1;}.message-title-jp {	width: fit-content;	padding-right: min(24.65vw, 355px);	margin: 0 0 0 auto;	font-size: 16px;	font-weight: 400;	position: relative;	z-index: 1;}.message-wrap {	margin-top: -4.25em;	background-color: rgba(206, 234, 247, 1);	padding: min(22vw, 120px) min(8.333vw, 120px) min(5.555vw, 80px);	position: relative;	overflow: hidden;}.message-img {	max-width: 630px;	position: absolute;	top: 0;	left: 0;	z-index: 0;}.message-img-sp {	display: none;}.message-wrap p {	max-width: 568px;	margin: 0 0 0 auto;	font-size: clamp(1rem, 0.931rem + 0.22vw, 1.125rem);	line-height: 1.333;	text-align: justify;	position: relative;}.message-wrap .name {	margin-top: 1em;	text-align: right;}@media screen and (max-width: 768px) {	.message-wrap p {		margin: 0 auto;		line-height: 1.5;	}	.message-wrap .name {		margin-bottom: 7em;	}	.message-img {		display: none;	}	.message-img-sp {		display: block;		width: 60%;		position: absolute;		bottom: -10%;		left: 0;	}}@media screen and (max-width: 520px) {	.message-title-jp {		padding-right: min(34.65vw, 355px);	}	.message-wrap {		margin-top: -3.5em;		padding: min(22vw, 120px) min(5vw, 120px) min(5.555vw, 80px);	}	.message-img-sp {		width: 100%;		bottom: -6%;		left: 0;	}}/*--------------------------CONTACT---------------------------*/#Contact {	max-width: 1762px;	width: 90%;	margin: min(20vw, 145px) auto min(5vw, 70px);}.contact-title-en {	font-size: clamp(3.375rem, 2.125rem + 4vw, 5.625rem);	font-family: "Albert Sans", sans-serif;	font-weight: 600;}.contact-title-jp {	font-size: 16px;	font-weight: 400;}.contact-wrap {	max-width: 1333px;	width: 85%;	margin: -3em auto 0;	background-image: linear-gradient(270deg, rgba(194, 233, 251, 1), rgba(161, 196, 253, 1));	padding: min(20vw, 100px) 0 min(20vw, 100px);	font-size: clamp(1rem, 0.861rem + 0.44vw, 1.25rem);	border-radius: clamp(1.875rem, 1.181rem + 2.22vw, 3.125rem);}.contact-p {	width: 80%;	margin: 0 auto;	text-align: center;	line-height: 1.5;}.contact-btn {	display: flex;	justify-content: center;	align-items: center;	text-decoration: none;	max-width: 401px;	width: 70%;	min-width: 234px;	margin: 2em auto 0;	color: #333;}.contact-btn p {	background-color: #fff;	border: 1px solid #333;	padding: 1.25em min(17.5%, 70px) 1.25em 1.75em;}.bar {	margin-left: max(-12.5%, -50px);	height: 1px;	width: min(25%, 100px);	background-color: #333;}@media screen and (max-width: 768px) {	.contact-btn p {		padding: 1em 1.25em;	}	.bar {		display: none;	}}@media screen and (max-width: 520px) {	.contact-wrap {		width: 100%;	}	.contact-p {		width: 100%;	}}/*--------------------------FOOTER---------------------------*/footer {}.footer-img {	display: block;	width: 100%;	min-height: 281px;	object-fit: cover;	clip-path: polygon(0 calc(0% + 13vw), 100% 0, 100% 100%, 0% 100%);}.footer-wrap {	max-width: 1333px;	width: 87%;	margin: 45px auto;	display: grid;	grid-template-columns: auto auto;	grid-template-rows: auto auto;}.company-name {	grid-column: 1 / 2;	grid-row: 1 / 2;	font-size: clamp(1.125rem, 1.056rem + 0.22vw, 1.25rem);	font-weight: 500;}.company-address {	grid-column: 1 / 2;	grid-row: 2 / 3;	margin-top: 1em;	font-size: clamp(1rem, 0.931rem + 0.22vw, 1.125rem);}.footer-list {	grid-column: 2 / 3;	grid-row: 1 / 2;	font-size: 20px;	display: flex;	justify-content: flex-end;	align-items: center;	column-gap: max(3.472vw, 15px);}.footer-list a {	text-decoration: none;	color: #333;}.footer-logo {	display: block;	max-width: 200px;	margin: 0 auto 35px;}.footer-logo img {	width: 100%;}.copyright {	text-align: center;	padding-bottom: 1.5em;	font-size: clamp(0.75rem, 0.681rem + 0.22vw, 0.875rem);}@media screen and (max-width: 768px) {	footer {		margin-top: 20vw;	}	.footer-list {		display: none;	}}