@charset "utf-8";


body {
	/*スマホで勝手に文字が大きくなる対策*/
	-webkit-text-size-adjust: 100%;
}

.l-main * {
	font-family: "Zen Maru Gothic", sans-serif;
}
#contents,
.l-main {
	width: 100%;
	overflow: hidden;
	background: #fff;
	padding: 0;
}
#contents {
	background: #FAFAFA;
}
.mv__wrap {
	width: 100%;
	height: 450px;
}
	.mv__wrap img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

[class*="cnt__wrap"] {
    padding-block: 60px;
}
    [class*="cnt__inner"] {
        width: 1140px;
        margin: 0 auto;
    }
        [class*="cnt__ttl"] {
            font-size: 46px;
            font-weight: 700;
            line-height: 1.56;
            color: #231815;
            position: relative;
            z-index: 1;
            padding-top: 39px;
        }
			.cng__color-b {
                color: #0062B2;
            }
            [class*="cnt__en-ttl"] {
                font-size: 120px;
                font-weight: 300;
                line-height: 0.06;
                position: absolute;
                z-index: -1;
            }

/*//////// こんなお悩みはありませんか？////////*/
.cnt__wrap--worries {
	padding-bottom: 100px;
}
.cnt__en-ttl--worries {
	top: 28.999px;
	left: 31.001px;
	color: #E2F1FA;
}
	.cnt__grid--worries {
		position: relative;
		width: 100%;
		height: 570px;
		margin-top: 33px;
	}
		.cnt__item--worries {
			position: absolute;
			width: 260px;
			height: 260px;
			display: flex;
			align-items: center;
			justify-content: center;
			text-align: center;
			background: url(../images/worries_bg.webp) no-repeat center / cover;
		}
			.cnt__item-txt {
				font-size: 18px;
				line-height: 1.6;
				font-weight: 500;
				letter-spacing: 0.05em;
				color: #231815;
			}
		.cnt__item--worries-1 {
			top: 0;
			left: 0;
		}
		.cnt__item--worries-2 {
			top: 86px;
			left: 290px;
		}
		.cnt__item--worries-3 {
			top: 310px;
			left: 88px;
		}
		.cnt__item--worries-4 {
			top: 0;
			left: 880px;
		}
		.cnt__item--worries-5 {
			top: 86px;
			left: 590px;
		}
		.cnt__item--worries-6 {
			top: 310px;
			left: 792px;
		}
		.cnt__illustration {
			position: absolute;
			top: 366px;
			left: 425px;
			width: 290px;
			height: 204px;
		}

	.solution__box {
		background-color: #e2fafd;
		padding-bottom: 40px;
		padding-top: 40px;
		margin-top: 30px;
	}
		.cnt__lead--solution {
			font-size: 30px;
			font-weight: bold;
			color: #231815;
			text-align: center;
			margin-bottom: 15px;
		}
		.cng__color-lb {
			color: #31A7D5;
		}
		.cnt__txt--solution {
			font-size: 16px;
			line-height: 1.7;
			letter-spacing: 0.05em;
			color: #231815;
			text-align: center;
			margin-bottom: 26px;
		}
		.cnt__contact-list {
			display: flex;
			justify-content: center;
			gap: 20px;
			width: 1060px;
			margin: 0 auto;
		}
			.cnt__contact-item {
				width: 520px;
				background: #fff;
				border-radius: 10px;
				box-sizing: border-box;
				padding: 20px 20px;
			}
			.cnt__tel-box {
				display: flex;
				align-items: center;
				justify-content: center;
				gap: 3px;
				margin-bottom: 4px;
			}
				.cnt__tel-label {
					display: inline-block;
					margin-top: 9px;
					font-size: 28px;
					font-weight: 500;
					color: #231815;
					letter-spacing: 0.05em;
				}
				.cnt__tel-num {
					font-size: 42px;
					font-weight: 500;
					letter-spacing: 0.06em;
					color: #231815;
				}
				.cnt__hours p {
					font-size: 16px;
					letter-spacing: 0.05em;
					line-height: 1.7;
					color: #231815;
					text-align: center;
				}
				.cnt__hours .cnt__hours-note {
					font-size: 14px;
					line-height: 1.6;
					letter-spacing: 0;
					color: #8D8D8D;
					margin-top: 4px;
				}
				.cnt__contact-item--mail {
					padding: 31px 20px;
				}
					.cnt__mail-ttl {
						font-size: 22px;
						font-weight: 500;
						letter-spacing: 0.055em;
						color: #231815;
						text-align: center;
						margin-bottom: 14px;
					}
					.cnt__mail-btn {
						display: flex;
						align-items: center;
						justify-content: center;
						width: 460px;
						height: 60px;
						background-color: #31a7d5;
						border: 2px solid #31a7d5;
						border-radius: 100px;
						margin: 0 auto;
						font-size: 20px;
						font-weight: 700;
						letter-spacing: 0.05em;
						color: #fff;
						position: relative;
						transition: .4s;
					}
					.cnt__mail-btn::after {
						content: "";
						width: 6px;
						height: 9px;
						background: url(../images/mail-btn_arrow.svg) no-repeat center / contain;
						position: absolute;
						top: 0;
						bottom: 0;
						margin: auto;
						right: 39px;
						transition: .4s;
					}
					.cnt__mail-btn:hover::after {
						background: url(../images/mail-btn_arrow-on.svg) no-repeat center / contain;
					}
					.cnt__mail-btn:hover {
						opacity: 1;
						background: #fff;
						color: #31a7d5;
					}

