@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{
	opacity: 0;
	transition: opacity 2.0s ease 0s;
}

.t-page_vision.gc-active{
	opacity: 1;
}

.t-page_vision_img_area{
	margin-top: 0;
	margin-bottom: 0;
}

@media screen and (max-width: 900px) {
	.t-page_vision_img_area{
		margin-top: 0;
		margin-bottom: 0;
	}
}

@media screen and (max-width: 700px) {
	.t-page_vision_img_area{
		margin-top: 0;
		margin-bottom: 0;
	}
}

/* .t-page_vision_img_area */


.t-page_vision_img_area{
	height: auto !important;
	min-height: auto !important;
	align-items: flex-start;
	padding: 0;
}

.t-page_vision_img_text_wrap{
	vertical-align: middle;
}

.t-page_vision_img_text{
	max-width: none;
	padding: 200px var(--bp);
}

.t-page_vision_img_text_title01{
	font-size: 80px;
	font-family: "Marcellus", serif;
	font-weight: 400;
	line-height: 1.1375;
}

/*
.t-page_vision_img_text_area{
	min-height: 100vh;
}*/

.t-page_vision_img_text_area::after{
	padding-bottom: 58.5%;
}

@media screen and (max-width: 900px) {
	.t-page_vision_img_text_title01{
		font-size: 60px;
	}
}

@media screen and (max-width: 700px) {
	.t-page_vision_img_text_title01{
		font-size: 40px;
	}
}

/* .t-header */

.t-header{
	margin-top: 0;
	height: 0;
}

.t-header_in{
	top: -100px;
}

.gc-main_active .t-header_in{
	top: 0;
}

.t-bread{
	padding-top: 24px;
}

/* ------------------------- .p-about_head ------------------------------ */

.p-about_head{
	padding-top: calc( 60px * 4 / 4);
	padding-bottom: calc( 150px * 4 / 4);
}

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

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

.p-about_head_title01{
	font-size: 32px;
	font-family: "Zen Old Mincho", serif;
	font-weight: 400;
	text-align: center;
	margin: 0 0 24px 0;
}

.p-about_head_lead{
	font-size: 18px;
	font-family: "Zen Old Mincho", serif;
	font-weight: 400;
	line-height: 2.22;
	text-align: center;
}

@media screen and (max-width: 900px) {
	.p-about_head_title01{
		font-size: 28px;
	}
	.p-about_head_lead{
		font-size: 17px;
	}
}

@media screen and (max-width: 700px) {
	.p-about_head_title01{
		font-size: 24px;
	}
	.p-about_head_lead{
		font-size: 16px;
	}
}

/* ------------------------- .p-connected ------------------------------ */

.p-connected{
	background-color: #F9F9F9;
	padding-top: calc( 140px * 4 / 4);
	padding-bottom: calc( 120px * 4 / 4);
}

@media screen and (min-width: 1031px) {
	.p-connected{
		padding-right: 0 !important;
	}
}

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

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

.p-connected_row{
	display: flex;
}


.p-connected_row_text{
	padding: 0 70px 0 0;
}

.p-connected_row_image{
	flex-grow: 1;
	overflow: hidden;
}

@media screen and (max-width: 1030px) {
	.p-connected .swiper_arrow_wrap.type01{
		padding-right: 0 !important;
	}
	.p-connected_row{
		flex-wrap: wrap;
	}
	.p-connected_row_text{
		padding: 0 0 40px 0;
		width: 100%;
	}

	.p-connected_row_image{
		width: 100%;
		overflow: visible;
	}
	.p-connected .m-title01_block_wrap{
		justify-content: center;
		text-align: center;
	}
	.p-connected .m-lead_block{
		text-align: center;
	}
}

/* .swiper-container_wrap.type_connected */

.swiper-container_wrap.type_connected{
	margin: 0 0 0 0;
}

.swiper-container_wrap.type_connected .swiper-container{
	overflow: visible;
	max-width: 360px;
	margin: 0 auto;
}

