@charset "UTF-8";/* CSS Document */body {	width: 100%;	font-family: "BIZ UDPGothic", sans-serif;	font-weight: 400;	font-style: normal;	color: #222222;	line-height: 1.7;	animation: loading 3s;}@keyframes loading {	0% {		opacity: 0;	}	100% {		opacity: 1;	}}.montserrat {	font-family: "Montserrat", sans-serif;	font-optical-sizing: auto;	font-style: normal;}.fadein {	opacity: 0;	transform: translateY(50px);	transition: opacity 0.5s ease-in-out, transform 1s ease-in-out;}.fadein.js-scrollin {	opacity: 1;	transform: translateY(0);}.section-wrap {	max-width: 1100px;	width: 93%;	margin: 0 auto;}.section-title {	width: auto;	font-size: clamp(1.75rem, 1.161rem + 2.1vw, 3.125rem);	letter-spacing: .06em;}.section-title-span {	color: #4FBFDE;}.section-subtitle {	width: auto;	display: flex;	justify-content: flex-end;	align-items: center;	column-gap: 10px;	font-weight: 400;	font-size: clamp(0.938rem, 0.857rem + 0.29vw, 1.125rem);}.section-subtitle::before {	content: "";	display: inline-block;	width: auto;	height: 1px;	background-color: #4FBFDE;	flex-grow: 1;}/*--------------------------HEADER---------------------------*/.header {	width: 100%;	position: fixed;	top: 5%;	left: 50%;	transform: translateX(-50%);	z-index: 99999;	-moz-box-sizing: border-box;	box-sizing: border-box;}.header.js-bg {	top: 0;	padding: 1em 0;	background-color: rgba(0, 0, 0, .7);}.gnav {	display: flex;	justify-content: space-between;	align-items: center;	max-width: 1650px;	width: 93%;	margin: 0 auto;}.header-logo {	max-width: 270px;	width: 40%;}.header-logo img {	width: 100%;}.gnav-list {	max-width: 315px;	width: 35%;	min-width: 180px;	display: flex;	justify-content: space-between;	position: relative;}.gnav-list-item {	width: fit-content;	font-size: clamp(0.938rem, 0.75rem + 0.67vw, 1.375rem);}.gnav-list::after {	content: "";	width: 1px;	height: 100%;	background-color: #fff;	position: absolute;	left: 50%;	top: 50%;	transform: translate(-50%, -50%) rotate(30deg);}.gnav-list-item a {	text-decoration: none;	color: #fff;	letter-spacing: 0.05em;}/*--------------------------TOP---------------------------*/#Top {	background-image: url("../img/Top-img.jpg");	background-repeat: no-repeat;	background-size: cover;	background-position: 41%;	max-height: 960px;	height: 88.89vh;	position: relative;}.main-catch {	max-width: 1012px;	width: 70%;	display: flex;	align-items: flex-start;	flex-direction: column;	position: absolute;	bottom: 18%;	left: 10%;	color: #fff;	font-size: clamp(2rem, 0.232rem + 6.29vw, 6.125rem);	font-weight: 500;	line-height: 1;}.main-catch-span2 {	padding-left: 0.5em;}.sub-catch {	max-width: 1012px;	width: 70%;	display: flex;	justify-content: space-between;	align-items: center;	column-gap: 1em;	font-size: clamp(1rem, 0.839rem + 0.57vw, 1.375rem);	color: #fff;	position: absolute;	bottom: 10%;	left: 10%;}.sub-catch::before, .sub-catch::after {	content: "";	display: inline-block;	height: 1px;	width: auto;	background-color: #fff;	flex-grow: 1;}@media screen and (max-width: 768px) {	.main-catch, .sub-catch {		left: 50%;		transform: translateX(-50%);	}	.main-catch {		width: fit-content;		white-space: nowrap;		bottom: 25%;	}	.sub-catch {		width: 80%;		bottom: 17%;	}}/*--------------------------SERVICE---------------------------*/#Service {	padding: min(14vw, 100px) 0 0;	position: relative;	overflow: hidden;}#Service .section-title, #Service .section-subtitle {	max-width: 240px;	width: 19vw;}.ipo {	display: grid;	grid-template-columns: 52% 4% 43%;	grid-template-rows: 12% 20% auto auto 15%;}.ipo-title {	grid-column: 1 / 3;	grid-row: 2 / 3;	align-self: flex-end;	padding-bottom: 0.15em;	margin-top: 1em;	border-bottom: 2px solid #759AA8;	color: #759AA8;	font-size: clamp(1.5rem, 1.286rem + 0.76vw, 2rem);}.ipo-txt {	grid-column: 1 / 3;	grid-row: 3 / 4;	align-self: flex-end;	padding-bottom: 1em;	font-size: 18px;}.ipo-note {	grid-column: 1 / 2;	grid-row: 4 / 5;	align-self: flex-start;	font-size: 15px;}.ipo-img {	grid-column: 2 / 4;	grid-row: 1 / 6;	max-width: 534px;	width: 100%;}.txt-flow {	width: 100%;	margin-top: -1em;	white-space: nowrap;	color: rgba(234, 239, 241, 0.4);	font-size: clamp(5.063rem, 3.696rem + 4.86vw, 8.25rem);	font-weight: 500;	animation: txt-flow 20s linear infinite;}@keyframes txt-flow {	0% {		transform: translateX(0);	}	100% {		transform: translateX(-100%);	}}@media screen and (max-width: 990px) {	.ipo {		padding-bottom: min(7vw, 50px);	}	.ipo-title {		margin-top: 0;	}	.ipo-txt {		padding-top: 2em;	}	.ipo-img {		place-self: center;	}}@media screen and (max-width: 768px) {	#Service .section-title, #Service .section-subtitle {		max-width: 168px;		width: 25%;		min-width: 136px;	}	.ipo {		width: 100%;		margin: min(8vw, 60px) auto 0;		grid-template-columns: 100%;		grid-template-rows: auto auto auto auto;		grid-row-gap: 20px;	}	.ipo-title {		grid-column: 1 / 2;		grid-row: 1 / 2;		align-self: flex-start;	}	.ipo-txt {		grid-column: 1 / 2;		grid-row: 2 / 3;		align-self: flex-start;		padding-bottom: 0;		padding-top: 0;	}	.ipo-note {		grid-column: 1 / 2;		grid-row: 3 / 4;		align-self: flex-start;	}	.ipo-img {		grid-column: 1 / 2;		grid-row: 4 / 5;	}}/*--------------------------OTHER---------------------------*/#Other-service {	background-color: #EAEFF1;	padding: min(9vw, 65px) 0 min(12vw, 150px);}#Other-service .section-title {	text-align: center;}#Other-service .section-subtitle {	justify-content: center;}#Other-service .section-subtitle::before {	display: none;	text-align: center;}.other-list {	display: flex;	justify-content: space-between;	column-gap: min(5vw, 30px);	margin-top: min(9vw, 65px);}.other-list-item {	max-width: 530px;	width: 100%;	display: flex;	justify-content: center;	align-items: center;	flex-direction: column;	background-repeat: no-repeat;	background-size: contain;	aspect-ratio: 530 / 305;	text-align: center;	position: relative;	z-index: 0;}.other-list-item::after {	content: "";	background-color: rgba(255, 255, 255, 0.85);	width: 80%;	height: 70%;	position: absolute;	top: 50%;	left: 50%;	transform: translate(-50%, -50%);	z-index: -1;}.other-list-item:first-child {	background-image: url("../img/pilates.jpg");}.other-list-item:last-child {	background-image: url("../img/overseas.png");}.other-list-item h4 {	max-width: 345px;	width: 90%;	padding-bottom: 0.25em;	margin-bottom: 1em;	color: #759AA8;	border-bottom: 2px solid #759AA8;	font-size: clamp(1.5rem, 1.286rem + 0.76vw, 2rem);}@media screen and (max-width: 768px) {	.other-list {		flex-direction: column;		grid-row-gap: min(7vw, 50px);	}	.other-list-item {		margin: 0 auto;	}}/*--------------------------CONTACT---------------------------*/#Contact {	padding: min(12vw, 150px) 0 min(14vw, 90px);	background-color: #CFCFCF;}#Contact .section-title, #Contact .section-subtitle {	max-width: 268px;	width: 21vw;}.contact-btn {	display: block;	background-color: #334A52;	border: none;	max-width: 450px;	width: 93%;	padding: 1em;	margin: 50px auto 0;	text-align: center;	color: #fff;	text-decoration: none;	box-sizing: border-box;	position: relative;}.arrow {	display: block;	width: 10px;	height: 10px;	border-bottom: 1px solid #fff;	border-right: 1px solid #fff;	position: absolute;	right: 5%;	top: 50%;	transform: translateY(-50%) rotate(-45deg);}@media screen and (max-width: 768px) {	#Contact .section-title, #Contact .section-subtitle {		max-width: 189px;		width: 28%;		min-width: 151px;	}}/*--------------------------FOOTER---------------------------*/footer {	padding: 20px 0;	background-color: #334A52;	color: #fff;}.footer-wrap {	display: grid;	grid-template-columns: 130px auto;	grid-template-rows: 1fr 1fr 15px;	column-gap: 20px;	place-items: flex-start;}.footer-logo {	max-width: 130px;	width: 100%;	grid-column: 1 / 2;	grid-row: 1 / 4;}.company-name {	grid-column: 2 / 3;	grid-row: 1 / 2;	align-self: flex-end;	font-weight: 400;}.address {	grid-column: 2 / 3;	grid-row: 2 / 3;	margin-top: 7px;	font-weight: 400;	font-size: clamp(0.875rem, 0.821rem + 0.19vw, 1rem);}.copyright {	grid-column: 1 / 3;	grid-row: 3 / 4;	margin-top: 15px;	font-size: 10px;	place-self: flex-end;}@media screen and (max-width: 480px) {	.footer-wrap {		grid-template-columns: 90px auto;		grid-template-rows: auto auto 25px;		align-items: center;	}	.footer-logo {		grid-row: 1 / 3;	}	.address {		margin-top: 0;		line-height: 1.4;	}}