@charset "utf-8";


/* outline
------------------------------*/
#contents{
	width: 100%;
	padding: 0;
	padding-top: 70px;
	}
  body *{
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", 'Noto Sans JP', 'Noto Sans JP', sans-serif;
	box-sizing: border-box;
	}

#contents_outer {
	background: #fff!important;
}
.l-page a:hover{
	text-decoration: unset;
	color: unset;
	opacity: 0.8;
}


  /* main-visual
------------------------------*/
.main-visual{
	padding-left: 230px;
	}
  
  .main-left {
	position: relative;
	margin-left: 40px;
	position: absolute;
	z-index: 2;
	bottom: -70px;
	left: 0;
	width: 80px;
	height: 100%;
	}
  
  .main-text {
	font-size: 26px;
	color: #221815;
	letter-spacing: 0.18em;
	line-height: 44.37px;
	padding: 103px 91px 0 46px;
	/*縦書き設定*/
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	}
  
  /*Scrollテキストの描写*/
  .scroll-down-img {
	position: absolute;
  }
  
  .scroll-img{
	top: 491px;
	left: 53px;
  }
  
  .down-img{
	top: 547px;
	left: 9px;
  }
  
  /* 丸の描写 */
  .scroll-down::before {
	content: "";
	/*描画位置*/
	position: absolute;
	/*丸の形状*/
	width: 8.75px;
	height: 8.75px;
	border-radius: 50%;
  }
  
  .scroll-line::before{
	left: 38px;
	background: #4556a4;
	animation: circlemove-scroll 4s ease-in-out infinite, cirlemovehide-scroll 4s ease-out infinite;
  }
  
  .down-line::before{
	left: 27px;
	background: #3bb5e9;
	animation: circlemove-down 4s ease-in-out infinite, cirlemovehide-down 4s ease-out infinite;
  }
  
  /*下からの距離が変化して丸の全体が上から下に動く*/
  @keyframes circlemove-scroll {
	0% {
	  top: 491px;
	}
	50% {
	  top: 594px;
	}
	100% {
	  top: 594px;
	}
  }
  
  @keyframes circlemove-down {
	0% {
	  top: 547px;
	}
	50% {
	  top: 547px;
	}
	100% {
	  top: 650px;
	}
  }
  
  /*上から下にかけて丸が透過→不透明→透過する*/
  @keyframes cirlemovehide-scroll {
	0% {
	  opacity: 0;
	}
	25% {
	  opacity: 1;
	}
	50% {
	  opacity: 1;
	}
	40% {
	  opacity: 0.9;
	}
	50% {
	  opacity: 0;
	}
	100% {
	  opacity: 0;
	}
  }
  
  @keyframes cirlemovehide-down {
	0% {
	  opacity: 0;
	}
	50% {
	  opacity: 0;
	}
	75% {
	  opacity: 1;
	}
	90% {
	  opacity: 0.9;
	}
	100% {
	  opacity: 0;
	}
  }
  
  /* 線の描写 */
  .scroll-down::after {
	content: "";
	/*描画位置*/
	position: absolute;
	top: 491px;
	left: 42px;
	/*線の形状*/
	width: 2px;
	height: 112.49px;
	background: #4556a4;
  }
  
  .down-line::after{
	top: 547px;
	left: 31px;
	background: #3bb5e9;
  }
  
  .main-right{
	width: 48%;
	height: 550px;
	width: 100%;
	margin: 0 0 0 auto;
	}
  
  .main-visual-img{
	height: 550px;
	width: 100%;
	margin: 0 auto 21px;
	overflow: hidden;
	position: relative;
	}
	[class*="mainview__slides--"] {
		height: 550px;
		width: 500px;
		right: 0;
	}
	.main-visual-img:after {
		display: block;
		position: absolute;
		z-index: 10;
		top: 0;
		right: 0;
		width: 0;
		height: 100%;
		background-color: #fff;
		content: "";
		-webkit-transition: 1.8s width cubic-bezier(0.165, 0.84, 0.44, 1);
		-moz-transition: 1.8s width cubic-bezier(0.165, 0.84, 0.44, 1);
		-ms-transition: 1.8s width cubic-bezier(0.165, 0.84, 0.44, 1);
		-o-transition: 1.8s width cubic-bezier(0.165, 0.84, 0.44, 1);
		transition: 1s width cubic-bezier(1, 0.67, 0.17, 0);
	}
	.main-visual-img.changing:after {
		width: 100%;
		-webkit-transition: 0.5s width cubic-bezier(0.165, 0.84, 0.44, 1);
		   -moz-transition: 0.5s width cubic-bezier(0.165, 0.84, 0.44, 1);
		    -ms-transition: 0.5s width cubic-bezier(0.165, 0.84, 0.44, 1);
		     -o-transition: 0.5s width cubic-bezier(0.165, 0.84, 0.44, 1);
		        transition: 0.5s width cubic-bezier(0.17, 0.67, 1, 1);
	}


	

	.slide_photo {
		top: -150px;
		left:0;
		height: calc(100% + 200px);
		-webkit-animation: 25s topVisualPhotoMovingPC linear infinite alternate;
		-moz-animation: 25s topVisualPhotoMovingPC linear infinite alternate;
		-ms-animation: 25s topVisualPhotoMovingPC linear infinite alternate;
		-o-animation: 25s topVisualPhotoMovingPC linear infinite alternate;
		animation: 15s topVisualPhotoMovingPC linear infinite alternate;
		transition: 0s 1.2s width;
		position: absolute;
		width: 100%;
	}
	@keyframes topVisualPhotoMovingPC {
		0% {
			-webkit-transform: translate3d(50px, 10px, 0) rotate(0.0001deg);
		   -moz-transform: translate3d(50px, 10px, 0) rotate(0.0001deg);
		    -ms-transform: translate3d(50px, 10px, 0) rotate(0.0001deg);
		     -o-transform: translate3d(50px, 10px, 0) rotate(0.0001deg);
		        transform: translate3d(50px, 10px, 0) rotate(0.0001deg);
		}
		50% {
			-webkit-transform: translate3d(-50px, -10px, 0) rotate(0.0001deg);
		   -moz-transform: translate3d(-50px, -10px, 0) rotate(0.0001deg);
		    -ms-transform: translate3d(-50px, -10px, 0) rotate(0.0001deg);
		     -o-transform: translate3d(-50px, -10px, 0) rotate(0.0001deg);
		        transform: translate3d(-50px, -10px, 0) rotate(0.0001deg);
		}
		100% {
			-webkit-transform: translate3d(50px, 10px, 0) rotate(0.0001deg);
		   -moz-transform: translate3d(50px, 10px, 0) rotate(0.0001deg);
		    -ms-transform: translate3d(50px, 10px, 0) rotate(0.0001deg);
		     -o-transform: translate3d(50px, 10px, 0) rotate(0.0001deg);
		        transform: translate3d(50px, 10px, 0) rotate(0.0001deg);
		}
	}

  
  .main-appeal{
	font-size: 16px;
	letter-spacing: 0.095em;
	font-weight: bold;
	color: #221815;
	margin-left: 33px;
	}
  
  /* contents
  ------------------------------*/
  .contents-wrap{
	width: 1200px;
	margin: 0 auto;
	margin-top: 203px;
	display: flex;
	justify-content: space-between;
	}
  
  .side-bar{
	margin: 12px 0 0 9px;
	padding-bottom: 50px;
	}
  
  .search-house{
	position: sticky;
	top: 28px;
	}
  
  .search-ttl{
	font-size: 18px;
	font-weight: bold;
	color: #221815;
	letter-spacing: 0.1em;
	text-align: center;
	margin-bottom: 27px;
	}
  
  .search-kind{
	display: block;
	margin-bottom: 31px;
  }
  
  /* house-contents
  ------------------------------*/