/*//////// 提携司法書士様のご紹介 ////////*/
.cnt__wrap--judicial {
	background: #E2F1FA;
	padding-bottom: 100px;
}
.cnt__en-ttl--judicial {
	top: 29px;
	left: 31px;
	color: #FFF;
}

.cnt__grid--judicial {
    display: flex;
    justify-content: space-between;
    width: 1140px;
    margin: 33px auto 0;
}
	.cnt__col--judicial-info {
		width: 540px;
	}
		.cnt__img-box--judicial {
			width: 540px;
			height: 360px;
			border-radius: 10px;
			margin-bottom: 15px;
		}
		.cnt__info-box--judicial {
			background-color: #fff;
			border-radius: 10px;
			padding: 17px 35px 20px;
		}
			.cnt__office-name {
				font-size: 18px;
				font-weight: 500;
				letter-spacing: 0.05em;
				color: #231815;
				margin-bottom: 4px;
			}
			.cnt__tel-row {
				display: flex;
				align-items: center;
				gap: 2px;
				margin-bottom: 1px;
			}
				.cnt__tel-label-row {
					font-size: 14px;
					font-weight: 500;
					letter-spacing: 0.05em;
					line-height: 1.7;
					color: #231815;
					margin-top: 2px;
				}
				.cnt__tel-val-row {
					font-size: 18px;
					font-weight: 500;
					letter-spacing: 0.06em;
					line-height: 1;
				}
			.cnt__time-row {
				font-size: 14px;
				font-weight: 400;
				line-height: 1.4;
				color: #231815;
				margin-bottom: 3px;
			}
				.cnt__time-row span {
					margin-left: 14px;
				}
			.cnt__time-note {
				font-size: 14px;
				font-weight: 400;
				line-height: 1.6;
				color: #8D8D8D;
			}
	.cnt__col--judicial-msg {
		width: 560px;
		padding-top: 30px;
	}
		.cnt__msg-ttl {
			font-size: 22px;
			font-weight: 700;
			letter-spacing: 0.05em;
			color: #231815;
			margin-bottom: 19px;
		}
		.cnt__msg-txt {
			margin-bottom: 27px;
		}
		.cnt__msg-txt p {
			font-size: 16px;
			font-weight: 500;
			line-height: 1.7;
			letter-spacing: 0.05em;
			color: #231815;
		}
		.cnt__msg-txt p:not(:last-of-type) {
			margin-bottom: 13px;
		}
			.cnt__rep-name {
				display: flex;
				justify-content: flex-end;
				align-items: flex-end;
				gap: 7px;
			}
			.cnt__rep-job {
				font-size: 16px;
				letter-spacing: 0.05em;
				line-height: 1;
				color: #231815;
			}
			.cnt__rep-person {
				font-size: 18px;
				letter-spacing: 0.05em;
				line-height: 1;
				color: #231815;
			}

