/* CSS Document */

/*======hero_area (redefine)==============*/
.p-hero_area{
	background-color: #fff;
	width: 100%;
	position: relative;
	/*aspect-ratio: 3/1;*/
	/*aspect-ratio: 13/5;*/
	aspect-ratio: 20/7;
	overflow: hidden;
	transition: height 0.3s;
}
.p-hero_area.top{
	aspect-ratio: inherit;
	height: calc(570px + 6vw); /*w:1300 のときh:650 バッファ2px*/
}
.p-hero_area {
	transition: aspect-ratio 0.3s;
}

.p-heroArea__loading{
	position:absolute;
	top:50%; left:50%;
	width: 200px; height: 200px;
	margin-left:-100px;
	margin-top:-100px;
	opacity: 0.7;
	/*opacity: 0;*/
	transition: opacity 0.5s;
	z-index: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}
.p-heroArea__loading.is-hidden{
	opacity: 0;
}

/*load anim*/
.loader {
  font-size: 10px;
  margin: 50px auto;
  text-indent: -9999em;
  width: 11em;
  height: 11em;
  border-radius: 50%;
  background: #9ce6f2;
  background: -moz-linear-gradient(left, #9ce6f2 10%, rgba(156,230,242, 0) 42%);
  background: -webkit-linear-gradient(left, #9ce6f2 10%, rgba(156,230,242, 0) 42%);
  background: -o-linear-gradient(left, #9ce6f2 10%, rgba(156,230,242, 0) 42%);
  background: -ms-linear-gradient(left, #9ce6f2 10%, rgba(156,230,242, 0) 42%);
  background: linear-gradient(to right, #9ce6f2 10%, rgba(156,230,242, 0) 42%);
  position: relative;
  -webkit-animation: load3 1.4s infinite linear;
  animation: load3 1.4s infinite linear;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
}
.loader:before {
  width: 50%;
  height: 50%;
  background: #9ce6f2;
  border-radius: 100% 0 0 0;
  position: absolute;
  top: 0;
  left: 0;
  content: '';
}
.loader:after {
  background: #fff;
  width: 75%;
  height: 75%;
  border-radius: 50%;
  content: '';
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
@-webkit-keyframes load3 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load3 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
/**/

/*====== /hero_area (redefine)==============*/


/*======hero_slide=======*/
.p-heroPhoto_area{
	width: 100%;
	height: 100%;
	position: relative;
}

/*heroPhoto*/
.p-heroPhoto{
	width: 100%;
	height: 100%;
	position: absolute;
	top:0px;
	left: 0px;
	opacity: 0;
	transition: opacity 0.8s;
}
.p-heroPhoto.is-appear{
	opacity: 1;
}
.p-heroPhoto li{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0px; left: 0px;
	line-height: 1;
	z-index: 0;
	
	display: flex;
	justify-content: center;
	align-items: flex-start;
}
.p-heroPhoto li img{
	min-height: 100%;
	max-width: inherit !important;
	height: auto;
	width: 100%;
	transform: scale(1.16);
	transition: transform 0.8s;
}

.p-heroPhoto.is-appear li img{
	transform: scale(1);
}

/*======/hero_slide=======*/

/*@media screen and ( min-width:1300px) {
	.p-hero_area.top{
		aspect-ratio: 2.15/1;
	}
}

@media screen and ( min-width:1460px) {
	.p-hero_area.top{
		aspect-ratio: 2.35/1;
	}
}*/

@media screen and ( min-width:1550px) {
	.p-hero_area.top{
		height: calc(152px + 33vw); /*w:1550 のときh:663*/
	}
	.p-hero_area{
		aspect-ratio: inherit;
		/*height: calc(348px + 16vw);*/
		height: calc(296px + 16vw); /*w:1550 のときh:596*/
	}
	.p-heroPhoto li img{
		margin-top: calc((100vw - 1550px)* -0.08);
	}
}

@media screen and ( max-width:1299px) {
	.p-hero_area.top{
		aspect-ratio: 2/1;
		height: auto;
	}
}

@media screen and ( max-width:959px) {
	.p-hero_area{
		aspect-ratio: inherit;
		height: 336px;
		width: 100%;
	}
	.p-hero_area.top{
		height: 480px;
	}
	.p-heroPhoto li img{
		height: 100% !important;
		width: auto;
	}
	
	.p-heroPhoto li.pc{
		display: none;
	}
	.p-heroPhoto li.sp{
		display: block;
	}
	.p-heroPhoto li.sp img{
		height: auto !important;
		width: 100% !important;
	}
}
@media screen and ( max-width:480px) {
	.p-hero_area.top{
		height: auto;
		aspect-ratio:1/1;
	}
}

/*lev2*/

/*==heroArea_title================*/
.p-heroArea_title{
}

.p-heroPhoto_area .p-heroArea_title{
	position: absolute;
	top: max(5rem,calc(3.5rem + 2vw));
	left: 0;
	width: 100%;
	
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-weight: 500;
	font-feature-settings: "palt" 1;
	opacity: 0;
	transform: translateY(20px);
	transition: margin-top 0.3s, opacity 0.6s 0.8s, transform 0.6s 0.8s;
}
.p-heroPhoto_area .p-heroArea_title.is-appear{
	opacity: 1;
	transform: translate(0);
}
.p-heroPhoto_area .p-heroArea_title h1.p-heroArea_title__txt,
.p-heroPhoto_area .p-heroArea_title .p-heroArea_title__txt{
	font-size: clamp(38px, 3.1vw, 64px);
	line-height: 1.4;
	display: flex;
	flex-direction: column;
	justify-content: center;
	/*margin-bottom: 0.7em;*/
}
.p-heroPhoto_area .p-heroArea__logo{
	display: block;
	margin-top: -0.2em;
	height: clamp(32px, 2.6vw, 54px);
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.6s 1s, transform 0.6s 1s;
}
.p-heroPhoto_area .p-heroArea__logo img{
	height: 100%;
	width: auto;
}
.p-heroPhoto_area .p-heroArea_title.is-appear .p-heroArea__logo{
	opacity: 1;
	transform: translateY(0);
}

@media screen and (max-width: 459px) {
    .p-heroPhoto_area .p-heroArea_title h1.p-heroArea_title__txt,
	.p-heroPhoto_area .p-heroArea_title .p-heroArea_title__txt{
		font-size:  1.625rem;
	}
	.p-heroPhoto_area .p-heroArea__logo{
		height: 26px;
	}
	.p-heroPhoto_area .p-heroArea__logo img{
		height: 100% !important;
		width: auto;
	}
}

