@charset "UTF-8";

:root{
}

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

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

}

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

}

/* ------------------------- .t-header ------------------------------ */

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

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

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

/* ------------------------- .p-top_lead_wrap ------------------------------ */


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

.p-top_lead_head{
	padding: 0 var(--bp) 0 0;
}

.p-top_lead_head:last-child{
	padding: 0;
}

.p-top_lead{
	font-size: 16px;
	line-height: 2.125;
}

.p-top_lead_in{
	max-width: 690px;
}


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

	.p-top_lead_head{
		padding: 0 0 30px 0;
		width: 100%;
	}

	.p-top_lead{
		width: 100%;
	}

	.p-top_lead_in{
		max-width: none;
	}

}

/* ------------------------- .p-top_vision ------------------------------ */

.p-top_vision{
	display: flex;
	flex-direction: column;
	height: 100vh;
}

.p-top_vision_main{
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	position: relative;
}

.p-top_vision_main_in{
	flex-grow: 1;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: none;
}

.p-top_vision_main_title01{
	opacity: 0;
	position: relative;
	z-index: 1;
}

.p-top_vision_scroll_wrap{
	position: absolute;
	bottom: 15px;
	left: 49px;
	z-index: 2;
	color: #FFFFFF;
}

@media screen and (max-width: 700px) {
	.p-top_vision_scroll_wrap{
		left: 0px;
	}
}

.p-top_vision_scroll_text_wrap{
	position: relative;
	width: 12px;
	height: 96px;
	font-size: 14px;
	font-family: "Zen Old Mincho", serif;
	font-weight: 400;
	letter-spacing: 0.04em;
	white-space: nowrap;
	line-height: 1;
}

.p-top_vision_scroll_link{
	display: block;
	text-decoration: none !important;
}

.p-top_vision_scroll_text{
	transform-origin: 0 0;
	transform: rotate(90deg) translateY(-115%);
}

.p-top_vision_scroll_bar_wrap{

}

.p-top_vision_scroll_bar{
	position: relative;
	width: 1.5px;
	height: 72px;
	margin: 0 auto;
	background-color: rgba(255,255,255,0.4);
}

.p-top_vision_scroll_bar_obj{
	position: absolute;
	top: 0;
	left: 0;
	bottom: auto;
	width: 100%;
	height: 0%;
	background-color: #FFFFFF;
	animation: p-top_vision_scroll 2.0s infinite linear;
}

@keyframes p-top_vision_scroll {
	0%{
		height: 0;
		top: 0;
		bottom: auto;
	}
	49%{
		height: 100%;
		top: 0;
		bottom: auto;
	}
	50%{
		height: 100%;
		top: auto;
		bottom: 0;
	}
	51%{
		height: 100%;
		top: auto;
		bottom: 0;
	}
	100%{
		height: 0;
		top: auto;
		bottom: 0;
	}
}

.p-top_vision_main_img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding-bottom: 0;
}

/* .p-top_main_link_area */

.p-top_main_link_area{
	position: absolute;
	bottom: 50px;
	right: 12px;
	z-index: 1;
	color: #FFFFFF;
}

@media screen and (max-width: 700px) {
	.p-top_main_link_area{
		bottom: 20px;
	}
}

.p-top_main_link_wrap{

}

.p-top_main_link{
	position: relative;
	overflow: hidden;
	border-radius: 4px;
	width: 178px;
}

.p-top_main_link::after{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(29,136,136,0.64);
}

.p-top_main_link .m-img_thumb{
	padding-bottom: 56.1%;
}

.p-top_main_link_text{
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
}

.p-top_main_link_title01{
	font-size: 18px;
	line-height: 1;
	font-family: "Marcellus", serif;
	font-weight: 400;
}

.p-top_main_link_obj{
	display: flex;
	justify-content: center;
	margin: 12px 0 0 0;
}

.p-top_main_link_close_wrap{
	position: absolute;
	top: -14px;
	right: -12px;
	background-color: #ffffff;
	border-radius: 100%;
}

.p-top_main_link_close{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border: 1.5px solid #7C7C7C;
	background-color: #ffffff;
	border-radius: 100%;
	cursor: pointer;
}

/* .p-top_vision_bottom */

.p-top_vision_bottom{
	background-color: #1E2929;
	padding-top: 20px;
	padding-bottom: 20px;
}

.p-top_vision_bottom_in{
	/*max-width: 1160px;*/
}

.p-top_vision_news{
	position: relative;
	display: flex;
	width: 100%;
}