/*//////// ご相談の際に大切にしている3つのこと ////////*/
.cnt__wrap--important {
	padding-bottom: 100px;
}
.cnt__en-ttl--important {
	top: 28.999px;
	left: 31.001px;
	color: #E2F1FA;
}
	.important__list {
		display: flex;
		gap: 30px;
		margin-top: 33px;
	}
		.important__item {
			width: 360px;
			height: 483px;
			border-radius: 10px;
			background: #E2F1FA;
			padding: 25px 30px;
		}
			.important__img {
				width: 206px;
				height: 206px;
				margin: 0 auto 18px;
			}
				.important__img img {
					width: 100%;
					height: 100%;
					object-fit: cover;
				}
			.important__ttl {
				font-size: 22px;
				font-weight: 500;
				line-height: 1.4;
				letter-spacing: 0.05em;
				color: #231815;
				text-align: center;
				margin-bottom: 12px;
			}
			.important__txt {
				font-size: 16px;
				font-weight: 400;
				line-height: 1.7;
				letter-spacing: 0.05em;
				color: #231815;
			}

/*//////// ご相談の流れ ////////*/
.cnt__wrap--flow {
	background: #E2F1FA;
	padding-bottom: 100px;
}
.cnt__en-ttl--flow {
	top: 29px;
	left: 31px;
	color: #fff;
}
.flow__list {
	display: flex;
	flex-direction: column;
	gap: 30px;
	margin-top: 33px;
}
	[class*="flow__item"] {
		display: flex;
	}
		.step__num {
			width: 87px;
			padding-top: 21px;
    		flex-shrink: 0;
			font-size: 22px;
			font-weight: 700;
			line-height: 1;
			letter-spacing: 0.05em;
			color: #FFF;
			text-align: center;
			border-radius: 10px 0 0 10px;
		}
			.step__num span {
				display: block;
				font-size: 40px;
				font-weight: 700;
				line-height: 1;
				letter-spacing: 0.05em;
				color: #FFF;
				text-align: center;
				margin-top: 10px;
			}
		.flow__item--step01 .step__num {
			background: #6FBAF8;
		}
		.flow__item--step02 .step__num {
			background: #2D99F0;
		}
		.flow__item--step03 .step__num {
			background: #0062B2;
		}
		.step__box {
			background: #fff;
			padding: 33px 40px 39px;
			border-radius: 0 10px 10px 0;
		}
			.step__ttl {
				font-size: 30px;
				font-weight: 700;
				line-height: 1;
				color: #6FBAF8;
			}
			.flow__item--step02 .step__ttl {
				color: #2D99F0;
			}
			.flow__item--step03 .step__ttl {
				color: #0062B2;
			}
			.reservation__txt {
				font-size: 16px;
				font-weight: 400;
				line-height: 1.7;
				letter-spacing: 0.05em;
				color: #231815;
				margin-top: 18px;
			}
			.step__box .cnt__contact-list {
				width: 973px;
				justify-content: flex-start;
				margin-top: 20px;
			}
				.step__box .cnt__contact-item {
					width: 476.5px;
					background: #EEE;
					border-radius: 0;
					box-sizing: border-box;
					padding: 10px 20px;
				}
				.step__box .cnt__tel-box {
					margin-bottom: 0;
				}
				.step__box .cnt__hours span {
					margin-left: 10px;
				}
				.step__box .cnt__hours-note {
					letter-spacing: 0.05em;
				}
				.step__box .cnt__contact-item--mail {
					padding: 19px 20px;
				}
				.step__box .cnt__mail-btn {
					width: 428px;
				}
				.step__box .cnt__mail-btn::after {
					right: 31px;
				}
			.reservation__attention-txt {
				font-size: 14px;
				font-weight: 400;
				line-height: 1.6;
				color: #8D8D8D;
				margin-top: 20px;
			}
		.free__contact-img {
			display: flex;
			gap: 20px;
			margin-top: 28px;
		}
			.free__contact-img p {
				width: 477px;
				height: 238px;
			}
			.free__contact-img p img {
				width: 100%;
				height: 100%;
				object-fit: cover;
			}
		.prepare__box {
			padding: 30px 40px 41px;
			background: #E2F1FA;
			margin-top: 30px;
		}
			.prepare__txt-top {
				font-size: 22px;
				font-weight: 500;
				line-height: 1.4;
				letter-spacing: 0.05em;
				color: #231815;
			}
			.prepare__txt {
				font-size: 16px;
				font-weight: 400;
				line-height: 1.7;
				letter-spacing: 0.05em;
				color: #231815;
				margin-top: 7px;
			}
		.prepare__list {
			display: flex;
			flex-wrap: wrap;
			gap: 21px 31px;
			margin-top: 27px;
		}
			.prepare__item {
				width: 431.5px;
				padding-left: 32px;
				position: relative;
			}
			.prepare__item::before {
				content: "";
				width: 22px;
				height: 22px;
				background: url(../images/prepare_check-icn.svg) no-repeat center / contain;
				position: absolute;
				top: 3px;
				left: 0;
			}
				.prepare__item-ttl {
					font-size: 16px;
					font-weight: 500;
					line-height: 1.7;
					letter-spacing: 0.05em;
					color: #2D99F0;
				}
				.prepare__item-txt {
					font-size: 14px;
					font-weight: 400;
					line-height: 1.4;
					color: #231815;
					margin-top: 5px;
				}
			.method__box-top,
			.method__box-bottom {
				padding: 33px 40px 33px;
			}
			.method__box-top {
				background: #E2F1FA;
				margin-top: 28px;
			}
			.method__box-bottom {
				background: #E2FAFD;
				margin-top: 20px;
			}
				.method__ttl {
					font-size: 22px;
					font-weight: 500;
					line-height: 1.4; /* 30.8px */
					letter-spacing: 0.05em;
					color: #231815;
				}
				.method__txt {
					font-size: 16px;
					font-weight: 400;
					line-height: 1.7;
					letter-spacing: 0.05em;
					color: #231815;
					margin-top: 7px;
				}

