@charset "utf-8";


body {
	/*スマホで勝手に文字が大きくなる対策*/
	-webkit-text-size-adjust: 100%;
	overflow-x: hidden;
}
/*Zen Kaku Gothic New 400*/
@font-face {
    font-family: 'Zen Kaku Gothic Antique';
    src: url(/fonts/ZenKakuGothicAntique-Regular.ttf);
    font-weight: 400;
    font-display: swap;
}
/*Zen Kaku Gothic New 500*/
@font-face {
    font-family: 'Zen Kaku Gothic Antique';
    src: url(/fonts/ZenKakuGothicAntique-Medium.ttf);
    font-weight: 500;
    font-display: swap;
}
/*Zen Kaku Gothic New 700*/
@font-face {
    font-family: 'Zen Kaku Gothic Antique';
    src: url(/fonts/ZenKakuGothicAntique-Bold.ttf);
    font-weight: 700;
    font-display: swap;
}
#contents *{
	font-family: "Zen Kaku Gothic Antique", sans-serif;
}
#contents {
	width: 100%;
	padding-bottom: 0;
	background-color: #fff;
}

/*---------------------------------------------------
COMMON
-----------------------------------------------------*/
.cmn__inner{
    width: 1140px;
    margin: 0 auto;
    position: relative;
}
[class^="cmn__section--"] {
	padding: 80px 0;
}
[class^="cmn__ttl--"] {
	text-align: center;
	font-size: 32px;
	font-weight: 500;
	color: #252525;
	position: relative;
	width: fit-content;
	margin: 0 auto;
	z-index: 0;
	line-height: 1.2;
}
[class^="cmn__ttl--"]:after {
	content: '';
	position: absolute;
	width: 140px;
	height: 12px;
	background: url(../images/cmn__ttl__deco.svg) no-repeat center center / cover;
	bottom: -20px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	z-index: -1;
}
[class^="cmn__ttl--"] span {
	font-size: 16px;
	font-weight: 700;
	position: relative;
	width: fit-content;
	margin: 0 auto;
	z-index: 0;
	background: linear-gradient(90deg, #0077E8 0%, #0260BA 100%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	letter-spacing: 0.8px;
	display: block;
	line-height: 1.1;
}
/*---------------------------------------------------

-----------------------------------------------------*/
.main__contents {
	background: url(../images/mv.webp) no-repeat center center / cover;
	height: 400px;
	padding: 53px 0;
}
.main__ttl__wrap {
	text-align: center;
	font-size: 48px;
	font-weight: 700;
	color: #fff;
	line-height: 1.7;
}
	.main__ttl__wrap span {
		display: block;
		font-size: 20px;
		font-weight: 500;
		color: #fff;
		position: relative;
		width: fit-content;
		margin: 0 auto;
		z-index: 0;
		letter-spacing: 1px;
	}
	.main__ttl__wrap span:after {
		content: '';
		position: absolute;
		width: 280px;
		height: 18px;
		background: url(../images/main__ttl__decoration.svg) no-repeat center center / cover;
		bottom: -10px;
		left: -20px;
		z-index: -1;
	}

.main__contact__wrap {
	position: absolute;
	width: 1172px;
	top: 209px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
}

.main__contact__merit__list {
	display: flex;
	justify-content: center;
	gap: 10px;
	top: 35px;
	position: relative;
}
.main__contact__merit__item {
	width: 150px;
	height: 150px;
	background: url(../images/merit__circle.webp) no-repeat center center / cover;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-size: 16px;
	font-weight: 700;
}
	.main__contact__merit__item span {
		font-size: 24px;
		color: #014F99;
		font-weight: 700;
		display: contents;
	}
.main__contact__bottom {
	background: url(../images/main__contact__bg.webp) no-repeat center center / cover;
	height: 202px;
	padding-top: 43px;
}

.main__contact__bottom__list {
	display: flex;
	justify-content: center;
	gap: 20px;
}
.main__contact__bottom__item {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.main__contact__bottom__item__ttl {
	text-align: center;
	font-size: 20px;
	font-weight: 500;
	position: relative;
}
.--satei .main__contact__bottom__item__ttl {
	color: #532929;
}
.--contact .main__contact__bottom__item__ttl {
	color: #293853;
}
.--line .main__contact__bottom__item__ttl {
	color: #29533B;
}
.main__contact__bottom__item__ttl::before,
.main__contact__bottom__item__ttl::after {
	content: '';
	position: absolute;
	width: 22px;
	height: 12px;
	bottom: 8px;
}
.main__contact__bottom__item__ttl::before {
	left: 35px;
}
.main__contact__bottom__item__ttl::after {
	right: 35px;
	transform: scale(-1, 1);
}
	.--satei .main__contact__bottom__item__ttl::before,
	.--satei .main__contact__bottom__item__ttl::after {
		background: url(../images/contact__illust01.svg) no-repeat center center / cover;
	}
	.--contact .main__contact__bottom__item__ttl::before,
	.--contact .main__contact__bottom__item__ttl::after {
		background: url(../images/contact__illust02.svg) no-repeat center center / cover;
	}
	.--contact .main__contact__bottom__item__ttl::before{
		left: 25px;
	}
    .--contact .main__contact__bottom__item__ttl::after {
		right: 25px;
	}
	.--line .main__contact__bottom__item__ttl::before,
	.--line .main__contact__bottom__item__ttl::after {
		background: url(../images/contact__illust03.svg) no-repeat center center / cover;
	}
	.--line .main__contact__bottom__item__ttl::before{
		left: 25px;
	}
    .--line .main__contact__bottom__item__ttl::after {
		right: 25px;
	}

.main__contact__bottom__item__link {
	display: flex;
	align-items: center;
	gap: 5px;
	width: 333px;
	height: 80px;
	border-radius: 9999px;
	overflow: hidden;
	padding-inline: 25px;
	font-size: 20px;
	font-weight: 700;
	color: #fff;
	position: relative;
	z-index: 1;
	text-decoration: none;
}
.main__contact__bottom__item__arrow {
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 23px;
	color: inherit;
	transition: color 0.4s;
}
.main__contact__bottom__item__icn {
	flex-shrink: 0;
	color: inherit;
	transition: color 0.4s;
}
.main__contact__bottom__item__link::before {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	border: 1px solid transparent;
	border-radius: 9999px;
	box-shadow: inset 0 0 0 0 rgba(255, 255, 255, 0);
	transition: box-shadow 0.4s, border-color 0.4s;
}
.--satei .main__contact__bottom__item__link::before {
	background: linear-gradient(88deg, #DF0B0B -1%, #A41010 100.28%);
}
.--contact .main__contact__bottom__item__link::before {
	background: linear-gradient(88deg, #18AEEE 0.74%, #057CAF 99.03%);
}
.--line .main__contact__bottom__item__link::before {
	background: linear-gradient(88deg, #06C755 0.86%, #0B863D 99.14%);
}
.main__contact__bottom__item__link::after {
	content: '';
	width: 1px;
	height: 50px;
	background: rgba(255, 255, 255, 0.15);
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 62px;
	z-index: -1;
	transition: background 0.4s;
}
@media (hover: hover) {
	.main__contact__bottom__item__link:hover {
		opacity: 1;
		color: #252525;
	}
	.--satei .main__contact__bottom__item__link:hover::before {
		border-color: #C50000;
		box-shadow: inset 0 0 0 200px #fff;
	}
	.--contact .main__contact__bottom__item__link:hover::before {
		border-color: #057CAF;
		box-shadow: inset 0 0 0 200px #fff;
	}
	.--line .main__contact__bottom__item__link:hover::before {
		border-color: #06C755;
		box-shadow: inset 0 0 0 200px #fff;
	}
	.--satei .main__contact__bottom__item__link:hover .main__contact__bottom__item__icn,
	.--satei .main__contact__bottom__item__link:hover .main__contact__bottom__item__arrow {
		color: #C50000;
	}
	.--contact .main__contact__bottom__item__link:hover .main__contact__bottom__item__icn,
	.--contact .main__contact__bottom__item__link:hover .main__contact__bottom__item__arrow {
		color: #057CAF;
	}
	.--line .main__contact__bottom__item__link:hover .main__contact__bottom__item__icn,
	.--line .main__contact__bottom__item__link:hover .main__contact__bottom__item__arrow {
		color: #06C755;
	}
	.main__contact__bottom__item__link:hover::after {
		background: #ebebeb;
	}
}

/*---------------------------------------------------
SOLUTIONS
-----------------------------------------------------*/
.cmn__section--solutions {
	padding-top: 130px;
	background: url(../images/solutions__bg.webp) no-repeat center top / cover;
}
.solutions__list {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 50px;
	padding-left: 0;
	list-style: none;
}
.solutions__item {
	background: #fff;
	border: 1px solid #ebebeb;
	border-radius: 10px;
	padding: 38px 38px 40px;
	display: flex;
	gap: 20px;
}
.solutions__item__img {
	width: 286px;
	flex-shrink: 0;
	margin: 0;
}

.solutions__item__txt__box {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 5px;
	min-width: 0;
}
.solutions__item__head {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.solutions__item__tag__list {
	display: flex;
	align-items: center;
	gap: 5px;
	padding-left: 0;
	margin: 0;
	list-style: none;
}
.solutions__item__tag {
	background: #f3f3f3;
	color: #6e23d7;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
	height: 30px;
	padding: 0 15px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.solutions__item__ttl {
	color: #252525;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.04em;
	margin: 0;
}
.solutions__item__txt {
	color: #252525;
	font-size: 16px;
	font-weight: 400;
	line-height: 2;
	margin: 0;
}
.solutions__item__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 40px;
	padding: 0 20px;
	border-radius: 9999px;
	border: 1px solid #e532a6;
	background: #e532a6;
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	margin-top: auto;
	text-decoration: none;
	transition: background 0.4s, color 0.4s, border-color 0.4s;
}
@media (hover: hover) {
	.solutions__item__btn:hover {
		opacity: 1;
		background: #fff;
		color: #e532a6;
	}
}

/*---------------------------------------------------
VACANT HOUSE
-----------------------------------------------------*/
.cmn__section--vacant {
	background: url(../images/vacant__bg.webp) no-repeat center top;
	padding-top: 0;
	padding-bottom: 57px;
}
.vacant__top__wrap {
	background: url(../images/resk__top__bg.webp) no-repeat center center / cover;
	padding: 75px 0 55px;
}
.vacant__top__list {
	display: flex;
	justify-content: center;
	gap: 20px;
	margin: 50px 0 30px;
}
.vacant__top__item {
	width: 270px;
	height: 270px;
	background: #fff;
	border-radius: 50%;
	padding: 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	gap: 8px;
}
.vacant__top__item__img {
	width: 100px;
	height: 100px;
	margin: 0 auto;
}
.vacant__top__item__txt {
	font-size: 20px;
	font-weight: 500;
	line-height: 1.5;
}
.vacant__top__txt {
	text-align: center;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.96px;
	position: relative;
	width: fit-content;
	margin: 0 auto;
}
	.vacant__top__txt span {
		color: #C50000;
		font-size: 32px;
		font-weight: 700;
		letter-spacing: 1.28px;
	}

.lisk__list {
	display: flex;
	flex-direction: column;
	margin-top: 5px;
}
.lisk__item {
	padding-block: 30px;
	border-bottom: 1px solid #F3F6FD;
	display: flex;
	gap: 30px;
	align-items: center;
}
.lisk__item__img {
	width: 330px;
}
.lisk__box {
	width: 780px;
}
.lisk__box__ttl {
	color: #014F99;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.96px;
	margin-bottom: 8px;
}
.lisk__box__txt {
	font-size: 16px;
	line-height: 2;
	color: #252525;
}


/*---------------------------------------------------
REASONS
-----------------------------------------------------*/
.cmn__section--reason {
	background: url(../images/reasons__bg.webp) no-repeat center top / cover;
	padding-top: 60px;
	padding-bottom: 50px;
}
.cmn__ttl--reason:before {
	position: absolute;
	width: 573px;
	height: 61px;
	background: url(../images/reason__fukidashi.webp) no-repeat center center / cover;
	top: -70px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	content: '';
}
.reason__list {
	display: flex;
	flex-direction: column;
	position: relative;
	margin-top: 20px;
}

.reason__item {
	padding-block: 30px;
}
.reason__item:not(:last-child) {
	border-bottom: 1px solid #fff;
}
.reason__item .cmn__inner {
	display: flex;
	align-items: center;
}

.reason__box {
	width: 470px;
}
.reason__item:nth-child(1) .cmn__inner{
	height: 412px;
}
.reason__item:nth-child(2) .cmn__inner{
	height: 380px;
}
.reason__item:nth-child(3) .cmn__inner{
	height: 459px;
}

.reason__item:nth-child(odd) .reason__box {
	margin-left: auto;
}
.reason__item__img {
	position: absolute;
	width: 1000px;
}
.reason__item:nth-child(even) .reason__item__img {
	right: -390px;
}
.reason__item:nth-child(odd) .reason__item__img {
	left: -390px;
}
.reason__box__ttl {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.96px;
	color: #252525;
	margin-bottom: 25px;
}
	.reason__box__ttl span {
		color: #014F99;
		font-weight: 700;
		letter-spacing: 0.96px;
	}
.reason__box__txt__wrap {
	display: flex;
	flex-direction: column;
	gap: 15px;
}
.reason__box__txt {
	font-size: 16px;
	line-height: 2;
}

/*---------------------------------------------------
CONTACT
-----------------------------------------------------*/
.cmn__section--contact {
	background: url(../images/contact__bg.webp) no-repeat center top / cover;
	padding: 30px 0;
	z-index: 1;
	position: relative;
}
.cmn__contact__inner {
	width: 1140px;
	margin: 0 auto;
	background: rgba(255, 255, 255, 0.9);
	border-radius: 15px;
	padding: 52px 50px 50px;
}

.cmn__contact__ttl__wrap {
	text-align: center;
	margin-bottom: 30px;
	font-size: 30px;
	font-weight: 500;
	line-height: 1.1;
}
.cmn__contact__ttl {
	font-size: 16px;
	margin-bottom: 8px;
	display: block;
}
.cmn__contact__txt {
	font-size: 13px;
	margin-top: 10px;
	display: block;
}

/*---------------------------------------------------
FLOW
-----------------------------------------------------*/
.cmn__section--flow {
	background: url(../images/flow__bg.webp) no-repeat center top;
	padding: 76px 0 79px;
}
.flow__list {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
	margin-top: 50px;
}
.flow__item {
	position: relative;
	display: flex;
	align-items: center;
	padding-left: 21px;
	min-height: 42px;
}
.flow__item__num {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #014F99;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 1;
}
.flow__item__card {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	align-items: center;
	gap: 15px;
	background: #fff;
	border-radius: 10px;
	padding: 20px 20px 20px 30px;
}
.flow__item__icon {
	width: 80px;
	height: 80px;
	flex-shrink: 0;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.flow__item__icon img {
	display: block;
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
}
.flow__item__ttl {
	flex-shrink: 0;
	margin: 0;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.04em;
	color: #252525;
	white-space: nowrap;
}
.flow__item__txt {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	color: #252525;
}

/*---------------------------------------------------
FAQ / COLUMN
-----------------------------------------------------*/
.cmn__section__bottom {
	background: url(../images/bottom__bg.webp) no-repeat center top;
	padding: 76px 0 80px;
}
.faq__section .cmn__ttl--faq {
	margin-bottom: 45px;
}

.faq__list {
	margin: 0;
	padding: 0;
}
.faq__q {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 6px;
	font-weight: 700;
	line-height: 1.5;
}
.faq__q__mark {
	flex-shrink: 0;
	color: #30ACE2;
	font-size: 28px;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.3;
}
.faq__q__txt {
	flex: 1 1 auto;
	min-width: 0;
	color: #014F99;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.04em;
}
.faq__q + .faq__a {
	margin-bottom: 27px;
	padding: 0 29px 30px;
	border-bottom: 1px solid #F3F6FD;
	font-size: 16px;
	font-weight: 400;
	line-height: 2;
	color: #252525;
}

.faq__a p {
	margin: 0;
	font-size: 16px;
	line-height: 2;
}

/*---------------------------------------------------
COLUMN
-----------------------------------------------------*/
.column__section {
	margin-top: 155px;
}
.column__head {
	display: flex;
	justify-content: space-between;
	gap: 24px;
}
.column__head .cmn__ttl--column {
	text-align: left;
	margin: 0;
	width: fit-content;
}
.column__head .cmn__ttl--column::after {
	left: 0;
	transform: none;
	-webkit-transform: none;
	-ms-transform: none;
	bottom: 0px;
}
.cmn__ttl--column span {
	
margin: inherit;
}
.column__head .more__bt--column {
	flex-shrink: 0;
	margin-top: 15px;
}
.column__head .more__bt--column a {
	display: flex;
	align-items: center;
	width: 250px;
	height: 60px;
	border-radius: 9999px;
	overflow: hidden;
	padding-inline: 20px;
	background: #fff;
	font-size: 16px;
	font-weight: 500;
	position: relative;
	border: 1px solid #014F99;
	color: #014F99;
	text-decoration: none;
}
.column__head .more__bt--column a::after {
	content: '';
	width: 1px;
	height: 40px;
	background: #ebebeb;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 57px;
	pointer-events: none;
	transition: background 0.4s;
}
.column__head .more__bt--column a .more-link__arrow {
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 18px;
	color: #014F99;
	transition: color 0.4s;
}
@media (hover: hover) {
	.column__head .more__bt--column a:hover {
		color: #fff;
		opacity: 1;
		background: #014F99;
	}
	.column__head .more__bt--column a:hover::after {
		background: rgba(255, 255, 255, 0.15);
	}
	.column__head .more__bt--column a:hover .more-link__arrow {
		color: #fff;
	}
}
.column__body {
	display: flex;
	flex-direction: column;
	gap: 0;
	/* .cmn__inner 幅を突き抜けてスライダーをビューポート全幅に */
	position: relative;
	width: 100vw;
	left: 50%;
	transform: translateX(-50%);
	box-sizing: border-box;
}
/* top.css の swiperCommon と同型（カラム内のみにスコープ） */
.column__body .swiper_content-common {
	margin-top: 30px;
}
/* top 不動産コラム（slide__nostop）と同仕様：等速マーキー / 手動操作時は ease */
.column__body .slide__nostop .swiper-wrapper {
	transition-timing-function: linear;
}
.column__body .slide__nostop.is-manual-nav .swiper-wrapper {
	transition-timing-function: ease;
}
.column__body .swiper-slide {
	width: 360px;
	height: auto;
}
.column__card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	width: 360px;
	color: inherit;
	text-decoration: none;
}
.column__card__img {
	width: 360px;
	height: 240px;
	margin: 0;
	overflow: hidden;
	border-radius: 10px;
	background: #f7f7f7;
}
.column__card__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: .4s;
}
.column__card:hover .column__card__img img {
    transform: scale(1.05);
}
.column__card:hover {
	opacity: 1;
}
.column__card__txt {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	width: 100%;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
}
.column__card__date {
	margin: 0;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	background: linear-gradient(90deg, #057caf 0%, #30ace2 99.65%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
.column__card__ttl {
	margin: 0;
	color: #252525;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
}
.column__card__ttl-note {
	font-weight: 400;
}
.column__body .swiper__controll {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 20px;
	position: relative;
	z-index: 1;
	width: 1140px;
	margin: 21px auto 0;
}
.column__body .swiper__controll .swiper-pagination {
	width: 1020px;
	text-align: left;
	position: unset;
	margin: 0;
}
.column__body .swiper__controll .swiper-pagination .swiper-pagination-bullet {
	width: 100px;
	height: 2px;
	border-radius: 0;
	background: #F3F6FD;
	opacity: 1;
	margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 0) !important;
}
.column__body .swiper__controll .swiper-pagination .swiper-pagination-bullet-active {
	background: #014F99;
}
.column__body .swiper__navigation {
	display: flex;
	gap: 5px;
}
.column__body .swiper__navigation .swiper-button-prev,
.column__body .swiper__navigation .swiper-button-next {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	color: #014F99;
	position: unset;
	margin: 0;
}
.column__body .swiper__navigation .swiper-button-prev::after,
.column__body .swiper__navigation .swiper-button-next::after {
	content: none;
}
.column__body .swiper__navigation .swiper-button-disabled {
	opacity: 0.35;
	cursor: not-allowed;
	pointer-events: none;
}