@charset "UTF-8";

/*========================================================================

  common

========================================================================*/

/*  base
========================================================================*/

@font-face {
    font-family: 'merriweather';
    src: url(../../assets/font/Merriweather-Light.woff)format("woff");
    font-weight: normal;
    font-display: swap;
}

/*  accessibility
========================================================================*/

.visually-hidden {
	display: none;
}

/*========================================================================

  utility

========================================================================*/

.u_center {
	text-align: center!important;
}
.u_left {
	text-align: left!important;
}
.u_mt60 {
	margin-top: 30px;
}

@media print, screen and (min-width: 768px) {
	.u_sp {
		display: none!important;
	}
}
@media screen and (max-width: 767px) {
	.u_pc {
		display: none!important;
	}
}

/*  button
========================================================================*/

.si_button:not(:first-child) {
	margin-top: 60px;
}
.si_button {
	text-align: center;
}
.si_button button {
	font-size: 100%;
}
.si_button a,
.si_button button {
	position: relative;
	font-size: 1.125rem;
	padding: 18px 20px;
	border: 1px solid #242424;
	display: inline-block;
	width: 100%;
	max-width: 440px;
	text-decoration: none;
	font-weight: bold;
	background: #fff;
	text-align: center;
	letter-spacing: 0;
	line-height: 1.777777;
	color: #242424;
}
.si_button a:after,
.si_button button:after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 25px;
	margin: auto;
	width: 6px;
	height: 6px;
	border-top: 2px solid #242424;
	border-right: 2px solid #242424;
	transform: rotate(45deg);
	transition: all .3s;
}
@media (min-width: 768px) {
	.si_button a:hover,
	.si_button button:hover {
		color: rgba(36, 36, 36, 0.7);
		transition: all .3s;
	}
}
@media screen and (max-width: 767px) {
	.si_button:not(:first-child) {
		margin-top: 30px;
	}
	.si_button a,
	.si_button button {
		font-size: 1rem;
	}
}

/*  more
------------------------------------------------*/

.si_button.more {
	margin-top: 60px;
}
.si_button.more button:before,
.si_button.more button:after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 25px;
	width: 12px;
	height: 1.5px;
	background: #242424;
	border: none;
	transition: all .3s;
}
.si_button.more button:after {
	transform: rotate(90deg);
}
.si_button.more button.open:after {
	transform: rotate(360deg);
}

@media screen and (max-width: 767px) {
	.si_button.more {
		margin-top: 30px;
	}
}

/*  prev
------------------------------------------------*/

.si_button.prev a:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 25px;
	margin: auto;
	width: 6px;
	height: 6px;
	border-top: 2px solid #242424;
	border-right: 2px solid #242424;
	transform: rotate(225deg);
	transition: all .3s;
}
.si_button.prev a:after {
	content: none;
	position: absolute;
}


/*  link-back 
------------------------------------------------*/

.si_link-back .si_button:not(:first-child) {
    margin-top: 20px;
}
.si_link-back .si_button a {
	padding: 14px 20px;
}

@media screen and (max-width: 767px) {
	.si_link-back .si_button:not(:first-child) {
	    margin-top: 10px;
	}
}

/*  footer-contact
------------------------------------------------*/

.si_footer-contact .si_button:not(:first-child) {
	margin-top: 35px;
}
@media screen and (max-width: 767px) {
	.si_footer-contact .si_button:not(:first-child) {
		margin-top: 25px;
	}
}

/*  category-text
------------------------------------------------*/

.si_brown-h3 + .si_category-text:not(:first-child) {
	margin-top: 35px;
}
.si_features-h2 + .si_category-text:not(:first-child) {
	margin-top: 35px;
}
.si_point-h3 + .si_category-text {
	margin-top: 35px;
}
.si_group + .si_category-text {
	margin-top: 35px;
}
.si_category-text:not(:first-child) {
	margin-top: 20px;
}
.si_category-text {
	font-size: 1.125rem;
}
.si_category-text sup {
	font-size: 0.5em;
	display: inline-block;
	top: 10px;
	margin-top: 0.4em;
}

@media screen and (max-width: 767px) {
	.si_point-h3 + .si_category-text {
		margin-top: 20px;
	}
	.si_category-h4 + .si_category-text {
		margin-top: 10px;
	}
	.si_category-text {
		margin-top: 10px;
		font-size: 1rem;
		line-height: 2;
	}
	.si_group + .si_category-text {
		margin-top: 20px;
	}
}