/*//////// 相続に関するお役立ち情報 ////////*/
.cnt__wrap--blog {
    padding-bottom: 100px;
}
    .cnt__en-ttl--blog {
        color: #E2F1FA;
        top: 29px;
        left: 31px;
    }
        .swiper_content--blog {
            margin-top: 33px;
        }
            .cnt__wrap--blog .swiper-slide {
                width: 320px;
                height: 372px;
            }
                .blog__item {
                    width: 320px;
                    height: 372px;
                }
                    .blog__img {
                        width: 320px;
                        height: 240px;
                        border-radius: 10px;
                        overflow: hidden;
                    }
                        .blog__img img {
                            width: 100%;
                            height: 100%;
                            border-radius: 10px;
                            object-fit: cover;
                        }
                    .blog__ttl {
                        overflow: hidden;
                        text-overflow: ellipsis;
                        display: -webkit-box;
                        -webkit-box-orient: vertical;
                        -webkit-line-clamp: 2;
                        font-size: 18px;
                        font-weight: 500;
                        line-height: 1.4;
                        color: #231815;
                        margin-top: 12px;
                    }
                    .blog__txt {
                        overflow: hidden;
                        text-overflow: ellipsis;
                        display: -webkit-box;
                        -webkit-box-orient: vertical;
                        -webkit-line-clamp: 2;
                        font-size: 14px;
                        font-weight: 400;
                        line-height: 1.4;
                        color: #231815;
                        margin-top: 9px;
                    }
                    .blog__date {
                        font-size: 14px;
                        font-weight: 400;
                        line-height: 1.4;
                        color: #AEAEAE;
                        margin-top: 3px;
                    }
		[class*="swiper__bottom-box"] {
			display: flex;
			align-items: center;
			justify-content: center;
			position: relative;
			z-index: 1;
		}
			[class*="swiper__bottom-box"] .swiper-pagination {
				width: fit-content;
				position: relative;
				top: auto;
				bottom: auto;
				left: auto;
				right: auto;
				margin: 0;
			}
			[class*="swiper__bottom-box"] .swiper-button-prev,
			[class*="swiper__bottom-box"] .swiper-button-next {
				width: 36px;
				height: 36px;
				position: relative;
				top: auto;
				bottom: auto;
				left: auto;
				right: auto;
				margin: 0;
			}
			[class*="swiper__bottom-box"] .swiper-button-prev::after,
			[class*="swiper__bottom-box"] .swiper-button-next::after {
				content: none;
			}
			[class*="swiper__bottom-box"] .swiper-button-prev {
				background: url(../images/swiper_left.svg) no-repeat center / contain;
			}
			[class*="swiper__bottom-box"] .swiper-button-next {
				background: url(../images/swiper_right.svg) no-repeat center / contain;
			}
			[class*="swiper__bottom-box"] .swiper-button-prev:hover {
				background: url(../images/swiper_left-on.svg) no-repeat center / contain;
			}
			[class*="swiper__bottom-box"] .swiper-button-next:hover {
				background: url(../images/swiper_right-on.svg) no-repeat center / contain;
			}
				[class*="swiper__bottom-box"] .swiper-pagination .swiper-pagination-bullet {
					width: 10px;
					height: 10px;
					background: #CCC;
					opacity: 1;
					margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 7px);
				}
					[class*="swiper__bottom-box"] .swiper-pagination .swiper-pagination-bullet-active {
						background: #0062B2;
					}
        .swiper__bottom-box--blog {
            margin-top: 20px;
            gap: 7px;
        }
        .blog__bt {
            margin-top: 20px;
        }
            .blog__link {
                display: flex;
                align-items: center;
                justify-content: center;
                width: 210px;
                height: 50px;
                margin: 0 auto;
                border-radius: 100px;
                background: #0062B2;
                font-size: 16px;
                font-weight: 700;
                line-height: 1;
                letter-spacing: 0.05em;
                color: #FFF;
                position: relative;
            }
			.blog__link {
				transition: .4s;
				border: 2px solid #0062B2;
			}
			.blog__link:hover {
				background: #fff;
				color: #0062B2;
			}
            .blog__link::after {
                content: "";
                width: 7px;
                height: 10px;
                background: url(/images/top/lifedo-bt-arrow-w.svg) no-repeat center / contain;
                position: absolute;
                top: 18px;
                right: 18px;
            }
			.blog__link:hover::after {
				background: url(../images/lifedo-bt-arrow-b.svg) no-repeat center / contain;
			}
			
