@charset "UTF-8";

:root{
	--header_height: 90px;
}

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

@media screen and (max-width: 1100px) {
	:root{
		--header_height: 76px;
	}
}


/**/
/* ================= .swiper-container_wrap ================= */
/**/


.swiper-container_wrap{
	position: relative;
}

/* .swiper-arrow_wrap.type01 */

.swiper-arrow_wrap.type01{
	white-space: nowrap;
	display: flex;
	justify-content: center;
	line-height: 1;
	margin: calc( 80px * 4 / 4) 0 0 0;
}

.swiper-arrow_wrap.type01 .swiper-arrow_wrap_in{
	display: flex;
	align-items: center;
}

.swiper-arrow_wrap.type01 .swiper-button-prev,
.swiper-arrow_wrap.type01 .swiper-button-next{
	position: static;
	display: flex;
	align-items: center;
	justify-content: center;
	background-image: none;
	margin: 0;
	padding: 0;
	width: 75px;
	height: 25px;
	border-radius: 9999px;
	color: #FFFFFF;
	background-color: #0EB197;
	transition: opacity 0.4s ease 0s;
}

.gc-normal .swiper-arrow_wrap.type01 .swiper-button-prev:hover,
.gc-normal .swiper-arrow_wrap.type01 .swiper-button-next:hover{
	opacity: 0.7;
}

.swiper-arrow_wrap.type01 .swiper-arrow_number{
	font-size: 13px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.04em;
	font-family: "Work Sans", sans-serif;
	margin: 0 30px;
}


@media screen and (max-width: 1030px) {
	.swiper-arrow_wrap.type01{
		margin: calc( 80px * 3 / 4) 0 0 0;
	}
}

@media screen and (max-width: 700px) {
	.swiper-arrow_wrap.type01{
		margin: calc( 80px * 2 / 4) 0 0 0;
	}
}

/* --------- .p-main_vision --------- */

.p-main_vision{
	display: flex;
	flex-direction: column;
	position: relative;
	height: 100vh;
	min-height: 780px;
	overflow: hidden;
}

.p-main_vision_in{
	flex-grow: 1;
	display: flex;
}

@media screen and (max-width: 700px) {
	.p-main_vision{
		min-height: 0px;
		height: auto !important;
	}
	.p-main_vision_in{
		display: flex;
		flex-direction: column;
	}
	.p-main_vision_main{
		order: 2;
	}
	.p-main_vision_sub{
		order: 3;
	}
	.p-main_vision_info{
		order: 1;
	}
}

/* .p-main_vision_info */

.p-main_vision_info{
	position: absolute;
	top: 68px;
	right: var(--bp);
	z-index: 2;
	overflow: hidden;
	border-radius: 6px;
	background-color: #FFFFFF;
	padding: 28px 20px 24px 20px;
	width: 516px;
}

.p-main_vision_info::before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 12px;
	height: 100%;
	background-color: #9ADAD8;
}

.p-main_vision_info_in{
	margin: 0 auto;
	max-width: 425px;
}

.p-main_vision_info_row_wrap{
	margin: 0 0 28px 0;
}

.p-main_vision_info_row{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	line-height: 1;
}

.p-main_vision_info_row_img{

}

.p-main_vision_info_row_text{
	padding: 0 0 0 15px;
	flex-grow: 1;
}

.p-main_vision_info_title01{
	line-height: 1;
	white-space: nowrap;
}

.p-main_vision_info_text01{
	display: block;
	font-size: 28px;
	font-weight: 700;
	color: #128985;
	margin: 0 0 19px 0;
}

.p-main_vision_info_text02{
	display: block;
	position: relative;
	font-size: 21px;
	padding: 0 0 17px 0;
}

