  /* CSS Document */

.p-bg_home_main{
	position: fixed;
	width: 100%;
	height: 100%;
	top: 30px; left: 0px;
	background: url("/image_v4/bg_top_main.jpg") no-repeat 50% 50%;
	background-size: cover;
	z-index: -1;
	min-width: 1160px;
	opacity: 0;
	transition: all 1.6s;
}
.p-bg_home_main.is-appear{
	opacity: 0.7;
	top:0px;
}

#header{
	background-color: #fff;
}

/*======hero_area (redefine)==============*/
.p-hero_area{
	background-color: #fff;
	width: 100%;
	position: relative;
	aspect-ratio: 2.35/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: #d9d9d9;
  background: -moz-linear-gradient(left, #d9d9d9 10%, rgba(217,217,217, 0) 42%);
  background: -webkit-linear-gradient(left, #d9d9d9 10%, rgba(217,217,217, 0) 42%);
  background: -o-linear-gradient(left, #d9d9d9 10%, rgba(217,217,217, 0) 42%);
  background: -ms-linear-gradient(left, #d9d9d9 10%, rgba(217,217,217, 0) 42%);
  background: linear-gradient(to right, #d9d9d9 10%, rgba(217,217,217, 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: #d9d9d9;
  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);
  }
}
/**/

/*op_board*/
.p-op_board{
	width: 100%;
	height: 100%;
	position: absolute;
	top:0px; left: 0px;
	overflow: hidden;
	opacity: 1;
	transition: opacity 1.2s;
	z-index: 2;
}
.p-op_board__bg{
	position:absolute;
	left: 0px;
	top: calc(100% - 235%*1.1);
	width: 100%;
	height: auto;
	background-color: #82888E;
	transform: scale(1.4);
	opacity: 0;
	transition: top 5.6s 0s ease-in-out, opacity 1.6s 0.3s, transform 5.6s 0s ease-in-out;
}
.p-op_board.is-appear .p-op_board__bg{
	top: 0px;
	opacity: 1;
	transform: scale(1);
}
.p-op_board.is-disappear{
	opacity: 0;
}
.p-op_board__bg img{
	opacity: 0.86;
}
.p-op_board__catch{
	position: absolute;
	top:0px; left: 0px;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.p-op_board__catch_img{
	transform: scale(1.5);
	opacity: 0;
	transition: transform 1.6s 1s, opacity 1.2s 1s;
}
.p-op_board.is-appear .p-op_board__catch_img{
	transform: scale(1);
	opacity: 1;
}

.p-op_board__photo_info{
	position: absolute;
	bottom:1.5rem;
	right: 1.75rem;
	font-size: 0.9375rem;
	transform: translateX(60px);
	opacity: 0;
	color: #fff;
	text-shadow: 1px 1px 8px rgba(0,0,0,0.4);
	line-height: 1;
	transition: transform 0.8s 0.8s, opacity 0.6s 0.8s;
}
.is-appear .p-op_board__photo_info{
	opacity: 1;
	transform: translateX(0px);
}
.p-op_board__photo_info .location{
	font-size: 0.8125rem;
	display: inline-block;
	margin: 0 -0.3em;
}

/*====== /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(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: #fff;
	border-radius: 1px;
	opacity: 0;
	transition: opacity 0.8s;
}
.p-heroArea__slPos li.is-now::after{
	opacity: 1;
	animation: op-progress none 6s 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=======*/

/*info_caution*/
.caution_large{
	background:#edeef0;
	padding:0.8em 1.2em 1em;
}
.caution_large>p,
.caution_large>ul{
	max-width:1160px;
	margin: 0 auto;
}
.caution_large li{
	margin-bottom: 0.75em;
	padding-bottom: 0.75em;
	border-bottom: #ccc 1px solid;
}
.caution_large li:last-of-type{
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}
.caution_large a{
	display: inline-block;
	padding-left:1.2em;
	background: url(/common/image/arrow_red_large.png) no-repeat 0px 0.35em;
	color:#212121;
	text-decoration:none;
}
.caution_large a:hover{
	text-decoration:underline;
}

.p-caution_under_news .caution_large{
	background: #fff;
	padding: 1rem 1.75rem;
	margin: 2rem 1.75rem -0.25rem;
	/*margin-top: 2rem;
	margin-bottom: -2.375rem;*/
	line-height: 1.7;
}
.sp .p-caution_under_news .caution_large.u-fullWidth{
	width: 100% !important;
	margin: 1.5rem 0 0 !important;
}

/*caution_note*/
.caution_note{
	margin:2rem 0 0;
	padding:0rem 3rem 0;
	/*border-top:#82888E 1px solid;*/
}
.caution_note ul li{
	padding:0.675rem 1.5rem 0.675rem;
	margin-bottom: 0.5rem;
	background: #fff;
	border-radius: 4px;
}
.sp .caution_note{
	padding-left: 0;
	padding-right: 0;
}

/*p-news_release*/

.p-news_release{
	padding-top: 0.25rem;
	padding-bottom: 3.875rem;
	opacity: 0;
	transform: translateY(60px);
	transition: opacity 1s, transform 1s;
}
.p-news_release.is-appear{
	opacity: 1;
	transform: translateY(0px);
}
.p-news_release .col{
	margin-bottom: 1.25rem;
}
.p-news_unit{
	height: 100%;
}
.p-news_thumb__img{
	margin-bottom: 0.4375rem;
	position: relative;
}
.p-news_thumb__txt{
	font-size: 0.875rem;
	line-height: 1.5;
}
.p-news_thumb__txt .date {
	margin-bottom: 0.125rem;
}
.p-news_thumb__txt h3{
	font-size: 0.9375rem;
	font-weight: 500;
}
.p-news_thumb__txt h3 a{
	color: #212121;
	text-decoration: none;
}
.p-news_thumb__txt h3 a:hover{
	text-decoration: underline;
}
.p-news_thumb__txt .pdf_size{
	font-size: 0.8125rem;
	font-weight: normal;
	white-space: nowrap;
}

.p-news_thumb__img::before{
	content: "ニュース";
	display: block;
	position: absolute;
	left: 0px; bottom: 0px;
	/*width: 100px;*/
	width: auto;
	background-color: #555;
	color: #fff;
	font-size: 0.8125rem;
	line-height: 1;
	padding: 0.375rem 0.75rem;
	letter-spacing: 0.03em;
}
.p-news_thumb__img.digest::before{
	/*content: "KAJIMAダイジェスト";*/
	content: "KAJIMA MONTHLY REPORT";
	/*background-color: #628DBB;*/
	background-color: #dc707c;
}
.p-news_thumb__img.press::before{
	content: "プレスリリース";
	background-color: #3c928e;
}
.p-news_thumb__img.attention::before{
	content: "注目コンテンツ";
	background-color: #dc707c;
}
.p-news_thumb__img.ir::before{
	content: "IRニュース";
	background-color: #7072A5;
}
.p-news_thumb__img.event::before{
	content: "展示会情報";
	background-color: #D88224;
}
.p-news_thumb__img.update::before{
	content: "更新情報";
	background-color: #628DBB;
}

/*p-pr_contents*/
.p-pr_contents{
	padding-top: 2.125rem; border-top: #fff 2px solid;
}
.full-width .p-pr_contents.col5 .col{
	width: calc((100% - 80px)/5);
	margin-bottom: 0;
}
.sp .full-width .p-pr_contents.col5 .col{
	width: calc((100% - 1rem)/2) !important;
	margin-bottom: 1.25rem;
	margin-left: 0;
}
.sp .p-pr_contents.col5 .c-flex--between {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}

/*
ctg_a: 技術
ctg_b: 不動産開発
ctg_c: 環境
ctg_d: 経営
ctg_e: 海外
*/
.p-news_thumb__img.ctg_a::before{
	content: "技術";
	background-color: #996699;
}
.p-news_thumb__img.ctg_b::before{
	content: "不動産開発";
	background-color: #CC9933;
}
.p-news_thumb__img.ctg_c::before{
	content: "環境";
	background-color: #339966;
}
.p-news_thumb__img.ctg_d::before{
	content: "経営";
	background-color: #999999;
}
.p-news_thumb__img.ctg_e::before{
	content: "海外";
	background-color: #6699CC;
}

.p-news_release .p-goto_index__btn{
	width: 300px;
	text-align: center;
	margin: 0 0.5rem;
}

/*tab*/
.p-tabmenu{
	background-color: transparent;
}
.p-tabmenu li{
	width: calc((100% - 6px)/4);
	/*width: calc((100% - 4px)/3);*/
	margin-right: 2px;
}
.p-tabmenu li:last-of-type{
	margin-right: 0;
}
.p-tabmenu li a:hover{
	background-color: rgba(60,66,72,0.2);
}
.p-tabmenu .p-tabmenu__tab{
	background-color: rgba(60,66,72,0.12);
}
.p-tabmenu .p-tabmenu__tab.is-open{
	background-color: transparent;
}

/*p-news_area*/
.p-news_area{
	padding: 2.5rem 0 2.5rem;
	position: relative;
}
.p-news_area::before{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(to bottom, rgba(255,255,255,0.75) 0%, rgba(255,255,255,0.18) 84%, rgba(255,255,255,0) 100%);
	position: absolute; top:0px; left:0px;
	opacity: 1;
	transform: translateY(0px);
}

.p-news_area__body{
	background: linear-gradient(to bottom,rgba(255,255,255,1) 0px, rgba(255,255,255,0.88) 20rem);
	padding: 0.25rem 0 2.375rem;
	opacity: 0;
	transform: translateY(60px);
	transition: opacity 0.8s 0.2s, transform 0.8s 0.2s;
}
.p-news_area.is-appear .p-news_area__body{
	opacity: 1;
	transform: translateY(0px);
}

.p-news_area__body dl{
	padding: 1.5rem 1.75rem 0;
}

.p-news_area__body dd li {
	padding-left: 14.5rem;
	border-color: rgba(161,168,176,0.7);
	background-position: 13.5rem 0.4375em;
}
.p-news_area__body dd .tag{
	display:inline-block;
	position: absolute;
	left: 6rem; top:-0.125rem;
	background-color: #7398C2;
	border-radius: 3px;
	width: 7rem;
	text-align: center;
	padding: 0.375rem 0;
	line-height: 1;
	font-size: 0.875rem;
	color: #fff;
}
.p-news_area__body dd .tag.update{
	/*background-color: #7398C2;*/
	background-color: #628DBB;
}
.p-news_area__body dd .tag.notice{
  background-color: #818c9a;
	/*background-color: #CD8C68;*/
	/*background-color: #DC6E6C;*/
}
.p-news_area__body dd .tag.ir{
	background-color: #7072A5;
}
.p-news_area__body dd .tag.press{
	background-color: #3c928e;
}

/*===============================*/

/*heading*/
h2.p-news_heading,
h2.p-top_ctg_heading{
	font-size: 1.875rem;
	line-height: 1;
	padding: 2rem 0 2.6875rem;
}

.p-tech_area h2.p-top_ctg_heading{
	padding: 2.5rem 0 3.125rem;
}

/*==tech_area=================*/

.p-tech_area{
	position: relative;
}
.p-tech_area::before{
	content: "";
	display: block;
	width: 100%;
	height: 70rem;
	background: linear-gradient(to bottom, rgba(255,255,255,0.96) 0%, rgba(255,255,255,0.3) 84%,rgba(255,255,255,0) 100%);
	position: absolute; top:0px; left:0px;
	opacity: 1;
	transform: translateY(0px);
}
.p-tech_area__inner{
	opacity: 0;
	transform: translateY(60px);
	transition: opacity 0.6s, transform 0.6s;
}
.is-appear .p-tech_area__inner{
	opacity: 1;
	transform: translateY(0px);
}

.p-tech_area__inner .c-bn_btn{
	height: 100%;
}

.p-tech_area .c-bn_btn.kd h3{
	line-height: 1;
	padding-left: 1rem;
	padding-right: 1rem;
	margin: 0;
}
.p-tech_area .c-bn_btn.kd h3 img{
	vertical-align: -1px;
}
.p-tech_area .c-bn_btn.kd.c-vertical .p-thumb_link__txt{
	padding-top: 0.5rem;
	padding-bottom: 0.625rem;
}
.p-tech_area .c-bn_btn.kd h3 .c-small_txt{
	font-size: 0.875rem;
	line-height: 1;
}
.p-tech__goindex{
	padding: 1.25rem 1.875rem 1.25rem 1.5rem;
	text-align: center;
	border: #D9DCE0 1px solid;
	border-bottom: #E6002D 2px solid;
	transition: all 0.3s;
}
.p-tech__goindex:hover{
	background-color: #EDEEF0;
	border-color: #E6002D;
}

.p-tech__goindex.c-block_hover a::before{
	border: none;
	background-color: transparent;
}

.p-tech__goindex h4{
	text-align: center;
	text-indent: 0.25rem;
	line-height: 1.7;
}
.p-tech__goindex a::after{
	content: "";
	display: block;
	position: absolute;
	top:50%;
	right: 10px;
	width: 30px;
	height: 30px;
	background: url("/common/image/bn_arrow/arrow_right_m_red.svg") no-repeat 50% 50%;
	margin-top: -15px;
}

/*==projects_area=================*/

/*p-large_bn_area, p-projects_area*/
.p-projects_area{
	padding: 0.625rem 0 3.875rem;
}
.p-large_bn_area{
	padding: 3.875rem 0;
}
.p-large_bn_area__bn,
.p-projects_area__bn{
	box-shadow: 1px 4px 18px -1px rgba(0,0,0,0.5);
}
.p-large_bn_area__bn{
	margin-bottom: 3.75rem;
}
.p-projects_area__bn{
	background: url("/image_v4/bg_top_projects_v2.jpg") no-repeat 50% 50%;
	/*height: 360px;*/
	height: 290px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
/*.p-projects_area__bn::after{
	content: "";
	display: block;
	position: absolute;
	width: 24px; height: 40px;
	right: 20px;
	top:50%;
	margin-top: -22px;
	background: url("/common/image/bn_arrow/arrow_right_l_red.svg") no-repeat 50% 50%;
}*/
.p-projects_area__label{
	text-align: center;
	padding: 1.0625rem 0.375rem 1.375rem 0;
	line-height: 1;
	/*background-color: rgba(255,255,255,0.8);*/
	background: linear-gradient(to right, rgba(255,255,255,0.76) 0%, rgba(255,255,255,0.86) 42%, rgba(255,255,255,0.86) 58%, rgba(255,255,255,0.76) 100%);
	margin-top: -0.25rem;
}
.p-projects_area__label h3{
	font-size: 1.6875rem;
	width: 300px;
	margin: 0 auto;
	text-shadow: 0 0 12px rgba(255,255,255,1), 0 0 10px rgba(255,255,255,1), 0 1px 6px rgba(255,255,255,1), 0 2px 18px rgba(255,255,255,0.8), 0 2px 24px rgba(255,255,255,0.7);
}
.p-projects_area__label h3 .en{
	display: block;
	font-size: 0.875rem;
	font-weight: 300;
	padding: 0;
	margin-top: 0.625rem;
	padding-top: 0.75rem;
	border-top: #E6002D 1px solid;
	letter-spacing: 0.06em;
}
.p-projects_area__label h3 a{
	color: #212121;
	text-decoration: none;
}

.p-projects_area{
	opacity: 0;
	transform: translateY(60px);
	transition: opacity 1s, transform 1s;
}
.p-projects_area.is-appear{
	opacity: 1;
	transform: translateY(0px);
}

/*===top_ctg_bn============*/
.p-top_ctg_bn_area{
	background-color: #fff;
	padding-top: 6px;
	padding-bottom: 6px;
}
.p-top_ctg_bn{
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: cover;
	opacity: 0;
	transform: translateY(60px);
	transition: opacity 0.6s 0.2s, transform 0.6s 0.2s;
}
.p-top_ctg_bn_area.is-appear .p-top_ctg_bn{
	opacity: 1;
	transform: translateY(0px);
}
.p-top_ctg_bn#ctg_prof, .p-top_ctg_bn#ctg_ir{
	width: calc((100% - 6px)/2);
	/*aspect-ratio: 13/5;*/
	aspect-ratio: 28/9;
}
.p-top_ctg_bn#ctg_sustainability, .p-top_ctg_bn#ctg_recruit, .p-top_ctg_bn#ctg_enjoy{
	width: calc((100% - 12px)/3);
	aspect-ratio: 9/4;
}
.sp .p-top_ctg_bn#ctg_prof, .sp .p-top_ctg_bn#ctg_ir,
.sp .p-top_ctg_bn#ctg_sustainability, .sp .p-top_ctg_bn#ctg_recruit, .sp .p-top_ctg_bn#ctg_enjoy{
	width: 100%;
	margin-bottom: 4px;
	aspect-ratio: 13/5;
}
.p-top_ctg_bn#ctg_prof{
	background-image: url("/image_v4/bg_ctg_prof.jpg");
}
.p-top_ctg_bn#ctg_ir{
	background-image: url("/image_v4/bg_ctg_ir.jpg");
}
.p-top_ctg_bn#ctg_sustainability{
	background-image: url("/image_v4/bg_ctg_sustainability.jpg");
}
.p-top_ctg_bn#ctg_recruit{
	background-image: url("/image_v4/bg_ctg_recruit.jpg");
}
.p-top_ctg_bn#ctg_enjoy{
	background-image: url("/image_v4/bg_ctg_enjoy.jpg");
}

