/* CSS Document */

#header{
	background-color: #fff;
}

.p-env_portal_body{
	font-family: "Roboto","Noto Sans JP","メイリオ", Meiryo, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
}
.bottom_wrap{
	background-color: #fff;
	padding-top: 1rem;
}

/*======hero_area (redefine)==============*/
.p-hero_area{
	background-color: #fff;
	width: 100%;
	position: relative;
	/*aspect-ratio: 2.35/1;*/
	aspect-ratio: 2.4/1;
	overflow: hidden;
	min-width: 1160px;
	min-height: 423px;
}

.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 1s;
}
.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 2s 0s;
	z-index: 0;
}
.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%;
}

/*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;
}
@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: 66px;
	height: 66px;
	top:calc(50% - 33px);
	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: 1;
}
.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;
	width: 22px;
	height: 22px;
	border: #fff 3px solid;
	transform-origin: center;
	filter: drop-shadow(1px 2px 16px rgba(0,0,0,0.7));
}
.p-heroArea__slCtrl li.prev span::before{
	border-width: 3px 0 0 3px;
	transform: rotate(-45deg);
	margin: 20px 0 0 23px;
}
.p-heroArea__slCtrl li.next span::before{
	border-width: 3px 3px 0 0;
	transform: rotate(45deg);
	margin: 20px 0 0 15px;
}

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

/*heading*/

.p-index_title{
	padding: 0rem 0.875rem 0 0;
	position: absolute;
	top:2.875rem;
	left: 0px;
	width: 100%;
	z-index: 10;
	opacity: 0;
	transform: translateY(30px);
	transition: all 0.8s 1s;
}
.p-index_title.is-appear{
	opacity: 1;
	transform: translateY(0);
}
.p-index_title h1{
	margin: 0 auto;
	font-weight: 600;
	font-size: 3.375rem;
	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);
}
.sp .p-index_title{
	top:2rem;
	transition: all 0.6s;
}
.sp .p-index_title h1{
	font-size: 2.625rem;
}


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: 56px;
	margin-left: -30px;
	z-index: 10;
	box-shadow: 1px 2px 8px -1px rgba(0,0,0,0.65);
	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%;
	background-color: rgba(0,152,93,0.75);
	border: rgba(190,232,212,0.7) 3px solid;
	border-radius: 50%;
	transition: all 0.3s;
}
.p-heroArea__btn_below:hover a{
	transform: scale(1.2);
	background-color: rgba(0,152,93,0.86);
}
.p-heroArea__btn_below a::before{
	content: "";
	display: block;
	width: 14px;
	height: 14px;
	position: absolute;
	left: 50%;
	top: 50%;
	margin-top: -11px;
	margin-left: -8px;
	border: #fff 3px solid;
	border-left: none;
	border-top: none;
	transform: rotate(45deg);
	background-size: 14px auto;
}

#env_index{
	position: absolute;
	bottom:-4px;
	left: 0px;
}

/*env_content_index*/

.p-env_content_index{
	background-color: #d0e6d6;
	position: relative;
	min-width: 1160px;
	padding-bottom: max(230px, 14.375vw);
}
.sp .p-env_content_index{
	min-width: auto;
	padding-bottom: max(100px, 14.375vw);
}
.p-env_content_index::before{
	content:"";
	width: 100%;
	height: 30rem;
	position: absolute;
	top:0px;
	left: 0px;
	background: linear-gradient(to bottom, rgba(255,255,255,1) 0%, rgba(255,255,255,0.2) 60%, rgba(255,255,255,0) 100%);
}
.sp .p-env_content_index{
	padding-left: 1rem;
	padding-right: 1rem;
}

.js-fadeInbox{
	opacity: 0;
	transform: translateY(40px);
	transition: opacity 0.8s, transform 0.8s;
}
.js-fadeInbox.is-appear{
	opacity: 1;
	transform: translateY(0px);
}


/*p-env_content_index__bg*/

.p-env_content_index__bg{
	width: 100%;
	height: max(230px, 14.375vw);
	
	position: absolute;
	left: 0px;
	bottom: 0px;
	background: url("../images/bg_env_index.svg") no-repeat 50% 100%;
	background-size: cover;
}
.sp .p-env_content_index__bg{
	height: max(100px, 14.375vw);
}


/**/
/*.col2 .p-thumb_link__img.large {
	width: 260px;
}
.sp .col2 .p-thumb_link__img.large {
	width: 40%;
}*/