.p-main_vision_info_text02::before{
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 4px;
	background: linear-gradient(to right, #27acff 0%,#9aecff 45%,#005ad1 100%);
	background-size: 100% 100%;
	background-position: left bottom;
	background-repeat: no-repeat;
}

.p-main_vision_info_date{
	/*font-size: 28px;
	margin: 0 -10px 0 -2px;*/
	font-size: calc( 100% * 28 / 21);
	margin: 0 calc( -1em * 10 / 21 ) 0 calc( -1em * 2 / 21 );
}

.p-main_vision_info_bar{
	font-size: calc( 100% * 32 / 21);
	margin: 0 0 0 calc( -1em * 8 / 21);
}

.p-main_vision_info_bar + .p-main_vision_info_date{
	margin-left: 0;
}

.p-main_vision_info_lead{
	display: flex;
	justify-content: center;
	font-size: 14px;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}

@media screen and (max-width: 700px) {
	.p-main_vision_info{
		top: 0;
		left: 0;
		bottom: auto;
		border-radius: 0;
		padding: 20px 20px;
		width: 100%;
		height: 150px;
	}

	.p-main_vision_info::before{
		display: none;
	}

	.p-main_vision_info_in{
		margin: 0 auto;
		max-width: none;
	}

	.p-main_vision_info_row_wrap{
		display: flex;
		justify-content: center;
		margin: 0 0 20px 0
	}

	.p-main_vision_info_row{
		
	}

	.p-main_vision_info_row_img{

	}

	.p-main_vision_info_row_text{
		padding: 0 0 0 15px;
		flex-grow: 1;
	}

	.p-main_vision_info_title01{
		line-height: 1;
		white-space: nowrap;
	}

	.p-main_vision_info_text01{
		font-size: 21px;
		margin: 0 0 5px 0;
	}

	.p-main_vision_info_text02{
		display: block;
		position: relative;
		font-size: 20px;
		padding: 0 0 8px 0;
	}

	.p-main_vision_info_text02::before{
		height: 3px;
	}

	.p-main_vision_info_bar + .p-main_vision_info_date{
		margin-left: 0;
	}

	.p-main_vision_info_lead{
		display: flex;
		justify-content: center;
		font-size: 14px;
		font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	}
}

/* .p-main_vision_sub */

.p-main_vision_sub{
	display: flex;
	flex-direction: column;
	background-color: #FFFFFF;
	padding: 30px 0 45px 0;
	width: 112px;
}

.p-main_vision_sub_in{
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.p-main_vision_logo{
	text-align: center;
	margin: 0 0 20px 0;
}

.p-main_vision_logo img{
	max-width: none;
}

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

.p-main_vision_sub_obj_in{
	display: flex;
	justify-content: center;
	margin: 0 0 40px 0;
}

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

.p-main_vision_sub_obj_in > *{
	writing-mode: vertical-rl;
}


.p-main_vision_sub_title01{
	font-size: 36px;
	color: #128985;
	line-height: 1.22;
	letter-spacing: 0.22em;
}

.p-main_vision_sub_lead{
	font-size: 14px;
	line-height: 1.35;
	letter-spacing: 0.143em;
}

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

	.p-main_vision_sub_lead .p-roate_text{
		display: inline-block;
		transform-origin: 50% 50%;
	}

	.p-main_vision_sub_lead .p-roate_text.type01{
		transform: rotate(-90deg) translateX(2px) translateY(1px);
	}

	.p-main_vision_sub_lead .p-roate_text.type02{
		transform: rotate(-90deg) translateX(1px) translateY(1px);
	}

}

@media screen and (max-width: 700px) {
	.p-main_vision_sub{
		display: block;
		white-space: nowrap;
		text-align: center;
		width: auto;
		padding: 30px 0 10px 0;
	}

	.p-main_vision_sub_in{
		display: block;
	}

	.p-main_vision_logo{
		margin: 0 0 18px 0;
	}
	
	.p-main_vision_sub_obj{
		display: block;
	}

	.p-main_vision_sub_obj_in{
		display: block;
		margin: 0 0 0 0;
	}

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

	.p-main_vision_sub_obj_in > *{
		writing-mode: inherit;
	}


	.p-main_vision_sub_title01{
		font-size: 24px;
		letter-spacing: normal;
		margin: 0 0 15px 0;
	}

	.p-main_vision_sub_lead{
		font-size: 16px;
		font-weight: 700;
		line-height: 1.5625;
		margin: 0 0 0 0;
	}
}

/* .p-main_vision_main */

.p-main_vision_main{
	position: relative;
	width: calc(100% - 112px);
}

@media screen and (max-width: 700px) {
	.p-main_vision_main{
		flex-grow: 1;
		width: auto;
		height: calc(100vh - 150px);
		padding-top: 150px;
	}
}

/* .swiper-container_wrap.type_main */

.swiper-container_wrap.type_main{
	position: relative;
}

.swiper-container_wrap.type_main,
.swiper-container_wrap.type_main .swiper-container,
.swiper-container_wrap.type_main .swiper-wrapper,
.swiper-container_wrap.type_main .swiper-slide,
.swiper-container_wrap.type_main .m-img_thumb {
  width: 100%;
  height: 100%;
}

.swiper-container_wrap.type_main .swiper-pagination_wrap{
	position: absolute;
	width: 100%;
	bottom: 32px;
	z-index: 100;
}

.swiper-container_wrap.type_main .swiper-pagination{
	position: static;
	display: flex;
	justify-content: center;
}

.swiper-container_wrap.type_main .swiper-pagination-bullet{
	background-color: rgba(255,255,255,0.4);
	margin: 0 18px 0 0;
	opacity: 1;
}

.swiper-container_wrap.type_main .swiper-pagination-bullet:last-child{
	margin-right: 0;
}

.swiper-container_wrap.type_main .swiper-pagination-bullet.swiper-pagination-bullet-active{
	background-color: rgba(255,255,255,1);
}

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


.t-header{
	--nav_m: 44px;
	position: fixed;
	left: 0;
	width: 100%;
	z-index: 20000;
	min-width: var(--content_min_w);
	transition: top 0.2s ease 0s;
	background-color: #ffffff;
	height: var(--header_height);
	top: calc( -1.2 *var(--header_height));
}

.gc-main_nav_active .t-header{
	top: 0 !important;
	width: 100%;
	height: 100%;
	overflow-x: hidden;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
}

@media screen and (max-width: 1250px) {
	.t-header{
		--nav_m: 22px;
	}
}

@media screen and (max-width: 1100px) {
	.t-header{
		--nav_m: 18px;
	}
}

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

.t-header_in{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: var(--header_height);
	padding-left: 30px;
	padding-right: 0;
	background-color: #ffffff;
	box-shadow: 0px 3px 6px rgba(0,0,0,0.16);
}

@media screen and (max-width: 700px) {
	.t-header_in{
		z-index: 10;
	}
}

.t-header_content{
	height: var(--header_height);
	display: flex;
	justify-content: space-between;
	max-width: none;
}

.t-header_logo{
	position: relative;
	display: flex;
	align-items: center;
	z-index: 10;
}

.t-header_logo img{
	max-width: none;
}

.t-header_nav{
	height: var(--header_height);
}

.t-header_nav_func{
	height: var(--header_height);
	display: flex;
	justify-content: space-between;
}

.t-header_nav_list_wrap{
	height: var(--header_height);
	white-space: nowrap;
}


@media screen and (max-width: 1030px) {
	.t-header_nav_list_wrap{
		display: none;
	}
	.t-header_in{
		padding-left: 15px;
	}
}

.t-header_nav_list{
	height: var(--header_height);
	display: flex;
	margin: 0 0 0 var(--nav_m);
}

.t-header_nav_list_item{
	height: var(--header_height);
	margin: 0 var(--nav_m) 0 0;
}

.t-header_nav_list_item:last-child{
	margin-right: 0;
}

.t-header_nav_list_link{
	height: var(--header_height);
	display: block;
	padding: 1px 0;
	text-decoration: none !important
}

.t-header_nav_list_block{
	height: var(--header_height);
	position: relative;
	display: flex;
	align-items: center;
}

.t-header_nav_list_block::before{
	content: "";
	position: absolute;
	display: block;
	bottom: 0;
	left: 0;
	width: 0;
	height: 3px;
	background-color: #0EB197;
	transition: width 0.4s ease 0s;
}

.t-header_nav_list_link:hover .t-header_nav_list_block::before{
	width: 100%;
}

.t-header_nav_list_item .m-flex_text{
	--data_x: 10px;
	--data_line: 1em;
}

.t-header_nav_list_item .m-flex_text .m-flex_text_lead:nth-child(1){
	font-size: 20px;
	font-family: "Work Sans", sans-serif;
	font-weight: 600;
	color: #C3C3C3;
	transition: color 0.4s ease 0s;
}

.gc-normal .t-header_nav_list_link:hover .m-flex_text .m-flex_text_lead:nth-child(1){
	color: #0EB197;
}

.t-header_nav_list_item .m-flex_text .m-flex_text_lead:nth-child(2){
	font-size: 15px;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}

.t-header_nav_switch_wrap{
	margin: 0 0 0 calc( var(--nav_m) * 0.5);
}

.t-header_nav_switch{
	cursor: pointer;
	width: var(--header_height);
	height: var(--header_height);
	display: flex;
	align-items: center;
	justify-content: center;
}

.t-header_nav_switch_obj{
	position: relative;
	width: 26px;
	height: 7px;
	z-index: 10;
}

.t-header_nav_bar{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #000000;
	transition: transform 0.4s ease 0s, top 0.4s ease 0s, background-color 0.4s ease 0s;
	transform-origin: 0 50%;
}

.t-header_nav_bar.type_bar01{
	top: 0;
}

.t-header_nav_bar.type_bar02{
	top: 6px;
}

.gc-main_nav_active .t-header_nav_bar{
	background-color: #ffffff;
}

.gc-main_nav_active .t-header_nav_bar.type_bar01{
	top: -2.5px;
	transform: rotate(26deg);
}

.gc-main_nav_active .t-header_nav_bar.type_bar02{
	top: 9.5px;
	transform: rotate(-26deg);
}

@media screen and (max-width: 700px) {
	.gc-main_nav_active .t-header_nav_bar{
		background-color: #000000;
	}
}

/* .t-header_main_nav_area */

.t-header_main_nav_area{
	--sub_w: 36.8vw;
	display: none;
}

.t-header_main_nav_wrap{
	display: flex;
	flex-direction: column;
	position: relative;
	z-index: 2;
	width: 100%;
	min-height: 100vh;
	z-index: 1;
}

.t-header_bg{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 19999;
	background-color: #ffffff;
}

.t-header_main_nav{
	flex-grow: 1;
	display: flex;
	white-space: nowrap;
	min-height: 780px;
}

.t-header_main_nav_main,
.t-header_main_nav_sub{
	display: flex;
	justify-content: center;
	padding: 160px 30px calc( var(--header_height) + 30px) 30px;
}

.t-header_main_nav_sub{
	height: 100%;
	color: #000000;
	background-color: #ffffff;
	width: var(--sub_w);
	min-width: 420px;
	z-index: 1;
}

.t-header_main_nav_sub_in{

}

.t-header_main_nav_sub_list{

}

.t-header_main_nav_sub_list_item{
	margin: 0 0 45px 0;
}

.t-header_main_nav_sub_list_item:before{
	margin-bottom: 0;
}

.t-header_main_nav_sub_list_link{
	display: block;
	text-decoration: none !important;
}

.t-header_nav_sub_list_block{
	position: relative;
	padding: 0 0 0 60px;
}

.t-header_nav_sub_list_block::before{
	content: "";
	display: block;
	position: absolute;
	top: 8px;
	left: 0;
	width: 32px;
	height: 1px;
	margin: -0.5px 0 0 0;
	background-color: #534E42;
}

.t-header_main_nav_sub_list_item .m-flex_text{

}

.t-header_main_nav_sub_list_item .m-flex_text{
	--data_x: 16px;
	--data_line: 1em;
}

.t-header_main_nav_sub_list_item .m-flex_text .m-flex_text_lead:nth-child(1){
	font-size: 32px;
	font-family: "Work Sans", sans-serif;
	font-weight: 600;
	color: #C3C3C3;
	transition: color 0.4s ease 0s;
	width: 1.3em;
}

.gc-normal .t-header_main_nav_sub_list_link:hover .m-flex_text .m-flex_text_lead:nth-child(1){
	color: #128985;
}

.t-header_main_nav_sub_list_title01{
	font-size: 21px;
	font-family: "Work Sans", sans-serif;
	font-weight: 500;
	letter-spacing: 0.04em;
	margin: 0 0 13px 0;
}

.t-header_main_nav_sub_list_title02{
	font-size: 14px;
	color: #555555;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}

.t-header_main_nav_main{
	flex-grow: 1;
	color: #ffffff;
	background-color: #0D4E44;
}

.t-header_main_nav_main_in{
	width: 100%;
	max-width: 710px;
}

.t-header_main_nav_main_row_wrap{
}

.t-header_main_nav_main_row{
	display: flex;
	justify-content: space-between;
	margin: 0 -30px -70px 0;
}

.t-header_main_nav_main_col{
	padding: 0 30px 70px 0;
}

.t-header_main_nav_main_list{
	line-height: 1;
}

.t-header_main_nav_main_list_item{
	margin: 0 0 70px 0;
}

.t-header_main_nav_main_list_item:last-child{
	margin-bottom: 0;
}

.t-header_main_nav_main_list_link{
	display: block;
	text-decoration: none !important;
}

.t-header_nav_main_list_block{

}

.t-header_main_nav_main_list_title01{
	font-size: 32px;
	font-family: "Work Sans", sans-serif;
	font-weight: 500;
	letter-spacing: 0.04em;
	color: #5AB4A7;
	opacity: 0.4;
	margin: 0 0 25px 0;
	transition: opacity 0.4s ease 0s , color 0.4s ease 0s;
}

.gc-normal .t-header_main_nav_main_list_link:hover .t-header_main_nav_main_list_title01{
	color: #0CD8B7;
	opacity: 1;
}

.t-header_main_nav_main_list_title02{
	font-size: 17px;
}

.t-header_main_copy{
	margin: 216px 0 0 0;
	font-size: 12px;
	font-family: "Work Sans", sans-serif;
	font-weight: 300;
}

@media screen and (max-width: 1150px) {
	.t-header_main_nav_main_row{
		flex-wrap: wrap;
	}

	/*
	.t-header_main_nav_main_list_title01 {
		font-size: 26px;
		margin: 0 0 13px 0;
	}
	.t-header_main_nav_main_list_title02{
		font-size: 16px;
	}*/


}

@media screen and (max-width: 900px) {
	.t-header_main_nav_main{
		width: 50%;
		padding: 160px 20px calc( var(--header_height) + 30px) 20px;
	}

	.t-header_main_nav_main_row{
		display: flex;
		justify-content: space-between;
		margin: 0 0px -34px 0;
	}

	.t-header_main_nav_main_col{
		width: 100%;
		padding: 0 0 32px 0;
	}

	.t-header_main_nav_sub{
		width: 50%;
		min-width: 0;
		padding: 160px 20px calc( var(--header_height) + 30px) 20px;
	}

	.t-header_main_nav_main_list_item{
		margin: 0 0 32px 0;
	}

	.t-header_main_nav_main_list_title01{
		font-size: 21px;
		margin: 0 0 12px 0;
	}

	.t-header_main_nav_main_list_title02{
		font-size: 15px;
	}

	.t-header_nav_sub_list_block{
		position: relative;
		padding: 0 0 0 28px;
	}

	.t-header_nav_sub_list_block::before{
		width: 16px;
	}

	.t-header_main_nav_sub_list_item{
		margin: 0 0 32px 0;
	}

	.t-header_main_nav_sub_list_item .m-flex_text .m-flex_text_lead:nth-child(1){
		font-size: 21px;
		font-weight: 500;
		color: #3B887C;
	}
	.t-header_main_nav_sub_list_item .m-flex_text {
		--data_x: 15px;
	}
	.t-header_main_nav_sub_list_title01{
		margin: 0 0 15px 0;
	}

	.t-header_main_nav_sub_list_title02{
		font-size: 15px;
	}
	
	/*
	.t-header_main_nav_sub_list_item .m-flex_text .m-flex_text_lead:nth-child(1){
		font-size: 28px;
	}*/
}

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

	.t-header_main_nav{
		position: relative;
		flex-wrap: wrap;
	}

	.t-header_main_nav_main, 
	.t-header_main_nav_sub {
		display: flex;
		justify-content: flex-start;
	}

	.t-header_main_nav_main{
		padding: 120px 20px 43px 20px;
	}

	.t-header_main_nav_sub{
		min-width: 0;
		width: 100%;
		order: 2;
		padding: 43px 20px 120px 20px;
	}

	.t-header_main_nav_main{
		width: 100%;
		order: 1;
	}

	.t-header_main_copy{
		position: absolute;
		bottom: 50px;
		left: 0px;
		width: 100%;
		font-size: 13px;
		margin: 0;
		color: #000000;
		z-index: 2;
		text-align: center;
	}

}

/* ------------------------- .t-main ------------------------------ */

.t-main{
}

/* ------------------------- .t-footer ------------------------------ */

.t-footer{
	background-color: #0D4E44;
}

/* .t-footer01 */

.t-footer01{
	padding-top: 170px;
	padding-bottom: 110px;
	background-color: #FFFFFF;
}

.t-footer01_in{
	background-color: #fff;
}

.t-footer01_title01{
	font-size: 34px;
	font-weight: 400;
	line-height: 2.35;
	text-align: center;
	margin: 0 0 3.73em 0;
}

.t-footer01_logo{
	text-align: center;
}

@media screen and (max-width: 1030px) {
	.t-footer01{
		padding-top: 110px;
		padding-bottom: 115px;
	}
	.t-footer01_title01{
		font-size: 26px;
	}
}

@media screen and (max-width: 700px) {
	.t-footer01{
		padding-top: 50px;
		padding-bottom: 100px;
	}
	.t-footer01_title01{
		font-size: 18px;
		font-weight: 600;
		line-height: 2.35;
		text-align: center;
		color: inherit;
		margin: 0 0 50px 0;
	}
}

/* .t-footer02 */

.t-footer02{
	padding-top: 60px;
	padding-bottom: 56px;
	background-color: #0D4E44;
	color: #FFFFFF;
}

.t-footer02_in{
}

@media screen and (max-width: 700px) {
	.t-footer02{
		padding-top: 40px;
		padding-bottom: 40px;
		padding-left: 10px;
		padding-right: 10px;
	}
}

/* .t-footer_list_wrap */

.t-footer_list_wrap{
	white-space: nowrap;
}

.t-footer_list{
	display: flex;
	flex-wrap: wrap;
	margin: 0 -32px -20px 0;
}

.t-footer_list_item{
	display: flex;
	flex-direction: column;
	padding: 0 32px 20px 0;
	width: 16.66%;
}

@media screen and (max-width: 1250px) {
	.t-footer_list{
		margin: 0 -15px -15px 0;
	}
	.t-footer_list_item{
		padding: 0 15px 15px 0;
	}
}

.t-footer_list_item .m-btn_wrap.type03 .m-btn{

}

.t-footer_list_item .m-flex_text_lead:nth-child(1){
	font-size: 113.3%;
	padding-top: 1px;
}

.t-footer_list_item .m-flex_text_lead:nth-child(2){
	font-size: 100%;
	letter-spacing: 0.08em;
}

/* .t-footer_list_wrap .m-btn_wrap */

.t-footer_list_wrap .m-btn_wrap{
}

.t-footer_list_wrap .m-btn_wrap,
.t-footer_list_wrap .m-btn_wrap .m-btn{
	border-radius: 6px;
}

.t-footer_list_wrap .m-btn_wrap .m-btn{
	font-size: 14px;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	padding: 10px;
	transition: background-color 0.4s ease 0s,color 0.4s ease 0s,border-color 0.4s ease 0s;
	color: #ffffff;
	background-color: #0D4E44;
	border: 1px solid #4D9D90;
	min-height: 4.285em;
}

.gc-normal .t-footer_list_wrap .m-btn_wrap .m-btn:hover{
	border-color: #0EB197;
	background-color: #0EB197;
	color: #ffffff;
}

@media screen and (min-width: 1031px) and (max-width: 1100px){
	.t-footer_list_wrap .m-btn_wrap .m-btn{
		font-size: 13px;
	}
}

/* .t-footer_copy */

.t-footer_copy{
	text-align: center;
	font-size: 12px;
	line-height: 1;
	font-family: "Work Sans", sans-serif;
	font-weight: 400;
	color: #FFFFFF;
	margin: 60px 0 0 0;
}

/*
@media screen and (max-width: 1030px) {
	.t-footer_list_item{
		width: 33.3%;
	}
}*/

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

	.t-footer{
		--h_list_height: 72px;
		padding-bottom: var(--h_list_height);
	}

	.t-footer_list_wrap{
		position: fixed;
		bottom: calc(-1 * var(--h_list_height));
		left: 0;
		z-index: 19000;
		background-color: #0D4E44;
		height: var(--h_list_height);
		width: 100%;
		min-width: var(--content_min_w);
		padding: 18px;
		transition: bottom 0.4s ease 0s;
	}

	.gc-main_active .t-footer_list_wrap{
		bottom: 0;
	}

	.t-footer_list{
		margin: 0 -12px -12px 0;
	}

	.t-footer_list_item{
		width: 16.6%;
		padding: 0 12px 12px 0;
	}

	.t-footer_list_item .m-btn_wrap{
	}

	.t-footer_list_item .m-btn_wrap .m-btn{
		font-size: 12px;
		height: 36px;
		min-height: 0;
	}

	.t-footer_list_item .m-btn_wrap .m-btn .m-flex_text{
		--data_x: 6px;
	}

	.t-footer_list_item .m-flex_text_lead:nth-child(1){
		display: none;
	}

	.t-footer_copy{
		margin: 0px 0 0 0;
	}
}