.p-top_vision_news_head{
	display: flex;
	align-items: center;
	white-space: nowrap;
	font-size: 18px;
	font-family: "Marcellus", serif;
	font-weight: 400;
	line-height: 1;
	white-space: nowrap;
	color: #929797;
	padding: 0 10px 0 0;
	border-right: 1px solid #636E6E;
	width: 65px;
}

.p-top_vision_news_content{
	width: calc(100% - 65px - 130px);
	padding: 0 0 0 15px;
}

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

	.p-top_vision_news_head{
		padding: 0 0 10px 0;
		margin: 0 0 10px 0;
		border-right: none;
		border-bottom: 1px solid #636E6E;
		width: 100%;
	}

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

/* .p-top_vision_news_link */

.p-top_vision_news_link{
	display: flex;
	align-items: center;
	font-size: 15px;
	font-family: "Marcellus", serif;
	font-weight: 400;
	line-height: 1;
	color: #929797;
	white-space: nowrap;
	padding: 0 0 0 30px;
	width: 130px;
}

.p-top_vision_news_link a{
	text-decoration: none;
}

.gc-normal .p-top_vision_news_link a:hover{
	text-decoration: underline;
}

.p-top_vision_news_link_text{
	display: block;
	line-height: 1.2;
}

@media screen and (max-width: 700px) {
	.p-top_vision_news_link{
		position: absolute;
		top: 0;
		right: 0;
		padding: 0 0 0 0;
		width: auto;
	}
}

/* .swiper-container_wrap.type_top_news */

.swiper-container_wrap.type_top_news{
	position: relative;
	padding: 0 100px 0 0;
}

.swiper-container_wrap.type_top_news .swiper_arrow_wrap.type01{
	position: absolute;
	top: 0;
	right: 0;
	color: #929797;
	padding: 0 0 0 20px;
	margin: 0;
	height: 100%;
	display: flex;
	align-items: center;
}

.swiper-container_wrap.type_top_news .swiper_arrow_wrap.type01 .swiper-button-prev,
.swiper-container_wrap.type_top_news .swiper_arrow_wrap.type01 .swiper-button-next{
	margin: 0;
	padding: 0;
	width: auto;
	height: auto;
	border: none;
	border-radius: 0;
}

.swiper-container_wrap.type_top_news .swiper_arrow_wrap.type01 .swiper_arrow_number{
	margin: 0 10px;
}

.swiper-container_wrap.type_top_news .swiper-wrapper{

}

.swiper-container_wrap.type_top_news .swiper-slide{

}

/* .p-top_vision_news_block */

.p-top_vision_news_block{
	display: flex;
	line-height: 1.5;
	font-size: 15px;
	color: #929797;
}

.p-top_vision_news_block_head{
	display: flex;
	align-items: center;
	line-height: 1;
	min-width: 100px;
	max-width: 100px;
	white-space: nowrap;
}

.p-top_vision_news_block_text{
	flex-grow: 1;
	flex-shrink: 1;
	font-family: "Zen Old Mincho", serif;

}

.p-top_vision_news_block_text p{
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    max-height: 1.5em;
}

/* .p-top_main_movie_btn */

.p-top_main_movie_btn{
	position: absolute;
	right: 0;
	bottom: 30px;
	z-index: 2;
	color: #ffffff;
}

.m-btn_wrap.type_top_movie{
	min-height: 64px;
	min-width: 188px;
}

.m-btn_wrap.type_top_movie,
.m-btn_wrap.type_top_movie::before,
.m-btn_wrap.type_top_movie .m-btn{
	border-radius: 6px;
}

.m-btn_wrap.type_top_movie::before{
	display: none;
}

.m-btn_wrap.type_top_movie .m-btn{
	font-size: 18px;
	font-family: "Marcellus", serif;
	font-weight: 400;
	font-weight: 500;
	padding: 12px 24px;
	color: #fff;
	background-color: transparent;
	border: 1px solid #FFFFFF;
}

.p-top_main_movie_btn .m-row{
	--row_x: 30px;
	--row_y: 0px;
	flex-wrap: nowrap;
	align-items: center;
}



/* ------------------------- .p-top_first ------------------------------ */


.p-top_first{
	padding-top: calc(  290px * 4 / 4);
	padding-bottom: calc( 220px * 4 / 4);
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 60vh;
}

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

@media screen and (max-width: 700px) {
	.p-top_first{
		min-height: 0;
		padding-top: calc(  290px * 2 / 4);
		padding-bottom: calc( 220px * 2 / 4);
	}
}

.p-top_first_in {
	width: 100%;
}

.p-top_first_text_wrap{
	white-space: nowrap;
	display: flex;
	justify-content: center;
}

.p-top_first_text{

}

