/* --------------------------------------------------
  loading
-------------------------------------------------- */
.p-top-loading {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	position: fixed;
	z-index: 9999;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: #fff;
}
.p-top-loading__area {
	position: relative;
	width: 300px;
	height: 100px;
}
.p-top-loading__area > * {
	display: block;
	position: absolute;
	z-index: 2;
	outline: 1px solid transparent;
	will-change: animation;
	-webkit-animation: loading 1s cubic-bezier(0.215, 0.61, 0.355, 1) 0s forwards;
	        animation: loading 1s cubic-bezier(0.215, 0.61, 0.355, 1) 0s forwards;
	opacity: 0;
}
.p-top-loading__logo01 {
	top: 0;
	left: 0;
	width: 100%;
	-webkit-animation-delay: 0s;
	        animation-delay: 0s;
}
.p-top-loading__logo02 {
	top: 57px;
	left: 0;
	right: 0;
	width: 209px;
	margin: auto;
	-webkit-animation-delay: 0.15s;
	        animation-delay: 0.15s;
}
.p-top-loading__logo03 {
	top: 98px;
	left: 0;
	width: 133px;
	right: 0;
	margin: auto;
	-webkit-animation-delay: 0.3s;
	        animation-delay: 0.3s;
}
.p-top-loading.is-load {
	-webkit-transition: opacity 0.9s cubic-bezier(0.445, 0.05, 0.55, 0.95) 2s;
	transition: opacity 0.9s cubic-bezier(0.445, 0.05, 0.55, 0.95) 2s;
	pointer-events: none;
	opacity: 0;
}
.p-top-loading.is-load p-toploading__area > * {
	-webkit-transition: opacity 1s ease-in-out 5s;
	transition: opacity 1s ease-in-out 5s;
	opacity: 0;
}
@media screen and (max-width: 767px) {
	.p-top-loading__area {
		width: 30rem;
		height: 10rem;
	}
	.p-top-loading__logo02 {
		top: 5.7rem;
		width: 20.9rem;
	}
	.p-top-loading__logo03 {
		top: 9.8rem;
		width: 13.3rem;
	}
}

@-webkit-keyframes loading {
	0% {
		-webkit-transform: translateY(2rem);
		        transform: translateY(2rem);
		opacity: 0;
	}
	100% {
		-webkit-transform: translateY(0);
		        transform: translateY(0);
		opacity: 1;
	}
}

@keyframes loading {
	0% {
		-webkit-transform: translateY(2rem);
		        transform: translateY(2rem);
		opacity: 0;
	}
	100% {
		-webkit-transform: translateY(0);
		        transform: translateY(0);
		opacity: 1;
	}
}
/* --------------------------------------------------
  mv
-------------------------------------------------- */
.p-top-mv__link {
	position: absolute;
	top: 41px;
	left: 38px;
	line-height: 1;
}
.p-top-mv__link a {
	font-size: 1.4rem;
	letter-spacing: 0.1em;
	line-height: 1;
	font-weight: bold;
	padding-left: 28px;
}
.p-top-mv__link a::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 16px;
	height: 15px;
	background: url(../img/common/icon_honkan.png) no-repeat center center/contain;
}
.p-top-mv__logo {
	position: absolute;
	top: 43px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	        transform: translateX(-50%);
	width: 203px;
}
.p-top-mv__textarea {
	position: absolute;
	bottom: 124px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	        transform: translateX(-50%);
}
.p-top-mv__ttl {
	font-size: 4rem;
	line-height: 1.75;
	text-align: center;
	margin: 0;
}
.p-top-mv-flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 0 20px;
	margin-top: 94px;
}
.p-top-mv-flex__item {
	position: relative;
	width: calc((100% - 40px) / 3);
	height: 224px;
	overflow: hidden;
}
.p-top-mv-flex__item a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	text-align: center;
	width: 100%;
	height: 100%;
}
.p-top-mv-flex__img {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
.p-top-mv-flex__img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
}
.p-top-mv-flex__img::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.35);
	z-index: 1;
}
.p-top-mv-flex__txt {
	padding-top: 7px;
}
.p-top-mv-flex__txt-jn {
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1;
	margin: 0;
	text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}
.p-top-mv-flex__txt-en {
	font-size: 1rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.1em;
	margin: 10px 0 0;
	text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}
