@charset "UTF-8";

body{
    width: 100%;
}
.l-main *{
    font-family: 'Shippori Mincho';
    font-weight: 400;
    color: #000;
}
.l-main{
    width: 100%;
    padding: 0;
    background: #fff;
}

.js-fadein-up {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
  will-change: opacity, transform;
}

.js-fadein-up.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/*共通*/
[class*="section__wrap"]{
    margin-block: 100px;
}
[class*="section__inner"]{
    width: 1140px;
    margin: 0 auto;
    position: relative;
}
[class*="section__ttl"]{
    font-size: 32px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-align: center;
    width: fit-content;
    margin: 0 auto 40px;
    position: relative;
}
[class*="section__ttl"]::before{
    content: '';
    display: block;
    background-repeat: no-repeat;
    position: absolute;
    bottom: 5px;
    left: 0;
    right: 0;
    margin: auto;
}
[class*="section__ttl"] > span{
    font-size: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
    color: inherit;
    position: relative;
}
[class*="more__btn"]{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 240px;
    height: 50px;
    padding: 0;
    border: 1px solid #000000;
    background: transparent;
    font-family: 'Prata';
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.08em;
    position: relative;
    margin: 30px auto 0;
}
[class*="more__btn"]:hover {
    opacity: 1;
    background: #000;
    color: #FFF;
}

/*メイン画像*/
.mainview{
    overflow: hidden;
    height: 580px;
}
.mainview img{
    width: 100%;
    height: 580px;
    object-fit: cover;
}
.mainview .slick-dots{
    position: absolute;
    bottom: 10px;
    left: 0;
    right: 0;
    margin: auto;
}

/*新着情報*/
.section__wrap--info{
    margin: 0;
    padding-block: 100px;
    background: #FEFFF6 url(/images/top/info_gb.png) no-repeat center / cover;
}
.section__ttl--info::before{
    width: 156px;
    height: 97px;
    background-image: url(/images/top/ttl_info.png);
    left: -7px;
}
.info__item{
    display: flex;
    gap: 20px;
    padding: 30px 0;
    border-top: 1px solid #EEEFE2;
}
.info__item:last-child{
    border-bottom: 1px solid #EEEFE2;
}
.info__item .info__date{
    min-width: 72px;
    font-family: 'Zen Kaku Gothic New';
    font-size: 16px;
    font-weight: 500;
    color: #C1B265;
}
.info__item .info__ttl{
    font-family: 'Zen Kaku Gothic New';
    font-size: 16px;
    font-weight: 500;
}