.p-top_first_title01{
	display: flex;
	justify-content: center;
	font-size: 64px;
	font-size: clamp( 32px , calc( 32 / 375 * 100vw ) , 64px );
	font-family: "Marcellus", serif;
	font-weight: 400;
	line-height: 1;
	color: #1D8888;
	margin: 0 0 15px 0;
	transition: opacity 0.4s ease 0s;
}

.p-top_first_lead{
	display: flex;
	justify-content: center;
	font-size: 30px;
	font-size: clamp( 16px , calc( 16 / 375 * 100vw ) , 30px );
	font-family: "Zen Old Mincho", serif;
	font-weight: 400;
	transition: opacity 0.4s ease 0.4s;
}

.p-top_first_text_wrap .p-top_first_title01,
.p-top_first_text_wrap .p-top_first_lead{
	opacity: 0;
}

.p-top_first_text_wrap.gc-active .p-top_first_title01,
.p-top_first_text_wrap.gc-active .p-top_first_lead{
	opacity: 1;
}

/* ------------------------- .p-top_about ------------------------------ */

.p-top_about{
	padding-top: calc(  100px * 4 / 4);
	padding-bottom: calc( 200px * 4 / 4);
}

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

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

.p-top_about_in{
	
}

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

.p-top_about_block{
	width: 50%;
	padding: 0 calc( var(--bp) * 0.5) 0 0;
}

.p-top_about_vision{
	width: 50%;
	padding: 0 0 0 calc( var(--bp) * 0.5);
}

.p-top_about_vision_obj_wrap{
	position: sticky;
	top: calc( var(--header_h) + var(--header_t) + 20px );
}

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

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

	.p-top_about_vision{
		display: none;
	}

	.p-top_about_vision_obj_wrap{
		position: static;
	}
}

.p-top_about_vision_img{
	padding-bottom: 85.7%;
}

.p-top_about_block{
}

.p-top_about_vision_obj{
	position: relative;
	padding-bottom: 85.7%;
}

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

.p-top_about_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-top_about_vision_obj .p-top_about_vision_img:nth-child(1){
	opacity: 1;
}

.p-top_about_vision_obj .p-top_about_vision_img.gc-active{
	opacity: 1;
}


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

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

/*
.p-top_about_vision_obj .p-top_about_vision_img_cover.gc-second_active{
	width: 100%;
	left: auto;
	right: 0;
}*/

.p-top_about_block_text:first-child{
	/*margin: 0 0 188px 0;*/
	margin: 0 0 100px 0;
}

.p-top_about_block_text{
	/*margin: 0 0 185px 0;*/
	/*min-height: 100vh;*/
	/*margin: 0 0 max( 200px, 30vh ) 0;*/
	/*margin: 0 0 208px 0;*/
	margin: 0 0 130px 0;
}

/*
.p-top_about_block_text{
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.5s ease 0s, transform 0.5s ease 0s;
}

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

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

.p-top_about_block_text:last-child .p-top_about_block_text_obj{
	opacity: 1 !important;
}

.p-top_about_block_text_in{
	/*position: sticky;
	top: 108px;*/
}

.p-top_about_block_text_obj{
	/*position: relative;
	padding-bottom: 85.7%;*/
}

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

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

.p-top_about_block_text_obj_in{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
}

.p-top_about_block_text_obj_block{

}


.p-top_about_block_text .p-top_about_vision_img{
	display: none;
}

.p-top_about_title01{
	/*position: absolute;
	top: 0;
	left: 0;
	margin: 0 0 77px 0;
	*/
	font-size: 21px;
	font-family: "Marcellus", serif;
	font-weight: 400;
	line-height: 1;
	color: #1D8888;
	margin: 0 0 54px 0;
}

.p-top_about_title02{
	font-size: clamp( 18px , calc( 18 / 700 * 100vw ) , 32px );
	font-family: "Zen Old Mincho", serif;
	font-weight: 400;
	line-height: 1.75;
}

.p-top_about_block_lead{
	font-size: 20px;
	line-height: 2.4;
}

.p-top_about_block_btn{
	margin: 100px 0 0 0;
}


.p-top_about_block_btn .p-top_about_block_text_obj{
	padding-bottom: 0;
}

.p-top_about_block_btn .p-top_about_block_text_obj_in{
	position: static;
	align-items: flex-end;
}

.p-top_about_block_btn .p-top_about_block_text_obj_in{
	align-items: flex-end;
}

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

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

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

	.p-top_about_block_text .p-top_about_vision_img{
		width: 100%;
		display: block;
		margin: 0 0 50px 0;
	}

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

	.p-top_about_block_lead{
		font-size: 16px;
		line-height: 1.75;
		margin: 0 0 1.75em 0;
		text-align: center;
	}
	
	.p-top_about_block_btn{
		margin: 56px 0 0 0;
	}
	
	.p-top_about_block_btn .m-row{
		justify-content: center !important;
	}

}