@media screen and (max-width: 750px) {
	.t-footer{
		--h_list_height: 120px;
	}
	.t-footer_list_item{
		width: 33.3%;
	}
	
}

/* ------------------------- .p-first-visit ------------------------------ */

.p-first-visit{
	position: relative;
	padding-top: calc( 108px * 4 / 4);
	padding-bottom: calc( 90px * 4 / 4);
	background-color: #FFFFFF;
}

.p-first-visit::before{
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: calc( 264px * 4 / 4);
	background-color: rgba(98,198,194,0.38);
}

@media screen and (max-width: 1030px) {
	.p-first-visit{
		padding-top: calc( 108px * 3 / 4);
		padding-bottom: calc( 90px * 3 / 4);
	}
	.p-first-visit::before{
		height: calc( 264px * 3 / 4);
	}
}

@media screen and (max-width: 700px) {
	.p-first-visit{
		padding-top: calc( 108px * 2 / 4);
		padding-bottom: calc( 90px * 2 / 4);
	}
	.p-first-visit::before{
		display: none;
		height: calc( 264px * 2 / 4);
	}
}

.p-first-visit_in{
	position: relative;
}

.p-first-visit_list_wrap{
	--data_m: 16px;
	--data_block: 240px;
	margin: 70px auto 0 auto;
}