/*ご依頼いただいた弁護士の先生方の声*/
.voice__bg{
    position: relative;
}
.voice__bg::before {
    content: "";
    position: absolute;
    left: 0;
    top: 328px;
    width: 100%;
    height: calc(100% - 328px);
    pointer-events: none;
    background: url(/images/top/voice_bg.jpg) no-repeat center / cover;
    z-index: 0;
}
.section__wrap--voice{
    margin: 0;
    padding-block: 100px 70px;
    position: relative;
    z-index: 1;
}
.section__ttl--voice{
    margin-bottom: 30px;
}
.section__ttl--voice::before{
    width: 210px;
    height: 97px;
    background-image: url(/images/top/ttl_voice.png);
    left: unset;
    right: -39px;
}
.voice__list{
    display: flex;
    justify-content: center;
    gap: 27px;
}
.voice__item{
    width: 264px;
}
.voice__item a{
    display: block;
}
.voice__img{
    width: 100%;
    height: 253px;
    clip-path: url(/images/top/voice-clip.svg#voice-clip);
    margin-bottom: 9px;
}
.voice__img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.4s;
}
.voice__item a:hover{
    opacity: 1;
}
.voice__item a:hover .voice__img img{
    transform: scale(1.1);
}
.voice__name{
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 8px;
}
.voice__text{
    font-family: 'Zen Kaku Gothic New';
    font-size: 14px;
    font-weight: 500;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
.section__wrap--voice .more__btn{
    margin-top: 28px;
}

/*相続財産管理人による不動産売却を専門チームが支援*/
.section__wrap--support{
    margin: 0;
    padding: 97px 0 85px;
    overflow-x: clip;
    position: relative;
    z-index: 2;
}
.section__inner--support{
    display: flex;
    justify-content: flex-end;
    gap: 82px;
}
.section__inner--support::after{
    content: '';
    display: block;
    width: 500px;
    height: 444px;
    background: url(/images/top/support_bg.png) no-repeat center;
    position: absolute;
    bottom: -123px;
    right: 1031px;
    pointer-events: none;
}
.section__ttl--support{
    writing-mode: vertical-rl;
    font-size: 32px;
    text-align: left;
    order: 2;
    margin: 0 14px 0 0;
    line-height: 1.87;
}
.section__ttl--support span{
    letter-spacing: 0.43em;
}
.section__ttl--support::before{
    width: 97px;
    height: 314px;
    background-image: url(/images/top/ttl_support.png);
    bottom: unset;
    top: -93px;
    left: unset;
    right: -63px;
}
.support__txt{
    display: flex;
    gap: 53px;
    order: 1;
    flex-direction: row-reverse;
    padding-top: 8px;
}
.support__txt p{
    writing-mode: vertical-rl;
    font-size: 20px;
    font-weight: 500;
    line-height: 2.58;
    letter-spacing: 0.25em;
}

/*こんなお悩みはありませんか？*/
.section__wrap--worries{
    margin: 0;
    padding: 102px 0 20px;
    background: #E9EFE3;
    position: relative;
    z-index: 1;
}
.section__wrap--worries::after{
    content: '';
    display: block;
    width: 100%;
    height: 100px;
    background: url(/images/top/worries_arrow.png) no-repeat center;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin: auto;
}
.ttl__emphasis {
    position: relative;
    display: inline-block;
    letter-spacing: inherit;
    line-height: inherit;
}
.ttl__emphasis::before {
    content: '';
    display: inline-block;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #000;
    position: absolute;
    top: -2px;
    left: 50%;
    transform: translateX(-50%);
    line-height: 1;
    pointer-events: none;
}
.section__ttl--worries::before{
    width: 306px;
    height: 97px;
    background-image: url(/images/top/ttl_worries.png);
    left: unset;
    right: -133px;
    bottom: 0;
}
.worries__list{
    display: flex;
    align-items: flex-start;
    gap: 28px;
}
.worries__item{
    width: 264px;
}
.worries__item:nth-child(even) {
    padding-top: 40px;
}
.worries__img{
    position: relative;
    margin-bottom: 40px;
}
.worries__img::after{
    content: '';
    display: block;
    width: 1px;
    height: 60px;
    background: #fff;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -30px;
    margin: auto;
}
.worries__txt{
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    line-height: 1.6;
}

/*そのお悩み、邦文不動産が解決します*/
.section__wrap--solve{
    margin: 0;
    padding: 199px 0 132px;
    background: url(/images/top/solve_bg.jpg) no-repeat top center / cover;
}
.section__ttl--solve::before{
    width: 210px;
    height: 97px;
    background-image: url(/images/top/ttl_solve.png);
    right: unset;
    left: -76px;
}
.solve__head{
    text-align: center;
    margin-bottom: 73px;
}
.solve__contents .solve__list{
    display: flex;
    flex-wrap: wrap;
    gap: 97px;
    counter-reset: solve-num; /* カウンター初期化 */
}
.solve__list > li {
    counter-increment: solve-num;
    position: relative;
}
.solve__item {
    position: relative;
}
.solve__item__inner{
    width: 1140px;
}
        .solve__img{
            width: 650px;
            height: 366px;
            margin: auto;
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
        }
        .solve__item:nth-of-type(even) .solve__img{
            left: inherit;
            right: 0;
        }
        .solve__img img {
            width: 100%;
            height: 100%;
            vertical-align: bottom;
            object-fit: cover;
        }
            .solve__wrap{
                width: 633px;
                height: 299px;
                margin-left: auto;
                padding: 70px 60px 70px 63px;
                background: #fff;
                position: relative;
            }
            .solve__item:nth-of-type(even) .solve__wrap{
                margin-left: unset;
            }
                .solve__subttl{
                    text-align: left;
                    font-size: 20px;
                    font-weight: 700;
                    margin-bottom: 17px;
                    position: relative;
                }
                .solve__subttl::before {
                    content: counter(solve-num, decimal-leading-zero);
                    font-size: 20px;
                    font-weight: 500;
                    color: #957D00;
                    display: inline-block;
                    margin-right: 5px;
                }
                .solve__subttl::after{
                    content: '';
                    display: block;
                    width: 48px;
                    height: 1px;
                    background: #957D00;
                    position: absolute;
                    top: 0;
                    bottom: 0;
                    left: -63px;
                    margin: auto;
                }
                .solve__description{
                    font-family: 'Zen Kaku Gothic New';
                    font-size: 16px;
                    line-height: 1.8;
                }

/*相談の流れ*/
#flow{
    margin-top: -185px;
    padding-top: 185px;
}
.section__wrap--flow{
    margin: 0;
    padding: 100px 0;
    background: url(/images/top/flow_bg.png) no-repeat top center;
}
.section__inner--flow::before{
    content: '';
    display: block;
    width: 1530px;
    height: 1px;
    background: #D9E3CF;
    position: absolute;
    right: 0;
    bottom: 188px;
}
.section__ttl--flow::before{
    width: 186px;
    height: 97px;
    background-image: url(/images/top/ttl_flow.png);
    left: unset;
    right: -95px;
    bottom: 2px;
}
.flow__list{
    display: flex;
    position: relative;
}
[class*="flow__item"]{
    width: 380px;
    border-left: 1px solid #EEEEEE;
    background: #fff;
    display: flex;
    flex-flow: column;
    align-items: center;
    padding: 62px 0 31px;
    position: relative;
}
[class*="flow__item"]:last-child::after{
    content: '';
    display: block;
    width: 1px;
    height: 366px;
    background: #EEEEEE;
    position: absolute;
    right: 0;
    bottom: -17px;
}
.flow__num{
    width: 380px;
    position: absolute;
    top: 0;
    left: -1px;
}
.flow__num p{
    width: 100%;
    height: 30px;
    background-repeat: no-repeat;
    background-position: left;
    font-family: 'Prata';
    font-size: 14px;
    letter-spacing: 0.08em;
    color: #fff;
    padding: 6px 0 0 9px;
    position: relative;
}
.flow__num p::after{
    content: '';
    display: block;
    width: 300px;
    height: 2px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 80px;
    margin: auto;
}
.flow__item--01 .flow__num p{
    background-image: url(/images/top/flow_number_bg01.png);
    padding-left: 11px;
}
.flow__item--01 .flow__num p::after{
    background: #006F38;
}
.flow__item--02 .flow__num p{
    background-image: url(/images/top/flow_number_bg02.png);
}
.flow__item--02 .flow__num p::after{
    background: #237F3B;
}
.flow__item--03 .flow__num p{
    background-image: url(/images/top/flow_number_bg03.png);
}
.flow__item--03 .flow__num p::after{
    background: #318B3A;
}
.flow__item--04 .flow__num p{
    background-image: url(/images/top/flow_number_bg04.png);
}
.flow__item--04 .flow__num p::after{
    background: #448E3E;
}
.flow__item--05 .flow__num p{
    background-image: url(/images/top/flow_number_bg05.png);
}
.flow__item--05 .flow__num p::after{
    background: #529540;
}
.flow__item--06 .flow__num p{
    background-image: url(/images/top/flow_number_bg06.png);
}
.flow__item--06 .flow__num p::after{
    background: #6DAC51;
    z-index: 1;
}
.flow__item--04,
.flow__item--05,
.flow__item--06{
    padding-bottom: 43px;
    border-bottom: 1px solid #EEEEEE;
}
.flow__list .flow__item--06::after{
    bottom: 0;
    height: 380px;
}
.flow__img{
    text-align: center;
    margin-bottom: 10px;
}
.flow__info dt{
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 4px;
}
.flow__info dd{
    font-family: 'Zen Kaku Gothic New';
    font-size: 16px;
    text-align: center;
    line-height: 1.6;
}

