body {
	font-family: noto-sans-cjk-jp, sans-serif;
}

.l-instagram {
	margin-top: -6.5625rem;
}

.l-recruit {
	margin-top: 1.25rem;
}

.p-loading {
	background-color: #FFD85F;
	height: 100%;
	left: 0;
	position: fixed;
	top: 0;
	transition: all 0.6s ease-in-out 0.5s;
	width: 100%;
	z-index: 10000;
}

.p-loading.is-active {
	transform: translateY(-105%);
}

.p-loading__inner {
	height: -moz-fit-content;
	height: fit-content;
	left: 50%;
	padding-bottom: 1.875rem;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%) scale(0.7);
	width: -moz-fit-content;
	width: fit-content;
}

.p-loading__imgs {
	align-items: flex-end;
	display: flex;
	gap: 0rem;
	justify-content: center;
}
.p-loading__imgs picture:first-child img{
	width:70px;
}
.p-loading__imgs picture:nth-child(2) img{
	width: 60px;
}
.p-loading__imgs picture:last-child img{
	width: 60px;
}
.p-loading__bar {
	bottom: 0;
	height: 0.75rem;
	left: 50%;
	margin-top: 0.625rem;
	position: absolute;
	text-align: center;
	transform: translateX(-50%);
}

.p-loading__bar svg {
	border-radius: 1.25rem;
	height: 0.5rem;
	width: 12.5rem;
}

.p-topAbout {
	position: relative;
}

.p-topAbout::before {
	background: url(../images/top/bg_about_sp.webp) center top/100% no-repeat;
	content: "";
	height: calc(100% - 5rem);
	position: absolute;
	width: 100%;
}

.p-topAbout::after {
	background: url(../images/top/bg_about_03.webp) center top/cover no-repeat;
	content: "";
	height: 1rem;
	left: calc(50% + 0.625rem);
	position: absolute;
	top: -3.5rem;
	transform: translateX(-50%);
	width: 4.25rem;
}