.p-connected_block_vision_text{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 50px;
	z-index: 4;
	font-size: 18px;
	font-family: "Marcellus", serif;
	font-weight: 400;
	line-height: 1;
	color: #8BD6D6;
	display: flex;
	justify-content: center;
	align-items: center;
}

.p-connected_block_vision_text_bg{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 50px;
}

.p-connected_block_vision_text_bg.type01{
	z-index: 2;
	backdrop-filter: blur(8px) brightness(1.12);
}



.p-connected_block_vision_text_bg.type02{
	z-index: 3;
	background-color: #1D8888;
	mix-blend-mode: multiply;
}

.swiper-container_wrap.type_connected .m-img_thumb{
	border-radius: 6px;
	padding-bottom: 74.4%;
}

.p-connected_text{
	font-size: 18px;
	font-family: "Zen Old Mincho", serif;
	font-weight: 400;
	display: flex;
	justify-content: center;
	margin: 14px 0 0 0;
}

.p-connected_text_in{
	position: relative;
	padding: 0 35px;
}

.p-connected_text_in::before,
.p-connected_text_in::after{
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	width: 24px;
	height: 1px;
	background-color: #1D8888;
}

.p-connected_text_in::before{
	left: 0;
}

.p-connected_text_in::after{
	right: 0;
}

/* ------------------------- .p-movie ------------------------------ */

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

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

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


.p-movie .m-title01_block_wrap{
	justify-content: center;
	text-align: center;
}

.p-movie_block{
	max-width: 840px;
	margin: 0 auto;
}

/* ------------------------- .p-about ------------------------------ */

.p-about{
	position: relative;
	overflow: clip;
	/*padding: 100vh 0 0 0;*/
}

/* .p-about01 */

.p-about01{
	margin: calc( max( 53.1%, 100vh ) * 0.3) 0 0 0;
	position: relative;
	color: #FFFFFF;
	padding-top: calc(  180px * 4 / 4);
	padding-bottom: calc( 180px * 4 / 4);
	overflow: hidden;
}

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

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

.p-about01_in{
}

.p-about_content_bg{

}

