@charset "utf-8";
section:not(#pagetitle):not(#contact){
	width:min(95%,1000px);
	/*width:100%;*/
	padding:50px 0;
	margin:0 auto;
}

section#pagetitle{
	background-image: url("../img/title.jpg");
	background-size: 100% auto;
	background-repeat: no-repeat;
	background-position:  center;
}

h2#bulname{
	margin-top:80px;
	font-size:3.1rem;
	position: relative;
}

#more{
	text-align: center;
}

#more a{
	width:min(90%,300px);
	display: block;
	position: relative;
	overflow: hidden;
	margin:0 auto;
}

#more img{
	width:100%;
	height: auto;
	position: relative;
	z-index: 0;
}

#more a::before{
	content:'';
position: absolute;
  top: 0;
  left: -75%;
  z-index: 2;
  display: block;
  width: 50%;
  height: 100%;
  background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
  background: -o-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
  background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
  transform: skewX(-25deg);
}

#more a:hover::before{
	content:'';
	 animation: shine .75s;
}

@keyframes shine {
  100% {
    left: 125%;
  }
}
/*--------------------

	レスポンシブ

--------------------*/

@media screen and (min-width: 0) and (max-width: 430px){
	section#pagetitle{
		background-size: auto 100%;
	}
	h2#bulname{
		margin-top:80px;
		font-size:2rem;
	}
}


/*--------------------


	一覧


--------------------*/

section#list{
	width:min(95%,1100px)!important;
	display: flex;
	gap:15px;
	flex-wrap: wrap;
justify-content: space-between;
	padding:50px 0 100px 0!important;
}

#list a{
	width:min(100%,330px);
	background-color: #FBFAF7;
	border-radius: 5px;
	text-decoration: none;
	box-shadow: 2px 2px 8px -4px rgba(0,0,0,0.3);
	position: relative;
}

#list a::before{
	 font-family: 'Font Awesome 6 Free';
     content: "\f0da";
	font-weight: 900;
	width:20px;
	height: 20px;
	line-height: 1;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-end;
	position: absolute;
	right:0;
	bottom:0;
	background-color: rgba(223,223,223,1.00);
	border-radius: 5px 0 5px 0;
	clip-path: polygon(100% 0, 0 100%, 100% 100%);
	text-align: right;
	font-size:12px;
	padding-right:3px;
	color:#fff;
}

#list a:hover{
	box-shadow:none;
}

#list a:hover::before{
	color:#5B4242;
}

#list .photo{
	line-height: 0;
	position: relative;
	/*border-radius: 5px 5px 0 0;*/
	background-color: #725C5C;
	border-radius: 5px 5px 0 0;
}

#list .photo img{
	width:100%;
	height: auto;
	border-radius: 5px 5px 0 0;
	opacity: 0.8;
}

#list a:hover .photo img{
	opacity: 1;
}
#list .item{
	width:180px;
	line-height: 1em;
	clip-path: polygon(100% 0%, calc(100% - 10px) 50%, 100% 100%, 0 100%, 0 0);
	clip-path: polygon(0% 0%, calc(100% - 10px) 0%, 100% 50%, calc(100% - 10px) 100%, 0% 100%);
	padding:8px 20px 8px 10px;
	position: absolute;
	bottom:-10px;
	left:0;
	color:#fff;
	font-weight: 700;
	z-index: 1;
	font-size:0.95rem;
	
}

#list .renovation .item{
	background-color: #408CC4;
}

#list .rehome .item{
	background-color: #78BFB1;
}

#list .kataduke .item{
	background-color: #C1903F;
}

#list .cleaning .item{
	background-color: #F89BB5;
}

#list .text{
	padding:20px 10px 10px 20px;
	color:#5B4242;
	font-weight: 700;
	font-size:0.8rem;
	line-height: 1.4;
}

#list .text strong{
	font-size:1.1rem;
}


section:not(#pagetitle):not(#contact){
	width:min(95%,1200px);
	/*width:100%;*/
	padding:50px 0;
	margin:0 auto;
}

/*--------------------


	下層ページ


--------------------*/

#subtitle{
	text-align: center;
	margin-bottom:50px
}

#subtitle h2{
	display: inline-block;
	font-size:3rem;
	text-align: left;
	line-height: 1.2;
}

#subtitle h2 span{
	font-size:1.4rem;
}

section#move .play-btn{
	font-size:1rem;
}

section#move .play-btn .fa-solid{
	font-size:50px;
}
/*--------------------

	レスポンシブ

--------------------*/

@media screen and (min-width: 0) and (max-width: 430px){
	#subtitle{
		padding:0;
	}
	#subtitle h2{
		margin:50px 0 0 0 ;
		font-size:2rem;
		text-align: center;
	}
}

/*--------------------


	写真


--------------------*/

#photo{
	width:100%;
	position: relative;
}


#mainphoto{
	width:min(100%,850px);
	margin:0 auto 10px auto;
	margin-bottpm:10px;
	opacity: 0;
	clip-path: inset(0 0 round 10px 10px 10px 10px);
	background-color: #F0E8E3;
	padding:0;
}