/* .p-top_about_list_field */

.p-top_about_list_field{
	--anime_m: 180px;
	--block_s: 14px;
	/*margin: 200px auto 0 auto;*/
	margin: 80px auto 0 auto;
	overflow: visible;
}

.p-top_about_list_zone{
	width: 1136px;
}

.p-top_about_list_area{
	position: relative;
	/*padding: 160px 0 0px 0;*/
	padding:  var(--anime_m) 0 0 0;
}

.p-top_about_list_bar{
	position: absolute;
	/*top: 66px;*/
	/*top: 400px;*/
	top: 70px;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #000;
	z-index: 100;
	visibility: hidden;
	pointer-events: none;
}

.p-top_about_list_wrap{
	position: relative;
	z-index: 10;
	padding: 0 0 20px 0;
	/*margin: 260px auto 0 auto;*/
}
	
	.p-top_about_list_wrap.gc-clone{
		visibility: hidden;
		z-index: -1;
	}

	.p-top_about_list{
		display: flex;
		flex-wrap: wrap;
		margin: 0 calc( -1 * var( --block_s) ) calc( -2 * var( --block_s) ) calc( -1 * var( --block_s) );
	}

	.p-top_about_list_item{
		width: 33.3%;
		padding: 0 calc( 1 * var( --block_s) ) calc( 2 * var( --block_s) ) calc( 1 * var( --block_s) );
		display: flex;
		flex-direction: column;
	}

@media screen and (min-width: 701px) {

	.p-top_about_list_item{
		position: absolute;
		top: 0;
		transform-origin: 50% 50%;
		transition: transform 0.4s ease 0s, left 0.4s ease 0s;
	}

	.p-top_about_list_wrap.gc-clone .p-top_about_list_item{
		position: static;
		transform: none;
		transition: none;
	}

	.p-top_about_list_item:nth-child(1){
		left: 50%;
		/*transform: translateX( calc( -50% - 20px) ) translateY( calc( -1 * var(--anime_m) - 0px ) ) rotate(-10deg);*/
		transform: translateX( calc( -50% - 20px) ) translateY( calc( -1 * var(--anime_m)  + 8px ) ) rotate(-10deg);
		z-index: 1;
	}

	.p-top_about_list_item:nth-child(2){
		left: 50%;
		/*transform: translateX( calc(-50% - 0px) ) translateY( calc( -1 * var(--anime_m) - 8px ) )  rotate(0deg);*/
		transform: translateX( calc(-50% - 0px) ) translateY( calc( -1 * var(--anime_m) - 0px ) )  rotate(0deg);
		z-index: 3;
	}

	.p-top_about_list_item:nth-child(3){
		left: 50%;
		/*transform: translateX( calc( -50% + 20px ) ) translateY( calc( -1 * var(--anime_m) - 0px ) ) rotate(10deg);*/
		transform: translateX( calc( -50% + 20px ) ) translateY( calc( -1 * var(--anime_m) + 8px ) ) rotate(10deg);
		z-index: 2;
	}

	.p-top_about_list_area.gc-active .p-top_about_list_item:nth-child(1){
		left: 0%;
		transform: translateX( 0% ) translateY( calc( 0% ) ) rotate(0deg);
	}

	.p-top_about_list_area.gc-active .p-top_about_list_item:nth-child(2){
		left: 33.3%;
		transform: translateX( 0% ) translateY( 0% )  rotate(0deg);
	}

	.p-top_about_list_area.gc-active .p-top_about_list_item:nth-child(3){
		left:  66.6%;
		transform: translateX( 0% ) translateY( 0% ) rotate(0deg);
	}
	
}

/*
@media screen and (max-width: 1030px) {
	.p-top_about_list_wrap{
		max-width: 748px;
		margin: calc(  260px * 3 / 4) auto 0 auto;
	}
	.p-top_about_list_item{
		width: 50%;
	}
}*/

@media screen and (min-width: 701px) and (max-width: 1030px) {
	.p-top_about_list_field{
		margin-left: calc( -1 * ( var(--bp) - var( --block_s) ) );
		margin-right: calc( -1 * ( var(--bp) - var( --block_s) ) );
	}
}

@media screen and (max-width: 900px) {
	.p-top_about_list_field{
		/*margin: calc(  200px * 3 / 4) auto 0 auto;*/
		margin: 60px auto 0 auto;
	}
}