.p-top_ctg_bn#ctg_recruit h2 span{
	letter-spacing: -0.03em;
}

.p-top_ctg_bn__title{
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.p-top_ctg_bn__title h2{
	/*font-size: clamp(3.25rem,1rem + 2.5vw, 4.5rem);*/
	font-size: 1.875rem;
	/*font-weight: 500;*/
	line-height: 1;
	letter-spacing: 0;
	text-shadow: 1px 1px 8px rgba(0,0,0,0.8), 0px 0px 3px rgba(0,0,0,0.4);
}

.p-top_ctg_bn{
	flex: 0 0 auto;
	text-align: center;
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: cover;
	padding-bottom: 0.3125rem;
	opacity: 0;
	transform: translateY(40px);
}
.is-appear .p-top_ctg_bn{
	opacity: 1;
	transform: translateY(0);
}
.p-top_ctg_bn a{
	color: #fff;
	text-decoration: none;
}
.p-top_ctg_bn a::before{
	mix-blend-mode: multiply;
	background-color: rgba(136,146,156,0.6);
	border: none;
}
.p-top_ctg_bn__title span{
	position: relative;
	z-index: 2;
}
.p-top_ctg_bn a::after {
	display: block;
	content: "";
	position: absolute;
	right: 30px;
	top: 50%;
	width: 30px;
	height: 40px;
	margin-top: -22px;
	background: url("/image_v4/arrow_right_m_wh.svg") no-repeat 50% 50%;
	background-size: auto 100%;
	opacity: 0;
	transform: translateX(-40px);
	transition: all 0.3s;
}
.p-top_ctg_bn:hover a::after {
	opacity: 1;
	transform: translateX(0px);
}

/*==========sustainability_area===========*/

.p-sustainability_area{
	background: linear-gradient(to bottom, #fff 6px, #9ED8E4 90%);
	padding-top: 0.25rem;
	padding-bottom: 2.5rem;
	opacity: 0;
	transform: translateY(60px);
	transition: opacity 1s, transform 1s;
}
.p-sustainability_area.is-appear{
	opacity: 1;
	transform: translateY(0px);
}
.p-sustainability__goindex{
	width: auto;
	line-height: 1;
	padding: 1.125rem 2rem;
	background-color: #58BED3;
	border-radius: 3px;
	transition: background-color 0.3s;
}
.p-sustainability__goindex a{
	text-decoration: none;
	color: #fff;
	font-weight: 500;
}
.p-sustainability__goindex:hover{
	background-color:#0098B7;
}
.p-sustainability__goindex a::before{
	background: none;
	border: none;
}
.sp .p-sustainability__goindex{
	margin: 0 auto;
	width: 75%;
}
.sp .p-sustainability__goindex h4{
	text-align: center;
}

/*=======================*/
.p-bottom_catch{
	background-color: #fff;
	padding: 2rem 0 3.25rem;
	text-align: center;
}
.p-bottom_catch .p-bottom_catch__logo{
	opacity: 0;
	transform: scale(1.6);
	transition: all 0.6s;
}
.p-bottom_catch.is-appear .p-bottom_catch__logo{
	opacity: 1;
	transform: scale(1);
}


/*==sp=====================*/
.sp .p-bg_home_main {
	display: block !important;
}
.sp .p-projects_area{
	padding: 0 0 2rem !important;
}
.sp .p-bottom_catch .p-bottom_catch__logo{
	width: 60%;
	margin: 0 auto;
}

/*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;
}


