@charset "utf-8";
/*----------------------------
	boxPageTop
----------------------------*/
.boxPageTop{
    display: flex;
    flex-direction: column;
    gap: 45px;
    width: 100%;
    justify-content: center;
    color: #fff;
    background: url(../img/housing_new/bgCmnTit.jpg) center top / cover no-repeat;
    height: 548px;
    align-items: center;
}
.boxPageTop .pageTitEng{
	font-size: 16px;
	letter-spacing: 0.16em;
	font-weight: 500;
	text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.4), 0 0 20px rgba(0, 0, 0, 0.3);
}
.boxPageTop .pageTitJp{
	font-size: 68px;
	letter-spacing: 0.05em;
	font-weight: 500;
	text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.4), 0 0 20px rgba(0, 0, 0, 0.3);
}
.boxPageTop .pageTitSub{
	font-size: 26px;
	letter-spacing: 0.18em;
	font-weight: 500;
	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){
	.boxPageTop{
        gap: 20px;
        background: url(../img/housing_new/bgCmnTit_sp.jpg) center top / cover no-repeat;
        height: 200px;
    }
    .boxPageTop .pageTitEng{
        font-size: 11px;
        letter-spacing: 0.03em;
    }
    .boxPageTop .pageTitJp{
        font-size: 26px;
        letter-spacing: 0.1em;
    }
    .boxPageTop .pageTitSub{
        font-size: 15px;
        letter-spacing: 0.1em;
    }
}