.p-topAbout__inner {
	background: linear-gradient(to bottom, transparent 6.25rem, #0D8DDB 6.25rem);
	max-width: unset;
	padding-top: 3.5625rem;
	position: relative;
}

.p-topAbout__inner::before {
	background: url(../images/top/bg_about_01_sp.webp) center right/contain no-repeat;
	content: "";
	height: 8.25rem;
	left: -3.25rem;
	position: absolute;
	top: -6.375rem;
	width: 12.625rem;
	z-index: -1;
}

.p-topAbout__inner::after {
	background: url(../images/top/bg_about_02_sp.webp) center right/contain no-repeat;
	content: "";
	height: 8.25rem;
	position: absolute;
	right: -3.25rem;
	top: -6.375rem;
	width: 12.625rem;
	z-index: -1;
}

.p-topAbout__paint {
	left: 0;
	position: absolute;
	top: -10.25rem;
	width: 7.9375rem;
}

.p-topAbout__slider {
	margin-inline: auto;
	max-width: 19.125rem;
}

.p-topAbout__slider .slick-list {
	overflow: unset;
}

.p-topAbout__card {
	margin-inline: 0.8125rem;
	position: relative;
	width: 19.125rem;
	z-index: 1;
}

.p-topAbout__card a {
	display: block;
	height: inherit;
	padding: 2.375rem 1.5rem 5.0625rem;
	position: relative;
	z-index: 1;
}

.p-topAbout__card a::before {
	border: 1px solid #000;
	border-radius: 2.5rem;
	content: "";
	height: 100%;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	transition: all 0.45s;
	width: 100%;
	z-index: -1;
}

.p-topAbout__card.--blue a::before {
	background-color: #94DEFA;
}

.p-topAbout__card.--yellow a::before {
	background-color: #FEE38B;
}

.p-topAbout__card.--green a::before {
	background-color: #AAE3A7;
}

.p-topAbout__img {
	height: 7.875rem;
	margin-inline: auto;
	max-width: 11.125rem;
}

.p-topAbout__img img {
	-o-object-fit: contain;
	height: 100%;
	margin: auto;
	object-fit: contain;
	width: 100%;
}

.p-topAbout__cardTitle {
	margin-top: 0.6875rem;
}

.p-topAbout__cardText {
	font-size: 0.75rem;
	line-height: 2.5;
	margin-top: 0.6875rem;
}

.p-topAbout__more {
	bottom: 2.4375rem;
	left: 50%;
	position: absolute;
	text-align: center;
	transform: translateX(-50%);
	width: 100%;
}

.p-topAbout__btn {
	margin-top: 4.25rem;
	position: relative;
}

.p-topAbout__en {
	color: #fff;
	font-size: 5.625rem;
	letter-spacing: 0.075em;
	line-height: 0.9;
	margin-top: 4.8125rem;
	opacity: 0.2;
}

.p-topAbout__giraffe {
	margin-left: auto;
	margin-right: calc(50% - 50vw);
	margin-top: -13.0625rem;
	position: relative;
	width: 63.3333333333vw;
	z-index: 2;
}

.p-topAbout__fadeSlider1 {
	margin-left: auto;
	margin-right: calc(50% - 50vw - 3.4375rem);
	margin-top: -10rem;
	width: 66.6666666667vw;
	z-index: 1;
}

.p-topAbout__fadeSlider1 .slick-list {
	background-color: #fff;
	border: 1px solid #000;
	border-radius: 6.25rem 0 0 6.25rem;
	border-right: none;
}

.p-topAbout__fadeImg1 img {
	-o-object-fit: cover;
	aspect-ratio: 260/150;
	height: 100%;
	object-fit: cover;
}

.p-topAbout__fadeSlider2 {
	margin-left: -2.3125rem;
	margin-top: -3.125rem;
	position: relative;
	width: 64.1025641026vw;
	z-index: 1;
}

.p-topAbout__fadeSlider2 .slick-list {
	background-color: #fff;
	border: 1px solid #000;
	border-radius: 6.25rem;
}

.p-topAbout__fadeSlider2::before {
	background: url(../images/top/dog.webp) center center/contain no-repeat;
	content: "";
	height: 4rem;
	left: 3.625rem;
	position: absolute;
	top: -2.8125rem;
	width: 7.8125rem;
	z-index: 1;
}

.p-topAbout__fadeImg2 img {
	-o-object-fit: cover;
	aspect-ratio: 250/126;
	height: 100%;
	object-fit: cover;
}

.p-topIntro {
	padding-bottom: 5.0625rem;
	padding-top: 2.25rem;
	position: relative;
}

.p-topIntro__slider1 {
	margin-inline: auto;
	max-width: 100%;
	position: relative;
	z-index: 1;
}

.p-topIntro__slider1 .slick-list {
	background-color: #fff;
	border: 1px solid #000;
	border-radius: 1rem;
}

.p-topIntro__slider1::before {
	background: url(../images/common/full_cloud.webp) center center/contain no-repeat;
	content: "";
	height: 2.25rem;
	left: -1.625rem;
	position: absolute;
	top: -1.25rem;
	width: 5.25rem;
	z-index: 2;
}

.p-topIntro__slider1::after {
	background: url(../images/common/full_cloud.webp) center center/contain no-repeat;
	bottom: -1.125rem;
	content: "";
	height: 2.25rem;
	position: absolute;
	right: -0.875rem;
	width: 5.25rem;
	z-index: 2;
}

.p-topIntro__sliderImg1 img {
	-o-object-fit: cover;
	aspect-ratio: 325/151;
	height: 100%;
	object-fit: cover;
}

.p-topIntro__title {
	font-size: 1.875rem;
	font-weight: 900;
	letter-spacing: -0.015em;
	line-height: 1.5;
	margin-left: 1.25rem;
	margin-top: 2.3125rem;
	text-align: center;
}

.p-topIntro__text {
	font-size: 0.875rem;
	font-weight: 900;
	line-height: 3;
	margin-top: 1.5rem;
	text-align: center;
}

.p-topIntro__movie {
	aspect-ratio: 358/201;
	margin-top: 10.625rem;
	position: relative;
	z-index: 1;
}

.p-topIntro__thumbnail {
	border-radius: 1.5625rem;
	cursor: pointer;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transition: all 0.3s;
	width: 100%;
	z-index: 1;
}

.p-topIntro__video {
	border-radius: 1.5625rem;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.p-topIntro__btn {
	background-color: #FFD857;
	border: 1.5px solid black;
	border-radius: 50%;
	display: grid;
	height: 3.1875rem;
	left: 50%;
	place-items: center;
	pointer-events: none;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	transition: all 0.45s;
	width: 3.1875rem;
	z-index: 1;
}

.p-topIntro__btn span {
	background: url(../images/common/triangle.webp) center center/contain no-repeat;
	height: 0.8125rem;
	transform: rotate(-90deg);
	width: 0.75rem;
}

.p-topIntro__img1 {
	position: absolute;
	right: 0;
	top: 34.75rem;
	width: 11.875rem;
}

.p-topIntro__img2 {
	left: 0;
	position: absolute;
	top: 42.6875rem;
	width: 6.25rem;
}

@media (hover: hover) {

.p-topAbout__card a:hover .c-arrow {
	background-color: #fff;
}

.p-topAbout__card a:hover .c-arrow::before {
	background-color: #000;
}

.p-topAbout__card a:hover::before {
	transform: translate(-50%, -50%) scale(1.03);
}

.p-topIntro__movie:hover .p-topIntro__btn {
	height: 9.75rem;
	width: 9.75rem;
}

}

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

.l-instagram {
	margin-top: -13.8125rem;
}

.l-topAbout {
	margin-top: -11.8125rem;
}

.p-loading__inner {
	transform: translate(-50%, -50%) scale(1);
}

.p-loading__imgs {
	gap: 0rem;
}

.p-loading__bar {
	margin-left: 0.5rem;
	margin-top: 1.875rem;
}

.p-loading__bar svg {
	width: 13rem;
}

.p-topAbout::before {
	background-image: url(../images/top/bg_about.webp);
	height: calc(100% - 15.375rem);
	left: 0;
	margin-inline: auto;
	right: 0;
	width: calc(100% - 4.375rem);
}

.p-topAbout::after {
	display: none;
}

.p-topAbout__inner {
	background: linear-gradient(to bottom, transparent 31.25rem, #0D8DDB 31.25rem, #0D8DDB calc(100% - 18.75rem), transparent calc(100% - 18.75rem));
	padding: 0;
	padding-top: 18.875rem;
	width: calc(100% - 4.375rem);
}

.p-topAbout__inner::before {
	background-image: url(../images/top/bg_about_01.webp);
	background-position: center left;
	height: 14.5rem;
	left: 0;
	margin-left: calc(50% - 50vw);
	top: -6.6875rem;
	width: 36.3125rem;
}

.p-topAbout__inner::after {
	background-image: url(../images/top/bg_about_02.webp);
	background-position: center right;
	height: 14.3125rem;
	margin-right: calc(50% - 50vw);
	right: 0;
	top: -6.5625rem;
	width: 36.3125rem;
}

.p-topAbout__paint {
	left: calc(50% - 50vw);
	top: -24.4791666667vw;
	width: 21.40625vw;
}

.p-topAbout__slider {
	align-items: flex-start;
	display: grid;
	gap: 4.625rem;
	grid-template-columns: repeat(3, 1fr);
	max-width: 97.8125rem;
}

.p-topAbout__card {
	width: 100%;
}

.p-topAbout__card a {
	min-height: 44rem;
	padding: 2.875rem 3.5625rem 3rem;
}

.p-topAbout__card a::before {
	border-width: 2px;
}

.p-topAbout__card:nth-child(2) {
	margin-top: 4.875rem;
}

.p-topAbout__card:nth-child(3) {
	margin-top: 10.3125rem;
}

.p-topAbout__img {
	height: 14.0625rem;
	max-width: 19.1875rem;
}

.p-topAbout__cardTitle {
	margin-top: 2.25rem;
}

.p-topAbout__cardText {
	font-size: 0.9375rem;
	margin-top: 1.75rem;
}

.p-topAbout__more {
	bottom: 3rem;
}

.p-topAbout__btn {
	margin-left: 17.25rem;
	margin-top: 4.875rem;
}

.p-topAbout__en {
	font-size: 16.25rem;
	line-height: 1.5;
	margin-left: 7.75rem;
	margin-top: 0.625rem;
}

.p-topAbout__giraffe {
	margin-top: -36.875rem;
	width: 39.625rem;
}

.p-topAbout__fadeSlider1 {
	margin-right: calc(50% - 50vw);
	margin-top: -31.1875rem;
	width: 62.9166666667vw;
}

.p-topAbout__fadeSlider1 .slick-list {
	border-radius: 31.25rem 0 0 31.25rem;
	border-width: 2px;
}

.p-topAbout__fadeImg1 img {
	aspect-ratio: 1209/605;
}

.p-topAbout__fadeSlider2 {
	margin-left: -3.5625rem;
	margin-top: -23.8125rem;
	width: 51.4583333333vw;
}

.p-topAbout__fadeSlider2 .slick-list {
	border-radius: 18.75rem;
	border-width: 2px;
}

.p-topAbout__fadeSlider2::before {
	height: 12.1875rem;
	left: 17.0625rem;
	top: -8.6875rem;
	width: 23.75rem;
}

.p-topAbout__bird {
	height: 2.5rem;
	position: absolute;
	right: calc(50% - min(44.4270833333vw, 53.3125rem));
	top: -15.625rem;
	width: 10.8125rem;
}

.p-topIntro {
	padding-bottom: 0;
	padding-top: 5.4375rem;
}

.p-topIntro__slider1 {
	max-width: 81.25rem;
}

.p-topIntro__slider1 .slick-list {
	border-radius: 3.75rem;
	border-width: 2px;
}

.p-topIntro__slider1::before {
	bottom: -1.875rem;
	height: 7.125rem;
	left: -7.1875rem;
	top: initial;
	width: 16.9375rem;
}

.p-topIntro__slider1::after {
	height: 5.5625rem;
	right: -8.0625rem;
	top: 3.1875rem;
	width: 13.125rem;
}

.p-topIntro__sliderImg1 img {
	aspect-ratio: 1298/606;
}

.p-topIntro__title {
	font-size: 4.5rem;
	letter-spacing: 0.1em;
	margin-top: 6.625rem;
}

.p-topIntro__text {
	font-size: 1.25rem;
	letter-spacing: 0.1em;
	line-height: 3.9;
	margin-top: 2.6875rem;
}

.p-topIntro__movie {
	aspect-ratio: 1014/570;
	margin-inline: auto;
	margin-top: 5.875rem;
	max-width: 63.375rem;
}

.p-topIntro__thumbnail {
	border-radius: 3.75rem;
}

.p-topIntro__video {
	border-radius: 3.75rem;
}

.p-topIntro__btn {
	border-width: 2.6px;
	height: 8.25rem;
	width: 8.25rem;
}

.p-topIntro__btn span {
	height: 2.125rem;
	width: 1.875rem;
}

.p-topIntro__img1 {
	top: 40.9375rem;
	width: 34.375rem;
}

.p-topIntro__img2 {
	left: 11.1875rem;
	top: 86.3125rem;
	width: 16.9375rem;
}

}

