@charset "UTF-8";

:root{
}

@media screen and (max-width: 1030px) {
	:root{
	}
}

@media screen and (max-width: 900px) {

}

@media screen and (max-width: 700px) {

}


.t-page_vision_img_area{
	margin-top: calc( ( 67px - var(--t_vision) ) * 4 / 4);
	margin-bottom: calc( ( 70px - var(--b_vision) ) * 4 / 4);
}

@media screen and (max-width: 900px) {
	.t-page_vision_img_area{
		margin-top: calc( ( 67px - var(--t_vision) ) * 3 / 4);
		margin-bottom: calc( ( 70px - var(--b_vision) ) * 3 / 4);
	}
}

@media screen and (max-width: 700px) {
	.t-page_vision_img_area{
		margin-top: calc( ( 67px - var(--t_vision) ) * 2 / 4);
		margin-bottom: calc( ( 70px - var(--b_vision) ) * 2 / 4);
	}
}

/* .p-lead_block */

.p-lead_block{
	text-align: center;
	line-height: 2;
	margin: 0 0 40px 0;
}

/* ------------------------- .p-land-wanted ------------------------------ */

.p-land-wanted{
	/*padding-top: calc(  80px * 4 / 4);*/
	padding-bottom: calc( 180px * 4 / 4);
}

@media screen and (max-width: 900px) {
	.p-land-wanted{
		/*padding-top: calc(  80px * 3 / 4);*/
		padding-bottom: calc( 180px * 3 / 4);
	}
}

@media screen and (max-width: 700px) {
	.p-land-wanted{
		/*padding-top: calc(  80px * 2 / 4);*/
		padding-bottom: calc( 180px * 2 / 4);
	}
}

.p-land-wanted .m-lead_block{
	margin-bottom: calc( 130px * 4 / 4);
}

@media screen and (max-width: 900px) {
	.p-land-wanted .m-lead_block{
		margin-bottom: calc( 130px * 3 / 4);
	}
}

@media screen and (max-width: 700px) {
	.p-land-wanted .m-lead_block{
		margin-bottom: calc( 130px * 2 / 4);
	}
}

/* .p-land-wanted_row_wrap */

.p-land-wanted_row_wrap{
	margin: 0 0 0 0;
}

.p-land-wanted_row{
	display: flex;
	justify-content: space-between;
}

.p-land-wanted_row_text{
	width: 43.7%;
}

.p-land-wanted_row_title01{
	font-size: 32px;
	line-height: 1.75;
	font-family: "Zen Old Mincho", serif;
	margin: 0 0 68px 0;
}

.p-land-wanted_row_img{
	width: 46.47%;
}

.p-land-wanted_row_img img{
	border-radius: 6px;
}

@media screen and (max-width: 900px) {
	.p-land-wanted_row_title01{
		font-size: 27px;
		margin: 0 0 38px 0;
	}
}

@media screen and (max-width: 700px) {
	.p-land-wanted_row_title01{
		font-size: 22px;
		margin: 0 0 30px 0;
	}

	.p-land-wanted_row{
		flex-wrap: wrap;
	}

	.p-land-wanted_row_text{
		width: 100%;
		margin: 0 0 50px 0;
		text-align: center;
	}

	.p-land-wanted_row_img{
		width: 100%;

	}

}


/* ------------------------- .p-merit ------------------------------ */

.p-merit{
	padding-top: calc(  0px * 4 / 4);
	padding-bottom: calc( 160px * 4 / 4);
}

@media screen and (max-width: 900px) {
	.p-merit{
		padding-top: calc(  0px * 3 / 4);
		padding-bottom: calc( 160px * 3 / 4);
	}
}

@media screen and (max-width: 700px) {
	.p-merit{
		padding-top: calc(  0px * 2 / 4);
		padding-bottom: calc( 160px * 2 / 4);
	}
}

.p-merit_in{
	
}

.p-merit_block_wrap{
	position: relative;
	display: flex;
	justify-content: space-between;
}

.p-merit_block{
	/*width: 50%;
	padding: 0 calc( var(--bp) * 0.5) 0 0;*/
	order: 2;
	width: 51.2%;
}

.p-merit_vision{
	/*width: 50%;
	padding: 0 0 0 calc( var(--bp) * 0.5);*/
	order: 1;
	width: 38.73%;
}

