@charset "utf-8";
/*
Theme Name:mrp-child
Template:mrp
Version: 1.0.0
*/
/*
DesignCode CSS: ver 0.01
*/
/*------------------------------------------------------
Theme Material
------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Darumadrop+One&family=Kiwi+Maru:wght@400;500&family=Zen+Maru+Gothic:wght@400;500;700;900&display=swap');

:root {
    --color-background: #fff;
    --color-font: #5E413C;
    --color-primary: #9B6262;
    --color-primary-shade: #5E413C;
    --color-primary-tint: #CF9494;
    --color-secondary: #AD9F9F;
    --color-secondary-tint: #B7A391;
    --color-table-border: #AD9F9F;
    --body-font-family: "Zen Maru Gothic", sans-serif;
    --content-max-width: 1240px;
    --header-background: #F2EEEA;
    --header-color-font: #5E413C;
    --header-color-primary: #9B6262;
    --header-color-primary-shade: #604E43;
    --header-color-primary-tint: #CF9494;
    --footer-background: #E7DAD0;
    --footer-color-font: #5E413C;
    --footer-color-primary: #5E413C;
    --font-family01: "Kiwi Maru","Zen Maru Gothic", sans-serif;
    --font-family02: "Darumadrop One","Zen Maru Gothic", sans-serif;
    --body-font-size: min(calc(1.6rem + (1vw - 1.92rem) * 0.1294), 1.6rem);

    /*------▼基本設定▼------*/
    --color-font: #5E413C;
    /*------▼フォント設定▼------*/
    --font-zmaru: "Zen Maru Gothic", serif;
    --font-kiwi: "Kiwi Maru", serif;
}

body {
    position: relative;
    font-weight: 500;
}
body:before {
    content: "";
    background: url(/wp-content/uploads/base.jpg) no-repeat;
    background-size: cover;
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: -1;
}
div#n2-ss-3 .n2-ss-slider-1 {
  display: block !important;
}

body:not(.home) .post img {
  border-radius: var(--px50);
}
#content {
    line-height: 2;
}
#front_top_content, #front_bottom_content {
    background: #ffffff;
}
.post h1, h1.title, h1,.post h2, .post2b h2, .post4b h2, h2.title, h2, h3,.post h3, h4,.post h4, h5,.post h5 {
    color: var(--color-font);
}
.post h2 {
    font-size: var(--rem36);
    font-family: var(--font-family01);
    font-weight: 500;
    text-align: center;
    letter-spacing: .2rem;
    padding: 0;
    margin: var(--px120) auto var(--px50);
}
.post h3 {
    font-size: var(--rem30);
    font-weight: 400;
    line-height: 1.4;
    margin: 0 0 var(--px30);
    font-family: var(--font-kiwi);
    color: var(--color-font);
    border-bottom: 2px solid var(--color-font);
}
h1.title, .post h1, header#h1Header h1.title {
    font-size: var(--rem36);
    font-family: var(--font-family01);
    font-weight: 500;
    letter-spacing: .2rem;
    text-align: center;
    text-shadow: none;
    padding: 0;
    z-index: 20;
}

/*------------------------------------------
common-header
------------------------------------------*/

nav#mainNav ul li a {
    transition: 0.3s all;

    b {
        font-weight: 500;
    }
    &:hover b {
        color: var(--color-primary-shade) !important;
    }
}
#header .logo {
    border-radius: 0;
}