/*相談事例*/
.section__wrap--case{
    margin: 0;
    padding: 100px 0;
    background: #F1F5ED;
}
.section__inner--case::before{
    content: '';
    display: block;
    width: 384px;
    height: 410px;
    background: url(/images/top/case_bg.png) no-repeat center;
    position: absolute;
    left: 62px;
    top: -80px;
}
.section__ttl--case{
    width: auto;
    margin-bottom: 362px;
}
.section__ttl--case::before{
    width: 184px;
    height: 97px;
    background-image: url(/images/top/ttl_case.png);
}
.case__content{
    position: relative;
    z-index: 1;
}
.case__list{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 364px 0;
    counter-reset: count;
}
.case__item{
    position: relative;
    counter-increment: count;
    width: 553px;
}
	.case__img{
		width: 553px;
		height: 415px;
		margin: auto;
		position: absolute;
		top: -324px;
		right: 0;
		left: 0;
		z-index: -1;
	}
	.case__wrap{
		width: 513px;
        height: 326px;
		padding: 40px;
		background: #fff;
		margin: 0 auto;
        position: relative;
	}
    .case__wrap::after{
        content: counter(count, decimal-leading-zero);
        font-family: 'Prata';
        font-size: 50px;
        color: #F1F5ED;
        letter-spacing: 0.08em;
        line-height: 1.36;
        display: inline-block;
        position: absolute;
        right: 9px;
        bottom: 0;
    }
		.case__subttl{
            font-size: 20px;
            font-weight: 700;
			text-align: center;
            color: #006F38;
			margin-bottom: 17px;
		}
        .case__description{
            font-family: 'Zen Kaku Gothic New';
            font-size: 16px;
            line-height: 1.8;
        }