.p-first-visit_list{
	display: flex;
	flex-wrap: wrap;
	margin: 0 calc(-1 * var(--data_m) ) calc(-1 * var(--data_m) ) 0;
}

.p-first-visit_list_item{
	display: flex;
	flex-direction: column;
	width: 20%;
	padding: 0 calc(1 * var(--data_m) ) calc(1 * var(--data_m) ) 0;
}

@media screen and (max-width: 1030px) {
	.p-first-visit_list_wrap{
		max-width: calc( calc(3 * var(--data_block) )) + calc(2 * var(--data_m) );
	}
	.p-first-visit_list_item{
		width: 33.3%;
	}
}

@media screen and (max-width: 600px) {
	.p-first-visit_list_wrap{
		max-width: calc( calc(2 * var(--data_block) )) + calc(1 * var(--data_m) );
	}
	.p-first-visit_list{
		margin: 0 -8px -8px 0;
	}
	.p-first-visit_list_item{
		width: 50%;
		padding: 0 8px 8px 0;
	}
}

/* .p-first-visit_block_wrap */

.p-first-visit_block_wrap,
.p-first-visit_block_link,
.p-first-visit_block{
	flex-grow: 1;
	flex-direction: column;
	display: flex;
}

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

.p-first-visit_block_wrap{

}

.p-first-visit_block{
	background-color: #FFFFFF;
	padding: 8px 8px 32px 8px;
}

.p-first-visit_block_img{
	margin: 0 0 19px 0;
}

.p-first-visit_block_img .m-img_thumb{
	padding-bottom: 86.6%;
}

.p-first-visit_block_text{
	display: flex;
	justify-content: center;
}

.p-first-visit_block_text_in{

}

.p-first-visit_block_title01{
	font-size: 13px;
	font-family: "Work Sans", sans-serif;
	font-weight: 400;
	line-height: 1;
	color: #128985;
	padding: 0 0 0 28px;
	margin: 0 0 4px 0;
}

.p-first-visit_block_lead{
	font-size: 18px;
	font-family: "Zen Old Mincho", serif;
}

.p-first-visit_block_obj{
	display: block;
	width: calc(1em * 20 / 18);
	height: calc(1em * 20 / 18);
	position: relative;
	border: 1px solid #9A9A9A;
	border-radius: 2px;
	background-image: url(../img/icon_check01.svg);
	background-size: calc( 1em * 14 / 18) auto;
	background-position: center center;
	background-repeat: no-repeat;
}

.p-first-visit_block_text .m-flex_text{
	--data_x: 0;
}

.p-first-visit_block_text .m-flex_text_img{
	min-width: 28px;
}

@media screen and (max-width: 1100px) {
	.p-first-visit_block_title01{
		padding: 0 0 0 0;
	}
}

@media screen and (max-width: 700px) {
	.p-first-visit_block{
		padding: 6px 6px 20px 6px;
	}

	.p-first-visit_block_text{
		justify-content: flex-start;
	}

	.p-first-visit_block_title01{
		padding: 0;
	}

	.p-first-visit_block_lead{
		font-size: 15px;
		white-space: nowrap;
	}
}

/* ------------------------- .p-promise ------------------------------ */

.p-promise{
	background-image: url(../img/promise_bg01@2x.webp);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	padding-top: calc( 110px * 4 / 4);
	padding-bottom: calc( 160px * 4 / 4);
}


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

	.p-promise{
		padding-top: calc( 110px * 3 / 4);
		padding-bottom: calc( 160px * 3 / 4);
	}
}

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

	.p-promise{
		padding-top: calc( 110px * 2 / 4);
		padding-bottom: calc( 160px * 2 / 4);
	}
}

.p-promise_in{
	
}



.swiper-container_wrap.type_promise{
	overflow: visible;
	margin: 0 auto;
}

.p-promise_slide{
	margin: calc( 100px * 4 / 4) -40px 0 0;
}


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

	.p-promise_slide{
		margin: calc( 100px * 3 / 4) -40px 0 0;
	}
}

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

	.p-promise_slide{
		margin: calc( 100px * 2 / 4) -40px 0 -40px;
	}

	.swiper-container_wrap.type_promise{
		max-width: 400px;
	}
}

/* .p-promise_block_wrap */

.p-promise_block_wrap,
.p-promise_block_link,
.p-promise_block{
	flex-grow: 1;
	flex-direction: column;
	display: flex;
}

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

.p-promise_block_wrap{
	position: relative;
	padding: 20px 40px 0 40px;
}

.p-promise_block{

}

.p-promise_block_img{
	margin: 0 0 30px 0;
}

.p-promise_block_img .m-img_thumb{
	padding-bottom: 112.19%;
	border-radius: 10px;
}