@media print, screen and (min-width: 1024px) {
    #header {
        background: transparent;
    }
    body.home #header {
        position: absolute;
        top: 0;
        left: 0;
    }
	#header .logo {
        background: transparent;

        img {
            max-width: none;
        }
    }
    #header .header__nav-contact {
        background: transparent;
        margin-left: auto;
    }
    nav#mainNav ul li a b, nav#mainNav ul li a span {
        margin-top: 0;
        font-weight: 500;
    }
	nav#mainNav ul li li a:hover, nav#mainNav ul li li.current-menu-item a, nav#mainNav ul li li.current-menu-item li a:hover, nav#mainNav ul li.current-menu-item li a:hover, nav#mainNav ul li.current-menu-ancestor li.current-menu-item a, nav#mainNav ul li.current-menu-ancestor li a:hover {
		background: var(--header-background);
	}
	nav#mainNav ul li a:active, nav#mainNav ul li a:hover {
		background: transparent;
	}
	nav#mainNav ul li a:active, nav#mainNav ul li a:hover, nav#mainNav ul li.current-menu-ancestor a, nav#mainNav ul li.current-menu-item a, nav#mainNav ul li.current-menu-parent a {
        background: transparent;
    }
	nav#mainNav ul li.current-menu-item a b, nav#mainNav ul li a:hover b, nav#mainNav ul li a:active b, nav#mainNav ul li.current-menu-parent a b, nav#mainNav ul li a:active span, nav#mainNav ul li a:hover span, nav#mainNav ul li.current-menu-item a span, nav#mainNav ul li.current-menu-parent a span {
        color: var(--header-color-primary);
    }
	.sticky-header #header > .inner {
		background: #fff;
        -webkit-box-shadow: none;
                box-shadow: none;
	}
    nav#mainNav ul li a:hover {
        background: #ffffffbf;
    }
    #header a.head_btn.mail_btn::before {
        content: none;
    }
    #header a.head_btn {
        color: #fff;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        gap: 0.5rem;
        background: var(--color-font);
        padding: var(--rem20) var(--rem30);
        font-size: var(--rem16);
        font-weight: 500;
        text-align: center;
        margin: 10px;
        border-radius: var(--rem60);
        height: auto;
        
        &:hover {
            background-color: var(--color-primary-tint);
            color: #fff;
        }
        &.next_btn {
            background: var(--color-secondary);
            
            &:hover {
                color: #fff;
                background: var(--color-secondary-shade);
            }
        }
        &.print_btn {
            background: var(--color-primary);
            
            &:hover {
                color: #fff;
                background: var(--color-primary-shade);
            }
        }
    }
}
@media print, screen and (max-width: 1023px) {
    body.mobile #header .logo .mark {
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        padding: 5px 10px;
        text-align: left;
        gap: 3px;
    }
}
@media print, screen and (max-width: 640px) {
    body.mobile #header .logo .mark {
        padding: 3px 3px 3px 8px;
    }
}

.spmenu #menu span, .spmenu #menu span:after, .spmenu #menu span:before {
    height: 1px;
    background: var(--color-font);
}
.spmenu #menu p {
    color: var(--color-font);
}


/*--------------------------------------------
FOOTER
--------------------------------------------*/

/* ----全体LAYOUT調整----*/

.footer__inner {
	width: 94%;
	margin: 0 auto;
}

/* ----top----*/

#footer .footer__logo:not(:last-child) {
    margin: 0;
    text-align: left;
}
.toparea .logoare {
    display: flex;
    flex-direction: column;
    gap: var(--px14);
    line-height: 1;
}
.footer__catchphrase {
    line-height: 1.2;
	text-align: left;
}
@media print, screen and (max-width: 768px) {
	#footer .footer__logo:not(:last-child) {
		text-align: center;
	}
	.footer__catchphrase {
		text-align: center;
	}
}

/* ----SNSアイコン----*/

/*LAYOUT調整*/

#footer .socialicon ul, .socialicon ul {
    -webkit-box-pack: start;
    -ms-flex-pack: flex-start;
    justify-content: flex-start;
    gap: 10px;
}
#footer .socialicon ul li, .socialicon ul li {
    padding: 0;
}
@media print, screen and (max-width: 768px) {
	#footer .socialicon ul, .socialicon ul {
		justify-content: center;
	}
}

/*アイコンサイズ調整*/

#footer .socialicon .fa-facebook:before, #footer .socialicon .fa-twitter:before, #footer .socialicon .fa-youtube:before, #footer .socialicon .fa-instagram:before, #footer .socialicon .fa-x-twitter:before, #footer .socialicon .fa-line:before, #footer .socialicon .fa-tiktok:before {
    font-size: var(--rem24);
}

/* ----bottom----*/

.bottomarea {
    display: flex;
    margin-top: var(--px40);
    gap: 1rem;
}
#footer .footnav:not(:last-child) {
    margin-bottom: 0;
}
#footer .footnav ul {
    -webkit-box-pack: start;
    -ms-flex-pack: flex-start;
    justify-content: flex-start;
}
#footer .footnav ul > li {
    margin: 0;
}
#copyright {
    margin: 0;
    background: transparent;
}
@media print, screen and (max-width: 768px) {
	.bottomarea {
		flex-direction: column;
		align-items: center;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
	#footer .footnav ul {
	    -webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
}

#MESY_FTMFM_footer_bar-wrapper ul#MESY_FTMFM_footer_bar li {
    &.link_menu.bg_01 a {
        background: #a3774d;
    }
    &.link_menu.bg_02 a {
        background: #5E413C;
    }
    &.link_menu.bg_03 a {
        background: #9B6262;
    }
}

/*--------------------------------------------
btn
--------------------------------------------*/