@media screen and (max-width: 700px) {
	.p-top_about_list_field{
		max-width: 360px;
		/*margin: calc(  200px * 2 / 4) auto 0 auto;*/
		margin: 100px auto 0 auto;
		height: auto !important;
	}
	.p-top_about_list_zone{
		width: auto;
		transform: none !important;
	}
	.p-top_about_list_area{
		padding: 0;
	}
	
	.p-top_about_list_wrap{
		padding: 0;
	}
	
	.p-top_about_list_wrap.gc-clone{
		display: none;
	}
	
	.p-top_about_list_item{
		width: 100%;
	}
}

.p-top_about_list_block{
	flex-grow: 1;
	display: flex;
	flex-direction: column;
}

.p-top_about_list_block_wrap,
.p-top_about_list_block_link,
.p-top_about_list_block{
	flex-grow: 1;
	display: flex;
	flex-direction: column;
}

.p-top_about_list_block_wrap{

}

.p-top_about_list_block_link{
	text-decoration: none;
}

.p-top_about_list_block{
}

.p-top_about_list_block_img{

}

.p-top_about_list_block_img .m-img_thumb{
	padding-bottom: 75%;
	border-radius: 6px 6px 0 0;
}

.p-top_about_list_block_text{
	flex-grow: 1;
	border-radius: 0 0 6px 6px;
	border: 1px solid #E1E1E1;
	border-top: none;
	padding: 45px 20px 37px 20px;
	background-color: #fff;
}

.p-top_about_list_block_text > *{
	transition: opacity 0.4s ease 0s;
}

.gc-normal .p-top_about_list_block_link:hover .p-top_about_list_block_text > *{
	opacity: 0.5;
}

.p-top_about_list_title01{
	font-size: 21px;
	font-family: "Marcellus", serif;
	font-weight: 400;
	line-height: 1;
	color: #1D8888;
	text-align: center;
	margin: 0 0 24px 0;
}

.p-top_about_list_title02{
	font-size: 18px;
	font-family: "Zen Old Mincho", serif;
	font-weight: 500;
	margin: 0 0 10px 0;
}

.p-top_about_list_block_lead{
	font-size: 14px;
	line-height: 1.857;
}

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

	.p-top_about_list{
		margin-bottom: -30px;
	}

	.p-top_about_list_item{
		height: auto !important;
		padding-bottom: 30px;
	}

	.p-top_about_list_block_text{
		padding: 25px 25px 25px 25px;
	}

	.p-top_about_list_title01{
		font-size: 20px;
		text-align: left;
		margin: 0 0 5px 0;
	}

	.p-top_about_list_title02{
		font-size: 17px;
		margin: 0 0 10px 0;
	}

	.p-top_about_list_block_lead{
		font-size: 14px;
		line-height: 1.857;
	}

}


@media screen and (min-width: 701px) {
	.p-top_about_list_block_img .m-img_thumb{
		border-radius: 6px;
		transition: border-radius 0.2s ease 0.0s;
	}
	.p-top_about_list_area.gc-active .p-top_about_list_block_img .m-img_thumb{
		transition: border-radius 0.2s ease 0.4s;
	}
	.p-top_about_list_area.gc-active .p-top_about_list_block_img .m-img_thumb{
		border-radius: 6px 6px 0 0;
	}

	.p-top_about_list_block_text{
		opacity: 0;
		transition: opacity 0.2s ease 0.0s;
	}
	
	.p-top_about_list_area.gc-active .p-top_about_list_block_text{
		transition: opacity 0.2s ease 0.4s;
	}

	.p-top_about_list_area.gc-active .p-top_about_list_block_text{
		opacity: 1;
	}
	
}

/* ------------------------- .p-top_lineup ------------------------------ */

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

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

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

.p-top_lineup_in{
	
}

/* .swiper-container_wrap.type_top_lineup */

.swiper-container_wrap.type_top_lineup{
	margin: 35px 0 80px 0;
}

.swiper-container_wrap.type_top_lineup .swiper-container{
	overflow: visible;
	max-width: 840px;
	margin: 0;
}

/* .p-top_lineup */

.p-top_lineup .m-works_block_vision .m-img_thumb{
	padding-bottom: 74.76%;
}

.p-top_lineup .m-works_block_icon_wrap{
	top: auto;
	bottom: 12px;
	left: 12px;
}

.p-top_lineup .m-works_block_text{
	padding: 24px 15px 0 15px;
}

.p-top_lineup .m-works_block_info_text{
	border-right-color: #000000;
}

/* ------------------------- .p-top_search ------------------------------ */

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

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

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

.p-top_search_in{
	
}

.p-top_search .m-title01_block_wrap{
	justify-content: center;
}