.p-promise_block_text{

}

.p-promise_block_title01{
	font-size: 21px;
	font-weight: 700;
	line-height: 1.69;
	text-align: center;
	margin: 0 0 15px 0;
}

.p-promise_block_lead{
	font-size: 16px;
	line-height: 1.5;
	font-family: "Zen Old Mincho", serif;
	text-align: center;
}

.p-promise_block_head{
	position: absolute;
	top: 0;
	left: 0;
	width: 40px;
	white-space: nowrap;
	font-size: 13px;
	font-family: "Work Sans", sans-serif;
	font-weight: 500;
	line-height: 1;
	color: #128985;
	display: flex;
	justify-content: center;
}

.p-promise_block_head_in{
	width: 1em;
	margin: -1em 0 0 0;
}

.p-promise_block_head_in p{
	transform: rotate(90deg);
	transform-origin: 0 100%;
}


/* ------------------------- .p-our-service ------------------------------ */

.p-our-service{
	background-color: #F2F2F2;
	padding-top:  calc( 140px * 4 / 4);
	padding-bottom: calc( 166px * 4 / 4);
}

.p-our-service_in{
}

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

	.p-our-service{
		padding-top:  calc( 140px * 3 / 4);
		padding-bottom: calc( 166px * 3 / 4);
	}
}

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

	.p-our-service{
		padding-top:  calc( 140px * 2 / 4);
		padding-bottom: calc( 166px * 2 / 4);
	}
}

/* .p-our-service_list_wrap */

.p-our-service_list_wrap{
	margin: calc( 92px * 4 / 4) auto 0 auto;
}

.p-our-service_list{
	display: flex;
	flex-wrap: wrap;
	margin: 0 -2px -2px 0;
}

.p-our-service_list_item{
	display: flex;
	flex-direction: column;
	width: 33.3%;
	padding: 0 2px 2px 0;
}

@media screen and (max-width: 1030px) {
	.p-our-service_list_wrap{
		margin: calc( 92px * 3 / 4) auto 0 auto;
	}
	.p-our-service_list_item{
		width: 50%;
	}
}

@media screen and (max-width: 700px) {
	.p-our-service_list_wrap{
		margin: calc( 92px * 2 / 4) auto 0 auto;
	}
	
	.p-our-service_list_item{
		width: 100%;
	}
}

/* .p-our-service_block_wrap */

.p-our-service_block_wrap,
.p-our-service_block_link,
.p-our-service_block{
	flex-grow: 1;
	flex-direction: column;
	display: flex;
}

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

.p-our-service_block_wrap{
}

.p-our-service_block{
	position: relative;
	white-space: nowrap;
	flex-direction: row;
}

.p-our-service_block_bar{
	padding-bottom: 66.5%;
	width: 0;
}

.p-our-service_block_img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.p-our-service_block_img::after{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #242424;
	opacity: 0.8;
}

.p-our-service_block_img .m-img_thumb{
	padding-bottom: 0;
	width: 100%;
	height: 100%;
}

.p-our-service_block_text{
	padding: 35px 0 0 0;
	position: relative;
	color: #ffffff;
	display: flex;
	flex-grow: 1;
	flex-direction: column;
}

.p-our-service_block_title01{
	position: relative;
	font-family: "Work Sans", sans-serif;
	font-weight: 400;
	line-height: 1;
	padding: 0 0 0 55px;
}

.p-our-service_block_title01::before{
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	width: 48px;
	height: 1px;
	background-color: #FFFFFF;
	opacity: 0.5;
	margin: -0.5px 0 0 0;
}

.p-our-service_block_title01 .m-flex_text{
	--data_x: 0.75em;
	--data_line: 1em;
	font-size: 24px;
	align-items: baseline;
}

.p-our-service_block_title01 .m-flex_text_img{
	line-height: 1;
}

.p-our-service_block_title01 .m-flex_text_lead{
	font-size: 14px;
}

.p-our-service_block_text_in{
	flex-grow: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 30px 20px;
}

.p-our-service_block_text_obj{
	width: 100%;
}

.p-our-service_block_title02{
	font-size: 32px;
	letter-spacing: 0.08em;
	line-height: 1;
	text-align: center;
	margin: 0 0 25px 0;
}

.p-our-service_btn{
	display: flex;
	justify-content: center;
}

.p-our-service_btn .m-btn_wrap{
	width: 100%;
	max-width: 240px;
}

.p-our-service_btn{
}

.p-our-service_btn .m-btn_wrap,
.p-our-service_btn .m-btn{
	border-radius: 9999px;
}

.p-our-service_btn .m-btn{
	font-size: 13px;
	font-weight: 400;
	padding: 10px 20px;
	min-height: 34px;
	transition: color 0.4s ease 0s,background-color 0.4s ease 0s,border-olor 0.4s ease 0s;
	color: #000000;
	background-color: #FFFFFF;
}

.gc-normal .p-our-service_block_link:hover .m-btn,
.gc-normal .p-our-service_btn .m-btn:hover{
	background-color: #4D9D90;
	border-color: #4D9D90;
	color: #FFFFFF;
}

.p-our-service_btn .m-flex_text{
	width: 100%;
	justify-content: space-between;
}

@media screen and (max-width: 1030px) {
	.p-our-service_block_title02{
		font-size: 24px;
		margin: 0 0 25px 0;
	}
}


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

	.p-our-service_block_text{
		padding: 35px 0 0 0;
	}

	.p-our-service_block_title01{
		padding: 0 0 0 27px;
	}

	.p-our-service_block_title01::before{
		width: 24px;
	}

	.p-our-service_block_title01 .m-flex_text{
		font-size: 18px;
	}

	.p-our-service_block_text_in{
		padding: 20px 20px;
	}
	
}*/

@media screen and (max-width: 700px) {
	.p-our-service_list_wrap{
		margin-left: -20px;
		margin-right: -20px;
	}

	.p-our-service_block_text{
		padding: 0px;
	}

	.p-our-service_block_title01{
		padding: 0 0 0 0;
	}

	.p-our-service_block_title01::before{
		display: none;
	}

	.p-our-service_block_title01 .m-flex_text{
		font-size: 18px;
	}

	.p-our-service_block_title01 .m-flex_text_lead{
		display: none;
	}

	.p-our-service_block_title02{
		margin: 0 0 17px 0;
	}

	.p-our-service_block_text{
		padding: 20px;
	}

	.p-our-service_block_text_in{
		padding: 0px;
	}

	.p-our-service_block_bar{
		padding-bottom: 37.94%;
	}
}

/* ------------------------- .p-easy-steps ------------------------------ */

.p-easy-steps{
	background-color: #FFFFFF;
	padding-top: 100px;
	padding-bottom: 100px;
}

.p-easy-steps_in{
}

.p-easy-steps_list_wrap{
	margin: 100px auto 0 auto;
	max-width: 1080px;
}

.p-easy-steps_list{
	display: flex;
	justify-content: space-between;
}

.p-easy-steps_list_item{
	display: flex;
	flex-direction: column;
}

@media screen and (max-width: 1030px) {
	.p-easy-steps{
		padding-top: calc( 100px * 3 / 4);
		padding-bottom: calc( 100px * 3 / 4);
	}
	.p-easy-steps_list_wrap{
		margin: calc( 100px * 3 / 4) 0 0 0;
	}
}

@media screen and (max-width: 700px) {
	.p-easy-steps{
		padding-top: calc( 100px * 2 / 4);
		padding-bottom: calc( 100px * 2 / 4);
	}
	.p-easy-steps_list_wrap{
		margin: calc( 100px * 2 / 4) 0 0 0;
	}
	/*
	.p-easy-steps_list{
		flex-wrap: wrap;
	}
	.p-easy-steps_list_item{
		width: 100%;
	}*/
}

/* .p-easy-steps_block_wrap */

.p-easy-steps_block_wrap,
.p-easy-steps_block_link,
.p-easy-steps_block{
	flex-grow: 1;
	flex-direction: column;
	display: flex;
}

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

.p-easy-steps_block_wrap{

}

