@charset "utf-8";

:target{
	scroll-margin-top: calc(var(--header-height) + 2.7rem);
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

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

	:target{
		scroll-margin-top: calc(var(--header-height) + 3rem);
	}

}



/*-------------------------------
	わたしたちが大切にしている、3つの”やさしい”家づくり
-------------------------------*/

.About{
	padding-top: 5.2rem;
	overflow: hidden;
}
.About-header{
	padding-bottom: 8.6rem;
	position: relative;
	z-index: 5000;
}
.About-header::before{
	content: "What is Housis";
	width: 100%;
	font-size: 12.5rem;
	font-weight: 600;
	letter-spacing: .2em;
	line-height: 1;
	white-space: nowrap;
	color: #e6e6e6;
	position: absolute;
	left: 0;
	top: .9em;
	right: 0;
	z-index: -1;
    display: flex;
    align-items: center;
    justify-content: center;
}
.About-header__title{
	font-size: 3.2rem;
	margin-bottom: 3.5rem;
	font-weight: 700;
	line-height: calc(5.2 / 3.2);
	letter-spacing: .15em;
	text-align: center;
}
.About-header__title::before{
	content: "";
	display: block;
	width: 10.5rem;
	height: 4.7rem;
	margin-bottom: 1.5rem;
	margin-left: auto;
	margin-right: auto;
	background-image: url(../images/common/obj_title.svg);
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
}
.About-header__list{
	width: 100%;
	gap: 4rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
.About-header__list-item{
	background: var(--subcolor);
	width: 20rem;
	height: 20rem;
	border-radius: 50%;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}
.About-header__list-item-en{
	font-size: 3rem;
	padding-bottom: 2rem;
	margin-bottom: 1.6rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .2em;
	display: block;
	position: relative;
}
.About-header__list-item-en::after{
	background: var(--maincolor);
	content: "";
	display: block;
	width: 10rem;
	height: 2px;
	margin-left: auto;
	margin-right: auto;
	position: absolute;
	left: 0;
	bottom: 0;
	right: 0;
}
.About-header__list-item-jp{
	font-weight: 700;
	letter-spacing: .15em;
	line-height: 1;
	display: block;
}
.About-block-wrap{
	counter-reset: number 0;
}
.About-block{
	padding-top: 8.2rem;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	position: relative;
}
.About-block:not(:last-child){
	padding-bottom: 10.5rem;
}
.About-block::before{
	font-family: var(--en);
	background: var(--maincolor);
	color: var(--subcolor);
	counter-increment: number 1;
	content: counter(number, decimal-leading-zero) "";
	width: 10.4rem;
	height: 10.4rem;
	padding-top: .25em;
	border-radius: 50%;
	font-size: 3rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	left: 0;
	top: 0;
	transform: translate(-2.8rem,-50%);
}
.About-block::after{
	background: var(--subcolor);
	content: "";
	display: block;
	width: calc(100% - (7.5rem + 3.5rem));
	height: 2px;
	position: absolute;
	top: 0;
	right: 0;
}
.About-block__body{
	width: 60rem;
	padding-right: 8rem;
}
.About-block__title{
	margin-bottom: 3.2rem;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	flex-direction: column;
}
.About-block__title-en{
	font-family: var(--en);
	font-size: 4.8rem;
	margin-bottom: 1.5rem;
	font-weight: 700;
	letter-spacing: .2em;
	line-height: 1;
	display: block;
}
.About-block__title-jp{
	font-size: 2.8rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .15em;
	display: block;
	position: relative;
}
.About-block__title-jp span{
	padding-bottom: .8rem;
	line-height: 1;
	display: inline;
	background:linear-gradient(transparent calc(100% - 2px), var(--subcolor) 0%);
}
/* .About-block__title-jp::after{
	background: var(--subcolor);
	content: "";
	display: block;
	width: calc(100% - .5em);
	height: 2px;
	position: absolute;
	left: 0;
	bottom: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
} */
.About-block__image{
	width: calc(100% - 60rem);
	max-width: 56.6rem;
}
.About-block__image img{
	width: 100%;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

	.About-block__body{
		width: 55%;
	}
	.About-block__title-jp span{
		line-height: 1.5;
		padding-bottom: 0;
	}
	.About-block__image{
		width: 45%;
	}

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

	.About{
		padding-top: 3.8rem;
	}
	.About-header{
		padding-bottom: 7rem;
	}
	.About-header::before{
		font-size: 4.1rem;
		top: 2.55em;
	}
	.About-header__title{
		font-size: 2rem;
		margin-bottom: 2.5rem;
		line-height: calc(3.6 / 2);
	}
	.About-header__title::before{
		width: 7.3rem;
		height: 3.3rem;
		margin-bottom: .8rem;
	}
	.About-header__list{
		gap: 0;
		justify-content: space-between;
	}
	.About-header__list-item{
		width: 11rem;
		height: 11rem;
	}
	.About-header__list-item-en{
		font-size: 1.6rem;
		padding-bottom: 1rem;
		margin-bottom: .6rem;
	}
	.About-header__list-item-en::after{
		width: 5.5rem;
		height: 1px;
	}
	.About-header__list-item-jp{
		letter-spacing: .15em;
	}
	.About-block{
		padding-left: var(--padding-leftright);
		padding-right: var(--padding-leftright);
		padding-top: 5.5rem;
		flex-direction: column;
	}
	.About-block:not(:last-child){
		padding-bottom: 7.8rem;
	}
	.About-block::before{
		width: 6rem;
		height: 6rem;
		font-size: 1.7rem;
		transform: translate(0,-50%);
	}
	.About-block::after{
		width: calc(100% - (6rem + 1.4rem));
	}
	.About-block__body{
		width: 100%;
		margin-bottom: 2.2rem;
		padding-right: 0;
	}
	.About-block__title{
		margin-bottom: 2.8rem;
	}
	.About-block__title-en{
		font-size: 3.4rem;
		margin-bottom: 1rem;
	}
	.About-block__title-jp{
		font-size: 1.9rem;
	}
	.About-block__title-jp::after{
		height: 1px;
	}
	.About-block__image{
		width: 100%;
		max-width: 100%;
	}

}



/*-------------------------------
	リフォーム・リノベーション完成までの流れ
-------------------------------*/

.Flow{
	background: #e6e6e6;
}
.Flow__title{
	margin-bottom: 4.8rem;
}
.Flow-list{
	margin-bottom: 5.5rem;
	display: flex;
	align-items: stretch;
	justify-content: space-between;
}
.Flow-list__item{
	background: var(--subcolor);
	width: 7rem;
	font-size: 2.2rem;
	padding: 2.2rem .5rem 1.8rem;
	font-weight: 700;
	letter-spacing: .15em;
	color: #fff;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	position: relative;
}
.Flow-list__item:not(:last-child)::after{
	background: var(--maincolor);
	content: "";
	display: block;
	width: 2.3rem;
	height: 4.1rem;
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
	position: absolute;
	right: -3.2rem;
	top: 50%;
	transform: translate(50%,-50%);
}
.Flow-bottom{
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}
.Flow .C-Button{
	margin-bottom: 1.5rem;
	margin-right: 0;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:1100px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

	.Flow-list{
		gap: 5rem;
		flex-direction: column;
	}
	.Flow-list__item{
		width: 100%;
		max-width: 70rem;
		padding: 1.3rem .5rem 1rem;
		-ms-writing-mode: lr-tb;
		writing-mode: horizontal-tb;
		justify-content: center;
		margin-left: auto;
		margin-right: auto;
	}
	.Flow-list__item:not(:last-child)::after{
		width: 2.3rem;
		height: 1.3rem;
		clip-path: polygon(0 0, 50% 100%, 100% 0);
		right: 50%;
		top: calc(100% + 2.5rem);
		transform: translate(50%,-50%);
	}

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

	.Flow__title{
		margin-bottom: 3.2rem;
	}
	.Flow-list{
		max-width: 28rem;
		margin-bottom: 3.5rem;
		gap: 2.6rem;
		flex-direction: column;
		margin-left: auto;
		margin-right: auto;
	}
	.Flow-list__item{
		width: 100%;
		font-size: 1.5rem;
		padding: 1.3rem .5rem 1rem;
		-ms-writing-mode: lr-tb;
		writing-mode: horizontal-tb;
		justify-content: center;
	}
	.Flow-list__item:not(:last-child)::after{
		width: 2.3rem;
		height: 1.3rem;
		clip-path: polygon(0 0, 50% 100%, 100% 0);
		right: 50%;
		top: calc(100% + 1.3rem);
		transform: translate(50%,-50%);
	}
	.Flow-list__item span{
		line-height: 1;
		display: block;
	}
	.Flow-bottom{
		padding-left: var(--padding-leftright);
		padding-right: var(--padding-leftright);
		flex-direction: column;
	}
	.Flow-bottom__text{
		margin-bottom: 3rem;
	}
	.Flow .C-Button{
		margin-bottom: 0;
		margin-right: auto;
	}

}



/*-------------------------------
	よくあるご質問
-------------------------------*/

.C-Faq__title-balloon{
	font-size: 1.9rem;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:1100px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

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

	.C-Faq__title-balloon{
		font-size: 1.4rem;
	}

}