/* .p-top_search_list_wrap */

.p-top_search_list_wrap{
	margin: 80px auto 90px auto;
}

@media screen and (max-width: 900px) {
	.p-top_search{
		padding-top: calc(  200px * 3 / 4);
		padding-bottom: calc( 180px * 3 / 4);
	}
	.p-top_search_list_wrap{
		margin: calc( 80px * 3 / 4) auto calc( 90px * 3 / 4) auto;
	}
}

@media screen and (max-width: 700px) {
	.p-top_search_list_wrap{
		margin: calc( 80px * 2 / 4) auto calc( 90px * 2 / 4) auto;
	}
}

.p-top_search_list{
	display: flex;
	flex-wrap: wrap;
	margin: 0 -32px -32px 0;
}

.p-top_search_list_item{
	display: flex;
	flex-direction: column;
	padding: 0 32px 32px 0;
	width: 25%;
}

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

@media screen and (max-width: 700px) {
	.p-top_search_list{
		margin: 0 -16px -16px 0;
	}
	.p-top_search_list_item{
		padding: 0 16px 16px 0;
	}
}

.p-top_search_list_block_wrap{
	flex-grow: 1;
	display: flex;
	flex-direction: column;
}

.p-top_search_list_block_link{
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	text-decoration: none !important;
}

.p-top_search_list_block{
	flex-grow: 1;
	background-color: #ffffff;
	padding: 30px 0px 40px 0px;
	border-radius: 6px;
	transition: box-shadow 0.4s ease 0s, transform 0.4s ease 0s;
}

.gc-normal .p-top_search_list_block_link:hover .p-top_search_list_block{
	box-shadow: 0 0 12px 0 rgba(0,0,0,0.19);
	transform: translateY(-10px);
}

.p-top_search_list_title01{
	font-size: 21px;
	font-family: "Marcellus", serif;
	font-weight: 400;
	line-height: 1;
	color: #1D8888;
	text-align: center;
}

.p-top_search_list_block_img{
	height: 140px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.p-top_search_list_title02{
	font-size: 18px;
	font-weight: 400;
	line-height: 1;
	text-align: center;
}

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

	.p-top_search_list_block{
		padding: 18px 0px 26px 0px;
	}

	.p-top_search_list_title01{
		font-size: 16px;
	}

	.p-top_search_list_block_img{
		height: 96px;
	}

	.p-top_search_list_title02{
		font-size: 14px;
	}
}

/* .p-top_search_keyword_wrap */

.p-top_search_keyword_wrap{

}

.p-top_search_keyword_title01{
	font-size: 18px;
	text-align: center;
	margin: 0 0 25px 0;
}

.p-top_search_keyword{
	background-color: #E8E8E8;
	padding: 40px 40px;
}

.p-top_search_keyword_in{
	max-width: 856px;
	margin: 0 auto;
}

.p-top_search_keyword .m-row{
	--row_x: 24px;
	--row_y: 24px;
}

.p-top_search_keyword .m-col{
	width: 20%;
}

.p-top_search_keyword .m-row .m-btn_wrap{
	min-width: 152px;
}

.p-top_search_keyword .m-row .m-btn{
	padding-left: 0;
	padding-right: 0;
}

@media screen and (max-width: 1050px) {
	.p-top_search_keyword .m-col{
		width: 25%;
	}
}

@media screen and (max-width: 900px) {
	.p-top_search_keyword .m-col{
		width: 33.3%;
	}
}

@media screen and (max-width: 700px) {
	.p-top_search_keyword{
		padding: 20px 20px;
	}
	.p-top_search_keyword .m-row{
		--row_x: 20px;
		--row_y: 20px;
	}
	.p-top_search_keyword .m-col{
		width: 50%;
	}
}

@media screen and (max-width: 500px) {
	.p-top_search_keyword{
		padding: 12px 12px;
	}
	.p-top_search_keyword .m-row{
		--row_x: 12px;
		--row_y: 12px;
	}
}

/* ------------------------- .p-top_g_hasta ------------------------------ */

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

/* .p-top_g_hasta01 */

.p-top_g_hasta_title01{
	display: flex;
	justify-content: center;
	line-height: 0;
}

.p-top_g_hasta_title01 svg{
	max-width: 534px;
}

.p-top_g_hasta01{
	margin: max( 73.6%, 100vh ) 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-top_g_hasta01{
		padding-top: calc(  180px * 3 / 4);
		padding-bottom: calc( 180px * 3 / 4);
	}
}

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

.p-top_g_hasta01_in{
	
}

/*
.p-top_g_hasta_content_obj{
	min-height: 100vh;
}*/

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

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

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