.p-easy-steps_block{
	
}

.p-easy-steps_block_head{
	padding: 0 18px 0 0;
	margin: 0 0 35px 0;
	height: 40px;
	white-space: nowrap;
}

.p-easy-steps_block_title01{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	height:100%;
	background-color: #E0DFD7;
	font-size: 18px;
	font-family: "Work Sans", sans-serif;
	font-weight: 400;
	line-height: 1;
}

.p-easy-steps_block_title01::after{
	content: "";
	position: absolute;
	top: 0;
	right: -18px;
	width:0;
	height:0;
	border-style:solid;
	border-width: 20px 0 20px 18px;
	border-color: transparent transparent transparent #E0DFD7;
}

.p-easy-steps_block_img{
	height: 160px;
	margin: 0 0 25px 0;
	text-align: center;
}

.p-easy-steps_block_img figure{
	height: 100%;
}

.p-easy-steps_block_img img{
	max-height: 100%;
}

.p-easy-steps_block_text{
	
}

.p-easy-steps_block_title02{
	font-size: 21px;
	line-height: 1;
	text-align: center;
	white-space: nowrap;
}

@media screen and (max-width: 1100px) {
	.p-easy-steps_block_img{
		height: 140px;
	}
	.p-easy-steps_block_title02{
		font-size: 19px;
	}
}

@media screen and (max-width: 1030px) {
	.p-easy-steps_block_img{
		height: 120px;
	}
	.p-easy-steps_block_title01{
		font-size: 16px;
	}
}


@media screen and (max-width: 700px) {
	.p-easy-steps_block_head{
		
		height: 20px;
		margin: 0 0 14px 0;
		padding: 0;
		font-size: 11px;
	}
	.p-easy-steps_block_title01::after{
		display: none;
	}
	.p-easy-steps_block_title01{
		min-width: 56px;
		font-size: 11px;
		font-weight: 700;
	}
	.p-easy-steps_block_img{
		height: 56px;
		margin: 0 0 15px 0;
	}

	.p-easy-steps_block_title02{
		font-size: 12px;
	}
}

/* .p-easy-steps_list_item.type_bar */

.p-easy-steps_list_item.type_bar{
	flex-grow: 1;
}

.p-easy-steps_block_arrow{
	height: 100%;
	display: flex;
}