/*----------------------------
	secTop
----------------------------*/
.secTop{
    position: relative;
    padding-top: 90px;
    padding-bottom: 25.55vw;
}
.secTop.lazyloaded::before{
    content: '';
    position: absolute;
    width: 1347px;
    height: 863px;
    bottom: -110px;
    left: calc(50% - 210px);
    z-index: -1;
}
.secTop.lazyloaded::before{
    background: url(../img/housing_new/bgTop.png) center top / cover no-repeat;
}
.secTop .imgTop01{
    width: calc(750 / 1920 * 100%);
    position: absolute;
    top: 460px;
    left: 0;
}
.secTop .imgTop02{
    width: calc(260 / 1920 * 100%);
    position: absolute;
    top: 30px;
    right: 130px;
}
.secTop .imgTop03{
    width: calc(1750 / 1920 * 100%);
    position: absolute;
    bottom: -210px;
    right: 0;
    z-index: 2;
}
.secTop .boxTxt{
    display: flex;
    gap: 21.12%;
}
.secTop .boxTxt .txtLeft{
    font-size: 30px;
    line-height: 82px;
    letter-spacing: 0.3em;
    font-weight: 500;
    white-space: nowrap;
}
.secTop .boxTxt .txtRight{
    font-size: 24px;
    line-height: 62px;
    letter-spacing: 0.25em;
    margin-top: 70px;
}
.secTop .boxTxt .txtRightMin{
    font-size: 18px;
    line-height: 60px;
    letter-spacing: 0.15em;
    margin-top: 45px;
}
@media only screen and (max-width:1500px){
    .secTop .imgTop02{
        top: 10px;
        right: 0;
    }
    .secTop .boxTxt{
        gap: 15%;
    }
}
@media only screen and (max-width:1300px){
    .secTop .boxTxt{
        gap: 7%;
    }
}
@media only screen and (max-width:767px){
    .secTop{
        position: relative;
        padding-top: 275px;
        padding-bottom: 172px;
        max-width: 400px;
        margin: 0 auto;
    }
	.secTop .imgTop01 {
        width: calc(355 / 375 * 100%);
        top: 50px;
        right: 0;
        left: unset;
        max-width: 355px;
    }
    .secTop .boxTxt {
        display: block;
    }
    .secTop .boxTxt .txtLeft {
        font-size: 18px;
        line-height: 38px;
        letter-spacing: 0.15em;
    }
    .secTop .boxTxt .txtRight {
        font-size: 15px;
        line-height: 30px;
        letter-spacing: 0.05em;
        margin-top: 12px;
    }
    .secTop .boxTxt .txtRightMin {
        font-size: 13px;
        line-height: 28px;
        letter-spacing: 0.05em;
        margin-top: 10px;
    }
    .secTop .imgTop03 {
        width: calc(315 / 375 * 100%);
        bottom: -100px;
        right: 20px;
        z-index: 2;
        max-width: 315px;
    }
    .secTop.lazyloaded::before {
        content: '';
        position: absolute;
        width: 609px;
        height: 390px;
        bottom: 0;
        left: calc(50% - 170px);
        right: 0;
        z-index: -1;
    }
}
/*----------------------------
	secThinking
----------------------------*/
.secThinking{
    padding: 170px 0 0;
    background: #f7f7f7;
    position: relative;
}
.secThinking::before{
    content: '';
    position: absolute;
    width: 273px;
    height: 734px;
    top: 166px;
    right: 0;
}
.secThinking.lazyloaded::before{
    background: url(../img/housing_new/bgThinking.png) center top / cover no-repeat;
}
.secThinking .wrapperInner{
    position: relative;
}
.secThinking .tit{
    font-size: 30px;
    line-height: 80px;
    letter-spacing: 0.2em;
    font-weight: 500;
}
.secThinking .boxThinking{
    position: relative;
    width: 100%;
    max-width: 1170px;
    margin: 0 auto;
    padding: 100px 0;
    min-height: 1090px;
    top: -150px;
}
.secThinking .circleLines{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
}
.secThinking .circleItem{
    position: absolute;
    width: 600px;
    height: 600px;
    padding: 50px 40px;
    border: 1px solid rgb(224, 224, 224);
    border-radius: 50%;
    text-align: center;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.secThinking .circleItem.item01{
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}
.secThinking .circleItem.item02{
    bottom: 0;
    left: 0;
}
.secThinking .circleItem.item03{
    bottom: 0;
    right: 0;
}
.secThinking .circleImg{
    width: 200px;
    height: 200px;
    margin: 0 auto 30px;
    border-radius: 50%;
    overflow: hidden;
    position: absolute;
    top: -5px;
    right: 0;
}
.secThinking .circleItem.item02 .circleImg{
    left: 0;
    right: unset;
}
.secThinking .circleTit{
    font-size: 50px;
    font-weight: 500;
    margin-bottom: 40px;
    letter-spacing: 0.1em;
}
.secThinking .circleSub{
    font-size: 20px;
    letter-spacing: 0.05em;
    margin-bottom: 20px;
    padding-bottom: 3px;
    border-bottom: 1px solid #000;
    font-weight: 500;
}
.secThinking .circleTxt{
    font-size: 16px;
    line-height: 40px;
    letter-spacing: 0.15em;
    text-align: left;
}
@media only screen and (max-width:1400px){
    .secThinking::before {
        content: '';
        position: absolute;
        width: 180px;
        height: 484px;
        top: 166px;
        right: 0;
    }
}
@media only screen and (max-width:1250px){
    .secThinking::before {
        content: '';
        position: absolute;
        width: 180px;
        height: 484px;
        top: 166px;
        right: 0;
    }
    .secThinking .boxThinking {
        max-width: 960px;
        margin: 0 auto;
        padding: 100px 0;
        min-height: 900px;
    }
    .secThinking .circleItem {
        width: 500px;
        height: 500px;
    }
    .secThinking .circleImg {
        width: 150px;
        height: 150px;
    }
}
@media only screen and (max-width:767px){
    .secThinking{
        padding: 138px 0 40px;
    }
    .secThinking .wrapperInner {
        max-width: 400px;
        margin: 0 auto;
    }
    .secThinking .tit{
        font-size: 18px;
        line-height: 36px;
        margin-bottom: 40px;
        letter-spacing: 0.1em;
    }
    .secThinking .boxThinking{
        padding: 0;
        min-height: auto;
        top: 0;
    }
    .secThinking .circleLines{
        display: none;
    }
    .secThinking .circleItem{
        position: relative;
        width: 100%;
        max-width: 400px;
        height: 240px;
        padding: 20px 20px;
        margin: 0 auto;
        transform: none;
        top: unset;
        left: unset;
        right: unset;
        bottom: unset;
    }
    .secThinking .circleItem.item01 {
        transform: none;
        top: unset;
        left: unset;
        right: unset;
        bottom: unset;
    }
    .secThinking .circleItem.item02 {
        transform: none;
        top: -20px;
    }
    .secThinking .circleItem.item03 {
        transform: none;
        top: -40px;
    }
    .secThinking .circleItem:last-child{
        margin-bottom: 0;
    }
    .secThinking .circleImg{
        width: 80px;
        height: 80px;
        top: -5px;
        left: 10px;
        right: unset;
    }
    .secThinking .circleTit{
        font-size: 20px;
        margin-bottom: 16px;
    }
    .secThinking .circleSub{
        font-size: 13px;
        letter-spacing: 0.03em;
        margin-bottom: 11px;
    }
    .secThinking .circleTxt{
        font-size: 11px;
        line-height: 20px;
    }
    .secThinking::before {
        content: '';
        position: absolute;
        width: 80px;
        height: 215px;
        top: 85px;
        right: 0
    }
    .secThinking .circleItem.item02 .circleImg {
        left: unset;
        right: 5px;
        top: 0px;
    }
}
@media only screen and (max-width:370px){
    .secThinking .circleTxt {
        font-size: 10px;
        letter-spacing: 0.05em;
    }
    .secThinking .circleSub {
        font-size: 12px;
    }
    .secThinking .circleImg {
        top: -14px;
    }
}
/*----------------------------
	secKnow
----------------------------*/
.secKnow{
    z-index: 1;
    position: relative;
}
.secKnow .spwrapper{
    padding: 200px 0;
    display: flex;
    justify-content: center;
    height: 1000px;
}
.secKnow.lazyloaded .spwrapper{
    background: url(../img/housing_new/bgKnow.jpg) center top / cover no-repeat;
}
.secKnow .tit{
    writing-mode: vertical-rl;
    text-orientation: mixed;
    font-size: 30px;
    line-height: 100px;
    letter-spacing: 0.3em;
    font-weight: 500;
    color: #fff;
}
@media only screen and (max-width:767px){
    .secKnow{
        background: #f7f7f7;
    }
    .secKnow .spwrapper{
        padding: 80px 0;
        height: calc(463 / 375 * 100vw);
        height: 463px;
        max-width: 400px;
        margin: 0 auto;
    }
    .secKnow.lazyloaded .spwrapper{
        background: url(../img/housing_new/bgKnow_sp.jpg) center top / cover no-repeat;
    }
    .secKnow .tit{
        font-size: 18px;
        line-height: 50px;
        letter-spacing: 0.15em;
    }
}

/*----------------------------
	secValue
----------------------------*/
.secValue {
    padding-top: 116px;
    position: relative;
    z-index: 0;
}
.secValue::before{
    content: '';
    position: absolute;
    width: 1347px;
    height: 863px;
    top: -35px;
    right: -210px;
    z-index: -1;
}
.secValue.lazyloaded::before{
    background: url(../img/housing_new/bgValue.png) center top / cover no-repeat;
}
.secValue .boxTit{
	width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 60px;
}
.secValue .tit{
	font-size: 30px;
    line-height: 80px;
    letter-spacing: 0.2em;
    font-weight: 500;
}
.secValue .accordionItemInner{
	position: relative;
	cursor: pointer;
    width: 700px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 44px 30px;
    background: #f7f7f7;
    margin: 0 auto;
    margin-bottom: 60px;
}
.secValue .accordionItemInner::after{
	content: "+";
	position: absolute;
	top: 50%;
	right: 40px;
	transform: translateY(-50%);
	font-size: 24px;
	line-height: 1;
	transition: transform 0.2s ease, opacity 0.2s ease;
}
.secValue .accordionItemTit{
	font-size: 18px;
    letter-spacing: 0.1rem;
}
.secValue .accordionItem.is-open .accordionItemInner::after{
	content: "－";
}
.secValue .accordionItem .boxTxt{
	display: none;
}
.secValue .accordionItem .txtAccordion{
	font-size: 16px;
    line-height: 40px;
    letter-spacing: 0.15em;
    margin-bottom: 150px;
}
@media only screen and (max-width:1600px){
    .secValue::before{
        right: -390px;
    }
}
@media only screen and (max-width:1300px){
    .secValue::before{
        right: -450px;
    }
}
@media only screen and (max-width:767px){
    .secValue {
        padding-top: 67px;
    }
    .secValue::before {
        display: none;
    }
    .secValue .wrapperInner::before {
        content: '';
        position: absolute;
        width: 375px;
        height: 240px;
        top: -65px;
        left: calc(50% - 50px);
    }
    .secValue.lazyloaded .wrapperInner::before{
        background: url(../img/housing_new/bgValue.png) center top / cover no-repeat;
    }
    .secValue .tit {
        font-size: 18px;
        line-height: 36px;
        letter-spacing: 0.15em;
    }
    .secValue .wrapperInner {
        max-width: 400px;
        margin: 0 auto;
        position: relative;
    }
    .secValue .boxTit {
        margin-bottom: 50px;
        justify-content: flex-start;
    }
    .secValue .accordionItemInner {
        width: 100%;
        padding: 20px 30px;
        margin-bottom: 30px;
    }
    .secValue .accordionItemTit {
        font-size: 13px;
        line-height: 22px;
        letter-spacing: 0.05rem;
        text-align: center;
    }
    .secValue .accordionItemInner::after {
        top: unset;
        bottom: -21px;
        right: unset;
        left: 50%;
        transform: translateY(-50%);
        font-size: 22px;
        line-height: 1;
        transition: transform 0.2s ease, opacity 0.2s ease;
    }
    .secValue .accordionItem .txtAccordion {
        font-size: 13px;
        line-height: 28px;
        letter-spacing: 0.05em;
        margin-bottom: 30px;
    }
    .secValue .imgValue{
        max-width: 400px;
        margin: 0 auto;
        margin-top: 86px;
    }
    .secValue .accordionItem.is-open .accordionItemInner::after {
        content: "－";
        font-size: 20px;
    }
}

/*----------------------------
	secWarrantyIndex
----------------------------*/
.secWarrantyIndex{
	padding: 50px 0 200px;
}
.secWarrantyIndex .tit{
	font-size: 60px;
	letter-spacing: 0.2em;
	font-weight: 500;
	text-align: center;
}
.secWarrantyIndex .txt{
	font-size: 18px;
	line-height: 40px;
	letter-spacing: 0.1em;
	text-align: center;
	margin-top: 60px;
}
.secWarrantyIndex .boxWarranty{
	margin-top: 180px;
}
.secWarrantyIndex .boxWarrantyInner{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10.6%;
}
.secWarrantyIndex .boxWarrantyInner .line{
	flex: 1;
	max-width: 300px;
	height: 1px;
	background: #000;
}
.secWarrantyIndex .boxWarrantyTxt{
	display: flex;
	align-items: center;
	gap: 20px;
}
.secWarrantyIndex .boxWarrantyTxt .num{
    font-size: 300px;
    color: transparent;
    -webkit-text-stroke: 3px #000;
}
.secWarrantyIndex .boxWarrantyTxtRight .txtTop{
	font-size: 22px;
	line-height: 50px;
	letter-spacing: 0.1em;
    font-weight: 500;
}
.secWarrantyIndex .boxWarrantyTxtRight .txtBottom{
	font-size: 44px;
	letter-spacing: 0.15em;
	margin-top: 8px;
    font-weight: 500;
}
.secWarrantyIndex .txtLink{
	font-size: 18px;
	letter-spacing: 0.1em;
    font-weight: 500;
    text-align: center;
    margin-top: 55px;
}
@media only screen and (max-width:767px){
	.secWarrantyIndex{
		padding: 30px 0 100px;
	}
	.secWarrantyIndex .wrapperInner{
        max-width: 400px;
        margin: 0 auto;
	}
	.secWarrantyIndex .tit{
		font-size: 18px;
		line-height: 36px;
		letter-spacing: 0.15em;
	}
	.secWarrantyIndex .txt{
		font-size: 13px;
		line-height: 28px;
		letter-spacing: 0.05em;
        margin-top: 15px;
	}
	.secWarrantyIndex .boxWarranty{
		margin-top: 70px;
	}
	.secWarrantyIndex .boxWarrantyInner{
		gap: 18px;
	}
	.secWarrantyIndex .boxWarrantyInner .line{
		max-width: 50px;
	}
	.secWarrantyIndex .boxWarrantyTxt{
		gap: 10px;
	}
	.secWarrantyIndex .boxWarrantyTxt .imgNum{
		width: 60px;
	}
	.secWarrantyIndex .boxWarrantyTxt .num{
		font-size: 120px;
	}
	.secWarrantyIndex .boxWarrantyTxtRight .txtTop{
        font-size: 10px;
        line-height: 1.8;
        letter-spacing: 0.05em;
	}
	.secWarrantyIndex .boxWarrantyTxtRight .txtBottom{
		font-size: 20px;
        margin-top: 6px;
	}
    .secWarrantyIndex .txtLink{
        font-size: 13px;
        line-height: calc(28 / 13);
        letter-spacing: 0.05em;
        margin-top: 24px;
    }
}

/*----------------------------
	boxConceptLink
----------------------------*/
.boxConceptLink{
	margin-top: 90px;
}
.boxConceptLink .listConcept{
	display: flex;
    flex-wrap: wrap;
	gap: 25px 1.37%;
    justify-content: center;
}
.boxConceptLink .item{
	width: 32.42%;
    max-width: 590px;
    position: relative;
}
.boxConceptLink .item a{
	display: block;
	position: relative;
	overflow: hidden;
}
.boxConceptLink .boxImg{
	position: relative;
	width: 100%;
	padding-top: calc(700 / 590 * 100%);
	overflow: hidden;
}
.boxConceptLink .boxImg .bg,
.boxConceptLink .boxImg .circle{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.boxConceptLink .boxImg .bg img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: blur(6px);
	transform: scale(1.08);
	transition: filter 0.6s ease, transform 0.6s ease;
}
.boxConceptLink .boxImg .circle{
	display: flex;
	align-items: center;
	justify-content: center;
}
.boxConceptLink .boxImg .circle img{
	width: 360px;
	height: 360px;
	object-fit: cover;
	border-radius: 50%;
	box-shadow: 0 0 0 2px rgba(255,255,255,0.7);
	transition: transform 0.6s ease, border-radius 0.6s ease, box-shadow 0.6s ease;
}
.boxConceptLink .item:hover .boxImg .bg img{
	transform: scale(1.02);
}
.boxConceptLink .item:hover .boxImg .circle img{
	transform: scale(1.6);
	box-shadow: 0 0 0 0 rgba(255,255,255,0);
}

/* item01: 中央360×360だけ非ぼかし → ホバーで全体クリア */
@property --mask-radius {
	syntax: '<length>';
	inherits: false;
	initial-value: 180px;
}
.boxConceptLink .item .boxImg .bg img{
	filter: none;
	transform: scale(1.02);
}
.boxConceptLink .item .boxImg::after{
	content: "";
	position: absolute;
	inset: 0;
	background: url(../img/housing_new/imgHousingLink01.jpg) center / cover no-repeat;
	filter: blur(4px) brightness(0.8);
	transform: scale(1);
	--mask-radius: 180px;
	transition: --mask-radius 0.6s ease; /* ホバー解除時は0.6秒 */
	/* 中央半径180px(360×360)だけ透明、外側をマスク */
	-webkit-mask: radial-gradient(circle var(--mask-radius) at 50% 50%, transparent 0 var(--mask-radius), #000 calc(var(--mask-radius) + 1px));
	mask: radial-gradient(circle var(--mask-radius) at 50% 42%, transparent 0 var(--mask-radius), #000 calc(var(--mask-radius) + 1px));
}
.boxConceptLink .item:hover .boxImg::after{
	--mask-radius: 1000px; /* 画面全体を覆う大きさに拡大 */
	transition: --mask-radius 2s ease; /* ホバー時は1秒 */
}
.boxConceptLink .boxTxt{
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 30px 30px 80px;
    color: #fff;
}
.boxConceptLink .labelTop{
	display: flex;
	justify-content: space-between;
	font-size: 10px;
	letter-spacing: 0.15em;
}
.boxConceptLink .labelTop .num{
	border: 1px solid #fff;
	border-radius: 15px;
	width: 70px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    letter-spacing: 0.05em;
}
.boxConceptLink .labelTop .category{
    font-size: 22px;
    letter-spacing: 0.02em;
}
.boxConceptLink .labelBottom{
	text-align: center;
}
.boxConceptLink .labelBottom .titJp{
	font-size: 40px;
	letter-spacing: 0.1em;
}
.boxConceptLink .labelBottom .titSub{
	font-size: 20px;
	letter-spacing: 0.1em;
	margin-top: 25px;
    padding-bottom: 5px;
    border-bottom: 1px solid #fff;
    display: inline-block;
}
.boxConceptLink .item::after{
	content: "";
	position: absolute;
	right: 36px;
	bottom: 36px;
	width: 37px;
	height: 37px;
	border-radius: 50%;
	border: 1px solid rgba(255,255,255,0.8);
	display: flex;
	align-items: center;
	justify-content: center;
}
.boxConceptLink .item::before{
    content: "";
    position: absolute;
    right: 52px;
    bottom: 50px;
    width: 10px;
    height: 10px;
    border-right: 1px solid rgba(255, 255, 255, 0.8);
    border-top: 1px solid rgba(255, 255, 255, 0.8);
    transform: rotate(45deg);
    transform-origin: center;
    z-index: 1;
}
.boxConceptLink .boxImg::after {
    background: url(../img/housing_new/imgHousingLink01_sp.jpg) center / cover no-repeat;
}
.boxConceptLink .item02 .boxImg::after {
    background: url(../img/housing_new/imgHousingLink02.jpg) center / cover no-repeat;
}
.boxConceptLink .item03 .boxImg::after {
    background: url(../img/housing_new/imgHousingLink03.jpg) center / cover no-repeat;
}
.boxConceptLink .item04 .boxImg::after {
    background: url(../img/housing_new/imgHousingLink04.jpg) center / cover no-repeat;
}
.boxConceptLink .item05 .boxImg::after {
    background: url(../img/housing_new/imgHousingLink05.jpg) center / cover no-repeat;
}
.boxConceptLink .item06 .boxImg::after {
    background: url(../img/housing_new/imgHousingLink06.jpg) center / cover no-repeat;
}

@media only screen and (max-width:1750px){
    .boxConceptLink .item .boxImg::after{
        --mask-radius: 150px;
    }
}
@media only screen and (max-width:1600px){
    .boxConceptLink .item .boxImg::after{
        --mask-radius: 125px;
    }
    .boxConceptLink .boxTxt {
        padding: 30px 30px 80px;
    }
}
@media only screen and (max-width:1550px){
    .boxConceptLink .item .boxImg::after{
        --mask-radius: 100px;
    }
    .boxConceptLink .labelBottom .titJp {
        font-size: 34px;
        letter-spacing: 0.1em;
    }
    .boxConceptLink .labelBottom .titSub {
        font-size: 18px;
        letter-spacing: 0.1em;
        margin-top: 10px;
    }
}
@media only screen and (max-width:1300px){
    .boxConceptLink .item .boxImg::after{
        --mask-radius: 80px;
    }
}
@media only screen and (max-width:1024px){
	.boxConceptLink .listConcept{
		grid-template-columns: repeat(2, 1fr);
	}
}
@media only screen and (max-width:767px){
	.boxConceptLink{
		margin-top: 40px;
	}
	.boxConceptLink .listConcept{
		gap: 20px;
        flex-direction: column;
	}
    .boxConceptLink .item {
        width: 100%;
        max-width: unset;
        margin-bottom: 0px;
    }
    .boxConceptLink .labelTop .num {
        border-radius: 13.5px;
        width: 50px;
        height: 27px;
        font-size: 16px;
        letter-spacing: 0.03em;
    }
    .boxConceptLink .labelTop .category {
        font-size: 16px;
        letter-spacing: 0.03em;
    }
    .boxConceptLink .boxTxt {
        padding: 20px 20px 34px;
    }
    .boxConceptLink .labelBottom .titJp {
        font-size: 20px;
        letter-spacing: 0.05em;
    }
    .boxConceptLink .labelBottom .titSub {
        font-size: 13px;
        letter-spacing: 0.05em;
        margin-top: 13px;
    }
    .boxConceptLink .item::after {
        right: 20px;
        bottom: 20px;
        width: 23px;
        height: 23px;
    }
    .boxConceptLink .item::before {
        right: 30px;
        bottom: 28px;
        width: 6px;
        height: 6px;
    }
    .boxConceptLink .item .boxImg::after {
        display: none;
    }
    .boxConceptLink .boxImg {
        padding-top: calc(305 / 335 * 100%);
    }
}

/* btnMore */
.secWarrantyIndex .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: 120px auto 0;
    position: relative;
}
.secWarrantyIndex .btnMore::after {
    content: '';
    width: 140px;
    height: 8px;
    position: absolute;
    top: 50%;
    left: 60px;
    transform: translateY(-50%);
}
.secWarrantyIndex .btnMore.lazyloaded::after {
    background: url(../img/housing_new/btnMoreArrow_back.png) center left / cover no-repeat;
}
@media only screen and (max-width:767px){
    .secWarrantyIndex .btnMore {
        width: 100%;
        height: 90px;
        padding: 0 18px;
        font-size: 15px;
        line-height: calc(24 / 16);
        letter-spacing: 0;
        margin: 70px auto 0;
        max-width: 400px;
    }
    .secWarrantyIndex .btnMore::after {
        width: 75px;
        height: 8px;
        right: 20px;
    }
}
/*----------------------------
	secAward
----------------------------*/
.secAward{
	background-color: #f7f7f7;
	padding: 150px 0 200px;
	margin-bottom: 150px;
}
/* boxAwardTit */
.secAward .boxAwardTit{
	text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.secAward .boxAwardTit .boxTit{
	position: relative;
	color: #ae943a;
    display: inline-block;
	padding: 0 61px;
}
.secAward .boxAwardTit .boxTit::before,
.secAward .boxAwardTit .boxTit::after{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    left: 0;
    width: 27px;
    height: 84px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}
.secAward .boxAwardTit .boxTit::after{
    left: auto;
	right: 0;
}
.secAward .boxAwardTit .boxTit.lazyloaded::before{
	background-image: url(../img/housing_new/imgAward01.png);
}
.secAward .boxAwardTit .boxTit.lazyloaded::after{
	background-image: url(../img/housing_new/imgAward02.png);
}
.secAward .boxAwardTit .txtEng{
	font-size: 49px;
}
.secAward .boxAwardTit .txtJp{
	font-size: 16px;
	margin-top: 10px;
}
.secAward .boxAwardTit .boxTxt{
	margin-top: 50px;
}
.secAward .boxAwardTit .txt{
	font-size: 14px;
    background: linear-gradient(transparent 55%, #ffea00 55%, #ffea00 90%, transparent 90%);
	display: inline;
}
/* boxAwardLogoList */
.secAward .boxAwardList,
.secAward .boxAwardLogoList{
	display: flex;
	justify-content: center;
    align-items: center;
	gap: 6rem;
	margin-top: 6rem;
}
/* boxAwardList */
.secAward .boxAwardList{
	gap: 9rem;
}
.secAward .boxAwardList .txt{
	font-size: 15px;
	line-height: 2.1;
}
@media only screen and (max-width:1214px){
	.secAward .boxAwardList,
	.secAward .boxAwardLogoList{
		gap: 20px;
	}
}
@media only screen and (max-width:767px){
	.secAward{
		padding: 80px 0 90px;
		margin-bottom: 100px;
	}
	/* boxAwardTit */
	.secAward .boxAwardTit{
		display: block;
        max-width: 400px;
        margin: 0 auto;
	}
	.secAward .boxAwardTit .boxTit{
		padding: 0 36px;
	}
	.secAward .boxAwardTit .boxTit::before,
	.secAward .boxAwardTit .boxTit::after{
		width: 18px;
		height: 57px;
	}
	.secAward .boxAwardTit .txtEng{
		font-size: 30px;
	}
	.secAward .boxAwardTit .txtJp{
		font-size: 12px;
		margin-top: 8px;
	}
	.secAward .boxAwardTit .boxTxt{
		margin-top: 20px;
	}
	.secAward .boxAwardTit .txt{
		font-size: 12px;
		line-height: 1.5;
	}
	/* boxAwardLogoList */
	.secAward .boxAwardList,
	.secAward .boxAwardLogoList{
        max-width: 400px;
        margin: 0 auto;
		flex-wrap: wrap;
        gap: 2rem 1rem;
		margin-top: 3rem;
	}
	.secAward .boxAwardLogoList .item{
		max-width: 10rem;
		width: 29%;
	}
	.secAward .boxAwardLogoList .img{
		position: relative;
		width: 100%;
		height: 0;
		padding-top: 82%;
	}
	.secAward .boxAwardLogoList img{
		width:auto;
		height:auto;
		max-width:100%;
		max-height:100%;
		display:block;
		position:absolute;
		top:0;
		bottom:0;
		left:0;
		right:0;
		margin:auto;
	}
	/* boxAwardList */
	.secAward .boxAwardList{
		gap: 0;
	}
	.secAward .boxAwardList .item{
		width: 100%;
	}
	.secAward .boxAwardList .txt{
		font-size: 12px;
		line-height: 2.1;
	}
}