.p-top_g_hasta_content_bg_color{
	background-color: #1E2929;
	opacity: 0.1;
}

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

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

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

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

.p-top_g_hasta_title02{
	font-size: 24px;
	font-family: "Zen Old Mincho", serif;
	line-height: 2;
	text-align: center;
	margin: 0 0 80px 0;
}

.p-top_g_hasta_lead{
	font-size: 16px;
	line-height: 2.125;
	text-align: center;
	margin: 0 0 80px 0;
}

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

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

/* ------------------------- .p-top_expert ------------------------------ */

.p-top_expert{
	padding-top: calc(  200px * 4 / 4);
	padding-bottom: calc( 180px * 4 / 4);
	background-color: #1E2929;
	color: #EFF2ED;
}

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

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

.m-works_block_expert_in{

}

/* .swiper-container_wrap.type_top_expert */

.swiper-container_wrap.type_top_expert{
	margin: 80px auto;
}

@media screen and (max-width: 900px) {
	.swiper-container_wrap.type_top_expert{
		margin: 70px auto;
	}
}

@media screen and (max-width: 700px) {
	.swiper-container_wrap.type_top_expert{
		max-width: 360px;
		margin: 60px auto;
	}
}

.p-top_expert .swiper_arrow_wrap.type01{
	color: #FFFFFF;
}

.p-top_expert .swiper_arrow_wrap.type01 .swiper-button-prev,
.p-top_expert .swiper_arrow_wrap.type01 .swiper-button-next{
	border: 1px solid #FFFFFF;
}

/* .p-top_expert .m-works_block */

.p-top_expert .m-works_block_vision .m-img_thumb{
	padding-bottom: 125%;
	border-radius: 6px;
}

.p-top_expert .m-works_block_text{
	padding: 30px 0 0 0;
}

/* ------------------------- .p-top_works ------------------------------ */

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

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

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

.p-top_works_in{

}

.p-top_works_content_wrap{

}

.p-top_works_content{
	margin: 0 0 80px 0;
}

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

@media screen and (max-width: 900px) {
	.p-top_works_content{
		margin: 0 0 70px 0;
	}
}

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

/* .swiper-container_wrap.type_top_works */

.swiper-container_wrap.type_top_works{
	margin: 0 auto 60px auto;
}

@media screen and (max-width: 900px) {
.swiper-container_wrap.type_top_works{
	margin: 0 auto 50px auto;
}
}

@media screen and (max-width: 700px) {
	.swiper-container_wrap.type_top_works{
		max-width: 360px;
		margin: 0 auto 40px auto;
	}
}


/* ------------------------- .p-top_news ------------------------------ */

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

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

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

.p-top_focus_in{

}

/* .p-top_focus_block_wrap */

.p-top_focus_block_wrap{
	margin: 80px 0 0 0;
}

@media screen and (max-width: 900px) {
	.p-top_focus_block_wrap{
		margin: 70px 0 0 0;
	}
}

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

.p-top_focus_block_bar{
	visibility: hidden;
}

.p-top_focus_block{
	position: sticky;
	top: calc( var(--header_h) + var(--header_t) + 20px );
	left: 0;
	width: 100%;
	display: flex;
	margin: 0 0 80px 0;
	transform-origin: 50% 0%;
}

.p-top_focus_block:last-child{
	margin-bottom: 0;
	padding-bottom: 80px;
}

.p-top_focus_block .p-top_focus_block_vision{
	order: 1;
}

.p-top_focus_block .p-top_focus_block_text{
	order: 2;
}

.p-top_focus_block:nth-child(4n) .p-top_focus_block_vision{
	order: 2;
}

.p-top_focus_block:nth-child(4n) .p-top_focus_block_text{
	order: 1;
}

.p-top_focus_block_vision{
	position: relative;
	width: 47.3%;
	background-color: #ffffff;
}

.p-top_focus_block_vision{
	display: flex;
	flex-direction: column;
}

.p-top_focus_block_vision .m-thumb_cut_wrap,
.p-top_focus_block_vision .m-thumb_cut,
.p-top_focus_block_vision .m-thumb_cut_in{
	flex-grow: 1;
	display: flex;
	flex-direction: column;
}

.p-top_focus_block_vision .m-img_thumb{
	flex-grow: 1;
}

.p-top_focus_block_text{
	width: 52.7%;
	background-color: #FFFFFF;
	padding: 50px 48px;
}

@media screen and (max-width: 900px) {
	.p-top_focus_block_text{
		padding: 30px 30px;
	}
	.p-top_focus_block{
		margin: 0 0 70px 0;
	}
	.p-top_focus_block:last-child{
		padding-bottom: 70px;
	}
}