.p-easy-steps_block_arrow_obj{
	position: relative;
	width: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.p-easy-steps_block_arrow_obj::after{
	content:"";
	display: block;
	width: 30px;
	height: 30px;
	background-image: url(../img/icon_easy-steps_arrow01.svg);
	background-size: 14px auto;
	background-position: center center;
	background-repeat: no-repeat;
	transform-origin: 50% 50%;
}

.p-easy-steps_block_arrow_bar{
	position: relative;
	flex-grow: 1;
	min-width: 5px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.p-easy-steps_block_arrow_bar::after{
	content: "";
	display: block;
	width: 100%;
	height: 4px;
	background-color: #C0C8D3;
	margin: -2px 0 0 0;
}

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

}

@media screen and (max-width: 700px) {
	.p-easy-steps_block_arrow_obj{
		position: relative;
		width: 20px;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.p-easy-steps_block_arrow_obj::after{
		content:"";
		display: block;
		width: 20px;
		height: 20px;
		background-image: url(../img/icon_easy-steps_arrow01.svg);
		background-size: 9px auto;
		background-position: center center;
		background-repeat: no-repeat;
		transform-origin: 50% 50%;
	}

	.p-easy-steps_block_arrow_bar{
		position: relative;
		flex-grow: 1;
		min-width: 0;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.p-easy-steps_block_arrow_bar::after{
		content: "";
		display: block;
		width: 100%;
		height: 4px;
		background-color: #C0C8D3;
		margin: -2px 0 0 0;
	}
}

/*
@media screen and (max-width: 700px) {
	.p-easy-steps_list_item.type_bar{
		width: 100%;
		margin: 20px 0;
	}
	.p-easy-steps_block_arrow{
		display: block;
	}
	.p-easy-steps_block_arrow_obj{
		height: 30px;
		width: 100%;
	}
	.p-easy-steps_block_arrow_bar{
		height: 20px;
		width: 100%;
	}
	.p-easy-steps_block_arrow_obj::after{
		transform: rotate(90deg);
	}
	.p-easy-steps_list_item.type_bar .p-easy-steps_block_head,
	.p-easy-steps_list_item.type_bar .p-easy-steps_block_text{
		display: none;
	}
	.p-easy-steps_list_item.type_bar .p-easy-steps_block_img{
		height: auto;
		margin: 0 0 0px 0;
	}

	.p-easy-steps_list_item.type_bar .p-easy-steps_block_arrow_bar::after{
		width: 4px;
		height: 100%;
	}
}*/

/* ------------------------- .p-special-benefits ------------------------------ */

.p-special-benefits{
	padding-top: calc( 100px * 4 / 4);
	padding-bottom: calc( 70px * 4 / 4);
}

.p-special-benefits_in{
	max-width: calc( var(--bw) + var(--bp) * 2);
}

@media screen and (max-width: 1030px) {
	.p-special-benefits{
		padding-top: calc( 100px * 3 / 4);
		padding-bottom: calc( 70px * 3 / 4);
	}
}

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

.p-special-benefits_content_area{
	margin-top: calc( 110px * 4 / 4);
	/*margin-left: calc( -1 * var(--bp) );
	margin-right: calc( -1 * var(--bp) );*/
	margin-left: auto;
	margin-right: auto;
}

@media screen and (max-width: 1340px) {
	.p-special-benefits{
		padding-left: 0;
		padding-right: 0;
	}
	.p-special-benefits .m-head_title{
		padding-left: var(--bp);
		padding-right: var(--bp);
	}
}

@media screen and (min-width: 1244px) and (max-width: 1340px) {

	.p-special-benefits_content_area{
		width: var(--bw);
	}
}

.p-special-benefits_content_wrap{
	background-color: #EBEBE4;
	padding: calc( 72px * 4 / 4) var(--bp);
	margin: 0 0 calc( 80px * 4 / 4) 0;
}

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

@media screen and (max-width: 1030px) {
	.p-special-benefits_content_area{
		margin-top: calc( 110px * 3 / 4);
	}

	.p-special-benefits_content_wrap{
		padding: calc( 72px * 3 / 4) var(--bp);
		margin: 0 0 calc( 80px * 3 / 4) 0;
	}

}

@media screen and (max-width: 700px) {
	.p-special-benefits_content_area{
		margin-top: calc( 110px * 3 / 4);
	}

	.p-special-benefits_content_wrap{
		padding: calc( 72px * 2 / 4) var(--bp);
		margin: 0 0 calc( 80px * 2 / 4) 0;
	}
}

.p-special-benefits_content{
	display: flex;
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
}

.p-special-benefits_content > *{
	padding: 0 72px;
}

@media screen and (max-width: 1244px) {
	.p-special-benefits_content > *{
		padding: 0 var(--bp);
	}
}

@media screen and (min-width: 1031px) {
	.p-special-benefits_content > *:first-child{
		padding-left: 0;
	}

	.p-special-benefits_content > *:last-child{
		padding-right: 0;
	}
}

@media screen and (max-width: 1030px) {
	.p-special-benefits_content{
		flex-wrap: wrap;
	}
	.p-special-benefits_content > *{
		padding: var(--bp) 0;
	}
	.p-special-benefits_content > *:first-child{
		padding-top: 0;
	}

	.p-special-benefits_content > *:last-child{
		padding-bottom: 0;
	}
}

/*
@media screen and (max-width: 700px) {
	.p-special-benefits_content{
		flex-wrap: wrap;
	}
	.p-special-benefits_content > *{
		padding: 42px 0;
	}
	.p-special-benefits_content > *:first-child{
		padding-top: 0;
	}

	.p-special-benefits_content > *:last-child{
		padding-bottom: 0;
	}
}*/

/* .p-special-benefits_content_head */

.p-special-benefits_content_head{
	width: 41.66%;
}

.p-special-benefits_content_head_in{
	position: sticky;
	top: calc( var(--header_height) + 20px ) ;
}

.p-special-benefits_content_head_obj{
	position: relative;
	padding: 0 0 0 56px;
}

.p-special-benefits_content_head_title01{
	font-size: 32px;
	font-weight: 500;
	line-height: 0;
	font-family: "Work Sans", sans-serif;
	color: #534E42;
	margin: 0 0 43px 0;
}

.p-special-benefits_content_head_title01::before{
	content: "";
	position: absolute;
	top: 0.5em;
	left: 0;
	display: block;
	width: 48px;
	height: 1px;
	background-color: #534E42;
}

.p-special-benefits_content_head_title01 .m-flex_text{
	--data_x: calc( 1em * 19 / 32);
	--data_line: 1em;
	align-items: baseline;
}

.p-special-benefits_content_head_title01 .m-flex_text_img{
	font-size: 100%;
}

.p-special-benefits_content_head_title01 .m-flex_text_lead{
	font-size: 65.625%;
	letter-spacing: 0.04em;
}

.p-special-benefits_content_head_title02{
	font-size: 38px;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin: 0 0 32px 0;
}

.p-special-benefits_content_head_title03{
	font-size: 28px;
	font-weight: 400;
	margin: 0 0 40px 0;
	white-space: nowrap;
}

.p-special-benefits_content_lead{
	font-size: 15px;
	line-height: 2.06;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}

@media screen and (max-width: 1244px) {
	.p-special-benefits_content_head_obj{
		padding: 0 0 0 42px;
	}
	.p-special-benefits_content_head_title01::before{
		width: 36px;
	}
	.p-special-benefits_content_head_title01{
		font-size: 28px;
		margin: 0 0 32px 0;
	}
	.p-special-benefits_content_head_title02{
		font-size: 33px;
		margin: 0 0 24px 0;
	}
	.p-special-benefits_content_head_title03{
		font-size: 24px;
		margin: 0 0 30px 0;
	}
}

@media screen and (max-width: 1030px) {
	.p-special-benefits_content_head{
		width: 100%;
		text-align: center;
	}
	.p-special-benefits_content_head_in{
		position: static;
	}

	.p-special-benefits_content_head_obj{
		padding: 0 0 0 0;
	}
	.p-special-benefits_content_head_title01::before{
		display: none;
	}

	.p-special-benefits_content_head_title01 .m-flex_text,
	.p-special-benefits_content_head_title01 .m-flex_text > *{
		display: block;
		margin: 0;
		line-height: 1;
	}

	.p-special-benefits_content_head_title01 .m-flex_text .m-flex_text_img{
		margin-bottom: 25px;

	}
}

@media screen and (max-width: 700px) {
	.p-special-benefits_content_head_title01{
		font-size: 26px;
		margin: 0 0 21px 0;
	}
	.p-special-benefits_content_head_title02{
		font-size: 28px;
		margin: 0 0 15px 0;
	}
	.p-special-benefits_content_head_title03{
		font-size: 24px;
		margin: 0 0 20px 0;
	}
}

/* .p-special-benefits_content_in */

.p-special-benefits_content_in{
	width: calc( 100% - 41.66%);
	border-left: 1px solid rgba(0,0,0,0.25);
}

@media screen and (max-width: 1030px) {
	.p-special-benefits_content_in{
		width: 100%;
		border-left: none;
		border-top: 1px solid rgba(0,0,0,0.25);
	}
}

/* .p-special-benefits_content_vision */

.p-special-benefits_content_vision{
	margin: 0 auto 80px auto;
}

@media screen and (max-width: 1030px) {
	.p-special-benefits_content_vision{
		max-width: 624px;
	}
}

@media screen and (max-width: 700px) {
	.p-special-benefits_content_vision{
		margin: 0 auto 40px auto;
	}
}

.p-special-benefits_block_wrap{
	margin: 0 0 50px 0;
}

.p-special-benefits_block{
	padding: 0 0 44px 0;
	margin: 0 0 44px 0;
	border-bottom: 1px solid rgba(0,0,0,0.25);
}

.p-special-benefits_block:last-child{
	padding-bottom: 0;
	margin-bottom: 0;
	border-bottom: none;
}

@media screen and (max-width: 700px) {
	.p-special-benefits_block_wrap{
		margin: 0 0 25px 0;
	}

	.p-special-benefits_block{
		padding: 0 0 22px 0;
		margin: 0 0 22px 0;
	}
}

.p-special-benefits_block_title01{
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	min-height: calc( 1em * 70 / 24);
	font-size: 24px;
	line-height: 1.45;
	letter-spacing: 0.08em;
	color: #ffffff;
	background-color: #534E42;
	padding: calc( 1em * 17 / 24) calc( 1em * 15 / 24) ;
	margin: 0 0 calc( 1em * 31 / 24) 0;
}

.p-special-benefits_block_title02{
	display: flex;
	justify-content: center;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.71;
	margin: 0 0 calc( 1em * 29 / 18) 0;
}

.p-special-benefits_block_title02 span{
	position: relative;
	padding: 0 0 0 calc( 1em * 24 / 18);
}

.p-special-benefits_block_title02 span::before{
	content: "";
	position: absolute;
	top: 0.855em;
	left: 0;
	width: calc( 1em * 16 / 18);
	height: calc( 1em * 16 / 18);
	margin: calc( -1em * 0.5 * 16 / 18) 0 0 0;
	border-radius: 100%;
	background-color: #0EB197;
}

.p-special-benefits_block_title03{
	font-size: 32px;
	font-weight: 700;
	text-align: center;
	margin: 0 0 calc( 1em * 13 / 32) 0;
	line-height: 1.43;
}

.p-special-benefits_block_title04{
	font-size: 28px;
	font-weight: 700;
	text-align: center;
	border-bottom: calc( 1em * 6 / 28) solid #F0D6A5;
	padding: 0 0 calc( 1em * 14 / 28) 0;
	margin: 0 0 calc( 1em * 40 / 28) 0;
	white-space: nowrap;
}

@media screen and (max-width: 1244px) {
	.p-special-benefits_block_title01{
		font-size: 20px;
	}
	.p-special-benefits_block_title02{
		font-size: 17px;
	}
	.p-special-benefits_block_title03{
		font-size: 28px;
	}
	.p-special-benefits_block_title04{
		font-size: 24px;
	}
}

@media screen and (max-width: 700px) {
	.p-special-benefits_block_title01{
		font-size: 17px;
	}

	.p-special-benefits_block_title02{
		font-size: 15px;
	}

	.p-special-benefits_block_title03{
		font-size: 20px;
	}

	.p-special-benefits_block_title04{
		font-size: 17px;
	}
}

.p-special-benefits_info_wrap{

}

.p-special-benefits_info{
	background-color: #FFFFFF;
	padding: 35px 20px 35px 20px;
	margin: 0 0 20px 0;
}

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

.p-special-benefits_info_in{
	max-width: 512px;
	margin: 0 auto;
}

.p-special-benefits_info_content{
	margin: 0 0 32px 0;
}

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

@media screen and (max-width: 700px) {
	.p-special-benefits_info{
		padding: 25px 20px 25px 20px;
		margin: 0 0 15px 0;
	}
	.p-special-benefits_info_content{
		margin: 0 0 20px 0;
	}
}

/* .p-special-benefits_price_wrap */

.p-special-benefits_price_wrap{
	display: flex;
	justify-content: center;
	line-height: 1;
	font-size: 32px;
	font-weight: 700;
	margin: 0 0 calc( 1em * 30 /  32) 0;
}

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

.p-special-benefits_price{
	border-bottom: calc( 1em * 6 /  32) solid #F0D6A5;
	padding: 0 0 calc( 1em * 20 /  32) 0;
}

.p-special-benefits_price_text{
	margin: 0;
}

.p-special-benefits_price_text *{
	display: inline-block;
	vertical-align: baseline;
}

.p-special-benefits_price .p-strong01{
	font-size: calc( 1em * 79 /  32);
	margin: 0 calc( 1em * 15 /  79);
	font-weight: 900;
}

.p-special-benefits_price .p-strong01,
.p-special-benefits_price .p-strong01 *{
	position: relative;
	background: linear-gradient(to bottom, #005ad1 0%,#27acff 46%,#005ad1 100%);
	background-clip: text;
	color: rgba(0,0,0,0);
}

.p-special-benefits_price .p-strong01::before,
.p-special-benefits_price .p-strong01 *::before{
	left: 0;
}

.p-special-benefits_price .p-strong01::after,
.p-special-benefits_price .p-strong01 *::after{
	right: 0;
}

.p-special-benefits_price strong:first-child{
	margin-left: 0;
}

.p-special-benefits_price strong:last-child{
	margin-right: 0;
}

@media screen and (max-width: 1244px) {
	.p-special-benefits_price_wrap{
		font-size: 28px;
	}
}

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

/* .p-special-benefits_note */

.p-special-benefits_note{
	font-size: 14px;
	line-height: 1.71;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	margin: calc( 1em * 14 / 14) 0;
}

.p-special-benefits_note:firstt-child{
	margin-top: 0;
}

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

.p-special-benefits_note li{
	display: flex;
	justify-content: center;
}

@media screen and (max-width: 700px) {
	.p-special-benefits_note{
		font-size: 12px;
	}
}

/* .p-special-benefits_info_list_wrap */

.p-special-benefits_info_list_wrap{

}

.p-special-benefits_info_list{

}

.p-special-benefits_info_list_item{
	margin: 0 0 29px 0;
}

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

.p-special-benefits_info_list_wrap .p-special-benefits_note li{
	justify-content: flex-start;
}

.p-special-benefits_info_list_block{
	border: 1px solid #B1B1AC;
	border-radius: 4px;
	padding: 10px 0;
	font-weight: 700;
	line-height: 1.3;
	margin: 0 0 14px 0;
}

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

.p-special-benefits_info_list_block_in{
	display: flex;
}

.p-special-benefits_info_list_block_in > *{
	display: flex;
	align-items: center;
}

.p-special-benefits_info_list_head{
	font-size: 32px;
	color: #0360D4;
	padding: 0 25px;
	border-right: 1px solid #B1B1AC;
	white-space: nowrap;
}

.p-special-benefits_info_list_content{
	flex-grow: 1;
	font-size: 24px;
	padding: 0 25px;
}

@media screen and (max-width: 1244px) {
	.p-special-benefits_info_list_item{
		margin: 0 0 22px 0;
	}
	.p-special-benefits_info_list_head{
		font-size: 26px;
		padding: 0 20px;
	}

	.p-special-benefits_info_list_content{
		font-size: 20px;
		padding: 0 20px;
	}
}

@media screen and (max-width: 700px) {
	.p-special-benefits_info_list_item{
		margin: 0 0 14px 0;
	}
	.p-special-benefits_info_list_head{
		font-size: 20px;
		padding: 0 15px;
	}

	.p-special-benefits_info_list_content{
		font-size: 15px;
		padding: 0 15px;
	}
}

/* .p-special-benefits_btn */

.p-special-benefits_btn{
	display: flex;
	justify-content: center;
}

.p-special-benefits_btn .m-btn_wrap,
.p-special-benefits_btn .m-btn{
	border-radius: 9999px;
}

.p-special-benefits_btn .m-btn{
	font-size: 21px;
	/*font-weight: 400;*/
	font-weight: 500;
	padding: calc(1em * 10 / 21) calc(1em * 40 / 21);
	min-height: calc(1em * 70 / 21);
	transition: opacity 0.4s ease 0s;
	color: #FFFFFF;
	background-color: #0EB197;
}

.gc-normal .p-special-benefits_btn .m-btn:hover{
	opacity: 0.7;
}

.p-special-benefits_btn .m-flex_text{
	--data_x: calc( 1em * 22 / 21);
	align-items: center;
}

@media screen and (max-width: 1244px) {
	.p-special-benefits_btn .m-btn{
		font-size: 18px;
	}
}

@media screen and (max-width: 700px) {
	.p-special-benefits_btn .m-btn{
		font-size: 16px;
	}
}

/* .p-special-benefits_presents */

.p-special-benefits_presents{
	margin: 22px 0 30px 0;
}

.p-special-benefits_presents_img{
	display: flex;
	justify-content: center;
	margin: 0 0 35px 0;
}

.p-special-benefits_presents_img figure{
	width: 100%;
	max-width: 326px;
}

.p-special-benefits_presents_text{
	font-size: 21px;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	color: #005AD1;
}

@media screen and (max-width: 700px) {
	.p-special-benefits_presents{
		margin: 20px 0 20px 0;
	}
	.p-special-benefits_presents_img{
		margin: 0 0 25px 0;
	}
	.p-special-benefits_presents_text{
		font-size: 18px;
	}

}

/* #p-special-benefits01 */

#p-special-benefits01{
	
}

/* #p-special-benefits02 */

#p-special-benefits02{

}

/* #p-special-benefits03 */

#p-special-benefits03{

}

/* #p-special-benefits04 */

#p-special-benefits04{

}