.linkBtn, .post .linkBtn {
    position: relative;
    display: inline-block;
    width: 100%;
    max-width: 24rem;
    font-size: var(--rem18);
    color: var(--color-font);
    line-height: 1.8;
    text-align: center;
    background: #fff;
    box-shadow: 0px 4px 4px rgba(202, 185, 185, 0.6);
    padding: var(--rem18) var(--rem30);
    margin: var(--px40) auto 0;
    border-radius: var(--rem120);
    transition: all .3s;
}
.linkBtn a {
    color: var(--color-font);
}
.linkBtn:hover, .post .linkBtn:hover, .linkBtn:hover a {
    background: var(--color-primary);
    color: #fff;
}
.linkBtn:hover a {
    background: transparent;
}
.linkBtn.colorbtn, .post .linkBtn.colorbtn {
    background: #F2EEEA ;
    color: var(--color-font);
}
.linkBtn.colorbtn:hover, .post .linkBtn.colorbtn:hover {
    background: var(--color-primary);
    color: #fff;
}

/*--------------------------------------------
front-common
--------------------------------------------*/

.front_contents {
    .wrapper_content, .ttlarea {
        position: relative;
        width: 90%;
        max-width: 1600px;
        margin: 0 auto;
    }

    h2 {
    font-size: var(--rem120);
    color: var(--color-primary-tint);
    line-height: 1.2;
    display: flex;
    flex-direction: column;
    font-family: var(--font-family02);
    font-weight: 500;

        &::before, &::after {
            content: none;
        }

        span.subtxt {
            font-size: var(--rem30);
            color: var(--color-primary-shade);
            line-height: 1.6;
            margin-top: var(--rem18);
            display: block;
            font-family: var(--font-family01);
            font-weight: 500;
        }

        @media print, screen and (max-width: 640px) {
            font-size: var(--rem80);
        }
    }

    h3 {
    font-size: var(--rem40);
    color: var(--color-primary-shade);
    text-align: left;
    padding: 0;
    border: none;
    font-weight: 500;
    font-family: var(--font-family01);

        span.subtxt {
            font-size: var(--rem16);
            color: var(--color-primary);
            line-height: 1.6;
            font-weight: 600;
            margin-top: var(--rem12);
            display: block;
            font-family: var(--body-font-family);
        }
    }
    .fit-content {
        width: fit-content;
        margin: var(--px60) auto;
        max-width: 1124px;
    }
    .ttlarea {
        display: flex;
        align-items: anchor-center;
        justify-content: flex-start;
        gap: var(--rem40);
        margin-bottom: var(--rem40);

        .ttlico {
            flex-shrink: 0;
            max-width: 20rem;
            @media print, screen and (max-width: 768px) {
                max-width: var(--px240);
            }
        }
        h2 {
            margin: 0 !important;
            justify-content: flex-start;
            align-items: flex-start;
            text-align: left;

            @media print, screen and (max-width: 768px) {
                text-align: center;
                align-items: center;
            }
        }

        @media print, screen and (max-width: 768px) {
            flex-direction: column;
            justify-content: center;
            align-items: center;
            text-align: center;
            gap: 1rem;
        }
    }
}


/*--------------------------------------------
front-sec01
--------------------------------------------*/

.centerbox {
    margin: 0 auto;
    line-height: 2;
    font-size: var(--rem24);
    width: fit-content;

    p {
        & + p {
            margin-top: var(--rem24);
        }
        &:last-of-type {
            margin-bottom: var(--rem30);
        }
    }
}

/*--------------------------------------------
front-sec02
--------------------------------------------*/

