/* CSS Document */

/*======hero_area (redefine)==============*/
.p-hero_area{
	background-color: #fff;
	width: 100%;
	position: relative;
	/*aspect-ratio: 2.4/1;*/
	aspect-ratio: 3/1;
	overflow: hidden;
	z-index: 2;
}
.p-hero_area.top{
	aspect-ratio: 2.4/1;
	z-index: 3;
}
.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;
	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: #b8eac7;
  background: -moz-linear-gradient(left, #b8eac7 10%, rgba(184,234,199, 0) 42%);
  background: -webkit-linear-gradient(left, #b8eac7 10%, rgba(184,234,199, 0) 42%);
  background: -o-linear-gradient(left, #b8eac7 10%, rgba(184,234,199, 0) 42%);
  background: -ms-linear-gradient(left, #b8eac7 10%, rgba(184,234,199, 0) 42%);
  background: linear-gradient(to right, #b8eac7 10%, rgba(184,234,199, 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: #b8eac7;
  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%;
	/*min-width: 1160px;*/
	height: 100%;
	position: relative;
}

/*heroPhoto*/
.p-heroPhoto{
	width: 100%;
	height: 100%;
	position: absolute;
	top:0px;
	left: 0px;
	opacity: 0;
	transition: opacity 1.6s;
}
.p-heroPhoto.is-appear{
	opacity: 1;
}
.p-heroPhoto li{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0px; left: 0px;
	line-height: 1;
	opacity: 0;
	transition: opacity 3.5s 0s;
	z-index: 0;
	
	display: flex;
	justify-content: center;
	align-items: center;
}
.p-heroPhoto li.is-now{
	opacity: 1;
	z-index: 1;
}
.p-heroPhoto li>a{
	display: flex;
	width: 100%;
	height: 100%;
	overflow: hidden;
	justify-content: center;
	align-items: center;
}
.p-heroPhoto li>a::before{
	content: "";
	display: block;
	box-sizing: border-box;
	position: absolute;
	width: 100%;
	height: 100%;
	top:0px;
	left: 0px;
	border: rgba(255,255,255,0.3) 8px solid;
	opacity: 0;
	transition: opacity 0.4s;
}
.p-heroPhoto li:hover>a::before{
	opacity: 1;
}
.p-heroPhoto li img{
	/*min-width: 100%;*/
	min-height: 100%;
	max-width: inherit !important;
	height: auto;
	width: 100%;
}

/*heroArea__slPos*/
.p-heroArea__slPos{
	opacity: 0;
	position: absolute;
	bottom: -30px;
	left: 0px;
	width: 100%;
	transition: opacity 0.4s 1.4s, bottom 1s 1.4s;
	z-index: 1;
}
.p-heroArea__slPos.is-appear{
	opacity: 1;
	bottom: 0px;
}
.p-heroArea__slPos>ul{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	width: 100%;
}
.p-heroArea__slPos li{
	flex: 1 0 auto;
	width: auto;
	height: 30px;
	cursor: pointer;
	position: relative;
	transition: height 0.3s;
}
.p-heroArea__slPos li:not(:last-of-type){
	margin-right: 3px;
}
.p-heroArea__slPos li::before{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	clip-path: inset(10px 0 12px);
	position: absolute;
	top:0px;
	left: 0px;
	background-color: rgba(248,255,242,0.5);
	/*background-color: rgba(255,255,255,0.5);*/
	border-radius: 1px;
	transition: background-color 0.3s, height 0.3s;
}
.p-heroArea__slPos li::after{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	clip-path: inset(10px 0 12px);
	position: absolute;
	top:0px;
	left: 0px;
	background-color: rgba(248,255,242,1);
	/*background-color: #fff;*/
	border-radius: 1px;
	opacity: 0;
	transition: opacity 0.8s;
}
.p-heroArea__slPos li.is-now::after{
	opacity: 1;
	/*animation: op-progress none 5.5s linear;*/
	animation: op-progress none 3.5s linear;
}
.p-heroArea__slPos li.paused::after{
	animation-play-state: paused;
}
@keyframes op-progress{
	0%{
		width: 0%;
	}
	100%{
		width: 100%;
	}
}

.p-heroArea__slPos li:hover{
	height: 38px;
}
.p-heroArea__slPos .u-hide{
	display: none;
}

/*p-heroArea__slCtrl*/

.p-heroArea__slCtrl li{
	position: absolute;
	width: 60px;
	height: 60px;
	top:calc(50% - 40px);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	opacity: 0;
	transition: transform 0.8s 1.2s, opacity 0.4s 1.2s;
}
.p-heroArea__slCtrl.is-appear li{
	opacity: 1;
	transform: translateY(0px);
	z-index: 2;
}
.p-heroArea__slCtrl li span{
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background-color: rgba(0,0,0,0);
	border: rgba(255,255,255,0) 1px solid;
	transition: transform 0.3s, background-color 0.3s, border-color 0.3s;
}
.p-heroArea__slCtrl li:hover span{
	transform: scale(1.25);
	border-color: rgba(255,255,255,0.3);
	background-color: rgba(0,0,0,0.4);
}

.p-heroArea__slCtrl li.prev{
	transform: translateX(50px);
	left: 20px;
}
.p-heroArea__slCtrl li.next{
	transform: translateX(-50px);
	right: 20px;
}
.p-heroArea__slCtrl.is-appear li.prev,
.p-heroArea__slCtrl.is-appear li.next{
	transform: translateX(0px) scale(1);
}

.p-heroArea__slCtrl li span::before{
	content: "";
	display: block;
	opacity: 0.6;
	width: 18px;
	height: 18px;
	border: #fff 3px solid;
	transform-origin: center;
	filter: drop-shadow(1px 2px 16px rgba(0,0,0,0.7));
	transition: opacity 0.3s;
}
.p-heroArea__slCtrl li:hover span::before{
	opacity: 1;
}
.p-heroArea__slCtrl li.prev span::before{
	border-width: 3px 0 0 3px;
	transform: rotate(-45deg);
	margin: 19px 0 0 22px;
}
.p-heroArea__slCtrl li.next span::before{
	border-width: 3px 3px 0 0;
	transform: rotate(45deg);
	margin: 19px 0 0 16px;
}

@media screen and ( max-width:599px) {
	.p-heroArea__slCtrl li{
		width: 44px;
		height: 44px;
		top:calc(50% - 24px);
	}
	.p-heroArea__slCtrl li span::before{
		width: 12px;
		height: 12px;
	}
	.p-heroArea__slCtrl li.prev span::before{
		border-width: 2px 0 0 2px;
		margin: 14px 0 0 16px;
	}
	.p-heroArea__slCtrl li.next span::before{
		border-width: 2px 2px 0 0;
		margin: 14px 0 0 12px;
	}
}

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

/*heading*/
.p-index_title {
	padding: 0rem 0.25rem 0 0;
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	padding-bottom: clamp(180px, 15.5vw, 350px);
	display: flex;
	align-items: center;
	z-index: 1;
	opacity: 0;
	transform: translateY(30px);
	transition: transform 0.8s 0.5s, opacity 0.8s 0.5s;
}
.p-index_title.is-appear{
	opacity: 1;
	transform: translateY(0);
}
.p-index_title h1{
	margin: 0 auto;
	font-weight: 600;	
	font-size: clamp(40px,3.8vw,68px);
	letter-spacing: 0.01em;
	line-height: 1;
	text-align: center;
	color: #fff;
	text-shadow: 2px 3px 14px rgba(0,0,0,0.25), 1px 1px 3px rgba(0,0,0,0.4);
}
.p-hero_mark_1000 {
	display: none;
	/*display: flex;*/
	justify-content: center;
	position: absolute;
	left: 50%;
	top: 100%;
	width: 240px;
	margin-left: -120px;
}
.p-hero_mark_1000__inner{
	width: clamp(180px,13vw,240px);
	height: auto;
	margin-top: clamp(30px,2.5vw,60px);
	opacity: 0;
	transform: translateY(20px);
	transition: transform 0.6s 0.8s ,opacity 0.6s 0.8s;
}
.p-index_title.is-appear .p-hero_mark_1000__inner{
	opacity: 1;
	transform: translateY(0);
}

@media screen and ( max-width:599px) {
	.p-index_title h1{
		font-size: min(2.5rem,8.8vw);
	}
	.p-heroArea__slCtrl li.prev{
		left: 10px;
	}
	.p-heroArea__slCtrl li.next{
		right: 10px;
	}
}

.p-hero_area .p-index_title h1 .num{
	display: inline-block;
	font-size: 1.08em;
	margin-right: 0.06em;
	vertical-align: -0.01em;
	letter-spacing: 0.02em;
}
.p-hero_area .p-index_title h1 .kana{
	display: inline-block;
	letter-spacing: -0.06em;
	font-feature-settings: "palt" 1;
}

h2.p-top_ctg_heading{
	font-size: 1.875rem;
	line-height: 1;
	padding: 2rem 0 2.6875rem;
	font-weight: 500;
}

.p-env_content_index .c-bn_btn h3 {
	font-size: 1.25rem;
}

/*sp_swiper*/

#hero_area_sp{
	height: auto;
	position: relative;
	background-color: #fff;
}
#hero_area_sp .p-top_visual_sp{
	position: absolute;
	width: 100%;
	height: auto;
	aspect-ratio: 1/1;
	overflow: hidden;
	top:0px; left: 0px;
	z-index: 2;
	opacity: 0;
	transition: opacity 0.8s;
}
#hero_area_sp .p-top_visual_sp.is-appear{
	opacity: 1;
	z-index: 2;
}

#hero_sl_sp{ /*swiper*/
	opacity: 0;
	transition: opacity 0.6s;
}
#hero_sl_sp.is-appear{
	opacity: 1;
}
#hero_area_sp .swiper {
	width: 100%;
	height: auto;
	padding-bottom: 2.5rem;
}
#hero_area_sp .swiper-slide {
	height: auto;
	aspect-ratio: 1/1;
	overflow: hidden;
}
#hero_area_sp .swiper-slide img {
	height: auto;
}
#hero_area_sp .swiper-wrapper {
	height: auto;
}

