.est_info .contact a {
    background: #bfbfbf url(../img/ico_email.png) no-repeat 1.5em center / 1.388em;
   
}
.contact__wrap{
	display: flex;
	gap: 50px;
}

@media (max-width: 1023px) {
	.contact__wrap{
		flex-direction: column;
		gap: 20px;
		margin: 30px 0;
	}
}
.contact--line{
	background: #fff !important;
	margin: 20px 0;
	gap: 50px;
	margin: auto 0 0 0;
}
.form--line{
	margin: 30px 0;
}
.contact--line a.line__link{
	display: flex !important;
	align-items: center !important;
	/* justify-content: center; */
	background: #06c755 !important;
	color: #fff;
	gap: 30px;
	padding: .4em 0;
	padding-left: 5% !important;
	width: 42.5rem;
	height: 81px;
	margin: 0;
}
@media (max-width: 767px) {
	.contact--line a.line__link{
		gap: 15px;
		padding-left: 10%;
		width: 100%;
		height: 58.5px;
		font-size: 13px;
	}
}
@media screen and (max-width: 767px){
	.est_info .contact p {
	    margin-top: .5rem;
	}
}
.contact--line .line__link br{
	display: none;
}
.contact--line .line__link br.d-block{
	display: block;
}
.contact--line .line__link:before {
	display: none;
}
.contact--line .line__link img{
	width: 60px;
}
@media (max-width: 767px) {
	.contact--line .line__link img{
		width: 50px;
	}
}
@media screen and (min-width: 768px){
	.est_info .box {
	    flex-direction: column;
	}
}


/* TOPswiperスタイル追加20241111 */
.slider {
	overflow: hidden;
	padding-bottom: 30px;
}
.slider .swiper-container .swiper-wrapper {
	overflow: visible;
}
.slider .swiper-slide-active .slide-img,
.slider .swiper-slide-duplicate-active .slide-img,
.slider .swiper-slide-prev .slide-img {
	/* 12秒かけて拡大させる */
	animation: none !important;
	animation-fill-mode:none !important;
}
.swiper-pagination{
position: relative;
}
.slider .swiper-pagination-bullet{
	background: #fff;
	border: 1px solid #dcdcdc;
	width: 5%;
	height: 10px;
	max-width: 80px;
	min-width: 35px;
	border-radius: 5px;
}
.swiper-pagination-bullet-active{
	background: #000000 !important;
}
.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction{
	bottom: -30px;
}
/* 追従バナー用スタイル追加20241111 */
.is-animation .banner-area{
	opacity: 1;
	visibility: visible;
}
.flow__bnr {
    position: fixed;
    bottom: 20px;
    right: 20px;
    display: flex;
    justify-content: center;
    flex-direction: column;
    z-index: 2;
	width: 25%;
    min-width: 200px;
    max-width: 400px;
    transition: 0.3s;
    opacity: 1;
    visibility: visible;
	z-index: 999;
}
@media screen and (max-width: 767px) {
	.flow__bnr {
		position: fixed;
		bottom: 16.7rem;
		right: 10px;
	}
}
.flow__bnr .close_btn{
	text-align: right;
}
.close_btn_span {
	position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    background: #fff;
    border-radius: 50%;
	margin: 0px 5px -1% 0;
	cursor: pointer;
}
  
.close_btn_span::before,
.close_btn_span::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 2px;
	background-color: #333;
	transform-origin: center;
}
  
.close_btn_span::before {
	transform: translate(-50%, -50%) rotate(45deg);
}
  
.close_btn_span::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}
.flow__bnr img{
	width: 100%;
	aspect-ratio: 1/1;
	object-fit: contain;
	position: relative;
}


/* ボタンスタイル追加20241111 */
.top_lead .btn i{
	position: relative;
}
.top_lead .btn i:before{
  content: "";
  position: absolute;
  right: 15rem;
  top: 50%;
  transform: translate(0,-50%);
  width: 3rem;
  height: .9rem;
  border-bottom: none;
  background-image: url(../images/btn_arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
}

.top_lead .btn i:after {
  display: none;
}
/* 各コンテンツのフェードインアニメ非表示追加20241111 */
.c_deco i{
	/* height: 100%; */
}
.c_ttl span{
	opacity: 1;
}
.c_ttl i:before{
	opacity: 1;
}
.top_works li {
    opacity: 1;
}
.top_works:before{
	opacity: 1;
}
.top_works .c_btn{
	opacity: 1;
}

.slider .swiper-container .swiper-wrapper .slide-img {
	width: 100%;
	height: auto; /* 高さを自動調整して、画像が切り取られないようにする */
	max-height: 100%;
	object-fit: contain; /* 画像のアスペクト比を保ち、全体を収める */
	aspect-ratio: 2200/840;
}
@media screen and (max-width: 767px) {
	.slider .swiper-container .swiper-wrapper .slide-img {
		width: 100%;
		height: auto; /* 高さを自動調整して、画像が切り取られないようにする */
		max-height: 100%;
		object-fit: contain; /* 画像のアスペクト比を保ち、全体を収める */
		aspect-ratio: 1080/1560;
	}
}
@media screen and (max-width: 767px) {
	.top_main{
		margin-top: 18rem;
	}
	#header {
		position: fixed;
        background: #fff;
        height: 18rem;
    }
}
.top_works:before {
    background: #202C42;
}
#footer {
    background: #202C42;
    color: #fff;
}
.top_estate{
	position: relative;
	padding: 10rem 0 10rem;

}
.top_estate::before{
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0 calc(50% - 50vw);
	width: 100vw;
	height: 100%;
	background: #202C42;
	z-index: -1;
}
.top_insta {
    margin-bottom: 5rem;
}
.f_link {
	margin-top: 15rem;
}

.c_comfort .img::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 50%;
	height: 120%;
	background: #202C42;
	z-index: -1;
}
@media screen and (max-width: 767px) {
	.c_comfort .img::before {
		height: 77%;
		
	}
	.c_list p {
		color: #fff;
    }
}

.top_estate > P{
	color: #fff;
}
.estate-info{
	color: #fff;
}
.c-white{
	color: #fff;
}
.c-white span{
	color: #fff;
}
.c_btn .c-white:before{
	background: url(../img/ico_arrow01_white.png) no-repeat center center;
}