.house-wrap {
	width: 923px;
	margin-right: 33px;
}
  .house-ttl{
	font-size: 26px;
	font-weight: bold;
	letter-spacing: 0.16em;
	display: inline-flex;
	position: relative;
	margin-bottom: 48px;
	align-items: center;
	}
  
  .house-ttl-img{
	margin-right: 19px;
  }
  
.house-ttl::before,
.house-ttl::after{
	content: "";
	display: block;
	width: 60%;
	height: 1px;
	background-color: #3bb5e9;
	position: absolute;
	bottom: -11px;
  }
  
  .house-ttl::after{
	width: 60%;
	background-color: #4556a4;
	bottom: -20px;
	right: 8px;
	}
  
  .house-slider-ele{
	display: flex;
	justify-content: space-between;
	}
	.house-slider-ele.newicn {
		position: relative;
	}
	.newicn::before {
		content: "";
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 111px 262px 0 0;
		border-color: rgba(255,255,255,.6) transparent transparent transparent;
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 3;
	}
	.newicn::after {
		content: "New!";
		font-size: 24px;
		font-weight: bold;
		color: #676666;
		letter-spacing: 2px;
		position: absolute;
		top: 26px;
		left: 25px;
		z-index: 4;
	}
  .house-slider-ele a{
	  display: block;
	  position: relative;
	  z-index: 1;
	 }
  .house-slider-img-wrap{
	height: 444px;
	width: 605px;
	position: relative;
	z-index: 2;
	/* display: flex; */
	align-items: center;
	justify-content: center;
	background: #f7f7f7;
	}
	.house-slider-img-wrap img {
		width: 605px;
        height: 444px;
		object-fit: cover;
	}
  
  .house-slider-img{
	object-fit: cover;
	width: 100%;
  }
  
  .house-slider-ele .house-slider-img-wrap .next-arrow{
	top: 190px;
	right: 0;
	width: calc(56px * 605 / 952);
  }
  
  .house-info{
	width: 289px;
	}
  
  .house-info-ttl{
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.1em;
	display: block;
	line-height: 1.6;
	}
  
  .house-price{
	font-size: 18px;
	font-weight: bold;
	line-height: 1;
	}
  
  .house-price span{
	font-size: 14px;
  }
  
  .house-address{
	font-size: 14px;
	line-height: 1.6;
	font-weight: 600;
	}
  
  .house-info-text{
	margin-bottom: 12px;
	}

	.madori_img {
		width: 250px;
		height: 184px;
		display: flex;
		align-items: center;
		justify-content: center;
		background: #f7f7f7;
	}
	.madori_img img {
		max-width: 250px;
		max-height: 184px;
		object-fit: contain;
	}

  .house-btn-wrap{
	display: flex;
	margin-top: 62px;
	align-items: center;
	}
  
  .contents-favorite-btn-wrap{
	display: block;
	text-align: center;
	margin-right: 24px;
	font-size: 12px;
	font-weight: 600;
	padding: 26px 0 0;
	}
	.contents-favorite-btn-wrap .onoff-btn {
		position: relative;
		display: block;
	}
	.contents-favorite-btn-wrap .onoff-btn:before {
		position: absolute;
		background: url(/images/top/favorite-off.png) no-repeat center / cover;
		top: -27px;
		left: 0;
		right: 4px;
	}
	.contents-favorite-btn-wrap .onoff-btn.on:before {
		background: url(/images/top/favorite-on.png) no-repeat center / cover;
	}
  
  .empty-contact{
	font-size: 13px;
	font-weight: bold;
	color: #221815;
	border-bottom: solid #221815  2px;
	padding-bottom: 18px;
	position: relative;
	width: 174px;
	}
  
  .empty-contact:hover{
	color: #221815;
  }
  
  .empty-contact::after{
	content: "";
	position: absolute;
	background-image: url(../images/top/triangle.png);
	background-repeat: no-repeat;
	background-position: center;
	height: 12px;
	width: 13px;
	margin-left: 0;
	right: 0;
	top: 8px;
	}
  
  /* house-slide
  ------------------------------*/
  .house-slider{
	margin-bottom: 171px;
	width: 922px;
	}
  
  .office-store .house-slider{
	margin-bottom: 281px;
	}
  
  .house-slider .slick-arrow{
	position: absolute;
	right: 0;
	left: 74px;
	bottom: -64px;
	background: url(/images/top/arrow-next.png) no-repeat;
	background-size: cover;
	width: 37px;
	height: 37px;
	border: none;
	font-size: 0;
	margin: 0 auto;
	}
  
  .house-slider .slick-prev {
	left: 0;
	right: 162px;
	background: url(/images/top/arrow-prev.png) no-repeat;
	background-size: cover;
	}
  
  .slick-counter{
	font-size: 14px;
	text-align: center;
	position: absolute;
	margin: 0 auto;
	left: 0;
	right: 48px;
	bottom: -54px;
	width: fit-content;
	}
  
  .slick-counter .current,
	.slick-counter .total{
	font-size: 14px;
	font-weight: 500;
	}

	.house-slider-img-wrap .slick-arrow {
		bottom: unset;
		top: 193px;
		left: unset;
		background: url(/images/top/house-slider-next.png) no-repeat;
		background-size: cover;
		height: 84px;
		z-index: 999;
	}

	.house-slider-img-wrap .slick-prev{
		display: none!important;
	}

	
  
  /* about
  ------------------------------*/
  .about-wrap{
	background-image: url(../images/top/about-visual.png);
	background-size: cover;
	background-position: center;
	text-align: center;
	padding-top: 148px;
	padding-bottom: 108px;
	margin-bottom: 85px;
	}
  
  .about-ttl{
	font-size: 27px;
	letter-spacing: 0.15em;
	font-weight: bold;
	color: #fff;
	position: relative;
	width: fit-content;
	margin: 0 auto 77px;
	}
	.about-ttl:before {
		content: '';
		position: absolute;
		background: url(/images/top/about.png)no-repeat;
		background-size: cover;
		width: 105px;
		height: 46px;
		top: -53px;
		right: 0;
		left: 0;
		margin: 0 auto;
	}
  
  .about-ttl-img{
	}
  
  .about-appeal{
	font-size: 36px;
	font-weight: bold;
	color: #fff;
	margin-bottom: 73px;
	letter-spacing: 0.17em;
	}
  
  .about-text{
	font-size: 16px;
	color: #fff;
	line-height: 1.9;
	font-weight: 600;
	letter-spacing: 0.15em;
	}
  
  .about-text.first-text{
	margin-bottom: 30.09px;
  }
  
  /* staff
  ------------------------------*/
  .staff-wrap{
	width: 1120px;
	margin: 0 auto;
	padding-bottom: 107px;
	border-bottom: solid 1px #a0a0a0;
	}
  
  .staff-ttl{
	font-size: 18px;
	font-weight: bold;
	color: #221815;
	letter-spacing: 0.17em;
	text-align: center;
	margin-bottom: 49px;
	}
  
  .staff-flex{
	display: flex;
	overflow-x: auto;
	overflow-y: clip;
	padding: 10px 0;
  }
  
  .staff-info a{
	display: flex;
	justify-content: space-between;
	}
  
  .staff-info{
	margin-right: 20px;
  }
  
  .staff-photo{
	width: 126px;
	height: 125.58px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #ccc;
	}
  
  .staff-photo img{
	width: 100%;
	}
  
  .staff-text{
	padding-left: 10px;
	width: 237px;
	}
  
  .staff-name{
	font-size: 16px;
	font-weight: bold;
	color: #221815;
	margin-bottom: 10px;
	}
  
  .staff-about{
	font-size: 12px;
	color: #221815;
	line-height: 18.81px;
	letter-spacing: 0.14em;
	font-weight: 600;
	}
  