/*p-heroArea__btn_below*/
.p-heroArea__btn_below{
	width: 60px;
	height: 60px;
	border-radius: 50%;
	position: absolute;
	left: 50%; 
	bottom: 36px;
	margin-left: -30px;
	z-index: 2;
	opacity: 0;
	transform: translateY(-40px);
	transition: all 0.8s 1.4s;
}
.p-heroArea__btn_below.is-appear{
	opacity: 1;
	transform: translateY(0px);
}
.p-heroArea__btn_below a{
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	transition: all 0.3s;
}
.p-heroArea__btn_below:hover a{
	transform: scale(1.2);
	background-color: rgba(0,1,1,0.4);
}
.p-heroArea__btn_below a::before{
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	position: absolute;
	left: 50%;
	top: 50%;
	margin-top: -16px;
	margin-left: -11px;
	border: #fff 3px solid;
	border-left: none;
	border-top: none;
	transform: rotate(45deg);
	background-size: 14px auto;
}

@media screen and ( max-width:1199px) {
	.p-hero_area{
		aspect-ratio: inherit;
		height: 400px;
		width: 100%;
	}
	.p-hero_area.top{
		height: 500px;
	}
	.p-heroPhoto li img{
		height: 100% !important;
		width: auto;
	}
}


/*pause_btn*/
.p-slide_pause_btn{
	position: absolute;
	right: 24px;
	bottom: 40px;
	z-index: 2;
	opacity: 0;
	transform: translateX(-20px);
	transition: opacity 0.8s 1.4s, transform 1.2s 1.4s;
}
.p-slide_pause_btn.is-appear{
	opacity: 1;
	transform: translateX(0px);
}
.p-slide_pause_btn span{
	display: block;
	width: 44px;
	height: 44px;
	border: rgba(255,255,255,0.6) 2px solid;
	border-radius: 50%;
	background: rgba(65,102,118,0.6) url('/sustainability/forest/images/hero/sl_btn_pause.svg') no-repeat 50% 50%;
	cursor: pointer;
	transition: transform 0.3s, background-color 0.3s, background-image 0.3s;
}
.p-slide_pause_btn.play span{
	background: rgba(16,100,46,0.6) url('/sustainability/forest/images/hero/sl_btn_play.svg') no-repeat 50% 50%;
}
.p-slide_pause_btn span:hover{
	transform: scale(1.1);
}



