body {
	font-family: "Zen Kaku Gothic New", sans-serif;
}

body {
	font-weight: 400;
}

body {
	background-color: #F5EFE9;
	color: #005697;
}

.u-desktop {
	display: none;
}

.top-fv__wrapper {
	padding: 3.125rem 0 11.25rem;
	position: relative;
}

.top-fv__img {
	aspect-ratio: 1/1;
	overflow: hidden;
}

.top-fv__img img {
	-o-object-fit: contain;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.top-fv__text-area {
	bottom: 0.625rem;
	left: 0;
	position: absolute;
}

.top-fv__sub {
	font-weight: 500;
}

.top-fv__catch {
	margin-top: 0.625rem;
}

.top-fv__catch span {
	background-color: #fff;
	border: 0.0625rem solid #005697;
	display: inline-block;
	font-size: 1.375rem;
	font-weight: 400;
	padding: 0.25rem 0.4375rem 0.4375rem;
}

.top-fv__catch span + span {
	margin-top: 0.3125rem;
}

/* ページ表示後にふわっと出す */

.fv-item {
	opacity: 0;
	transform: translateY(1.25rem);
	transition: opacity 1s ease, transform 0.8s ease;
}

.top-fv__wrapper.is-loaded .fv-item {
	opacity: 1;
	transform: translateY(0);
}

.top-fv__wrapper.is-loaded .top-fv__img {
	transition-delay: 0s;
}

.top-fv__wrapper.is-loaded .top-fv__sub {
	transition-delay: 0.5s;
}

.top-fv__wrapper.is-loaded .top-fv__catch span:nth-of-type(1) {
	transition-delay: 0.8s;
}

.top-fv__wrapper.is-loaded .top-fv__catch span:nth-of-type(2) {
	transition-delay: 1.1s;
}

.top-fv__wrapper.is-loaded::before {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 1.4s;
}

.top-works {
	padding-bottom: 5rem;
	padding-top: 3.125rem;
}

.top-works__btn {
	margin-top: 3.125rem;
	text-align: center;
}

.top-about {
	background-color: #5A9BCD;
	color: #fff;
	padding-bottom: 5rem;
	padding-top: 3.125rem;
}

.top-about__wave {
	margin-bottom: -1%;
}

.top-about__wrapper {
	display: flex;
	flex-direction: column;
	gap: 3.125rem;
}

.top-about__img {
	aspect-ratio: 1/1;
	overflow: hidden;
}

.top-about__img img {
	-o-object-fit: contain;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.top-about__text-area {
	padding: 0 1.25rem 0;
}

.top-about__heading {
	display: inline-block;
	font-size: 1.5rem;
	font-weight: 500;
	position: relative;
}

.top-about__heading::before {
	background-image: url("../../images/common/icon_coron_left.svg");
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: block;
	height: 0.6875rem;
	left: -10%;
	position: absolute;
	top: 0;
	width: 0.9375rem;
}

.top-about__heading::after {
	background-image: url("../../images/common/icon_coron_right.svg");
	background-repeat: no-repeat;
	background-size: contain;
	bottom: 0;
	content: "";
	display: block;
	height: 0.6875rem;
	position: absolute;
	right: -10%;
	width: 0.9375rem;
}

.top-about__profile {
	margin-top: 0.9375rem;
}

.top-about__role {
	font-size: 1rem;
}

.top-about__name {
	font-size: 1.25rem;
}

.top-about__text {
	margin-top: 1.25rem;
}

.top-about__btn {
	margin-top: 3.125rem;
	text-align: center;
}

/* スクロールで画面内に入ったらふわっと表示 */

.top-about__img,
.top-about__heading,
.top-about__profile,
.top-about__text {
	opacity: 0;
	transform: translateY(1.25rem);
	transition: opacity 1s ease, transform 0.8s ease;
}

.top-about__wrapper.is-show .top-about__img {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0s;
}

.top-about__wrapper.is-show .top-about__heading {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0.3s;
}

.top-about__wrapper.is-show .top-about__profile {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0.6s;
}

.top-about__wrapper.is-show .top-about__text {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0.9s;
}

@media screen and (min-width: 768px) {

.u-desktop {
	display: block;
}

.u-mobile {
	display: none;
}

.top-fv__wrapper {
	padding: 5rem 0 0;
}

.top-fv__img {
	margin-left: auto;
	margin-right: auto;
	max-width: 50.3125rem;
}

.top-fv__text-area {
	bottom: 12.0625rem;
}

.top-fv__sub {
	font-size: 1.25rem;
}

.top-fv__catch {
	align-items: flex-start;
	display: inline-flex;
	flex-direction: column;
	margin-top: 0.9375rem;
}

.top-fv__catch span {
	font-size: 2.5rem;
	padding: 0.1875rem 1.25rem 0.3125rem;
}

.top-fv__catch span + span {
	margin-top: 0.625rem;
}

.top-works {
	padding-bottom: 11.875rem;
	padding-top: 6.25rem;
}

.top-works__btn {
	margin-top: 5rem;
}

.top-about {
	padding-bottom: 11.875rem;
	padding-top: 6.25rem;
}

.top-about__wrapper {
	align-items: center;
	flex-direction: row;
	gap: 2.5rem;
}

.top-about__img {
	width: 45%;
}

.top-about__text-area {
	width: 50%;
}

.top-about__heading {
	font-size: 1.875rem;
}

.top-about__heading::before {
	height: 0.9375rem;
	left: -6%;
	width: 1.25rem;
}

.top-about__heading::after {
	height: 0.9375rem;
	right: -6%;
	width: 1.25rem;
}

.top-about__profile {
	margin-top: 2.5rem;
}

.top-about__name {
	font-size: 1.5625rem;
}

.top-about__btn {
	margin-top: 5rem;
}

}


/*# sourceMappingURL=top.css.map */
