@charset "UTF-8";

@media screen and (min-width: 769px){
	#header .bar_header.is-scroll {
		background: transparent;
	}
}

/* ----------------------------------------------------------------------------------------------------
*  sec_fv
* --------------------------------------------------------------------------------------------------*/
.sec_fv ul > li:not(:first-child) {
	display: none;
}

.sec_fv .item_slider {
	padding: 0 0 100px 95px;
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
	height: 100vh;
	min-height: 850px;
}

.sec_fv .item_slider picture {
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;

	-webkit-backface-visibility: hidden;
	        backface-visibility: hidden;
}

.sec_fv .item_slider.slick-active picture {
	animation: mv_slide 6000ms linear;
}

@keyframes mv_slide {
	0% {
		transform: scale(1.1);
	}
	100% {
		transform: scale(1);
	}
}

.sec_fv .item_slider img {
    width: 100%;
    max-width: 100%;
    height: 100%;
    max-height: 100%;
    object-fit: cover;
}

.sec_fv .item_slider .box_txt {
	position: relative;
	z-index: 99;
}

.sec_fv .item_slider .box_txt .txt_en {
	margin-bottom: 1em;
	color: #fff;
	font-size: 2.4rem;
}

.sec_fv .item_slider .box_txt .txt_ja {
	color: #fff;
	font-size: 5.522rem;
	font-weight: 700;
	line-height: 1.5;
}

.sec_fv .inner .box_tel {
	position: relative;
}

.sec_fv .box_tel {
	position: absolute;
	right: 0;
	bottom: 110px;
	z-index: 100;
}

.sec_fv .box_tel .txt_tel {
	color: #fff;
	font-size: 2.1rem;
	text-align: right;
}

.sec_fv .box_tel .txt_tel a {
	color: #fff;
}

.js-top-slider-txt01,
.js-top-slider-txt02 {
    transform: translateX(30px);
    opacity: 0;
}

.slick-active .js-top-slider-txt01 {
	transition: opacity .6s ease-in-out, transform .6s ease-in-out;
	transition-delay: .6s;
	transform: translateY(0);
	opacity: 1;
}

.slick-active .js-top-slider-txt02 {
	transition: opacity .6s ease-in-out, transform .6s ease-in-out;
	transition-delay: .9s;
	transform: translateY(0);
	opacity: 1;
}

@media screen and (max-width: 768px){
	.sec_fv .item_slider {
		min-height: 0;
	}

	.sec_fv .item_slider {
		padding: 0 0 calc( 44 / var(--rate_sp)) 0;
	}

	.sec_fv .item_slider .box_txt {
		width: 100%;
	}

	.sec_fv .item_slider .box_txt .txt_en {
		margin-bottom: calc( 20 / var(--rate_sp));
		font-size: calc( 18 / var(--rate_sp));
		text-align: center;
	}

	.sec_fv .item_slider .box_txt .txt_ja {
		font-size: calc( 32 / var(--rate_sp));
		line-height: 1.59;
		text-align: center;
	}

	.sec_fv .box_tel {
		bottom: calc( 55 / var(--rate_sp));
	}

	.sec_fv .box_tel .txt_tel {
		font-size: calc( 18 / var(--rate_sp));
		text-align: center;
	}
}

/* ----------------------------------------------------------------------------------------------------
*  sec_news
* --------------------------------------------------------------------------------------------------*/
.sec_news {
	background: #fff;
	margin-top: -85px;
	position: relative;
	z-index: 100;
	display: flex;
}

.sec_news .box_ttl {
	background: var(--color_gray);
	display: flex;
	justify-content: center;
	align-items: center;
	width: 213px;
	height: 213px;
}

.sec_news .box_ttl .ttl_news .link_ttl_news {
	color: #fff;
	vertical-align: middle;
}

.sec_news .box_ttl .ttl_news .link_ttl_news::after {
	content: "\002192";
	margin-left: 1em;
	color: #fff;
	font-family: 'Noto Sans JP', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Arial, Verdana, sans-serif;
	font-size: 1.4rem;
    vertical-align: middle;
	display: inline-block;
}

.sec_news .box_ttl .ttl_news .link_ttl_news .txt_title {
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: 0.1em;
    vertical-align: middle;
}

.sec_news .box_body {
	padding: 0 50px 0 75px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: calc( 100% - 213px );
}

