@charset "utf-8";

/*----------------------------
	pageRefrair FV
----------------------------*/
.pageRefrair .boxPageTop{
	position: relative;
	gap: 20px;
	background: url(../img/housing_new/refrair/bgCmnTit.jpg) center center / cover no-repeat;
}
.pageRefrair .pageTitSub{
	margin-top: 25px;
}
.pageRefrair .pageTitNote{
	font-size: 14px;
	letter-spacing: 0.03em;
	text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.4), 0 0 20px rgba(0, 0, 0, 0.3);
}
@media only screen and (max-width:767px){
	.pageRefrair .boxPageTop{
		background: url(../img/housing_new/refrair/bgCmnTit_sp.jpg) center center / cover no-repeat;
		gap: 5px;
	}
	.pageRefrair .pageTitNote{
		font-size: 11px;
		letter-spacing: 0.06em;
	}
	.pageRefrair .pageTitSub {
		margin-top: 4px;
	}
}

/*----------------------------
	secRefrairFlex
----------------------------*/
.secRefrairFlex{
	margin-top: 120px;
}
.secRefrairFlex .boxList{
	display: flex;
	flex-direction: column;
	gap: 120px;
}
.secRefrairFlex .item{
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 50px;
}
.secRefrairFlex .item.isReverse{
	flex-direction: row-reverse;
	gap: 100px;
}
.secRefrairFlex .boxTxt{
	width: calc(100% - (46% + 50px));
}
.secRefrairFlex .boxImg{
	width: 46%;
	max-width: 620px;
	flex-shrink: 0;
}
.secRefrairFlex .boxImg img{
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}
.secRefrairFlex .boxTxt .titEng{
	font-size: 20px;
	letter-spacing: 0.05em;
	color: rgba(0, 0, 0, 0.3);
	padding-left: 40px;
	position: relative;
}
.secRefrairFlex .boxTxt .titEng::before{
	content: '';
	width: 25px;
	height: 1px;
	background: rgba(0, 0, 0, 0.2);
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.secRefrairFlex .boxTxt .titEngItalic{
	font-family: "EB Garamond", "Times New Roman", serif;
}
.secRefrairFlex .boxTxt .tit{
	font-size: 26px;
	line-height: calc(46/26);
	letter-spacing: 0.05em;
	font-weight: bold;
	margin-top: 25px;
}
.secRefrairFlex .boxAbout{
	margin-top: 15px;
}
.secRefrairFlex .boxAbout .txtAbout2{
	font-size: 16px;
	line-height: calc(40/16);
	letter-spacing: 0.05em;
}
.boxImgWhy img{
	aspect-ratio: 620 / 480;
	object-fit: cover;
	object-position: center top;
}
.boxImgBeyond img{
	aspect-ratio: 620 / 600;
	object-fit: cover;
	object-position: center top;
}
.boxImgComfort img,
.boxImgCombo img{
	aspect-ratio: 620 / 480;
	object-fit: cover;
	object-position: center;
}
@media only screen and (max-width:1500px){
	.secRefrairFlex .boxAbout .txtAbout2{
		font-size: 14px;
		line-height: calc(36/14);
	}
	.secRefrairFeature .item:first-child .boxImgHouse{
		width: calc(791 / 1500 * 100vw);
		max-width: 791px;
	}
}
@media only screen and (max-width:767px){
	.secRefrairFlex{
		margin-top: 50px;
	}
	.secRefrairFlex .boxList{
		gap: 46px;
	}
	.secRefrairFlex .item,
	.secRefrairFlex .item.isReverse{
		flex-direction: column;
		align-items: flex-start;
		gap: 0;
	}
	.secRefrairFlex .boxTxt{
		display: contents;
		width: 100%;
	}
	.secRefrairFlex .boxTit{
		order: 1;
	}
	.secRefrairFlex .boxImg{
		width: 100%;
		max-width: none;
		flex: none;
		margin-top: 23px;
		order: 2;
	}
	.secRefrairFeature .item:first-child .boxTxt{
		width: 100%;
	}
	.secRefrairFeature .item:first-child .boxImgHouse{
		width: 100%;
		max-width: 100%;
		flex: none;
		order: 1;
		margin-top: 0;
	}
	.secRefrairFeature .item:first-child .boxTit{
		order: 2;
		margin-top: 16px;
	}
	.secRefrairFeature .item:first-child .boxAbout{
		order: 3;
	}
	.boxImgHouse img{
		width: 100%;
		max-width: 100%;
		height: auto;
		aspect-ratio: 373 / 308;
	}
	.secRefrairFlex .boxTxt .titEng{
		font-size: 16px;
		letter-spacing: 0;
		padding-left: 23px;
	}
	.secRefrairFlex .boxTxt .titEng::before{
		width: 15px;
	}
	.secRefrairFlex .boxTxt .tit{
		font-size: 18px;
		line-height: calc(30/18);
		letter-spacing: 0;
		margin-top: 13px;
	}
	.secRefrairFlex .boxAbout{
		margin-top: 10px;
		order: 3;
	}
	.secRefrairFlex .boxAbout .txtAbout2{
		font-size: 13px;
		line-height: calc(28/13);
		letter-spacing: 0;
	}
}

/*----------------------------
	secRefrairBrand
----------------------------*/
.secRefrairBrand{
	position: relative;
	margin-top: 170px;
	padding: 168px 0 70px;
	text-align: center;
	background-color: #fff;
}
.secRefrairBrand::before{
	content: '';
	position: absolute;
	left: 50%;
	top: -50px;
	width: 1px;
	height: 100px;
	background: rgba(0, 0, 0, 1);
	z-index: 2;
}
.secRefrairBrand::after{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 850px;
	background: url(../img/housing_new/refrair/bgBrand.png) center top / cover no-repeat;
	pointer-events: none;
	z-index: 0;
}
.secRefrairBrand .boxBrandInner{
	position: relative;
	z-index: 1;
}
.secRefrairBrand .logoRefrair{
	margin: 0 auto;
	width: 336px;
	max-width: 100%;
}
.secRefrairBrand .logoRefrair img{
	display: block;
	width: 100%;
	height: auto;
}
.secRefrairBrand .tit{
	font-size: 32px;
	letter-spacing: 0.08em;
	font-weight: bold;
	margin-top: 48px;
	line-height: calc(50/28);}
.secRefrairBrand .txt{
	font-size: 16px;
	letter-spacing: 0.15em;
	line-height: calc(40/16);
	margin-top: 24px;
}
@media only screen and (max-width:767px){
	.secRefrairBrand{
		margin-top: 80px;
		padding: 70px 0 30px;
	}
	.secRefrairBrand::before{
		top: -30px;
		height: 60px;
	}
	.secRefrairBrand::after{
		height: 550px;
		background-image: url(../img/housing_new/refrair/bgBrand_sp.png);
	}
	.secRefrairBrand .logoRefrair{
		width: 156px;
	}
	.secRefrairBrand .logoRuby{
		font-size: 12px;
		margin-top: 8px;
	}
	.secRefrairBrand .logoSub{
		font-size: 10px;
		letter-spacing: 0.12em;
	}
	.secRefrairBrand .tit{
		font-size: 18px;
		line-height: calc(30/18);
		letter-spacing: 0.03em;
		margin-top: 23px;
	}
	.secRefrairBrand .txt{
		font-size: 13px;
		line-height: calc(28/13);
		letter-spacing: 0.05em;
		margin-top: 10px;
	}
	.secRefrairFlex .boxImg img {
		aspect-ratio: 345 / 308;
	}
}

/*----------------------------
	house callouts
----------------------------*/
.secRefrairFeature{
	margin-top: 0;
    position: relative;
    z-index: 1;
}
@media only screen and (min-width:768px){
	.secRefrairFeature .item:first-child .boxTxt{
		width: auto;
	}
	.secRefrairFeature .item:first-child .boxImgHouse{
		width: 791px;
		flex: none;
		max-width: 791px;
	}
}
.boxImgHouse{
	position: relative;
}
.boxImgHouse img{
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 791 / 593;
	object-fit: contain;
}

/*----------------------------
	secRefrairMessage
----------------------------*/
.secRefrairMessage{
	position: relative;
	margin-top: 140px;
	min-height: 560px;
	display: flex;
	align-items: center;
	background: url(../img/housing_new/refrair/imgMessage.jpg) center center / cover no-repeat;
}
.secRefrairMessage .boxMessageInner{
	position: relative;
	z-index: 1;
	color: #fff;
	padding: 190px 0;
}
.secRefrairMessage::before{
	content: '';
	position: absolute;
	left: 50%;
	top: -50px;
	width: 1px;
	height: 100px;
	background: rgba(0, 0, 0, 1);
}
.secRefrairMessage .tit{
	font-size: 38px;
	line-height: calc(80/38);
	letter-spacing: 0.15em;
	font-weight: bold;
}
.secRefrairMessage .tit::after{
	content: '';
	display: inline-block;
	width: 100px;
	height: 1px;
	background: currentColor;
	vertical-align: middle;
	margin-left: 0.4em;
}
.secRefrairMessage .txt{
	font-size: 22px;
	line-height: calc(60/22);
	letter-spacing: 0.15em;
	margin-top: 36px;
	max-width: 720px;
}
@media only screen and (max-width:767px){
	.secRefrairMessage{
		display: block;
		margin-top: 80px;
		min-height: 0;
		background: none;
		background-color: #fff;
	}
	.secRefrairMessage::before{
		top: -30px;
		height: 60px;
	}
	.secRefrairMessage::after{
		content: none;
	}
	.secRefrairMessage .boxMessageImg{
		width: 100%;
	}
	.secRefrairMessage .boxMessageImg img{
		display: block;
		width: 100%;
		height: auto;
	}
	.secRefrairMessage .boxMessageInner{
		padding: 40px 0 0;
		color: #000;
	}
	.secRefrairMessage .tit{
		font-size: 20px;
		line-height: calc(38/20);
		letter-spacing: 0.05em;
	}
	.secRefrairMessage .tit::after{
		width: 30px;
		background: #000;
	}
	.secRefrairMessage .txt{
		font-size: 15px;
		line-height: calc(30/15);
		margin-top: 10px;
		letter-spacing: 0.05em;
	}
}

/*----------------------------
	back button
----------------------------*/
.secRefrairBack{
	padding: 100px 0 200px;
}
.secRefrairBack .btnMore{
	width: 800px;
	height: 110px;
	border: 1px solid #000;
	padding: 0 60px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	font-size: 20px;
	letter-spacing: 0.1em;
	margin: 0 auto;
	position: relative;
}
.secRefrairBack .btnMore::after{
	content: '';
	width: 140px;
	height: 8px;
	position: absolute;
	top: 50%;
	left: 60px;
	transform: translateY(-50%);
}
.secRefrairBack .btnMore.lazyloaded::after{
	background: url(../img/housing_new/btnMoreArrow_back.png) center left / cover no-repeat;
}
@media only screen and (max-width:767px){
	.secRefrairBack{
		padding: 62px 0 120px;
	}
	.secRefrairBack .btnMore{
		width: 89.335%;
		height: 90px;
		padding: 0 18px;
		font-size: 15px;
		letter-spacing: 0;
		max-width: 400px;
	}
	.secRefrairBack .btnMore::after{
		width: 50px;
		height: 8px;
		left: 20px;
	}
}
@media only screen and (max-width:320px){
	.secRefrairBack .btnMore{
		height: 70px;
		font-size: 12px;
		margin-top: 0;
	}
}
@media only screen and (max-width:320px){
	.secRefrairBrand .tit {
        font-size: 16px;
    }
	.secRefrairMessage .tit {
        font-size: 18px;
    }
	.secRefrairMessage .txt {
        font-size: 13px;
    }
}