.p-merit_vision_obj_wrap{
	position: sticky;
	/*top: calc( var(--header_h) + var(--header_t) + 20px );*/
	top: calc( var(--header_h) + var(--header_t) + 100px );
}

@media screen and (max-width: 900px) {
	.p-merit_vision{
		width: 42%;
	}
}

@media screen and (max-width: 700px) {

	.p-merit_block{
		width: 100%;
		padding: 0;
	}

	.p-merit_vision{
		display: none;
	}

	.p-merit_vision_obj_wrap{
		position: static;
	}
}

.p-merit_vision_img{
	padding-bottom: 60%;
	border-radius: 6px;
}

.p-merit_vision_obj{
	position: relative;
	padding-bottom: 60%;
}

.p-merit_vision_obj .p-merit_vision_img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding-bottom: 0;
	opacity: 0;
	transition: opacity 0.4s ease 0s;
}

.p-merit_vision_img_cover{
	position: absolute;
	top: 0;
	left: 0;
	right: auto;
	width: 0%;
	height: 100%;
	background-color: rgba(29,136,136,0.64);
	transition: width 0.0s ease 0.0s;
	z-index: 1;
	pointer-events: none;
}

.p-merit_vision_obj .p-merit_vision_img:nth-child(1){
	opacity: 1;
}

.p-merit_vision_obj .p-merit_vision_img.gc-active{
	opacity: 1;
}


.p-merit_vision_img_cover.gc-first_active{
	width: 100%;
	transition: width 0.2s ease 0.0s;
}

.p-merit_vision_img_cover.gc-first_active.gc-second_active{
	width: 0%;
	left: auto;
	right: 0;
	transition: width 0.2s ease 0.0s;
}

.p-merit_block_text{
	margin: 0 0 65px 0;
}

.p-merit_block_text:last-child{
	margin-bottom: 0;
}

.p-merit_block_text:last-child .p-merit_block_text_obj{
	opacity: 1 !important;
}

.p-merit_block_text_in{

}

.p-merit_block_text_obj{
	transition: opacity 0.4s ease 0s;
}

.p-merit_block_text_obj.gc-active{
	opacity: 0;
}

.p-merit_block_text_obj{
	display: flex;
}

.p-merit_block_text_head{
	width: 174px;
}

.p-merit_block_text_obj_in{
	width: calc(100% - 174px);
}
.p-merit_block_text .p-merit_vision_img,
.p-merit_block_head .p-merit_vision_img{
	display: none;
}

.p-merit_block_title01{
	font-size: 13px;
	font-family: "Marcellus", serif;
	font-weight: 400;
	line-height: 40px;
}

.p-merit_block_title02{
	font-size: 24px;
	font-family: "Zen Old Mincho", serif;
	font-weight: 400;
	line-height: 40px;
	margin: 0 0 20px 0;
}

.p-merit_block_lead{
	font-size: 15px;
	line-height: 2.13;
}

.p-merit_block_head{
	border-bottom: 1px solid #C3C3C3;
	margin: 0 0 58px 0;
}

.p-merit_block_head .m-title01_block_wrap{
	margin: 0 0 48px 0;
}

@media screen and (max-width: 900px) {
	.p-merit_block_text_obj{
		flex-wrap: wrap;
	}

	.p-merit_block_text_head{
		width: 100%;
	}

	.p-merit_block_text_obj_in{
		width: 100%;
	}
}

@media screen and (max-width: 700px) {
	.p-merit_block_text{
		margin: 0 0 30px 0 !important;
		height: auto !important;
	}
	
	.p-merit_block_text_in{
		position: static;
		opacity: 1 !important;
	}

	.p-merit_block_text_obj{
		position: static;
		padding-bottom: 0;
		opacity: 1 !important;
	}
	
	.p-merit_block_text_obj_in{
		position: static;
		height: auto;
		display: block;
	}

	.p-merit_block_text .p-merit_vision_img,
	.p-merit_block_head .p-merit_vision_img{
		width: 100%;
		display: block;
		margin: 0 0 50px 0;
	}

	.p-merit_title02{
		font-size: 22px;
		line-height: 1.77;
		text-align: center;
		margin: 0 0 30px 0;
	}

	.p-merit_block_head{
		margin: 0 0 38px 0;
	}

	.p-merit_block_head .m-title01_block_wrap{
		margin: 0 0 28px 0;
	}


}