.sec_news .box_body .list_news {
	width: calc( 100% - 160px );
}

.sec_news .box_body .item_news:nth-child(n+2) {
	margin-top: 14px;
}

.sec_news .box_body .item_news .txt_date {
	font-size: 1.6rem;
	font-weight: 300;
	vertical-align: middle;
	display: inline-block;
	width: 107px;
}

.sec_news .box_body .item_news .txt_cate {
	background: var(--color_gray);
	margin-right: 20px;
	padding: 0 12px;
	color: #fff;
	font-size: 1.5rem;
	font-weight: 300;
	line-height: 29px;
	vertical-align: middle;
	display: inline-block;
}

.sec_news .box_body .item_news .txt_title {
	font-size: 1.6rem;
	font-weight: 300;
	vertical-align: middle;
	line-height: 1.3;
}

.sec_news .box_body .btn_more {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 140px;
	height: 50px;
}

.sec_news .box_body .btn_more::before,
.sec_news .box_body .btn_more::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	transition: all 0.3s;
}

.sec_news .box_body .btn_more::before {
	background: var(--color_gray);
	width: 100%;
	height: 100%;
}

.sec_news .box_body .btn_more::after {
	background: #fff;
	margin-left: 0;
	width: calc( 100% - 1px );
	height: calc( 100% - 1px );
}

.gecko .sec_news .box_body .btn_more::after {
	width: calc( 100% - 2px );
	height: calc( 100% - 2px );
}

.sec_news .box_body .btn_more .txt {
	font-size: 1.4rem;
	font-weight: 700;
	position: relative;
	z-index: 2;
	transition: all 0.3s;
}

.sec_news .box_body .btn_more:hover::after {
	background: var(--color_gray);
}

.sec_news .box_body .btn_more:hover .txt {
	color: #fff;
}

@media screen and (max-width: 768px){
	.sec_news {
		margin-top: calc( -40 / var(--rate_sp));
		flex-direction: column-reverse;
	}

	.sec_news .box_ttl {
		width: 100%;
		height: calc( 50 / var(--rate_sp));
	}

	.sec_news .box_ttl .ttl_news .link_ttl_news::after {
		font-size: calc( 14 / var(--rate_sp));
	}

	.sec_news .box_ttl .ttl_news .link_ttl_news .txt_title {
		font-size: calc( 21 / var(--rate_sp));
	}

	.sec_news .box_body {
		padding: calc(35 / var(--rate_sp)) calc(30 / var(--rate_sp));
		display: block;
		width: 100%;
	}

	.sec_news .box_body .list_news {
		width: 100%;
	}

	.sec_news .box_body .item_news:nth-child(n+2) {
		margin-top: calc( 35 / var(--rate_sp));
	}

	.sec_news .box_body .item_news .txt_date {
		margin-bottom: calc( 10 / var(--rate_sp));
		font-size: calc( 16 / var(--rate_sp));
		width: calc( 85 / var(--rate_sp));
	}

	.sec_news .box_body .item_news .txt_cate {
		margin: 0 0 calc( 10 / var(--rate_sp)) 0;
		padding: 0 calc( 5 / var(--rate_sp));
		font-size: calc( 13 / var(--rate_sp));
		line-height: calc( 20 / var(--rate_sp));
	}

	.sec_news .box_body .item_news .txt_title {
		font-size: calc( 18 / var(--rate_sp));
		line-height: 1.5;
		display: block;
		width: 100%;
	}

}

/* ----------------------------------------------------------------------------------------------------
*  sec_business
* --------------------------------------------------------------------------------------------------*/
.sec_business {
	padding: 180px 0 378px;
}

.sec_business .ttl_sec {
	margin-bottom: 65px;
	justify-content: center;
}