#mainphoto.act{
	animation: infade 0.8s ease-in-out 0.5s 1 normal forwards;
}

#mainphoto li{
	width:100%;
	height: auto;
	aspect-ratio: 4 / 3;
	line-height: 0;
	text-align: center;
}


#mainphoto li img{
	width:auto;
	max-width:100%; 
	height:auto;
	max-height:100%;
	margin:0 auto;
}

#thumbnail{
	width:min(100%,850px);
	margin:10px auto 0 auto;
	clip-path: inset(0 0 round 5px 5px 5px 5px);
	opacity: 0;
	position: relative;
	background-color: #F0E8E3;
}


#thumbnail.act{
	animation: infade 0.8s ease-in-out 1s 1 normal forwards;
}

#thumbnail li{
	width:100px;
	line-height: 0;
	opacity: 0.5;
}

#thumbnail li.slick-current{
	opacity: 1;
}

#thumbnail li img{
	width:100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

#thumbnail .slick-arrow{
	width:20px;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items:center;
	background-color: rgba(158,113,84,0.5);
	 -webkit-transform: none;
    -ms-transform: none;
	translate: none;
	cursor: pointer;
	position: absolute;
	top:0;
}

#thumbnail .slick-arrow::before{
	content: '';
}

#thumbnail .slick-prev{
	left:0;
	z-index: 10;
}

#thumbnail .slick-next{
	right:0;
}

#thumbnail .slick-prev::before{
	font: var(--fa-font-solid);
	content:'\f0d9';
	color:#fff;
	font-size:20px;
	line-height:1;
}

#thumbnail .slick-next::after{
	font: var(--fa-font-solid);
	content:'\f0da';
	color:#fff;
	font-size:20px;
	line-height:1;
}


#mainphoto.tate{
	text-align: center;
	opacity: 1;
	background-color: rgba(255,252,252,0.00);
}

#mainphoto.tate img{
	width:min(90%,400px);
	height: auto;
	border-radius: 10px;
}

/*--------------------

	レスポンシブ

--------------------*/
@media screen and (min-width: 0) and (max-width: 430px){
	section#photo{
		width:98%;
		overflow-x: hidden;
	}
	#thumbnail .slick-arrow{
		width:10px;
	}
	
	#thumbnail .slick-prev::before,
	#thumbnail .slick-next::after{
		font-size:14px;
	}
}


/*--------------------


	動画


--------------------*/

section#move{
	width:min(95%,350px)!important;
	text-align: center;
	position: relative;
	padding:0 0 80px 0!important;
}

section#move video{
	width:100%;
	aspect-ratio:9/16;
	margin:0 auto;
	border-radius: 10px;
}

section#move .play-btn{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100px;
	height: 100px;
	position: absolute;
	  top: calc(50% - 100px);
	  left: calc(50% - 50px);
	  /*transform: translateY(-50%) translateX(-50%);*/
	font-size:80px;
	color:rgba(255,255,255,0.77);
	line-height: 1;
	cursor: pointer;
}

section#move .play-btn.playActive{display:none;}

/*--------------------


	その他


--------------------*/
section.elseitem{
	opacity: 0;
}

section.elseitem h3{
	font-family: "Noto Serif JP", serif;
  font-weight: 600;
	font-size:1.8rem;
	margin-bottom:50px;
	text-align: center;
}

section.elseitem .photo01{
	width:min(100%,700px);
	line-height: 0;
	margin:0 auto;
}

section.elseitem .photo01 img{
	width:100%;
	height: auto;
	border-radius: 10px;
}

section.elseitem .op0{
	opacity: 0;
}

/*--------------------


	リフォーム内容


--------------------*/

section#rehome{
	width:min(95%,1200px);
	border:2px solid #A58181;	
	background-color: #F8F4ED;
	margin:50px auto;
	position: relative;
	padding:30px 15px 30px 100px;
	border-radius: 10px;
	opacity: 0;
}

section#rehome.act{
	animation:infade 0.8s ease-in-out 0.5s 1 normal forwards;
}

/* HTML: <div class="ribbon">Your text content</div> */
#rehome h3 {
	font-family: "Noto Serif JP", serif;
  font-size: 1.2rem;
  font-weight: bold;
  color: #fff;
}

#rehome ul{
	width:min(100%,700px);
	margin:0 auto;
	display: flex;
	justify-content: space-between;
	gap:15px;
	flex-wrap: wrap;
}

#rehome li{
	width:calc(25% - 15px);
	aspect-ratio: 1 / 1;
	background: #fff;
	background: -webkit-linear-gradient(#FFFFFF 0%, #F3EEED 100%);
	background: -o-linear-gradient(#FFFFFF 0%, #F3EEED 100%);
	background: linear-gradient(#FFFFFF 0%, #F3EEED 100%);
	border:1px solid #DCCDCD;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding:5px;
	border-radius: 5px;
	opacity: 0;
}

#rehome li.act{
	animation: infade 0.8s ease-in-out 1s 1 normal forwards;
}

#rehome li .photo{
	width:100%;
	flex:2;
	min-height: 100px;
	display: flex;
	justify-content: center;
	align-items: center;
}