/*不動産会社様へ*/
#realestate{
    margin-top: -185px;
    padding-top: 185px;
}
.section__wrap--realestate{
    margin: 0;
    padding: 100px 0;
    background: #EFEFE7 url(/images/top/realestate_bg.png) no-repeat top center / cover;
}
.section__inner--realestate{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.realestate__left{
    width: 557px;
    padding-top: 83px;
}
.section__ttl--realestate{
    width: auto;
    text-align: left;
    margin-bottom: 37px;
}
.section__ttl--realestate::before{
    width: 420px;
    height: 95px;
    background-image: url(/images/top/ttl_realestate.png);
    right: unset;
    left: -88px;
    bottom: 7px;
}
.realestate__txt{
    display: flex;
    flex-flow: column;
    gap: 17px;
    margin-bottom: 27px;
}
.realestate__txt p{
    font-family: 'Zen Kaku Gothic New';
    font-size: 16px;
    line-height: 1.8;
}
.realestate__list{
    display: flex;
    gap: 10px;
}
[class*="realestate__item"] a{
    width: 240px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #B0974B;
    border: 1px solid #B0974B;
    font-size: 18px;
    letter-spacing: 0.08em;
    color: #fff;
    padding-top: 1px;
}
[class*="realestate__item"] a:hover {
    background: none;
    color: #B0974B;
}
.realestate__item--login a {
    background: #000000;
    border: 1px solid #000000;
}
.realestate__item--login a:hover {
    background: none;
    color: #000000;
}
/*ブログ*/
.section__wrap--blog {
    margin: 0;
    padding: 100px 0;
    background: url(/images/top/blog_bg.png) no-repeat center / cover;
    overflow: hidden;
}
.section__ttl--blog{
    writing-mode: vertical-rl;
    font-size: 32px;
    text-align: left;
}
.section__ttl--blog span{
    letter-spacing: 0.43em;
    line-height: 1.1;
    margin-top: 9px;
}
.section__ttl--blog::before{
    width: 97px;
    height: 172px;
    background-image: url(/images/top/ttl_blog.png);
    bottom: unset;
    top: 112px;
    left: -28px;
    right: unset;
}
    .blog__contents {
        display: flex;
        justify-content: space-between;
        gap: 79px;
    }
        .contents__title {
            min-width: 35px;
        }
        .blog__wrap {
            overflow: hidden;
            min-width: 1416px;

            .swiper-pagination {
                position: unset;
                width: fit-content;
                transform: unset;
            }
                .swiper-pagination-bullet {
                    width: 8px;
                    height: 8px;
                    background: #DBDBDB;
                    border-radius: 50%;
                    opacity: 1;
                    margin: 0 5px !important;
                }
                .swiper-pagination-bullet-active {
                    background: #006F38;
                }
            .swiper-button-prev,
            .swiper-button-next {
                position: unset;
            }
            .swiper-button-prev:after, .swiper-rtl .swiper-button-next:after,
            .swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {
                content: none;
            }
        }
        .blog__wrap.no-slide {
            margin-top: 66px;
        }
            .blog__right {
                width: 1025px;
            }
            .blog__right .more__btn{
                margin-right: unset;
                margin-top: 28px;
            }
            .swiper-options {
                display: flex;
                justify-content: flex-end;
                align-items: center;
                gap: 15px;
                margin-bottom: 30px;
                position: relative;
                z-index: 1;
            }
            .no-slide .swiper-options {
                display: none;
            }
            .swiper-arrow {
                width: fit-content;
                display: flex;
                align-items: center;
                gap: 10px;
            }
                [class*="swiper-button-"] {
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    width: 35px;
                    height: 35px;
                    border: 1px solid #000000;
                    background: #FFF;
                    margin: 0;
                }
                [class*="swiper-button-"] svg {
                    width: 15px;
                    height: 12px;
                }
                .swiper-button-prev svg {
                    transform: rotate(-180deg);
                }
        .blog__slider {
            margin-bottom: 29px;
        }
            .no-slide .blog__list {
                gap: 28px;
            }
            .blog__card {
                width: 323px;
            }
                .blog__image {
                    width: 100%;
                    height: 242px;
                    margin-bottom: 7px;
                    overflow: hidden;
                }
                    .blog__image img {
                        width: 100%;
                        height: 100%;
                        object-fit: cover;
                        transition: 0.4s;
                    }
                    .blog__card a:hover {
                        opacity: 1;
                    }
                    .blog__card a:hover .blog__image img{
                        transform: scale(1.1);
                    }
                .blog__title {
                    font-size: 18px;
                    font-weight: 700;
                    line-height: 1.833;
                    overflow: hidden;
                    text-overflow: ellipsis;
                    white-space: nowrap;
                    margin-bottom: 5px;
                }
                .blog__text {
                    font-family: 'Zen Kaku Gothic New';
                    font-size: 14px;
                    font-weight: 500;
                    line-height: 1.6;
                    margin-bottom: 7px;
                    display: -webkit-box;
                    -webkit-box-orient: vertical;
                    -webkit-line-clamp: 2;
                    overflow: hidden;
                }
                .blog__days {
                    font-size: 14px;
                    font-weight: 500;
                    line-height: 1.6;
                    text-align: right;
                }

/*メッセージ*/
.section__wrap--message{
    margin: 0;
    padding: 100px 0;
    background: #F9F8E8;
    position: relative;
    overflow: hidden;
}
.section__wrap--message::after{
    content: '';
    display: block;
    width: 435px;
    height: 269px;
    background: url(/images/top/message_decoration.png) no-repeat center;
    position: absolute;
    right: calc((100% - 1140px) / 2 - 390px);
    bottom: 0;
    pointer-events: none;
}
.section__ttl--message{
    width: auto;
    margin-bottom: 37px;
}
.section__ttl--message::before{
    width: 326px;
    height: 95px;
    background-image: url(/images/top/ttl_message.png);
    left: unset;
    right: 23px;
    bottom: -5px;
}
.section__inner--message::before{
    content: '';
    display: block;
    width: 148px;
    height: 219px;
    background: url(/images/top/message_bg.png) no-repeat center;
    position: absolute;
    top: 6px;
    left: -111px;
}
.message__left{
    width: 480px;
    position: absolute;
    top: 63px;
    left: 0;
    z-index: 2;
}
.message__right{
    width: 820px;
    margin-left: auto;
    background: #fff;
    padding: 68px 110px 70px 100px;
    position: relative;
    right: -110px;
}
.message__img{
    margin-bottom: 9px;
}
.message__company__name{
    width: 407px;
    font-size: 18px;
    font-weight: 700;
    border-bottom: 1px solid #E3E8DD;
    padding-bottom: 9px;
    margin-bottom: 5px;
}
.message__company__tel{
    display: flex;
    gap: 15px;
    margin-bottom: 8px;
}
.message__company__tel li{
    font-family: 'Zen Kaku Gothic New';
    font-size: 14px;
    font-weight: 500;
}
.message__company__tel li span{
    font-family: inherit;
    font-size: 24px;
    font-weight: inherit;
}
.message__company__eigyo{
    font-family: 'Zen Kaku Gothic New';
    font-size: 14px;
    color: #BCBB9D;
}
.message__right__txt{
    display: flex;
    flex-flow: column;
    gap: 25px;
    margin-bottom: 37px;
}
.message__right__txt p{
    font-family: 'Zen Kaku Gothic New';
    font-size: 16px;
    line-height: 1.8;
    text-align: center;
}

/*よくある質問*/
.section__wrap--faq{
    overflow: hidden;
    margin: 0;
    padding-block: 100px;
}
.section__wrap--faq .section__inner::before{
    content: '';
    display: block;
    width: 180px;
    height: 535px;
    background: url(/images/top/faq_bg.png) no-repeat center;
    position: absolute;
    bottom: 182px;
    right: -244px;
    margin: auto;
}
.section__ttl--faq{
    margin-bottom: 38px;
}
.section__ttl--faq::before{
    width: 182px;
    height: 97px;
    background-image: url(/images/top/ttl_faq.png);
    left: unset;
    right: -92px;
}
.faq__content .faq__list{
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}
.faq__item{
    width: 100%;
    border-bottom: 1px solid #DBDBDB;
    padding-bottom: 38px;
}
.faq__subttl{
    display: flex;
    align-items: center;
    gap: 15px;
    color: #006F38;
    font-size: 20px;
    font-weight: 700;
}
.faq__subttl::before{
    content: 'Q';
    display: block;
    flex-shrink: 0;
    border: 1px solid #006F38;
    color: #006F38;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    font-family: 'Cardo';
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    padding: 6px 0;
}
.faq__description{
    align-items: start;
    margin-top: 16px;
    display: flex;
    gap: 8px;
    font-family: 'Zen Kaku Gothic New';
    font-size: 16px;
    font-weight: 500;
    line-height: 1.8;
}