.sec_business .list_business {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.sec_business .list_business .item_business {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 275px;
	height: 125px;
}

.sec_business .list_business .item_business:nth-child(n+5) {
	margin-top: 15px;
}

.sec_business .list_business .item_business .btn_more::after {
	content: "\002192";
	margin-left: 1em;
	font-family: 'Noto Sans JP', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Arial, Verdana, sans-serif;
	font-size: 1.4rem;
    vertical-align: middle;
	display: inline-block;
    transition: .6s cubic-bezier(.215,.61,.355,1);
}

.sec_business .list_business .item_business .btn_more .txt {
	font-size: 1.4rem;
	font-weight: 700;
	vertical-align: middle;
}

.sec_business .list_business .item_business .btn_more:hover::after {
	transform: translateX(13px);
}

@media screen and (min-width: 769px){
	.sec_business .list_business .item_business.js-scroll-active:nth-child(4n-2) {
    	transition-delay: .1s;
	}

	.sec_business .list_business .item_business.js-scroll-active:nth-child(4n-1) {
		transition-delay: .2s;
	}

	.sec_business .list_business .item_business.js-scroll-active:nth-child(4n) {
		transition-delay: .3s;
	}
}

@media screen and (max-width: 768px){
	.sec_business {
		padding: calc( 88 / var(--rate_sp)) 0 calc( 200 / var(--rate_sp));
	}

	.sec_business .ttl_sec {
		margin-bottom: calc( 30 / var(--rate_sp));
		justify-content: flex-start;
	}

	.sec_business .list_business .item_business {
		width: calc( 205 / var(--rate_sp));
		height: calc( 93 / var(--rate_sp));
	}

	.sec_business .list_business .item_business.js-scroll-active:nth-child(even) {
    	transition-delay: .1s;
	}

	.sec_business .list_business .item_business:nth-child(n+3) {
		margin-top: calc( 12 / var(--rate_sp));
	}

	.sec_business .list_business .item_business .btn_more::after {
		font-size: calc( 14 / var(--rate_sp));
	}

	.sec_business .list_business .item_business .btn_more .txt {
		font-size: calc( 14 / var(--rate_sp));
	}
}

/* ----------------------------------------------------------------------------------------------------
*  sec_about
* --------------------------------------------------------------------------------------------------*/
.sec_about {
	background: var(--color_light_gray01);
	padding: 100px 0;
}

.sec_about .inner {
	position: relative;
}

.sec_about picture {
	position: absolute;
	top: -308px;
	right: -180px;
	display: block;
	width: 1268px;
}

.sec_about .box_body {
	background: #fff;
	padding: 58px 52px;
	position: relative;
	width: 50%;
}

.sec_about .box_body .ttl_sec {
	margin-bottom: 35px;
}

.sec_about .box_body .txt_about {
	margin-bottom: 25px;
	font-weight: 300;
	font-size: 1.6rem;
	line-height: 1.56;
}

.sec_about .btn_more {
	background: var(--color_gray);
	padding-left: 32px;
	position: relative;
	display: flex;
	align-items: center;
	width: 290px;
	height: 60px;
}

.sec_about .btn_more::before,
.sec_about .btn_more::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	transition: all 0.3s;
}

.sec_about .btn_more::before {
	background: var(--color_gray);
	width: 100%;
	height: 100%;
}

.sec_about .btn_more::after {
	background: var(--color_gray);
	margin-left: 0;
	width: calc( 100% - 1px );
	height: calc( 100% - 1px );
}

.gecko .sec_about .btn_more::after {
	width: calc( 100% - 2px );
	height: calc( 100% - 2px );
}

.sec_about .btn_more .txt {
	color: #fff;
	position: relative;
	z-index: 10;
	transition: all 0.3s;
}

.sec_about .btn_more .txt::after {
	content: "\002192";
	margin-left: 1em;
    font-family: 'Noto Sans JP', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Arial, Verdana, sans-serif;
	font-size: 1.4rem;
    vertical-align: middle;
	display: inline-block;
}

.sec_about .btn_more:hover::after {
	background: #fff;
}

.sec_about .btn_more:hover .txt {
	color: var(--color_gray);
}

@media screen and (max-width: 768px){
	.sec_about {
		padding: calc( 110 / var(--rate_sp)) 0 calc( 85 / var(--rate_sp));
	}

	.sec_about picture {
		top: calc( -240 / var(--rate_sp));
		right: 0;
		width: 100%;
	}

	.sec_about .box_body {
		padding: calc( 55 / var(--rate_sp)) calc( 38 / var(--rate_sp));
		width: 100%;
	}

	.sec_about .box_body .ttl_sec {
		margin-bottom: calc( 35 / var(--rate_sp));
	}

	.sec_about .box_body .txt_about {
		font-size: calc( 18 / var(--rate_sp));
	}

	.sec_about .btn_more {
		padding-left: calc( 30 / var(--rate_sp));
		width: calc( 290 / var(--rate_sp));
		height: calc( 60 / var(--rate_sp));
	}
}