#rehome li .photo img{
	width:auto;
	max-width:min(100%,85px);
	height: auto;
	max-height:min(100%,85px);
}

#rehome li .text{
	flex:1;
	line-height: 1.4;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
}

/*--------------------

	レスポンシブ

--------------------*/
@media screen and (min-width: 431px){
	#rehome h3 {
	  --f: .5em; /* control the folded part */

	  position: absolute;
	  top: 0;
	  left: 0;
	  line-height: 1.8;
	  padding-inline: 1lh;
	  padding-bottom: var(--f);
	  border-image: conic-gradient(#0008 0 0) 51%/var(--f);
	  clip-path: polygon(
		100% calc(100% - var(--f)),100% 100%,calc(100% - var(--f)) calc(100% - var(--f)),var(--f) calc(100% - var(--f)), 0 100%,0 calc(100% - var(--f)),999px calc(100% - var(--f) - 999px),calc(100% - 999px) calc(100% - var(--f) - 999px));
	  transform: translate(calc((cos(45deg) - 1)*100%), -100%) rotate(-45deg);
	  transform-origin: 100% 100%;
	  background-color: #408CC4; /* the main color  */
	}
}
@media screen and (min-width: 431px) and (max-width: 980px){
	#rehome li .text{
		font-size:1.8vW
	}
}

@media screen and (min-width: 0) and (max-width: 430px){
	section#rehome{
		width:calc(100% - 10px);
		margin-left:10px;
		padding:15px 0 30px 0;
	}
	#rehome h3 {
		width:50%;
		clip-path: polygon(100% 0, 96% 50%, 100% 100%, 0% 100%, 0% 0%);
		  background-color: #408CC4; 
		margin-bottom:30px;
		margin-left:-10px;
		padding-left:10px;
		position: relative;
	}
	#rehome ul{
		width:95%;
		gap:5px;
	}
	
	#rehome li{
		width:calc(50% - 5px);
	}
	
	#rehome li .text{
		font-size:1rem;
	}
}


/*--------------------


	データ


--------------------*/

section#deta{
	Width:min(95%,1200px);
}

section#deta h3{
	font-family: "Noto Serif JP", serif;
  font-weight: 600;
	font-size:1.8rem;
	margin-bottom:50px;
	text-align: center;
	line-height: 1.4;
	display: flex;
	align-items: center;
	column-gap:10px
}

section#deta h3 span{
	opacity: 0;
}

section#deta.act h3 span{
	animation: infade 0.8s ease-in-out 1s 1 normal forwards;
}

section#deta h3::before,
section#deta h3::after{
	content:'';
	flex:1;
	height: 2px;
	display: block;
	border-top:1px solid #A58181;
	border-bottom:1px solid #A58181;
	opacity: 0;
}

section#deta.act h3::before{
	animation: sright 0.3s ease-in-out 2s 1 normal forwards;
}

section#deta.act h3::after{
	animation: sleft 0.3s ease-in-out 2s 1 normal forwards;
}

#deta ul{
	display: flex;
	flex-wrap: wrap;
	gap:0 15px;
}

#deta li{
	width:calc(50% - 15px);
	display: flex;
	border-top:1px solid #A58181;
}

#deta li:nth-last-child(-n+2){
	border-bottom:1px solid #A58181;
}
#deta li .item,
#deta li .naiyou{
	margin:3px 0;
	padding:15px 10px 15px 10px;
}

#deta li .item{
	width:130px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	opacity: 0;
}

#deta li .naiyou{
	flex:1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	border-left:1px solid #A58181;
}

#deta li .naiyou span{
	opacity: 0;
}
#deta.act li.look .item,
#deta.act li.look .naiyou span{
	animation: infade 0.8s ease-in-out 1s 1 normal forwards;
}

/*--------------------

	レスポンシブ

--------------------*/

@media screen and (min-width: 0) and (max-width: 430px){
	#deta li{
		width:100%;
	}
	#deta li:nth-last-child(2){
		border-bottom:none;
	}
}

/*--------------------

	アニメーション

--------------------*/


@keyframes fadein{
0% {
    opacity: 0;
  }
 100% {
	  opacity: 1;
  }
}

@keyframes up{
	0% {
		transform: translateY(600px);
		opacity: 0;
	  }
	 100% {
		transform: translateY(0);
		  opacity: 1;
	  }
}

@keyframes sleft{
	0% {
		transform: translateX(20vw);
		opacity: 0;
	  }
	 100% {
		transform: translateX(0);
		  opacity: 1;
	  }
}


@keyframes sright{
	0% {
		transform: translateX(-20vw);
		opacity: 0;
	  }
	 100% {
		transform: translateX(0);
		  opacity: 1;
	  }
}

@keyframes infade{
	0% {
		opacity: 0;
	  }
	 100% {
		  opacity: 1;
	  }
}