/* ------------------------- .p-area ------------------------------ */

.p-area{
	background-color: #E9F2F2;
	padding-top: calc(  137px * 4 / 4);
	padding-bottom: calc( 95px * 4 / 4);
}

@media screen and (max-width: 900px) {
	.p-area{
		padding-top: calc(  137px * 3 / 4);
		padding-bottom: calc( 95px * 3 / 4);
	}
}

@media screen and (max-width: 700px) {
	.p-area{
		padding-top: calc(  137px * 2 / 4);
		padding-bottom: calc( 95px * 2 / 4);
	}
}

.p-area_in{
	
}

.p-area_block{
	display: grid;
	grid-template-rows: auto auto auto auto;
	grid-template-columns: 42.9% 46.8%;
	justify-content: space-between;
}

.p-area_block_head{
	grid-row: 1 / 2;
	grid-column: 1 / 2;
}

.p-area_block_text{
	grid-row: 2 / 3;
	grid-column: 1 / 2;
}

.p-area_block_info_wrap{
	grid-row: 3 / 4;
	grid-column: 1 / 2;
}

.p-area_block_img{
	grid-row: 1 / 4;
	grid-column: 2 /3;
}

@media screen and (max-width: 1030px) {
	.p-area_block{
		grid-template-columns: 50% 46.8%;
	}
	.p-area_block_info_wrap{
		grid-row: 3 / 4;
		grid-column: 1 / 3;
	}
	.p-area_block_img{
		grid-row: 1 / 3;
	}
}

@media screen and (max-width: 700px) {
	.p-area_block{
		grid-template-rows: auto auto auto;
		grid-template-columns: auto;
	}
	.p-area_block_head{
		grid-row: 1 / 2;
		grid-column: 1 / 1;
	}

	.p-area_block_text{
		grid-row: 3 / 4;
		grid-column: 1 / 1;
	}

	.p-area_block_info_wrap{
		grid-row: 4 / 5;
		grid-column: 1 / 1;
	}

	.p-area_block_img{
		grid-row: 2 / 3;
		grid-column: 1 /1;
}
}

.p-area_block_head{
	border-bottom: 1px solid #C3C3C3;
	margin: 0 0 55px 0;
}

.p-area_block_head .m-title01_block_wrap{
	margin: 0 0 42px 0;
}

.p-area_block_text{

}

.p-area_block_title01{
	font-size: 28px;
	font-family: "Zen Old Mincho", serif;
	font-weight: 400;
	margin: 0 0 62px 0;
}

.p-area_block_text .m-lead_block{
	margin-bottom: 58px;
}

@media screen and (max-width: 1030px) {
	.p-area_block_head{
		border-bottom: 1px solid #C3C3C3;
		margin: 0 0 45px 0;
	}

	.p-area_block_head .m-title01_block_wrap{
		margin: 0 0 35px 0;
	}
	.p-area_block_title01{
		font-size: 24px;
		margin: 0 0 50px 0;
	}
	.p-area_block_text .m-lead_block{
		margin-bottom: 50px;
	}
}

@media screen and (max-width: 700px) {
	.p-area_block_head{
		border-bottom: 1px solid #C3C3C3;
		margin: 0 0 35px 0;
	}

	.p-area_block_head .m-title01_block_wrap{
		margin: 0 0 25px 0;
	}
	.p-area_block_title01{
		font-size: 20px;
		margin: 0 0 30px 0;
	}
}

.p-area_block_info_wrap{

}

.p-area_block_info_title01{
	font-size: 18px;
	font-family: "Marcellus", serif;
	font-weight: 400;
	line-height: 1;
	color: #1D8888;
	margin: 0 0 25px 0;
}

.p-area_block_info{
	background-color: #FFFFFF;
	border-radius: 6px;
	padding: 26px 30px 30px 30px;
	font-size: 14px;
}

.p-area_block_info_in{
	padding: 0 0 15px 0;
	margin: 0 0 22px 0;
	border-bottom: 1px solid #BBBBBB;
}

.p-area_block_info_in:last-child{
	margin-bottom: 0;
}

.p-area_block_info_title02{
	position: relative;
	line-height: 1.4;
	padding: 0 0 0 18px;
	margin: 0 0 8px 0;
}