.no-slide [class*="swiper__bottom-box"] {
	display: none;
}
.no-slide .swiper-wrapper {
	display: flex;
	justify-content: center;
	gap: 30px;
}

/*//////// 各種ご相談 ////////*/
.cnt__wrap--service {
	background: #C3E4FF;
	padding-bottom: 100px;
}
.cnt__en-ttl--service {
	color: #E2F1FA;
	top: 29px;
	left: 31px;
}
	.service__list {
		display: flex;
		flex-wrap: wrap;
		gap: 33px 40px;
		margin-top: 27px;
	}
		.service__item--sell {
			width: 1140px;
		}
		.service__item--buy {
			width: 550px;
		}
		.service__item--rent {
			width: 550px;
		}
		.service__item--other {
			width: 830px;
		}
		.service__type {
			display: flex;
			align-items: center;
			gap: 10px;
			font-size: 30px;
			font-weight: 700;
			line-height: 1;
			color: #0062B2;
			margin-bottom: 18px;
		}
		.service__item--buy .service__type {
			color: #00A0B2;
		}
		.service__item--rent .service__type {
			color: #D30D2E;
		}
		.service__item--other .service__type {
			color: #231815;
		}
		.service__type::before {
			content: "";
			display: inline-block;
			width: 20px;
			height: 20px;
			border-radius: 50%;
			background: #0062B2;
			margin-top: 5px;
		}
		.service__item--buy .service__type::before {
			background: #00A0B2;
		}
		.service__item--rent .service__type::before {
			background: #D30D2E;
		}
		.service__item--other .service__type::before {
			background: #231815;
		}
		.service__type-list {
			display: flex;
			gap: 10px;
		}
			[class*="service__bt"] {
				display: flex;
				align-items: center;
				justify-content: center;
				gap: 11px;
				width: 220px;
				height: 90px;
				border-radius: 10px;
				background: #FFF;
				border: 2px solid #fff;
				box-shadow: 1px 3px 10px 0 rgba(0, 0, 0, 0.22);
				font-size: 20px;
				font-weight: 500;
				line-height: 1;
				letter-spacing: 0.05em;
				color: #231815;
				transition: .4s;
			}
			[class*="service__bt"]:hover {
				opacity: 1;
				border: 2px solid #0062B2;
			}
			.service__item--buy [class*="service__bt"]:hover {
				border: 2px solid #00A0B2;
			}
			.service__item--rent [class*="service__bt"]:hover {
				border: 2px solid #D30D2E;
			}
			.service__item--other [class*="service__bt"]:hover {
				border: 2px solid #231815;
			}
			.service__item--buy [class*="service__bt"],
			.service__item--rent [class*="service__bt"] {
				width: 550px;
			}
			.service__item--other [class*="service__bt"] {
				width: 270px;
			}
			[class*="service__bt"]::before {
				content: "";
				display: inline-block;
			}
			.service__bt--housesell::before {
				width: 59px;
				height: 59px;
				background: url(../images/service_icn01.svg) no-repeat center / contain;
			}
			.service__bt--voluntary-sale::before {
				width: 58px;
				height: 59px;
				background: url(../images/service_icn02.svg) no-repeat center / contain;
			}
			.service__bt--purchase::before {
				width: 37px;
				height: 59px;
				background: url(../images/service_icn03.svg) no-repeat center / contain;
			}
			.service__bt--vacant-house::before {
				width: 56px;
				height: 59px;
				background: url(../images/service_icn04.svg) no-repeat center / contain;
			}
			.service__bt--buy::before {
				width: 66px;
				height: 59px;
				background: url(../images/service_icn05.svg) no-repeat center / contain;
			}
			.service__bt--rent::before {
				width: 63px;
				height: 59px;
				background: url(../images/service_icn06.svg) no-repeat center / contain;
			}
			.service__bt--rectuit::before {
				width: 59px;
				height: 59px;
				background: url(../images/service_icn07.svg) no-repeat center / contain;
			}
			.service__bt--staff::before {
				width: 53px;
				height: 53px;
				background: url(../images/service_icn08.svg) no-repeat center / contain;
			}
			.service__bt--sdgs::before {
				width: 37px;
				height: 59px;
				background: url(../images/service_icn09.svg) no-repeat center / contain;
			}
			.cnt__wrap--service .org-comingsoon__bt {
				pointer-events: none;
				position: relative;
			}
			.cnt__wrap--service .org-comingsoon__bt::after {
				content: "Coming soon…";
				display: flex;
				align-items: center;
				justify-content: center;
				width: 100%;
				height: 100%;
				font-size: 20px;
				font-weight: 500;
				line-height: 1;
				letter-spacing: 0.05em;
				color: rgb(255, 255, 255);
				position: absolute;
				top: 0px;
				left: 0px;
				pointer-events: none;
				border-radius: 10px;
				background: rgba(86, 86, 86, 0.8);
			}