.sec02 {
    padding-top: 0;

    .ttlarea {
        max-width: 1280px;
    }
    .maskimgarea  {
        max-width: 1280px;
        width: 100%;
        margin: 0 auto;
        position: relative;

        .imgarea {
            -webkit-mask-size: 110% 150%;
            mask-size: 150% 150%;
            -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
            -webkit-mask-position: center;
            mask-position: center;
            border-radius: 100vh;
            overflow: hidden;

            &.img01 {
                text-align: right;
                -webkit-mask-image: url(/wp-content/uploads/shape.svg);
                mask-image: url(/wp-content/uploads/shape.svg);
                max-width: 800px;
                margin-left: auto;
            }
            &.img02 {
                text-align: left;
                position: relative;
                top: -200px;
                -webkit-mask-image: url(/wp-content/uploads/shape01.svg);
                mask-image: url(/wp-content/uploads/shape01.svg);
                max-width: 700px;
            }
            &.img03 {
                text-align: right;
                position: absolute;
                bottom: 0;
                right: 0;
                -webkit-mask-image: url(/wp-content/uploads/shape02.svg);
                mask-image: url(/wp-content/uploads/shape02.svg);
                max-width: 600px;
            }
            @media print, screen and (max-width: 1100px) {
                &.img01 {
                    max-width: 80%;
                }
                &.img02 {
                    top: -90px;
                    max-width: 60%;
                }
                &.img03 {
                    max-width: 50%;
                }
            }
        }
        .illustrationimgarea {
            position: absolute;
            bottom: 0;
            left: 20%;
            width: 30%;
        }
    }

    /*---------col03-----------*/
    
    .col3_list {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        flex-wrap: wrap;

        ::before {
            content: "";
            display: block;
            width: 32%;
            height: 0;
            order: 1;
        }
        ::after {
            content: "";
            display: block;
            width: 32%;
            height: 0;
        }
        @media print, screen and (max-width: 768px) {
            
            width: 85%;
            margin: 0 auto;

            ::before, ::after {
                content: none;
            }
        }

        & > li {
            width: 30%;
            margin-bottom: 2%;

            &:nth-child(2) {
                margin-top: var(--px80);
            }

            @media print, screen and (max-width: 768px) {
                width: 48%;

                &:nth-child(2) {
                    margin-top:0;
                }
            }
            @media print, screen and (max-width: 640px) {
                width: 100%;
                margin-bottom: var(--px40);

                &:last-child {
                    margin-bottom: 0;
                }
            }

            .imgarea {
                border-radius: 50vh 50vh var(--px40) var(--px40);
                overflow: hidden;
                position: relative;

                img {
                    object-fit: cover;
                    width: 100%;
                    height: 100%;
                }
                .onttl {
                    position: absolute;
                    right: 0;
                    bottom: 0;
                    padding: 1rem var(--rem20);
                    background: #fff;
                    border-radius: var(--rem20) 0 0 0;
                    min-width: var(--rem160);
                    text-align: center;
                    font-size: var(--rem24);
                    font-family: var(--font-family01);
                }
            }
            .txtarea {
                margin-top: var(--rem20);
                border-bottom: dotted 4px var(--color-primary-tint);
                padding-bottom: var(--px30);

                .ttl {
                    margin-bottom: var(--rem12);
                    font-size: var(--rem20);
                    color: var(--color-primary);
                    line-height: 1.6;
                    margin: var(--rem12) 0;
                    font-weight: 600;
                }
            }
        }
    }
    .bgarea {
        background: #fff;
        width: 100%;
        height: 35%;
        position: absolute;
        bottom: -120px;
        left: 0;
        z-index: -1;
        --mask:
        radial-gradient(197.23px at 50% 270px,#000 99%,#0000 101%) calc(50% - 200px) 0/400px 51% repeat-x,
        radial-gradient(197.23px at 50% -170px,#0000 99%,#000 101%) 50% 100px/400px calc(51% - 100px) repeat-x,
        radial-gradient(197.23px at 50% calc(100% - 270px),#000 99%,#0000 101%) calc(50% - 200px) 100%/400px 51% repeat-x,
        radial-gradient(197.23px at 50% calc(100% + 170px),#0000 99%,#000 101%) 50% calc(100% - 100px)/400px calc(51% - 100px) repeat-x;
      -webkit-mask: var(--mask);
              mask: var(--mask);
    }
}

/*--------------------------------------------
front-sec03
--------------------------------------------*/

.sec03 {

    .imgarea img {
        border-radius: var(--px120);
    }
    .fit-content {
        margin-bottom: 0;
    }
}

/*--------------------------------------------
front-sec05
--------------------------------------------*/
.sec05 {
    padding-top: 0;

    &:before {
        content: "";
        background: url(/wp-content/uploads/sec05_illustration.png) no-repeat right bottom;
        background-size: contain;
        width: 30%;
        height: 30%;
        position: absolute;
        right: 0;
        bottom: 0;
    }

    h2 {
        font-size: var(--rem80);
        color: var(--color-primary-tint);
        line-height: 1.2;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        font-family: var(--font-family02);
        font-weight: 500;

        &::before, &::after {
            content: none;
        }

        span.subtxt {
            font-size: var(--rem24);
            color: var(--color-primary-shade);
            line-height: 1.6;
            margin-top: var(--rem12);
            display: block;
            font-family: var(--font-family01);
            font-weight: 500;
        }
    }
    .imgarea {
        position: relative;

        &::before {
            content: "";
            width: 70%;
            height: 70%;
            background: #E7DAD0;
            position: absolute;
            z-index: 0;
            right: 0;
            bottom: 0;
            border-radius: 37% 63% 40% 60% / 30% 55% 45% 70%;
        }

        img {
            -webkit-mask-image: url(/wp-content/uploads/shape.svg);
            mask-image: url(/wp-content/uploads/shape.svg);
            -webkit-mask-size: 120%;
            mask-size: 120%;
            -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
            -webkit-mask-position: center;
            mask-position: center;
        }
    }
}

/*--------------------------------------------
common-CTA
--------------------------------------------*/
.home #full-wrapper + .cta {
  display: none;
}
.cta {
	position: relative;
	z-index: 0;
    background: url(/wp-content/uploads/bgimg.jpg) no-repeat;
    background-size: cover;

    .cta_wrap {
        width: 90%;
        margin: 0 auto;
        padding: var(--px160) 0;
        text-align: center;

        .ttl {
            font-size: var(--rem40);
            color: var(--color-font);
            line-height: 1.2;
            margin: 0 auto var(--px50);
            display: flex;
            flex-direction: column;
            font-family: var(--font-family01);
            font-weight: 500;
        
                &::before, &::after {
                    content: none;
                }
        
                span.subtxt {
                    font-size: var(--rem30);
                    color: var(--color-primary-shade);
                    line-height: 1.6;
                    margin-top: var(--rem18);
                    display: block;
                    font-family: var(--font-family01);
                    font-weight: 500;
                }
            }
        .ctabtnlist {
            justify-content: space-between;
            max-width: 960px;
            margin: var(--px50) auto 0 auto;

            li {
                width: 50%;
                margin: 0;
                padding: 0;
                line-height: 1;
                display: flex;

                @media print, screen and (max-width: 768px) {
                    width: 100%;

                    & + li {
                        margin-top: 1rem;
                    }
                }

                a.item {
                    position: relative;
                    display: flex;
                    flex-direction: column;
                    align-items: center;
                    justify-content: center;
                    width: 100%;
                    padding: var(--px30);
                    text-align: center;
                    box-sizing: border-box;
                    color: var(--color-font);
                    border-radius: 0;
                    transition: all ease .15s;

                    @media print, screen and (max-width: 768px) {
                        width: 100%;
                        border-radius: var(--px20);
                    }

                    &:hover{
                    	opacity: 0.8;
                    }

                    &.telbtn {
                        background: #F2EEEA;
                        color: var(--color-primary);

                        .telnum {
                            font-size: var(--rem36);
                            margin-bottom: 1rem;
                        }
                        .infotxt {
                            font-size: var(--rem16);
                            line-height: 1.2;
                        }
                    }
                    &.mailbtn {
                        background: var(--color-primary);
                        color: #fff;
                        min-height: 60px;

                        .btnttl {
                            font-size: var(--rem24);
                        }
                    }
                }
            }
        }
    }
}

/*-----------------------------
subpage-post
------------------------------*/
.postarea {
    --mask: radial-gradient(197.23px at 50% calc(100% - 270px), #000 99%, #0000 101%) calc(50% - 200px) 0 / 400px 100%, radial-gradient(197.23px at 50% calc(100% + 170px), #0000 99%, #000 101%) 50% calc(100% - 100px) / 400px 100% repeat-x;
    -webkit-mask: var(--mask);
    mask: var(--mask);
    padding-bottom: calc(170px + var(--px100));
    background: #fff;

    .wrapper_content {
        max-width: 960px;
    }
    h2 {
        font-size: var(--rem80);
        color: var(--color-primary-tint);
        line-height: 1.2;
        display: flex;
        flex-direction: column;
        font-family: var(--font-family02);
        font-weight: 500;

        &::before, &::after {
            content: none;
        }

        span.subtxt {
            font-size: var(--rem24);
            color: var(--color-primary-shade);
            line-height: 1.6;
            margin-top: var(--rem12);
            display: block;
            font-family: var(--font-family01);
            font-weight: 500;
        }
    }
}

/*------------------------------------------------------
subpage-CONTACT
------------------------------------------------------*/

.wpcf7-form {
    padding: 0;

    a {
        color: var(--color-font);
        border-bottom: solid 1px;

        :hover {
            color: var(--color-font);
            opacity: 0.6;
            border-bottom: solid 1px #aaa;
        }
    }
    .must {
        background: var(--color-primary);
    }
    input[type="text"], input[type="tel"], input[type="email"], input[type="date"], input[type="url"], input[type="number"], select, textarea {
        vertical-align: middle;
        line-height: 30px;
        min-height: 50px;
        padding: 10px;
        border-radius: 0;
        color: var(--color-font);
        background: #fff;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        border: none;
    }
    
    label {
        background: #f4efeb;
        border-radius: 10px;
        padding: 6px 12px 8px 6px;
    }
    .wpcf7-list-item {
        line-height: 3;
    }
}

div.wpcf7 .ajax-loader {
    display: none;
}
.linkBtn.submit_btn {
    padding: 0;
    margin-top: var(--px40);
    border-radius: 50vh;

    input[type="submit"] {
        width: 100%;
        display: block;
        font-family: var(--font-family01);
        padding: var(--px16) var(--px40);
        -webkit-transition: 0.7s all;
        -o-transition: 0.7s all;
        transition: 0.7s all;
        color: var(--color-font);
        z-index: 1;
        position: relative;
        -webkit-transition: .3s ease;
        -o-transition: .3s ease;
        transition: .3s ease;
        border-radius: 50vh;
    }
    
    &:hover input[type="submit"] {
        color: #fff !important;
        background-color: var(--color-primary-shade);
    }
}

.submit_btn .wpcf7-spinner, .post .submit_btn .wpcf7-spinner {
    margin: 0;
    top: calc(100% + 15px);
}

/*------------------------------------------------------
subpage-404
------------------------------------------------------*/

body.error404 #wrapper section h1 {
    padding: 0;
    font-family: var(--font-family01);
    background: transparent;
    margin: 20px 0 calc(40px + (1vw - 19.2px) * 1.6828) 0; /*40px-14px*/
    color: var(--color-font);
    font-weight: 500;
    font-size: calc(3rem + (1vw - 1.92rem) * 0.6472); /*3rem-1.7rem*/
    line-height: 1.4;
    letter-spacing: -1px;
    padding-bottom: 10px;
    border-bottom: solid 1px var(--color-font);
    width: 100%;
}

/*------------------------------------------------------
common-table
------------------------------------------------------*/
.post table {
    margin: calc(30px + (1vw - 19.2px) * 0.6472) auto;
    border: none;

    :first-child {
        margin-top: 0;
    }
    :last-child {
        margin-bottom: 0;
    }

    tr {
        border-bottom: 1px solid var(--color-table-border);
    }
    th, td {
        padding: 30px 15px 24px;
        min-height: 40px;
        vertical-align: middle;
        border: none;
        color: var(--color-font);
    }
    th {
        font-weight: 600;
        width: 30%;
        border-bottom: 1px solid var(--color-secondary-tint);
        background: transparent;
        color: var(--color-primary);
    }
    @media print, screen and (max-width: 640px) {
        &.responsive {
            th, td {
                text-align: left;
                max-width: none;
                padding: 16px 0 0 0;
                min-height: auto;
            }
            td {
                margin-bottom: 5px;
                padding: 4px 0 0 0;
            }
            th {
                font-size: 1.4rem;
                margin-top: 0;
                border: none;
            }
            tr:first-of-type th {
                margin-top: 0;
                padding-top: 0;
            }
        }
    }
}

/*------------------------------------------------------
sub_page_common
------------------------------------------------------*/

h2.subttl {
    font-family: var(--font-kiwi);
    color: var(--color-font);
  }
  
  h2.subttl::after {
    background: var(--color-font);
  }
  
  h2.subttl_line::after {
    display: none;
  }
  
  h3.sub_page_ttl {
    font-size: var(--rem30);
    font-weight: 400;
    line-height: 1.4;
    margin: 0 0 var(--px30);
    font-family: var(--font-kiwi);
    color: var(--color-font);
    border-bottom: 2px solid var(--color-font);
  }
  
  .sub_page_txt {
    font-size: var(--rem20);
    line-height: 2;
  }

/*------------------------------------------------------
aboutus
------------------------------------------------------*/

  .aboutus_ttl {
    font-size: var(--rem30);
    font-weight: 400;
    line-height: 1.9;
    margin: 0 0 var(--px30);
    font-family: var(--font-kiwi);
  }
  
  .aboutus_img_txt_l {
    padding: var(--px20);
    display: block;
    font-size: var(--px24);
    letter-spacing: 0.06rem;
    text-align: center;
  }
  
  .aboutus_img_txt_s {
    font-size: var(--px16);
  }
  
  .aboutus_profile_ttl {
    text-align: left;
    border-left: 3px solid;
    padding: 0 0 0 1%;
    font-size: var(--px24);
  }
  
  .aboutus_profile_box {
    border: solid 1px;
    padding: 4%;
  }
  
  .post table.aboutus_profile_box th,
  .post table.aboutus_profile_box td,
  .post table.aboutus_profile_box {
    border: none;
    background: none;
    padding: 0.6rem;
  }
  
  .post table.aboutus_company_box th,
  .post table.aboutus_company_box td,
  .post table.aboutus_company_box {
    border: none;
    background: none;
    padding: 1.4rem;
    border-bottom: 1px solid #AD9F9F;
    font-family: var(--font-zmaru);
  }
  
  table.aboutus_company_box th {
    color: #9B6262;
  }
  
  table.aboutus_company_box td {
    color: #5E413C;
  }
  
  table.aboutus_company_box td span {
    color: #FF2600;
  }
  
  .fw_contents .page_contents_inner:nth-child(even) {
    background: #ffffff;
  }
  
  .page_contents_inner {
    position: relative;
  }
  
  
  .page_contents_inner.wave {
    --mask: radial-gradient(41.38px at 50% 58.5px, #000 99%, #0000 101%) calc(50% - 60px) 0 / 120px 51% repeat-x, radial-gradient(41.38px at 50% -28.5px, #0000 99%, #000 101%) 50% 30px / 120px calc(51% - 30px) repeat-x, radial-gradient(41.38px at 50% calc(100% - 58.5px), #000 99%, #0000 101%) calc(50% - 60px) 100% / 120px 51% repeat-x, radial-gradient(41.38px at 50% calc(100% + 28.5px), #0000 99%, #000 101%) 50% calc(100% - 30px) / 120px calc(51% - 30px) repeat-x;
    -webkit-mask: var(--mask);
    mask: var(--mask);
  }

/*------------------------------------------------------
realestate
------------------------------------------------------*/

  h2.realestate_ttl {
    padding: 7% 0 0;
    font-size: var(--px24);
  }
  
  h2.realestate_ttl::after {
    display: none;
  }
  
  p.realestate_txt {
    line-height: 2;
    margin: 0 0 var(--px60) 0;
    letter-spacing: 0.06rem;
  }
  
  .support_area ul {
    margin: 0 0 var(--px100) auto;
    justify-content: space-between;
  }
  
  .support_area ul li {
    width: 40%;
    background-color: #ffffff;
    padding: var(--px40);
    font-size: var(--px20);
    border-radius: 10px;
  }
  
  .support_area ul li p {
    display: block;
    font-size: var(--rem18);
    height: 50px;
    text-align: center;
    line-height: 1.4;
  }
  
  .support_area img {
    display: block;
    margin: var(--px30) auto;
    border-radius: 0 !IMPORTANT;
  }
  
  @media print,
  screen and (max-width: 768px) {
    .support_area ul {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
    }
  
    .support_area ul li {
      width: 40%;
      padding: var(--px40) 0 4%;
      margin: var(--px20);
    }
  
    .support_area ul li span {
      display: block;
      line-height: 1.2;
      padding: var(--px20);
    }
  }

/*------------------------------------------------------
voice
------------------------------------------------------*/

  .voice_area {
    border: solid 1px #cccccc;
    padding: var(--px40);
    border-radius: var(--px40);
    margin: 0 0 var(--px40);
    background: #ffffff;
  }
  h3.voice_ttl {
    padding: 0 0 var(--px12);
    font-family: var(--font-kiwi);
    color: var(--color-font);
    border-bottom: 2px solid var(--color-font);
  }
  .voice_sub_ttl {
    margin: 0 0 var(--rem12);
    font-size: var(--rem16);
  }
  .voice_sub_txt {
    font-size: var(--rem16);
    line-height: var(--rem30);
  }
  .voice_area figure img {
    display: block;
    border-radius: 100%;
    margin: 0 auto;
  }
  
  @media print,
  screen and (max-width: 768px) {
    .voice_area figure img {
      width: 50%;
    }
  }

/*------------------------------------------------------
inheritance
------------------------------------------------------*/
  
  .inheritance_txt {
    line-height: 2;
    margin: 0 0 var(--px60) 0;
    letter-spacing: 0.06rem;
  }
  
  .inheritance_cnt {
    border-radius: 70px;
    background: #ffffff;
    padding: var(--rem60);
    margin: 0 auto var(--rem30);
    width: 90%;
  }
  
  .inheritance_cnt img {
    width: 20%;
    display: block;
    border-radius: 0 I !important;
  }
  @media print,
  screen and (max-width: 768px) {
    .inheritance_cnt img {
      min-width: 120px;
    }
  }
  
  .inheritance_cnt .inheritance_cnt_txt {
    text-align: center;
    padding: var(--rem20) 0;
    font-size: var(--rem20);
    font-weight: bold;
  }
  
  .inheritance_cnt .inheritance_cnt_txt span {
    font-size: var(--rem16);
  }
  
  .inheritance_cnt ul {
    text-align: center;
  }
  
  .inheritance_cnt li {
    list-style: inside;
  }
  
  .inheritance_arw_m {
    position: relative;
    padding: 0 0 var(--rem40);
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    flex-wrap: nowrap;
  }
  
  .arw_txt_left,
  .arw_txt_right {
    text-align: center;
  }
  
  .dli-arrow-down {
    display: block;
    color: #333;
    line-height: 1;
    position: relative;
    width: 0.2em;
    height: 4em;
    background: currentColor;
    margin: 1rem auto;
    color: var(--color-font);
  
  }
  
  .dli-arrow-down::before {
    content: '';
    width: 0.65em;
    height: 0.65em;
    border: 0.2em solid currentColor;
    border-top: 0;
    border-right: 0;
    transform: rotate(-45deg);
    transform-origin: bottom left;
    position: absolute;
    left: 50%;
    bottom: -0.05em;
    box-sizing: border-box;
  }
  
  .dli-arrow-top {
    display: block;
    line-height: 1;
    position: relative;
    width: 0.2em;
    height: 4em;
    background: currentColor;
    margin: 1rem auto;
    color: var(--color-font);
  
  }
  
  .dli-arrow-top::after {
    content: '';
    width: 0.65em;
    height: 0.65em;
    border: 0.2em solid currentColor;
    border-top: 0;
    border-right: 0;
    transform: rotate(135deg);
    transform-origin: bottom left;
    position: absolute;
    left: 50%;
    bottom: 4.2em;
    box-sizing: border-box;
  }
  
  .inheritance_answer {
    background: #DCD5D4;
    border-radius: 40px;
    width: 80%;
    margin: 0 auto;
    padding: var(--px40);
  }
  
  .inheritance_answer img {
    width: 30%;
    margin: 0 auto;
  }
  @media print,
  screen and (max-width: 768px) {
    .inheritance_answer img {
      width: 50%;
      margin: 0 auto;
    }
    }
  
  
  .inheritance_answer ul {
    margin: var(--px40);
    justify-content: center;
  }
  
  .inheritance_answer ul li {
    background: #ffffff;
    padding: 0.1rem 2rem;
    border-radius: 30px;
    width: 200px;
    text-align: center;
  }
  
  @media print,
  screen and (max-width: 768px) {
    .inheritance_answer ul li {
      margin: 0 auto 2rem;
    }
  }
  
  /*
  .dli-caret-down {
    display: inline-block;
    vertical-align: middle;
    color: #333;
    line-height: 1;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent;
    border-width: 0.64952em 0.375em;
    border-top-color: currentColor;
    border-bottom: 0;
  }*/
  
  .inheritance_arw_l {
    position: relative;
    margin: 12rem var(--px100) 0;
    text-align: center;
    font-size: var(--rem20);
    letter-spacing: 0.1rem;
  }
  
  .inheritance_arw_l::after {
    content: '';
    position: relative;
    top: -60px;
    right: 0;
    bottom: 0;
    left: 0;
    margin: 0 auto;
    border-style: solid;
    border-color: transparent;
    border-width: 6rem;
    border-top-color: currentColor;
  }
  .inheritance_list {
    align-items: stretch;
    flex-wrap: wrap;
    justify-content: center;
    background: #DCD5D4;
    padding: 2em var(--px20);
    border-radius: 20px;
    margin: 0 0 var(--px80);
  }
  
  
  .inheritance_listbox {
    background: #ffffff;
    border-radius: 10px;
    padding: var(--px30);
    margin: var(--px12);
    width: 29%;
  }
  
  .inheritance_listbox img {
    width: 40%;
    border-radius: 0 !important;
  }
  
  .inheritance_listbox p {
    text-align: center;
    font-size: var(--rem20);
  }
  
  
  .inheritance_list_ttl {
    border-bottom: solid 1px;
    padding: var(--px20);
    margin: 0 0 var(--px20);
  }
  
  .list_last {
    border-bottom: none;
  }
  
  
  .inheritance_list_txt ul {
    margin: 0 auto;
    width: 90%;
  }
  
  .inheritance_list_txt ul li {
    list-style: inside;
  
  }
  
  @media print,
  screen and (max-width: 768px) {
    .inheritance_list {
      padding: 2em var(--px40);
  }
  
    .inheritance_listbox {
      display: flex;
      justify-content: center;
      width: 100%;
      margin: 0 auto 2rem;
    }
  
    .inheritance_list_ttl {
      border-bottom: none;
      padding: 0;
      margin: 0;
      width: auto;
    }
  
    .inheritance_list_txt {
      width: 100%;
    }
  
    .inheritance_list_ttl img {
      width: 120px;
      padding: 10px !important;
    }
    .inheritance_listbox:last-child .inheritance_list_ttl img {
      width: 100px;
    }
  }
  
  .inheritance_btn {
    text-align: center;
  }
  
  .inheritance_btn a {
    display: inline-block;
    border-radius: 60px;
    padding: 1rem var(--px50);
    color: #ffffff;
    background: #9B6262;
    transition-property: opacity;
    transition-duration: 0.5s;
  }
  
  .inheritance_btn a:hover {
    opacity: 0.7; 
  }
  
  .inheritance_contact {
    font-size: var(--rem20);
    text-align: center;
  }

.footer__logo {
	display: flex;
    justify-content: space-between;
}