.p-about_content_bg,
.p-about_content_bg_color{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.p-about_content_bg{
	position: sticky;
	width: 100%;
	top: 0;
	height: 0;
	padding-bottom: max( 53.1%, 100vh );
	background-image: url("../../img/about/about_bg01@2x.webp");
	background-position: top center;
	background-size: cover;
	background-repeat: no-repeat;
	filter: blur(10px);
}

.gc-touch .p-about_content_bg{
	background-attachment:inherit;
}

.p-about_content_bg_color{
	/*background-color: #1E2929;*/
	opacity: 0.1;
}

.p-about_content_wrap{
	margin-bottom: calc( 160px * 4 / 4);
}

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

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

.p-about_content{
	position: relative;
	z-index: 1;
}

.p-about_lead{
	font-size: 24px;
	line-height: 2;
	font-family: "Zen Old Mincho", serif;
	font-weight: 400;
	text-align: center;
}

@media screen and (max-width: 900px) {
	.p-about_lead{
		font-size: 22px;
		margin: 0 0 60px 0;
	}
}

@media screen and (max-width: 700px) {
	.p-about_lead{
		font-size: 20px;
		margin: 0 0 60px 0;
	}
}

/* ------------------------- .p-history ------------------------------ */

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

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

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

@media screen and (max-width: 900px) {
	.p-history .m-title01_block_wrap{
		justify-content: center;
		text-align: center;
	}
	.p-history .m-lead_block{
		text-align: center;
	}
}

.p-history_row_wrap{
	margin: 0 0 60px 0;
}

.p-history_row{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.p-history_row_head{
	white-space: nowrap;
	padding: 0 30px 0 0;
}

.p-history_row_text{

}

@media screen and (max-width: 900px) {
	.p-history_row{
		flex-wrap: wrap;
	}
	.p-history_row_head{
		width: 100%;
		padding: 0 0 30px 0;
	}
	.p-history_row_text{
		width: 100%;
	}
}

.p-history_list{

}

.p-history_list > .m-row{
	--row_x: 28px;
	--row_y: 28px;
}

.p-history_list > .m-row > .m-col{
	width: 33.3%;
}

.p-history_list .m-works_block_title01{
	font-size: 21px;
	font-family: "Marcellus", serif;
	margin: 0;
}

.p-history_list{
	margin: 0 0 60px 0;
}

@media screen and (max-width: 900px) {
	.p-history_list  > .m-row > .m-col{
		width: 50%;
	}
	.p-history_list .m-works_block_title01{
		font-size: 18px;
	}
}

@media screen and (max-width: 700px) {
	.p-history_list  > .m-row{
		--row_x: 0px;
		--row_y: 30px;
	}
	.p-history_list  > .m-row > .m-col{
		width: 100%;
	}
}

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

.p-process{
	background-color: #F9F9F9;
	padding-top: calc( 180px * 4 / 4);
	padding-bottom: calc( 180px * 4 / 4);
}

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

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

.p-process_in{

}

.p-process .m-title01_block_wrap{
	justify-content: center;
	text-align: center;
}

.p-process .m-lead_block{
	text-align: center;
	margin: 0 0 85px 0;
}

.p-process .m-title01_block_wrap{
	margin: 0 0 50px 0;
}

.p-process_img_wrap{
	display: flex;
	justify-content: center;
	margin: 0 0 110px 0;
}

.p-process_img{
	opacity: 0;
	transform: translateY(50px);
	transition: opacity 1.2s ease,transform 1.2s ease;
}

.p-process_img.gc-active{
	opacity: 1;
	transform: translateY(0px);
}

.p-process_text_title01{
	font-size: 18px;
	font-family: "Zen Old Mincho", serif;
	font-weight: 400;
	text-align: center;
	line-height: 2;
	margin: 0 0 45px 0;
}

@media screen and (max-width: 900px) {
	.p-process .m-lead_block{
		margin: 0 0 calc( 85px * 3 / 4) 0;
	}

	.p-process .m-title01_block_wrap{
		margin: 0 0 calc( 50px * 3 / 4) 0;
	}

	.p-process_img_wrap{
		margin: 0 0 calc( 110px * 3 / 4) 0;
	}
}

@media screen and (max-width: 700px) {
	.p-process .m-lead_block{
		margin: 0 0 calc( 85px * 2 / 4) 0;
	}

	.p-process .m-title01_block_wrap{
		margin: 0 0 calc( 50px * 2 / 4) 0;
	}

	.p-process_img_wrap{
		margin: 0 0 calc( 110px * 2 / 4) 0;
	}
}

/* ------------------------- .p-about_bottom ------------------------------ */

.p-about_bottom{
	position: relative;
	padding-top: calc( 180px * 4 / 4);
	padding-bottom: calc( 180px * 4 / 4);
}

.p-about_bottom_bg{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url("../../img/about/about_bg02@2x.webp");
	background-position: top center;
	background-size: cover;
	background-repeat: no-repeat;
	background-attachment: fixed;
	opacity: 0;
	transition: opacity 1.5s ease 0s;
}

.p-about_bottom.gc-active .p-about_bottom_bg{
	opacity: 1;
}

.gc-touch .p-about_bottom_bg{
	background-attachment: inherit;
}

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

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

.p-about_bottom_in{
	position: relative;
	z-index: 2;
}

.p-pabout_bottom_title01{
	font-size: 24px;
	font-family: "Zen Old Mincho", serif;
	font-weight: 400;
	line-height: 2.66;
	text-align: center;
	white-space: nowrap;
}

@media screen and (max-width: 900px) {
	.p-pabout_bottom_title01{
		font-size: 22px;
	}
}

@media screen and (max-width: 700px) {
	.p-pabout_bottom_title01{
		font-size: 20px;
	}
}