/* #p-special-benefits05 */

#p-special-benefits05{

}

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

.p-special-benefits05_col{
	margin: 0 45px 0 0;
}

.p-special-benefits05_col:last-child{
	margin-right: 0;
}

@media screen and (max-width: 1244px) {
	.p-special-benefits05_col{
		margin: 0 28px 0 0;
	}
}

/* #p-special-benefits05 */

#p-special-benefits06{

}

/* ------------------------- .p-cm ------------------------------ */

.p-cm-gallery{
	background-color: #FFFFFF;
	padding-top: calc( 70px * 4 / 4);
	padding-bottom: calc( 150px * 4 / 4);
}

.p-cm-gallery_in{
}

@media screen and (max-width: 1030px) {
	.p-cm-gallery{
		padding-top: calc( 70px * 3 / 4);
		padding-bottom: calc( 150px * 3 / 4);
	}

}

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

.p-sm-slide{
	margin: calc( 90px * 4 / 4) 0 0 0;
}

@media screen and (max-width: 1030px) {
	.p-sm-slide{
		margin: calc( 90px * 3 / 4) 0 0 0;
	}

}

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

.swiper-container_wrap.type_cm{
	max-width: 824px;
	margin: 0 auto;
}

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

/* .p-cm-gallery_block_wrap */

.p-cm-gallery_block_wrap,
.p-cm-gallery_block_link,
.p-cm-gallery_block{
	flex-grow: 1;
	flex-direction: column;
	display: flex;
}

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

.p-cm-gallery_block_wrap{

}

.p-cm-gallery_block{
	
}

.p-cm-gallery_block_img{
	position: relative;
	padding-bottom: 54.87%;
	margin: 0 0 40px 0;
}

.p-cm-gallery_block_img iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.p-cm-gallery_block_text{
	
}

.p-cm-gallery_block_text{

}

.p-cm-gallery_block_text_in{
	display: flex;
	align-items: center;
}

.p-cm-gallery_block_text_head{

}

.p-cm-gallery_block_title01{
	font-size: 15px;
	font-weight: 400;
	width: 192px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #E0DFD7;
}

.p-cm-gallery_block_text_lead{
	flex-grow: 1;
	font-size: 28px;
	font-weight: 400;
	line-height: 1;
}

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

	.p-cm-gallery_block_img{
		margin: 0 0 20px 0;
	}


	.p-cm-gallery_block_text_in{
		display: flex;
		flex-wrap: wrap;
	}

	.p-cm-gallery_block_text_head{
		width: 100%;
		display: flex;
		margin: 0 0 15px 0;
	}

	.p-cm-gallery_block_title01{
		font-size: 15px;
		font-weight: 400;
		width: auto;
		padding: 10px 15px;
	}

	.p-cm-gallery_block_text_lead{
		width: 100%;
		font-size: 20px;
	}

}