.p-area_block_info_title02::before{
	content: "";
	display: block;
	position: absolute;
	top: 0.7em;
	left: 0;
	width: 10px;
	height: 10px;
	margin: -5px 0 0 0;
	border-radius: 100%;
	background-color: #1D8888;
}

.p-area_block_info_lead{
	font-size: 14px;
	font-family: "Zen Old Mincho", serif;
	font-weight: 400;
	line-height: 1.785;
}

@media screen and (max-width: 700px) {
	.p-area_block_info{
		padding: 26px 20px 30px 20px;
	}
}

.p-area_block_img{
	display: flex;
	align-items: center;
	justify-content: center;
}


.p-area_block_img_in{
	width: 100%;
}

.p-area_block_img img{
	width: 100%;
	height: auto;
}


@media screen and (max-width: 700px) {
	.p-area_block_img{
		padding: 0 0 30px 0;
	}
	.p-area_block_img_in{
		width: auto;
	}
	.p-area_block_img_obj{
		max-width: 250px;
	}
}

/* ------------------------- .p-design ------------------------------ */

.p-design{
	padding-top: calc(  175px * 4 / 4);
	padding-bottom: calc( 160px * 4 / 4);
}

@media screen and (max-width: 900px) {
	.p-design{
		padding-top: calc(  175px * 3 / 4);
		padding-bottom: calc( 160px * 3 / 4);
	}
}

@media screen and (max-width: 700px) {
	.p-design{
		padding-top: calc(  175px * 2 / 4);
		padding-bottom: calc( 160px * 2 / 4);
	}
}

.p-design{
	position: relative;
}

.p-design::before{
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 434px;
	background-color: #EFEFEF;
}

.p-design_in{
	position: relative;
}

.p-design .m-title01_block_wrap{
	justify-content: center;
	text-align: center;
	margin: 0 0 32px 0;
}

.p-design_slide{
	margin: 40px 0 0 0;
}

.swiper-container_wrap.type_design{
	overflow: hidden;
	padding: 0 60px;
}

.swiper-container_wrap.type_design .swiper_arrow_wrap.type01{
	margin: 0 -60px 30px -60px;
}

.swiper-container_wrap.type_design.gc-slide_no{
	padding: 0 0px;
}

.swiper-container_wrap.type_design .swiper-container{
	overflow: visible;
}

/*
.swiper-container_wrap.type_design .m-works_block_wrap{
	opacity: 0.5;
}

.swiper-container_wrap.type_design .swiper-slide-active .m-works_block_wrap{
	opacity: 1;
}

.swiper-container_wrap.type_design.gc-slide_no .m-works_block_wrap{
	opacity: 1;
}*/

.p-design .swiper-container{
	max-width: 540px;
}

.p-design .m-works_block_vision .m-img_thumb{
	padding-bottom: 73.7%;
}

.p-design .m-works_block_text{
	padding: 15px 12px 0 12px;
}

.p-design .m-works_block_title01{
	margin: 0 0 3px 0;
}

.p-design .m-works_block_title02{
	color: #000000;
	margin: 0 0 10px 0;
}

.p-design .m-works_block_lead{
	font-size: 14px;
	line-height: 1.571;
}

@media screen and (max-width: 700px) {
	.p-design::before{
		display: none;
	}
	.swiper-container_wrap.type_design{
		padding: 0;
	}
	.p-design .swiper-container{
		max-width: none;
	}
	.swiper-container_wrap.type_design .swiper_arrow_wrap.type01{
		margin-left: 0;
		margin-right: 0;
	}
	.p-design .m-works_block_text{
		padding: 15px 0 0 0;
	}
}

/* ------------------------- .p-process ------------------------------ */

.p-process{
	padding-top: calc(  175px * 4 / 4);
	padding-bottom: calc( 160px * 4 / 4);
}

@media screen and (max-width: 900px) {
	.p-process{
		padding-top: calc(  175px * 3 / 4);
		padding-bottom: calc( 160px * 3 / 4);
	}
}

@media screen and (max-width: 700px) {
	.p-process{
		padding-top: calc(  175px * 2 / 4);
		padding-bottom: calc( 160px * 2 / 4);
	}
}

.p-process .m-title01_block_wrap{
	justify-content: center;
	text-align: center;
	margin: 0 0 32px 0;
}