@media screen and (max-width: 700px) {
	.p-top_focus_block{
		flex-wrap: wrap;
		margin: 0 0 60px 0;
		position: static;
		opacity: 1 !important;
		transform: none !important;
	}
	.p-top_focus_block:last-child{
		padding-bottom: 60px;
	}
	.p-top_focus_block .p-top_focus_block_vision{
		order: 1 !important;
	}

	.p-top_focus_block .p-top_focus_block_text{
		order: 2 !important;
	}

	.p-top_focus_block_vision{
		width: 100%;
	}
	.p-top_focus_block_text{
		width: 100%;
		padding: 30px 20px;
	}
}


.p-top_focus_block_head_wrap{
	margin: 0 0 34px 0;
}

.p-top_focus_block_head{
	display: flex;
	align-items: center;
	margin: 0 -20px -20px 0;
}

.p-top_focus_block_head_text{
	padding: 0 20px 20px 0;
}

.p-top_focus_icon{
	font-size: 21px;
	line-height: 1;
	font-family: "Marcellus", serif;
	background-color: #1D8888;
	color: #FFFFFF;
	/*padding: 10px 13px;*/
	padding: 0.476em 0.619em;
	white-space: nowrap;
}

.p-top_focus_title01{
	font-size: 21px;
	font-family: "Zen Old Mincho", serif;
	font-weight: 500;
}

.p-top_focus_title02{
	font-size: 25px;
	line-height: 1.6;
	letter-spacing: 0.02em;
	font-family: "Zen Old Mincho", serif;
	font-weight: 500;
	margin: 0 0 21px 0;
}

@media screen and (max-width: 900px) {
	.p-top_focus_block_head_wrap{
		flex-wrap: wrap;
		margin: 0 0 34px 0;
	}
	.p-top_focus_icon{
		font-size: 18px;
	}
	.p-top_focus_title01{
		font-size: 20px;
	}
	.p-top_focus_title02{
		font-size: 23px;
	}
}

@media screen and (max-width: 700px) {
	.p-top_focus_block_head_wrap{
		margin: 0 0 20px 0;
	}
	.p-top_focus_block_head{
		flex-wrap: wrap;
		margin: 0 0 -10px 0;
	}

	.p-top_focus_block_head_text{
		padding: 0 0 10px 0;
	}
	.p-top_focus_block_head_text:nth-child(2){
		width: 100%;
	}
	.p-top_focus_icon{
		font-size: 16px;
	}
	.p-top_focus_title01{
		font-size: 19px;
	}
	.p-top_focus_title02{
		font-size: 21px;
	}
}

.p-top_focus_info{
	display: flex;
	white-space: nowrap;
	margin: 0 0 14px 0;
	line-height: 1;
}

.p-top_focus_info_text{
	font-size: 14px;
	padding: 1px 10px;
	border-right: 1px solid #BEBEBE;
}

.p-top_focus_info_text:first-child{
	padding-left: 0;
}

.p-top_focus_info_text:last-child{
	padding-right: 0;
}

.p-top_focus_lead{
	font-size: 14px;
	line-height: 1.857;
}

.p-top_focus_link_wrap{
	display: flex;
	justify-content: flex-end;
	font-size: 15px;
	color: #1D8888;
	margin: 20px 0 0 0;
}

.p-top_focus_link{
	text-decoration: none !important;
}

.p-top_focus_block:nth-child(2n) .p-top_focus_link_wrap{
	justify-content: flex-start;
}


/* ------------------------- .p-top_news ------------------------------ */

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

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

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

.p-top_news_in{

}

/*
.gc-normal .p-top_news_link_href:hover .p-top_news_link_content_arrow svg{
	animation: p-top_news_arrow 0.6s 1 forwards linear;
}*/

/*
@keyframes p-top_news_arrow {
	0%{
		transform: translateX(0);
		opacity: 1;
	}
	49%{
		transform: translateX(10px);
		opacity: 0;
	}
	50%{
		transform: translateX(-10px);
		opacity: 0;
	}
	100%{
		transform: translateX(0px);
		opacity: 1;
	}
}*/

/* .p-top_banner_wrap */

.p-top_banner_wrap{
	display: flex;
	justify-content: center;
	margin: calc( 220px * 4 / 4) 0 0 0;
	padding: 0 48px 0 48px;
}

.p-top_banner{
	box-shadow: 4px 8px 8px 0 rgba(0,0,0,0.16) ;
}

@media screen and (max-width: 900px) {
	.p-top_banner_wrap{
		padding: 0 0 0 0;
		margin: calc( 220px * 3 / 4) 0 0 0;
	}
}

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