.p-top-mv__tel {
	position: absolute;
	top: 41px;
	right: 37px;
	line-height: 1;
}
.p-top-mv__tel a {
	font-size: 1.4rem;
	letter-spacing: 0.1em;
	font-weight: bold;
	padding-left: 30px;
}
.p-top-mv__tel a::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 20px;
	height: 15px;
	background: url(../img/common/icon_tel.svg) no-repeat center center/contain;
}
@media screen and (min-width: 768px) {
	.p-top-mv-flex__item a:hover {
		opacity: 1;
	}
	.p-top-mv-flex__item a:hover .p-top-mv-flex__img::before {
		-webkit-transition: background-color 100ms cubic-bezier(0.165, 0.84, 0.44, 1);
		transition: background-color 100ms cubic-bezier(0.165, 0.84, 0.44, 1);
		background: rgba(0, 0, 0, 0.6);
	}
	.p-top-mv-flex__item a:hover .p-top-mv-flex__img img {
		-webkit-transform: translate3d(0, 0, 0) scale(1.04);
		        transform: translate3d(0, 0, 0) scale(1.04);
		-webkit-transition: -webkit-transform 3600ms cubic-bezier(0.165, 0.84, 0.44, 1);
		transition: -webkit-transform 3600ms cubic-bezier(0.165, 0.84, 0.44, 1);
		transition: transform 3600ms cubic-bezier(0.165, 0.84, 0.44, 1);
		transition: transform 3600ms cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 3600ms cubic-bezier(0.165, 0.84, 0.44, 1);
	}
	.p-top-mv-flex__img img {
		-webkit-transform: translate3d(0, 0, 0);
		        transform: translate3d(0, 0, 0);
		-webkit-transition: -webkit-transform 3600ms cubic-bezier(0.165, 0.84, 0.44, 1);
		transition: -webkit-transform 3600ms cubic-bezier(0.165, 0.84, 0.44, 1);
		transition: transform 3600ms cubic-bezier(0.165, 0.84, 0.44, 1);
		transition: transform 3600ms cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 3600ms cubic-bezier(0.165, 0.84, 0.44, 1);
	}
	.p-top-mv-flex__img::before {
		-webkit-transition: background-color 500ms cubic-bezier(0.165, 0.84, 0.44, 1);
		transition: background-color 500ms cubic-bezier(0.165, 0.84, 0.44, 1);
	}
}
@media screen and (max-width: 767px) {
	.p-top-mv__link {
		top: auto;
		bottom: 3.2rem;
		left: 2rem;
	}
	.p-top-mv__link a {
		font-size: 1.6rem;
		letter-spacing: 0;
		font-weight: 500;
		padding-left: 3rem;
	}
	.p-top-mv__link a::before {
		width: 1.9rem;
		height: 1.8rem;
	}
	.p-top-mv__logo {
		top: 2.4rem;
		left: 2rem;
		-webkit-transform: none;
		        transform: none;
		width: 150px;
	}
	.p-top-mv__textarea {
		bottom: 12rem;
	}
	.p-top-mv__ttl {
		font-size: 3.2rem;
		line-height: 1.75;
	}
	.p-top-mv-flex {
		display: block;
		margin-top: 9vh;
	}
	.p-top-mv-flex__item {
		width: 100%;
		height: auto;
		border-bottom: 1px solid #ffffff;
	}
	.p-top-mv-flex__item a {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		-webkit-box-pack: start;
		    -ms-flex-pack: start;
		        justify-content: flex-start;
		text-align: left;
		padding: 1rem;
	}
	.p-top-mv-flex__item a::before {
		content: "";
		position: absolute;
		top: 50%;
		right: 2rem;
		width: 1rem;
		height: 1rem;
		border-top: 1px solid #ffffff;
		border-right: 1px solid #ffffff;
		-webkit-transform: translateY(-50%) rotate(45deg);
		        transform: translateY(-50%) rotate(45deg);
	}
	.p-top-mv-flex__img {
		position: static;
		top: auto;
		left: auto;
		aspect-ratio: 67/40;
		width: 13.4rem;
	}
	.p-top-mv-flex__img::before {
		content: none;
	}
	.p-top-mv-flex__txt {
		padding: 0 0 0 3.5rem;
		width: calc(100% - 13.4rem);
	}
	.p-top-mv-flex__txt-jn {
		font-size: 2.1rem;
		text-shadow: unset;
	}
	.p-top-mv-flex__txt-en {
		font-size: 1rem;
		font-weight: bold;
		margin: 1rem 0 0;
		text-shadow: unset;
	}
	.p-top-mv__tel {
		top: 2.8rem;
		right: 2.6rem;
	}
	.p-top-mv__tel a {
		font-size: 1.6rem;
		padding-left: 3.5rem;
	}
	.p-top-mv__tel a::before {
		width: 2.2rem;
		height: 1.7rem;
	}
}
.p-top-mv .c-mv__bestrate {
	bottom: 2rem;
}
/*# sourceMappingURL=top.css.map */