/* ----------------------------------------------------------------------------------------------------
*  sec_works
* --------------------------------------------------------------------------------------------------*/
.sec_works {
	padding: 185px 0 122px;
}

.sec_works .box_title {
	margin-bottom: 65px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.sec_works .btn_more::after {
    transition: .6s cubic-bezier(.215,.61,.355,1);
}

.sec_works .btn_more:hover::after {
	transform: translateX(13px);
}

.sec_works .list_works {
	margin: 0 -190px;
	display: flex;
	flex-wrap: wrap;
}

.sec_works .item_works {
	width: calc(100% / 3);
}

.sec_works .list_works .link_works {
	display: block;
	height: 100%;
}

.sec_works .list_works .link_works:hover {
	background: var(--color_light_gray03);
}

.sec_works .list_works .link_works .box_body {
	padding: 25px 25px 55px;
	display: block;
}

.sec_works .list_works .link_works .box_body .txt_type {
	margin-bottom: 1em;
	color: var(--color_light_gray02);
	font-size: 1.6rem;
	font-weight: 300;
	line-height: 1.3;
	display: block;
}

.sec_works .list_works .link_works .box_body .txt_title {
	margin-bottom: 25px;
	font-size: 2.1rem;
	font-weight: 500;
	line-height: 1.5;
	display: block;
}

.sec_works .list_works .link_works .box_body .txt {
	font-size: 1.6rem;
	font-weight: 300;
	line-height: 1.5;
}

@media screen and (min-width: 1140px) and (max-width: 1520px){
	.sec_works .list_works {
		margin: 0 calc( -50vw + 570px );
	}
}

@media screen and (min-width: 769px) and (max-width: 1139px){
	.sec_works .list_works {
		margin: 0 -30px;
	}
}

@media screen and (min-width: 769px){
	.sec_works .item_works:nth-child(3n-1) {
    	transition-delay: .1s;
	}

	.sec_works .item_works:nth-child(3n) {
		transition-delay: .2s;
	}
}

@media screen and (max-width: 768px){
	.sec_works {
		padding: calc( 88 / var(--rate_sp)) 0 calc( 10 / var(--rate_sp));
	}

	.sec_works .box_title {
		margin-bottom: calc( 40 / var(--rate_sp));
	}

	.sec_works .list_works {
		margin: 0 calc( -30 / var(--rate_sp));
	}

	.sec_works .item_works {
		width: 100%;
	}

	.sec_works .list_works .link_works .box_body {
		padding: calc( 20 / var(--rate_sp)) calc( 20 / var(--rate_sp)) calc( 45 / var(--rate_sp));
	}

	.sec_works .list_works .link_works .box_body .txt_type {
		font-size: calc( 16 / var(--rate_sp));
	}

	.sec_works .list_works .link_works .box_body .txt_title {
		margin-bottom: 0;
		font-size: calc( 21 / var(--rate_sp));
	}

	.sec_works .list_works .link_works .box_body .txt {
		display: none;
	}
}

/* ----------------------------------------------------------------------------------------------------
*  sec_real-estate
* --------------------------------------------------------------------------------------------------*/
.sec_real-estate {
	background: var(--color_light_gray01);
	padding: 73px 0;
}

.sec_real-estate .box_title {
	margin-bottom: 65px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.sec_real-estate .btn_more::after {
    transition: .6s cubic-bezier(.215,.61,.355,1);
}

.sec_real-estate .btn_more:hover::after {
	transform: translateX(13px);
}

.sec_real-estate .list_real-estate {
	display: flex;
	justify-content: space-between;
}

.sec_real-estate .item_real-estate {
	width: 30.52%;
}

.sec_real-estate .link_real-estate .box_body {
	padding-top: 18px;
	display: block;
}

.sec_real-estate .link_real-estate .box_body .txt_type {
	margin-bottom: 1em;
	color: var(--color_light_gray02);
	font-size: 1.6rem;
	font-weight: 300;
	line-height: 1;
	display: block;
}

.sec_real-estate .link_real-estate .box_body .txt_title {
	margin-bottom: 1em;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.5;
	display: block;
}

.sec_real-estate .link_real-estate .box_body .txt_price {
	font-size: 1.6rem;
	font-weight: 300;
	display: block;
}

@media screen and (min-width: 769px){
	.sec_real-estate .item_real-estate:nth-child(3n-1) {
    	transition-delay: .1s;
	}

	.sec_real-estate .item_real-estate:nth-child(3n) {
		transition-delay: .2s;
	}
}

@media screen and (max-width: 768px){
	.sec_real-estate {
		padding: calc( 75 / var(--rate_sp)) 0;
	}

	.sec_real-estate .box_title {
		margin-bottom: calc( 40 / var(--rate_sp));
		flex-wrap: wrap;
	}

	.sec_real-estate .box_title .btn_more {
		margin: calc( 30 / var(--rate_sp)) 0 0 auto;
	}

	.sec_real-estate .list_real-estate {
		flex-wrap: wrap;
	}

	.sec_real-estate .item_real-estate {
		width: 100%;
	}

	.sec_real-estate .item_real-estate:nth-child(n+2) {
		margin-top: calc( 50 / var(--rate_sp));
	}

	.sec_real-estate .link_real-estate .box_body {
		padding-top: calc( 20 / var(--rate_sp));
	}

	.sec_real-estate .link_real-estate .box_body .txt_type {
		font-size: calc( 16 / var(--rate_sp));
	}

	.sec_real-estate .link_real-estate .box_body .txt_title {
		font-size: calc( 21 / var(--rate_sp));
	}

	.sec_real-estate .link_real-estate .box_body .txt_price {
		font-size: calc( 16 / var(--rate_sp));
	}
}

/* ----------------------------------------------------------------------------------------------------
*  sec_recruit
* --------------------------------------------------------------------------------------------------*/
.sec_recruit {
	padding: 180px 0 200px;
}

.sec_recruit .img_recruit {
	position: relative;
	z-index: 5;
	width: 766px;
}

.sec_recruit .box_recruit {
	background: var(--color_light_gray01);
	margin: -358px 0 0 auto;
	padding: 62px 40px 62px 415px;
	position: relative;
	width: 745px;
}

.sec_recruit .box_recruit .ttl_sec {
	margin-bottom: 25px;
}

.sec_recruit .box_recruit .txt_recruit {
	margin-bottom: 35px;
	font-size: 1.6rem;
	font-weight: 300;
	line-height: 1.75;
}

.sec_recruit .btn_more {
	background: #fff;
	padding-left: 32px;
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	height: 60px;
}

.sec_recruit .btn_more::before,
.sec_recruit .btn_more::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	transition: all 0.3s;
}

.sec_recruit .btn_more::before {
	background: #fff;
	width: 100%;
	height: 100%;
}

.sec_recruit .btn_more::after {
	background: #fff;
	margin-left: 0;
	width: calc( 100% - 1px );
	height: calc( 100% - 1px );
}

.gecko .sec_recruit .btn_more::after {
	width: calc( 100% - 2px );
	height: calc( 100% - 2px );
}

.sec_recruit .btn_more .txt {
	position: relative;
	z-index: 10;
	transition: all 0.3s;
}

.sec_recruit .btn_more .txt::after {
	content: "\002192";
	margin-left: 1em;
    font-family: 'Noto Sans JP', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Arial, Verdana, sans-serif;
	font-size: 1.4rem;
    vertical-align: middle;
	display: inline-block;
}

.sec_recruit .btn_more:hover::before,
.sec_recruit .btn_more:hover::after {
	background: var(--color_gray);
}

.sec_recruit .btn_more:hover .txt {
	color: #fff;
}

@media screen and (max-width: 768px){
	.sec_recruit {
		padding: calc( 85 / var(--rate_sp)) 0;
	}

	.sec_recruit .img_recruit {
		width: 100%;
	}

	.sec_recruit .box_recruit {
		margin: calc( -95 / var(--rate_sp)) calc( -30 / var(--rate_sp)) 0;
		padding: calc( 140 / var(--rate_sp)) calc( 30 / var(--rate_sp)) calc( 50 / var(--rate_sp));
		width: 100vw;
	}

	.sec_recruit .box_recruit .ttl_sec {
		margin-bottom: calc( 30 / var(--rate_sp));
	}

	.sec_recruit .box_recruit .txt_recruit {
		margin-bottom: calc( 37 / var(--rate_sp));
		font-size: calc( 18 / var(--rate_sp));
	}

	.sec_recruit .btn_more {
		margin: 0 auto;
		padding-left: calc( 32 / var(--rate_sp));
		width: calc( 290 / var(--rate_sp));
		height: calc( 60 / var(--rate_sp));
	}
}