/*  category-h3
------------------------------------------------*/

.si-category-h3:not(:first-child) {
	margin-top: 25px;
}
.si-category-h3 {
	font-size: 2rem;
	line-height: 1.625;
}

@media screen and (max-width: 767px) {
	.si-category-h3 {
		font-size: 1.25rem;
		line-height: 1.5;
		letter-spacing: 0.1em;
	}
	.si-category-h3.small {
		font-size: 112.5%;
		line-height: 1.5;
		letter-spacing: 0;
	}
}

/*  partner-map_2025
========================================================================*/

/*  partner-map
------------------------------------------------*/

.si_partner-map_2025 {
    position: relative;
    margin: 30px auto 0;
    max-width: 900px;
}
.si_partner-map_2025 .image {
	display: block;
}
.si_partner-map_2025 .partner-list a {
    position: absolute;
    display: block;
    transition: all .3s;
}
@media (min-width: 768px) {
    .si_partner-map_2025 .partner-list a:hover {
        background-color: rgb(245 244 240 / 60%);
        mix-blend-mode: multiply;
    }
}
.si_partner-map_2025 .partner-list a.tsuchiyahome {
    width: 22.5%;
    height: 18%;
    top: 7%;
    right: 2%;
}
.si_partner-map_2025 .partner-list a.sekihokensetsu {
    width: 26%;
    height: 14%;
    top: 30%;
    right: 1.8%;
}
.si_partner-map_2025 .partner-list a.noble-home {
    width: 29%;
    height: 11%;
    top: 47.5%;
    right: 2%;
}
.si_partner-map_2025 .partner-list a.shoei-k {
    width: 21%;
    height: 15%;
    top: 76%;
    right: 17.5%;
}
.si_partner-map_2025 .partner-list a.income-house {
    width: 28.5%;
    height: 12%;
    top: 5%;
    left: 1%;
}
.si_partner-map_2025 .partner-list a.kanju {
    width: 24%;
    height: 14%;
    top: 21%;
    left: 1%;
}
.si_partner-map_2025 .partner-list a.totate-housing {
    width: 27%;
    height: 12%;
    top: 48.5%;
    left: 1%;
}
.si_partner-map_2025 .partner-list a.yuyuhome {
    width: 28.5%;
    height: 12%;
    top: 68.5%;
    left: 1%;
}
.si_partner-map_2025 .partner-list a.entetsuhome {
    width: 22.5%;
    height: 14%;
    top: 77%;
    left: 36.5%;
}
.si_partner-map_2025 .partner-list a.alnethome {
    width: 24%;
    height: 12%;
    top: 62%;
    right: 2.5%;
}

@media screen and (max-width: 767px) {
	.si_partner-map_2025 {
	    margin: 20px -10px 0;
	}
    .si_partner-map_2025 .partner-list a.tsuchiyahome {
        width: 29%;
        height: 16%;
        top: 25%;
        right: 3%;
    }
    .si_partner-map_2025 .partner-list a.sekihokensetsu {
        width: 33%;
        height: 13%;
        top: 43%;
        right: 0%;
    }
    .si_partner-map_2025 .partner-list a.noble-home {
        width: 36%;
        height: 15%;
        top: 57%;
        right: 0;
    }
    .si_partner-map_2025 .partner-list a.shoei-k {
        width: 24%;
        height: 15%;
        top: 73%;
        right: 39%;
    }
    .si_partner-map_2025 .partner-list a.income-house {
        width: 33%;
        height: 15%;
        top: 1%;
        left: 0%;
    }
    .si_partner-map_2025 .partner-list a.kanju {
        width: 39%;
        height: 13%;
        top: 16%;
        left: 0%;
    }
    .si_partner-map_2025 .partner-list a.totate-housing {
        width: 32%;
        height: 13%;
        top: 29.5%;
        left: 1%;
    }
    .si_partner-map_2025 .partner-list a.yuyuhome {
        width: 32%;
        height: 15%;
        top: 43%;
        left: 1%;
    }
	.si_partner-map_2025 .partner-list a.entetsuhome {
	    width: 26.5%;
	    height: 14%;
	    top: 74%;
	    left: 9.5%;
	}
	.si_partner-map_2025 .partner-list a.alnethome {
	    width: 30%;
	    height: 14%;
	    top: 74%;
	    right: 3.5%;
	}
}

/* si-flow-block-area
------------------------------------------------*/
.si-flow-block-area .si_partner-map_2025 {
    margin: 20px auto 30px;
    max-width: 100%;
}