
@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=Cinzel:wght@400..900&family=Cormorant+Garamond:ital,wght@0,300..700;1,300..700&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');

:root {
    --color-background: #fff;
    --color-font: #242422;
    --color-btn: #242422;
    --color-primary: #4E3D26;
    --color-primary-shade: #372614;
    --color-primary-tint: #F0EEE9;
    --color-secondary: #928977;
    --color-secondary-tint: #F9F7F1;
    --color-table-border: #928977;
    --body-font-size: min(calc(1.6rem + (1vw - 1.92rem) * 0.1294), 1.6rem);
    --body-font-family: 'Noto Sans JP', sans-serif;
    --content-max-width: 1240px;
    --header-background: #fff;
    --header-color-font: #242422;
    --header-color-primary: #928977;
    --header-color-primary-shade: #372614;
    --header-color-primary-tint: #928977;
    --footer-background: #F0EEE9;
    --footer-color-font: #242422;
    --footer-color-primary: #4E3D26;
    --font-family01: "Cormorant Garamond", "Noto Serif JP", serif;
    --font-family02:"Noto Serif JP","Cormorant Garamond", serif;
	--font-family03: 'Noto Sans JP', sans-serif;
    --rem89: min(calc(8.9rem + (1vw - 1.92rem) * 2.5243), 8.9rem);/*8.9rem-5rem(1920-375) */
    --rem50: min(calc(5rem + (1vw - 1.92rem) * 1.6828), 5rem);/*5rem-2.4rem(1920-375) */
    --rem35: min(calc(3.5rem + (1vw - 1.92rem) * 0.9709), 3.5rem);/*3.5rem-2rem(1920-375) */
    --rem32: min(calc(3.2rem + (1vw - 1.92rem) * 0.7767), 3.2rem);/*3.5rem-2rem(1920-375) */
    --rem22: min(calc(2.2rem + (1vw - 1.92rem) * 0.2589), 2.2rem);/*2.2rem-1.8rem(1920-375) */
    --rem17: min(calc(1.7rem + (1vw - 1.92rem) * 0.1294), 1.7rem);/*1.7rem-1.5rem(1920-375) */
	--rem15: min(calc(1.5rem + (1vw - 1.92rem) * 0.0647), 1.5rem);/*1.5rem-1.4rem(1920-375) */
    --rem13: min(calc(1.3rem + (1vw - 1.92rem) * 0.1294), 1.3rem);/*1.3rem-1.1rem(1920-375) */
    --px89: min(calc(89px + (1vw - 19.2px) * 2.5243), 89px);/*89px-50px(1920-375) */
    --px26: min(calc(26px + (1vw - 19.2px) * 0.5178), 26px);/*26px-18px(1920-375) */
}

/*================================
common-baseparts
================================*/

body {
    position: relative;

    &:before {
        content: "";
        width: 60%;
        height: 6%;
        background: var(--color-primary-tint);
        z-index: -2;
        position: absolute;
        -webkit-clip-path: polygon(0 0, 0% 100%, 100% 0);
                clip-path: polygon(0 0, 0% 100%, 100% 0);
        left: 0;
        top: 0;
    }
    &:not(.home):before {
        height: 500px;
    }
}
@media print, screen and (max-width: 640px) {
    body {
        &:before, &:not(.home):before {
            height: 250px;
            width: 77%;
        }
    }
}
* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
}

a {
    cursor: pointer;
    color: var(--color-font);
    -webkit-transition: .3s all;
    -o-transition: .3s all;
    transition: .3s all;

    &:hover {
        opacity: 1;
    }
}

/*================================
mainslider
================================*/
.mainimgarea {
    position: relative;
}
body:not(.home) .mainimgarea {
    display: none;
}
div#mainImg {
    max-width: 1390px;
    width: 75%;
    margin-left: auto;
    margin-right: 0;
    position: relative;

    &:before {
        content: "";
        width: var(--px240);
        height: 100%;
        position: absolute;
        left: 0;
        top: 0;
        background: #ffffff60;
        -webkit-backdrop-filter: blur(20px);
                backdrop-filter: blur(20px);
        z-index: 1;
    }
}
@media print, screen and (max-width: 1720px) {
    div#mainImg {
        &:before {
            width: 25%;
        }
    }
}
@media print, screen and (max-width: 640px) {
    .mainimgarea {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
            -ms-flex-direction: column-reverse;
                flex-direction: column-reverse;
        padding-top: 40px;
    }
    div#mainImg {
        max-width: none;
        width: 100%;
        margin:0 auto;

        &:before {
            content: none;
        }
    }
}
.mvtxtarea {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    left: 7%;
    text-align: left;
    z-index: 2;

    p.mvmaincopy {
        font-size: var(--px50);
        font-family: var(--font-family02);
        color: var(--color-font);
        font-weight: 600;
        letter-spacing: .018em;
        padding: 0;
        margin: 0 0 var(--px30) -20px;
    }
    p.mvttl {
        position: relative;
        font-size: var(--px24);
        font-family: var(--font-family02);
        color: var(--color-font);
        font-weight: 600;
        letter-spacing: .3em;
        padding: 0;
        margin: 0 0 var(--px24);
    }
    .mvtxt {
        position: relative;
        margin: 0 0 var(--px30);
        line-height: 2.1875;
        &:after {
            content: "";
            background: url(/wp-content/uploads/mvdesigntxt.png) no-repeat;
            background-size: contain;
            background-position: right bottom;
            width: 100%;
            height: 100px;
            display: block;
            margin-left: 20%;
        }
    }
}
ul.mvbtnlist {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: var(--px40);
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto 0 0;

    li {
        width: 100%;
    }

    a.linkBtn {
        -webkit-transition: 0.3s all;
        -o-transition: 0.3s all;
        transition: 0.3s all;
        margin-top: 0;
        margin-left: auto;
        margin-right: auto;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        min-width: 240px;
        padding: var(--px16) var(--px20) var(--px16) var(--px30);
    }
}
@media print, screen and (max-width: 640px) {
    .mvtxtarea {
        position: relative;
        top: inherit;
        -webkit-transform: none;
            -ms-transform: none;
                transform: none;
        left: inherit;
        width: 90%;
        margin: 0 auto var(--px30);

        p.mvmaincopy {
            font-size: 28px;
        }
        p.mvttl {
            font-size: 16px;
            letter-spacing: 0.15em;
            font-weight: 700;
        }
        .mvtxt {
            position: relative;
            margin: 0 0 var(--px30);
            font-size: 12px;
            letter-spacing: 0.2em;
            font-weight: 600;
            line-height: 2;
            &:after {
                height: 50px;
                margin: 0;
            }
        }
    }
    ul.mvbtnlist {
        width: 100%;
        gap: 8px;
        margin-bottom: var(--px30);

        li {
            width: -webkit-fit-content;
            width: -moz-fit-content;
            width: fit-content;
        }
        a.linkBtn {
            font-size: 11.5px;
            padding: 10px 14px;
            min-width: auto;
        }
    }
}
@media print, screen and (max-width: 320px) {
    .mvtxtarea {
        p.mvmaincopy {
            font-size: 26px;
        }
    }
    ul.mvbtnlist {
        gap: 5px;
        a.linkBtn {
            font-size: 10px;
            padding: 10px 13px;
        }
    }
}

/*================================
header
================================*/

nav#mainNav ul li a b {
    font-weight: 600;
}

@media print,
screen and (min-width: 1024px) {
    #header {
        background: transparent;
        height: 120px;
    }
    #header .logo {
        background: transparent;
        padding: 10px;
        margin-left: 10px;
    }
    #header .logo img {
        height: 100%;
        max-width: 170px;
        max-height: 100px;
    }
    #header-layout {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        width: 100%;
        max-width: none;
        padding: 0;
    }
    nav#mainNav {
        margin: 0 0 0 var(--px18);
    }
    nav#mainNav ul, #header .header__nav-contact {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
    }
     nav#mainNav ul li a {
        padding: var(--px20) var(--px14);
        -webkit-transition: 0.3s all;
        -o-transition: 0.3s all;
        transition: 0.3s all;
    }

    nav#mainNav ul li a b,
    nav#mainNav ul li a span {
        margin-top: 0;
        font-weight: 700;
    }

    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-layout {
        background: #ffffff6b;
        -webkit-backdrop-filter: blur(20px);
                backdrop-filter: blur(20px);
        height: 120px;
    }
    .sticky-header #header>.inner {
        background: transparent;
        -webkit-box-shadow: none;
                box-shadow: none;
    }

    nav#mainNav ul li a:hover {
        color: var(--header-color-primary);
        background: transparent;
    }

    /* ----contactarea----*/

    .header_contactarea {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -ms-flex-item-align: stretch;
            -ms-grid-row-align: stretch;
            align-self: stretch;
    }
    #header a.head_btn {
        padding: min(calc(10px + (1vw - 19.2px) * 0.2232), 10px) var(--px40);
        font-size: 15px;
        letter-spacing: 0.05em;

        &::before {
            font-size: 27px;
            margin-bottom: 6px;
        }
    }

	#header a.head_btn.mail_btn {
		-webkit-transition: .3s all;
		-o-transition: .3s all;
		transition: .3s all;
        background: var(--color-btn);

        &:hover {
            opacity: 0.7;
            color: #fff;
			background: var(--color-secondary);
        }
	}
    .sticky-header #header .header__nav-contact {
        background: transparent;
    }
}

/* ----menu respons----*/

@media print, screen and (max-width: 1300px) {
     #header .logo img {
        max-width:var(--px240);
    }
}
@media print, screen and (max-width: 1280px) {
    #header a.head_btn {
        padding: min(calc(10px + (1vw - 19.2px) * 0.2232), 10px) var(--px12);
        font-size: var(--px12);

        &::before {
            font-size: var(--px18);
            margin-bottom: 6px;
        }
    }
}
@media print, screen and (max-width: 1023px) {

    body:not(.mobile) #header .logo {
        margin: 20px auto 0;
    }
    body.mobile {
        margin-top: 0;
        padding-top: 60px;
    }
    .mobile #header {
        background: transparent;
        -webkit-box-shadow: none;
                box-shadow: none;
    }

    body.mobile #header .logo .mark {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: 5px 0 0;
    }
    .header_contactarea {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: var(--px20) auto;
    }
    .header__nav-contact {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
            -ms-flex-direction: column-reverse;
                flex-direction: column-reverse;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
    }
    body nav#mainNav {
        width: 100%;
    }
}
@media print, screen and (max-width: 640px) {
    body.mobile #header .logo img {
        max-width: 105px;
        max-height: 62px;
    }
}

/* ----spmenu----*/

.spmenu #menu span,
.spmenu #menu span:after,
.spmenu #menu span:before {
    height: 2px;
    width: 32px;
    background: #fff;
}
.spmenu #menu span:before {
    bottom: -7px;
}
.spmenu #menu span:after {
    bottom: -14px;
}
.spmenu #menu {
    height: 35px;
}
.spmenu #menu span {
    left: 4px;
}
.spmenu #menu p {
    color: #fff;
    font-weight: 500;
}
@media only screen and (max-width: 1023px) {
    .mobile #header .logo .spmenu {
        background: var(--color-font);
        width: 68px;
    }
}

/*================================
footer
================================*/

#footer {
    color: var(--color-font);
    font-size: var(--rem14);
    padding: var(--px50) 3%;
    gap: var(--px40);
    background: var(--footer-background);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    .toparea {
        width: 100%;
        max-width: 1380px;
        margin: 0 auto;

        .logoarea {
            text-align: center;
            font-size: var(--rem12);
            color: var(--color-font);
            margin-bottom: var(--rem20);

            .footer__logo {
                margin: 0 auto var(--rem20);

                img {
                    max-width: 170px;
                    max-height: 100px;
                }
            }
            .longcatchphrase {
                font-family: var(--font-family02);
                font-style: normal;
                font-weight: 600;
                font-size: var(--rem20);
                line-height: 1.6;
                text-align: center;
                letter-spacing: 0.25em;
            }
        }
        .footnav ul {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            gap: 0.5rem var(--rem20);
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;

            li {
                padding: 0;
                margin-bottom: 0;

                &:before,&:after {
                    content: none;
                }
                a {
                    font-family: var(--font-family03);
                    font-style: normal;
                    font-weight: 700;
                    font-size: var(--rem14);
                    line-height: 1.8;
                    letter-spacing: 0.05em;
                    color: var(--color-font);
                }
            }
        }
    }
    .bottomarea {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: var(--px20);
        width: 100%;
        max-width: 1380px;
        margin: 0 auto;

        #copyright {
            color: var(--color-font);
            line-height: 1.4;
            font-weight: 500;
            text-align: right;
            width: -webkit-fit-content;
            width: -moz-fit-content;
            width: fit-content;
            margin: 0;
        }
    }
    ul li a:hover {
        text-decoration: none;
    }
}
@media print, screen and (max-width: 960px) {
    #footer {
        .bottomarea {
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;

            #copyright {
                margin-top: 10px;
                text-align: center;
            }
        }
    }
}
@media print, screen and (max-width: 640px) {
    #footer {
        .toparea {
            .logoarea {
                margin-bottom: var(--rem24w);

                .footer__logo {
                    margin-bottom: 0.6rem;
                    img {
                        max-width: 120px;
                        max-height: 100px;
                    }
                }
            }
        }
    }
}
/* ----spfooterarea----*/

#scrollUp {
    bottom: 70px !important;
}

/*================================
socialicon
================================*/

@media print,
screen and (min-width: 1024px) {
    #header .socialicon {
        margin-right: var(--px12);
    }
}
@media print,
screen and (min-width: 1400px) {
    #header .socialicon {
        margin-right: var(--px24);
    }
}
.socialicon, #footer .socialicon, #header .socialicon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;

    ul {
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
        padding: 0;
    }
    li {
        padding: 0;
        margin: 0 10px 0 0;
    }
    ul li a {
        padding: 0;
        overflow: initial;
        line-height: 1;
        color: #fff;
        background: #111;
        width: 40px;
        height: 40px;
        border-radius: 50vh;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-transition: 0.3s all;
        -o-transition: 0.3s all;
        transition: 0.3s all;

                &:hover {
                    background-color: var(--color-secondary);
                }
    }

    i, .fa-facebook:before, .fa-twitter:before, .fa-youtube:before, .fa-instagram:before, .fa-x-twitter:before, .fa-line:before, .fa-tiktok:before {
        font-size: 20px;
        color: #fff;
        line-height: 1;
    }
    a:hover {
        background: var(--color-primary);
        img {
            opacity: 1;
        }
    }
}
@media print,
screen and (max-width: 1023px) {
    body.mobile #header .socialicon {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin-left: auto;

        li {
            margin: 0 8px 0 0;
        }
        ul li a {
            width: 30px;
            height: 30px;
        }
        i, .fa-facebook:before, .fa-twitter:before, .fa-youtube:before, .fa-instagram:before, .fa-x-twitter:before, .fa-line:before, .fa-tiktok:before {
            font-size: 14px;
        }
        img {
            width: 22px;
            height: 22px;
        }
    }
}


/*================================
side banner
================================*/

#floating-menu {
    position: fixed;
    right: 0;
    bottom: 15%;
    z-index: 100;
}

#floating-menu a {
    position: relative;
    text-align: center;
    font-family: var(--font-family02);
    font-weight: 600;
    line-height: 1.4;
    font-size: 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 8px;
    width: 210px;
    height: 210px;
    background-color: var(--color-btn);
    color: #fff;
    -webkit-transition: 0.3s all;
    -o-transition: 0.3s all;
    transition: 0.3s all;

    &:hover {
        background-color: var(--color-primary);
    }
    .ctattl {
        font-size: 18px;
        font-family: var(--font-family02);
        margin-bottom: 3px;
        font-weight: 600;
        line-height: 1.4;
        color: #fff;
        letter-spacing: 0.05em;
        margin-top: 45px;
    }
    .ctatxt {
        font-size: 12px;
        font-family: var(--font-family03);
        font-weight: 500;
        line-height: 1.8;
        color: #fff;
        margin-top: 5px;
        margin-bottom: auto;
    }
    &:after {
        content: "\f061";
        position: static;
        font-family: 'Font Awesome 6 Free';
        font-style: normal;
        background: #fff;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        width: 30px;
        height: 30px;
        margin-left: auto;
        font-weight: 600;
        font-size: 13px;
        line-height: 1;
        padding-top: 2px;
        border: none;
        -webkit-transform: inherit;
        -ms-transform: inherit;
        transform: inherit;
        color: var(--color-font);
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }
    &:hover {
        color: #fff;
        background: var(--color-secondary);
        opacity: 1;
    }
}
.mobile #floating-menu {
    display: none;
}

/*================================
CTAarea
================================*/

.post ul.ctaarea, ul.ctaarea, #footer ul.ctaarea {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: var(--px40);
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
    background: #fff;
    padding: var(--px80) 0 var(--px100);

    & > li {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: anchor-center;
            -ms-flex-align: anchor-center;
                align-items: anchor-center;
        padding: 0 var(--px60);
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;

        & + li {
            border-left: solid 0.1rem #CCC;
        }

        .innertxt {
            max-width: 500px;
            width: 100%;
            margin: 0 auto;
            line-height: 1.6;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            text-align: center;

            .ctattl {
                position: relative;
                color: var(--color-font);
                font-family: var(--font-family01);
                font-style: normal;
                font-weight: 700;
                font-size: var(--rem50);
                line-height: 0.9;
                padding: 0;
                margin-bottom: var(--rem30);
                text-align: center;

                span.subttl {
                    font-size: var(--rem16);
                    font-family: var(--font-family03);
                    display: block;
                    margin-top: var(--rem12);
                    line-height: 1.4;
                }
            }
            .ctatxt {
                margin-bottom: var(--rem24);
            }
            ul.btnlist {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -ms-flex-wrap: wrap;
                    flex-wrap: wrap;
                gap: 0.5rem;
                -webkit-box-pack: center;
                    -ms-flex-pack: center;
                        justify-content: center;
            }
            .linkBtn {
                margin: 0 auto;
                -webkit-transition: 0.3s all;
                -o-transition: 0.3s all;
                transition: 0.3s all;
                min-width: inherit;
                width: -webkit-fit-content;
                width: -moz-fit-content;
                width: fit-content;
            }
        }
    }
}
@media print,
screen and (max-width: 960px) {
    .post ul.ctaarea, ul.ctaarea, #footer ul.ctaarea {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        padding: 0 var(--px80) 0;

        & > li {
            padding: var(--px80) 0;
            gap: 0;

            & + li {
                border-left: none;
                border-top: solid 0.1rem #CCC;
            }
            & .innertxt {
                .ctatxt {
                    text-align: left;
                }
            }
        }
    }
}
@media print,
screen and (max-width: 640px) {
    .post ul.ctaarea, ul.ctaarea, #footer ul.ctaarea {
        & > li {
            & .innertxt {
                .ctattl {
                    font-size: var(--rem48w);
                }
                .ctatxt {
                    line-height: 2;
                }
            }
        }
    }
}

/*================================
common parts - linkBtn
================================*/

.linkBtn, .post .linkBtn, #footer .linkBtn {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: var(--rem18) var(--rem30) var(--rem18) var(--rem48);
    gap: var(--rem16);
    font-weight: 600;
    font-size: var(--rem16);
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    min-width: 30rem;
    text-align: left;
    margin: var(--rem40) auto 0 0;
    background: var(--color-btn);
    border-radius: 50vh;
    z-index: 1;
    color: #fff;
    overflow: hidden;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-transition: 0.3s all;
    -o-transition: 0.3s all;
    transition: 0.3s all;

    &:hover {
        color: #fff;
        background: var(--color-secondary);
        opacity: 1;
    }
    &.leftrbtn {
        margin-left: 0;
        margin-right: auto;
    }
}
.txt_c > a.linkBtn {
    margin-left: auto;
    margin-right: auto;
}
@media print,
screen and (max-width: 640px) {
    .linkBtn, .post .linkBtn, #footer .linkBtn {
        margin-left: auto;
        margin-right: auto;
        min-width: inherit;
        max-width: 32rem;
        width: 100%;
    }
}
.linkBtn::after, input.linkBtn::after, .post .linkBtn::after, #footer .linkBtn::after {
    content: "\f0a9";
    position: static;
    font-family: 'Font Awesome 6 Free';
    font-style: normal;
    font-weight: 600;
    font-size: var(--rem24);
    line-height: 1.6;
    letter-spacing: 0.05em;
    border: none;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    -webkit-transform: inherit;
        -ms-transform: inherit;
            transform: inherit;
    margin: 0 0 0 auto;
    display: inline-block;
    color: #fff;
}

/*--------linkBtnbox--------*/

a.linkBtnbox {
    position: relative;
    text-align: center;
    line-height: 1.4;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 10px;
    padding: var(--rem40) 1rem 1rem var(--rem20);
    margin-top: var(--rem24);
    font-size: var(--rem14);
    background-color: var(--color-btn);
    color: #fff;
    -webkit-transition: 0.3s all;
    -o-transition: 0.3s all;
    transition: 0.3s all;

    .btnttl {
        font-size: var(--rem20);
        font-family: var(--font-family02);
        font-weight: 600;
        line-height: 1.4;
        color: #fff;
        letter-spacing: 0.05em;
    }
    &:after {
        content: "\f061";
        position: static;
        font-family: 'Font Awesome 6 Free';
        font-style: normal;
        background: #fff;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        width: 3rem;
        height: 3rem;
        margin-left: auto;
        font-weight: 600;
        font-size: var(--rem13);
        line-height: 1;
        padding-top: 0.2rem;
        border: none;
        -webkit-transform: inherit;
        -ms-transform: inherit;
        transform: inherit;
        color: var(--color-font);
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }
    
    &:hover {
        color: #fff;
        background: var(--color-secondary);
        opacity: 1;
    }
}
@media print,
screen and (max-width: 640px) {
    a.linkBtnbox {
        &:after {
            margin-right: auto;
        }
    }
}
@media print,
screen and (max-width: 320px) {
    a.linkBtnbox {
        .btnttl {
            font-size: 12px;
        }
    }
}

/*--------linkBtnbox--------*/

.txtlink {
    border-bottom: solid 1px;
    margin: 0 5px;
    font-weight: 600;
    color: var(--color-font);
        -webkit-transition: 0.3s all;
    -o-transition: 0.3s all;
    transition: 0.3s all;

    &:hover {
        color: var(--color-secondary);
    }
}

/*================================
common parts - fullwide
================================*/

.post .fullwide {
	position: relative;
	background: #aaa;
	padding: var(--px100) 0;

    .fullwide_wrap {
        background: #ffffffe6;
        -webkit-backdrop-filter: blur(10px);
                backdrop-filter: blur(10px);
        max-width: 1240px;
        width: 94%;
        margin: 0 auto;
        padding: var(--px100) var(--px80);
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

    .fullwide_inner {
        max-width: 960px;
        text-align: center;
        line-height: 2.53;
        letter-spacing: 0.01em;
        font-size: var(--rem15);

        & > h2 {
            margin-top: 0 !important;
            margin-bottom: var(--rem20);
        }
        .ttl {
            position: relative;
            font-size: var(--rem32);
            font-family: var(--font-family02);
            color: var(--color-font);
            font-weight: 600;
            line-height: 1.4;
            text-align: center;
            letter-spacing: .001em;
            padding: 0;
            margin: 0 auto var(--rem32);
            border: none;
        }
    }
}

@media print, screen and (max-width: 768px) {
    .post .fullwide {

        .fullwide_wrap {
            padding: var(--px80) 5%;
        }
        .fullwide_inner {
            text-align: left;
            line-height: 2;
        }
    }
}

/*================================
common parts - col02
================================*/

.post .col2_list {
	position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
.post .col2_list > li {
    width: 49%;
	margin-bottom: 2%;
}
@media print, screen and (max-width: 640px) {
	.post .col2_list > li {
		width: 100%;
        margin-bottom: var(--px40);
	}
	.post .col2_list > li:last-child {
		margin-bottom: 0;
	}
}

/*================================
common parts - col03
================================*/

.post .col3_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.post .col3_list>li {
    width: 32%;
    margin-bottom: 2%;
    position: relative;
}

.post .col3_list::before {
    content: "";
    display: block;
    width: 32%;
    height: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
}

.post .col3_list:after {
    content: "";
    display: block;
    width: 32%;
    height: 0;
}

@media print,
screen and (max-width: 768px) {
    .post .col3_list>li {
        width: 49%;
    }

    .post .col3_list::before,
    .post .col3_list:after {
        content: none;
    }
}

@media print,
screen and (max-width: 640px) {
    .post .col3_list>li {
        width: 100%;
        margin-bottom: var(--px40);
    }

    .post .col3_list>li:last-child {
        margin-bottom: 0;
    }
}

/*================================
common parts - list_vertical
================================*/

.post .list_vertical {
	position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;

    & > li {
        width: 49%;
        margin-bottom: 5%;

        .listpoint {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            -webkit-box-align: start;
                -ms-flex-align: start;
                    align-items: flex-start;
            padding: 0px;
            gap: 0.8rem;
            font-size: var(--rem32);
            font-family: var(--font-family02);
            color: var(--color-font);
            font-weight: 600;
            line-height: 1.4;
            text-align: center;
            letter-spacing: .1em;
            padding: 0;
            margin: var(--rem24) 0 var(--rem18);
            border: none;
            text-align: left;

            .subtxt {
                font-family: var(--font-family03);
                font-style: normal;
                font-weight: 500;
                letter-spacing: .05em;
                font-size: var(--rem15);
                line-height: 1.4;
                text-align: left;
            }
        }
    }
}

@media print, screen and (max-width: 640px) {
	.post .list_vertical > li {
		width: 100%;
        .listpoint {
            .subtxt {
                font-size: var(--rem14);
            }
        }
	}
	.post .list_vertical > li:last-child {
		margin-bottom: 0;
	}
}

/* ----list_vertical ttl + verticalnumttl ----*/

.post .list_vertical.list_verticalnumttl {
    counter-reset:number; /*数字をリセット*/
    list-style-type: none!important; /*数字を一旦消す*/
    margin: var(--px30w) 0 0;

    &> li {
        position: relative;
        list-style: none;

        .imgarea {
            margin-top: 30px;
        }
        .verticalttl {
            background: #fff;
            padding: var(--px16) 6px;
            font-size: var(--px26);
            -webkit-writing-mode: vertical-lr;
                -ms-writing-mode: tb-lr;
                    writing-mode: vertical-lr;
            position: absolute;
            top: 0;
            left: 5%;
            letter-spacing: 0.4em;
            border: none;
            margin-top: 0;

            &:before {
                content: "0" counter(number);
                counter-increment: number;
                position: absolute;
                color: var(--color-font);
                font-family: "Cinzel", serif;
                font-weight: 400;
                font-size: var(--px89);
                line-height: 1;
                letter-spacing: 0.01em;
                left: 60px;
                top: 0;
                -webkit-writing-mode: lr;
                    -ms-writing-mode: lr;
                        writing-mode: lr;
                white-space: nowrap;
            }
        }
    }
}
@media print, screen and (max-width: 414px) {
    .post .list_vertical.list_verticalnumttl > li .verticalttl {
        font-size: 20px;
    }
    .post .list_vertical.list_verticalnumttl > li .verticalttl:before {
        left: 45px;
        font-size: 50px;
    }
}

/*================================
common parts - list_column
================================*/

.post .list_column {
	position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
.post .list_column > li {
    position: relative;
    width: 49%;
	margin-bottom: 6%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;

    .imgarea {
        width: 100%;
        padding-bottom: 0;
        padding-right: 110px;
        overflow: hidden;

        img {
            -o-object-fit: cover;
               object-fit: cover;
            aspect-ratio: 1 / 0.738;
            width: 100%;
            height: 100%;
        }
    }
    .txtarea {
        background: #fff;
        padding: var(--rem60) var(--rem40) var(--rem40);
        width: 100%;
        max-width: 38.5rem;
        min-height: 34rem;
        position: absolute;
        bottom: 0;
        right: 0;

        .listttl {
            position: relative;
            font-size: var(--rem28);
            font-family: var(--font-family02);
            color: var(--color-font);
            font-weight: 600;
            line-height: 1.4;
            letter-spacing: .001em;
            padding: 0;
            margin: 0;
            border: none;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: reverse;
                -ms-flex-direction: column-reverse;
                    flex-direction: column-reverse;
            -webkit-box-align: start;
                -ms-flex-align: start;
                    align-items: flex-start;
            -webkit-box-pack: start;
                -ms-flex-pack: start;
                    justify-content: flex-start;
            gap: var(--rem20);
            margin-bottom: var(--rem20);

            &:before {
                content: "";
                width: var(--rem72);
                height: 0.1rem;
                background: var(--color-font);
            }
        }
    }

    &.widelist {
        width: 100%;
        .imgarea {
            img {
                aspect-ratio: 1 / 0.471;
            }
        }
        .txtarea {
            max-width: 745px;
            padding: var(--rem120) var(--rem60);
        }
    }
}
@media print, screen and (max-width: 1300px) {
    .post .list_column > li {
        .imgarea {
            img {
                aspect-ratio: 3 / 4;
            }
        }
    }
    .post .list_column > li.widelist {
        .imgarea {
            img {
                aspect-ratio: 4 / 3;
            }
        }
    }
    .post .list_column > li, .post .list_column > i.widelist {
        .txtarea {
            min-height: -webkit-fit-content;
            min-height: -moz-fit-content;
            min-height: fit-content;
            max-width: none;
            width: 70%;
            padding: var(--rem60);
        }
    }
}
@media print, screen and (max-width: 820px) {
    .post .list_column > li {
        .imgarea {
            img {
                aspect-ratio: 4 / 3;
            }
        }
    }
    .post .list_column > li, .post .list_column > i.widelist {
        width: 100%;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        .imgarea {
            padding-right: 0;
        }
        .txtarea {
            position: relative;
            margin-top: -60px;
        }
    }
}
@media print, screen and (max-width: 640px) {
    .post .list_column > li, .post .list_column > i.widelist {
        .txtarea {
            width: 94%;
            padding: var(--rem60) var(--rem48);
        }
    }
}

/*================================
common parts - numlist
================================*/

.post .numlist {
    counter-reset:number; /*数字をリセット*/
    list-style-type: none!important; /*数字を一旦消す*/
    margin: var(--rem30) 0 0;

    &> li {
        position: relative;
        margin-bottom: var(--rem24);
        padding-left: 72px;
        list-style: none;
        line-height: 2;

        &:before {
            content: "0" counter(number);
            counter-increment: number;
            position: absolute;
            color: var(--color-font);
            font-family: "Cinzel", serif;
            font-weight: 400;
            font-size: 40px;
            line-height: 1;
            left: 0;
            top: 0;
        }
        &:after {
            content: "";
            position: absolute;
            width: 1px;
            height: 60px;
            background: #CCC;
            left: 40px;
            top: 10px;
            -webkit-transform: rotate(45deg);
                -ms-transform: rotate(45deg);
                    transform: rotate(45deg);
        }
        .listttl {
            padding-top: 0.4rem;
            font-size: var(--rem22);
            margin-bottom: var(--rem16);
            line-height: 1.6;
            font-weight: 600;
        }
    }
}
@media print, screen and (max-width: 640px) {

    .post .numlist {
        & > li {
            padding-left: 40px;
            line-height: 2;

            &:before {
                font-size: 22px;
                top: 8px;
            }
            &:after {
                height: 40px;
                left: 20px;
                top: 14px;
            }
        }
    }
}

/*================================
common parts - table
================================*/

.post table {
    margin: calc(30px + (1vw - 19.2px) * 0.6472) auto;
    border: none;
}
.post table tr {
    border-bottom: 1px solid #aaa;
}
.post table th, .post table td {
    padding: 30px 15px 24px;
    min-height: 40px;
    vertical-align: middle;
    border: none;
    color: var(--color-font);
}
.post thead th, .post thead td {
    height: 20px;
}
.post table th {
    font-weight: 600;
    width: 30%;
    border-bottom: 1px solid var(--color-primary-shade);
    background: transparent;
}
.post table:first-child {
    margin-top: 0;
}
.post table:last-child {
    margin-bottom: 0;
}
@media print, screen and (max-width: 640px) {
    .post table.responsive th, .post table.responsive td {
        text-align: left;
        max-width: none;
        padding: 16px 0 0 0;
        min-height: auto;
    }
    .post table.responsive td {
        margin-bottom: 5px;
        padding: 4px 0 0 0;
    }
    .post table.responsive th {
        font-size: 1.4rem;
        margin-top: 0;
        border: none;
    }
    .post table.responsive tr:first-of-type th {
        margin-top: 0;
        padding-top: 0;
    }
}

/*===============================================
front
===============================================*/

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

.post .front_contents {
    h2 {
        font-size: var(--rem89);
        font-family: var(--font-family01);
        font-weight: 600;
        text-align: left;
        letter-spacing: .2rem;
        color: var(--color-font);
        padding: 0;
        margin: 0 0 var(--rem60);
        line-height: 0.9;

        &::before, &::after {
            content: none;
        }
        span.subtxt {
            font-family: var(--font-family03);
            font-style: normal;
            font-weight: 600;
            font-size: var(--rem17);
            line-height: 1.4;
            text-align: left;
            letter-spacing: 0.01em;
            color: var(--color-font);
            display: block;
            margin: var(--rem12) auto 0;
        }
    }
    h3 {
        position: relative;
        font-size: var(--rem28);
        font-family: var(--font-family02);
        color: var(--color-font);
        font-weight: 500;
        line-height: 1.4;
        letter-spacing: .001em;
        padding: 0;
        margin: 0;
        border: none;

        &::before, &::after {
            content: none;
        }
    }
}
@media print, screen and (max-width: 640px) {
    .post .front_contents {
            h2 {
            margin: 0 0 var(--rem48);

            span.subtxt {
                font-size: var(--rem14);
            }
        } 
    }
}

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

.post .sec01 {
    padding-bottom: 0;
    
    &::before {
        content: "";
        width: 75%;
        height: 50%;
        z-index: -2;
        position: absolute;
        left: 0px;
        top: 9.5%;
        background: var(--color-primary-tint);
    }
    .flexbox {      
        margin-bottom: var(--px100);

        .imgarea {
            width: 53%;
        }
        .txtarea {
            max-width: calc(594px + (3% * 2));
            width: 50%;
            margin: 0 auto;
            padding: 0 3%;
            font-size: var(--rem15);
            font-weight: 400;
            letter-spacing: 0.01em;
            line-height: 2.6;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            -webkit-box-align: start;
                -ms-flex-align: start;
                    align-items: flex-start;

            p.ttl {
                font-family: var(--font-family02);
                font-style: normal;
                font-weight: 600;
                font-size: var(--rem30);
                line-height: 1.7;
                letter-spacing: 0.15em;
                -webkit-font-feature-settings: 'palt';
                        font-feature-settings: 'palt';
                color: var(--color-font);
                margin-bottom: var(--rem40);
            }
        }
    }
    .wrapper_content {
        max-width: 1490px;
    }
}
@media print, screen and (max-width: 960px) {
    .post .sec01 .flexbox {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        gap: var(--px60);

        .imgarea {
            width: 85%;
        }
        .txtarea {
            max-width: none;
            width: 94%;
        }
    }
}
@media print, screen and (max-width: 640px) {
    .post .sec01 {
        &::before {
            width: 80%;
            left: 0%;
            top: 5%;
        }
    }
    .post .sec01 .flexbox {
        .imgarea {
            margin-left: auto;
        }
        .txtarea {
            line-height: 2;

            p.ttl {
                line-height: 1.6;
                letter-spacing: 0.05em;
            }
        }
    }
}

/*------.list_vertical------*/

.post .sec01 .list_vertical {
    &> li {
        max-width: 700px;
    }
}

/*------fullwide------*/

.post .sec01 .fullwide {
    margin-top: var(--px80);
    background: url(/wp-content/uploads/partnerbgimg.jpg) no-repeat;
    background-size: cover;
    background-attachment: fixed;
}

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

.post .sec02 {
    padding-top: 0;
    position: relative;

    &:before {
        content: "";
        width: 78%;
        height: 100%;
        background: var(--color-primary-tint);
        z-index: -1;
        position: absolute;
        right: var(--px60);
        top: 0;
    }
    .ttlarea {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        width: 100%;
        margin-bottom: var(--px100);
        margin-top: var(--px60);
        padding-top: var(--px80);

        .headarea {
            margin-right: 9%
        }
        .bodyarea {
            margin-top: var(--rem24);
            line-height: 2.5;
        }
    }
    .wrapper_content {
        max-width: 1490px;
    }
}
@media print, screen and (max-width: 640px) {
    .post .sec02 {
        padding-bottom: var(--px80);

        &:before {
            right: 0;
            top: 0;
        }
    }
    .post .sec02 .ttlarea .bodyarea {
        line-height: 2;
    }
}

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

.post .sec03 {
    h2 {
        margin: 0 0 var(--rem48w);
    }

    .flexbox {      
        margin-left: auto;
        margin-right: 0;

        .imgarea {
            width: 53%;
        }
        .txtarea {
            max-width: calc(630px + (3% * 2));
            width: 50%;
            margin: 0 auto;
            padding: 0 3%;
            font-size: var(--rem16);
            font-weight: 400;
            letter-spacing: 0.01em;
            line-height: 1.8;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            -webkit-box-align: start;
                -ms-flex-align: start;
                    align-items: flex-start;

            .ttl {
                font-family: var(--font-family02);
                font-style: normal;
                font-weight: 600;
                font-size: var(--rem35);
                line-height: 1.75;
                letter-spacing: 0.05em;
                color: var(--color-font);
                margin-bottom: var(--rem18);

                & + p {
                    line-height: 1.8;
                }
            }
        }
    }
}
@media print, screen and (max-width: 1240px) {
    
    .post .sec03 {
        padding-top: 0;
    }
    .post .sec03 .flexbox {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
            -ms-flex-direction: column-reverse;
                flex-direction: column-reverse;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        gap: var(--px60);

        .imgarea {
            width: 85%;
        }
        .txtarea {
            max-width: none;
            width: 94%;
            padding: 0;
        }
    }
}
@media print, screen and (max-width: 640px) {
    .bodyarea {
        .post .sec03 .flexbox {
            .txtarea {
                line-height: 2;
                .ttl {
                    line-height: 1.6;
                    & + p {
                        line-height: 2;
                    }
                }
            }
        }
    }
}

/*---------------------------------
sec04
---------------------------------*/

.post .sec04 {
    position: relative;
    padding: 0;

    .txtarea {
        position: absolute;
        left: 10%;
        top: 50%;
        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%);
        line-height: 1.875;

        h2 {
            margin-top: 0;
        }
        .ttl {
            font-family: var(--font-family02);
            font-style: normal;
            font-weight: 600;
            font-size: var(--rem35);
            line-height: 1.75;
            letter-spacing: 0.05em;
            color: var(--color-font);
            margin-bottom: var(--rem18);
        }
    }
}
@media print, screen and (max-width: 960px) {
    .post .sec04 {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
            -ms-flex-direction: column-reverse;
                flex-direction: column-reverse;
        gap: var(--px80);

        .imgarea {
            width: 85%;
        }
        .txtarea {
            -webkit-transform: none;
                -ms-transform: none;
                    transform: none;
            position: static;
            width: 94%;
            margin: 0 auto;
        }
    }
}
@media print, screen and (max-width: 640px) {
    .post .sec04 {
        .txtarea {
            line-height: 2;
            .ttl {
                line-height: 1.6;
            }
        }
        .imgarea {
            width: 100%;
        }
    }
}

/*================================
post
================================*/

/*--------frontpost--------*/

.postarea {
    max-width: 1380px;
    margin: 0 auto;
    width: 94%;
    padding: var(--px200) 0;

    .ttlarea {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: distribute;
            justify-content: space-around;
        gap: var(--px20);
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin-bottom: var(--px60);

        h2 {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            text-align: left;
            -webkit-box-pack: start;
                -ms-flex-pack: start;
                    justify-content: flex-start;
            -webkit-box-align: start;
                -ms-flex-align: start;
                    align-items: flex-start;
            width: -webkit-fit-content;
            width: -moz-fit-content;
            width: fit-content;
            margin: 0;
            font-size: var(--rem48w);
            font-family: var(--font-family01);
            font-weight: 600;
            line-height: 1.4;

            span.subtxt {
                font-size: var(--rem17);
                font-family: var(--font-family03);
                color: var(--color-font);
                font-weight: 600;
                line-height: 1.6;
                margin: var(--rem12) auto 0 0;
            }

            &::after {
                content: none;
            }
        }

        a.linkBtn {
            margin: 0 0 0 auto;
        }
    }
}
.front_post_list a.linkBtn {
    margin-left: auto;
    margin-right: auto;
}

@media print, screen and (max-width: 1300px) {
    .postarea {
        padding: var(--px100) 0;
    }
}
@media print, screen and (max-width: 640px) {
    .postarea {
        .ttlarea {
            a.linkBtn {
                width: -webkit-fit-content;
                width: -moz-fit-content;
                width: fit-content;
            }
            h2 {
                span.subtxt {
                    font-size: var(--rem14);
                }
            }
        }
    }
}

/*--------frontpage subpage common--------*/

.post h2.top-loop, .post h2.bottom-loop {
    text-align: left;
}
h1.title.top-loop > span, h1.title.bottom-loop > span {
    font-size: var(--rem36);
    font-family: var(--font-family02);
    font-weight: 500;
    text-align: center;
    letter-spacing: .2rem;
    color: var(--color-font);
    padding: 0;
    margin: var(--rem120) auto var(--rem60);

    &::after {
        content: '';
        position: relative;
        visibility: visible;
        display: block;
        width: var(--px160);
        background: transparent;
        margin: var(--rem16) auto 0;
        border-bottom: solid 0.1rem #ccc;
    }
    span.subttl {
        font-family: var(--font-family01);
        font-style: normal;
        font-weight: 500;
        font-size: var(--rem28);
        line-height: 1.2;
        text-align: center;
        letter-spacing: 0.05em;
        color: var(--color-secondary);
        display: block;
        margin: 0.3rem auto 0;
    }
}
.post2b h2, .post4b h2, .post2b h2 a, .post4b h2 a {
    font-size: var(--rem18);
    font-weight: 600;
}
.post2b li .post2b_contents, .post4b li .post4b_contents {
    margin-bottom: 0;
    opacity: 1;
    color: var(--color-font);
    font-weight: 500;
}

ul.post4b, ul.post2b {
    h2.cat-loop, p.post4b_contents, p.post2b_contents {
        display: none !important;
    }
    .post4b_img, .post2b_img{
        margin-bottom: var(--px14);
    }
}
ul.post4b, ul.post2b, .sc_geneleted_list ul.post {
    span.ymd_in_list {
        display: none !important;
    }
}
.post .time, .postlist .time, .post2b .time, .post4b .time {
    background: transparent;
    padding: 0;

    a {
        padding: 4px 10px 5px;
        background: var(--color-btn);
        display: inline-block;
        font-weight: 600;
        font-size: var(--px14);
        -webkit-transition: 0.3s all;
        -o-transition: 0.3s all;
        transition: 0.3s all;

        &:hover {
            background: var(--color-secondary);
        }
    }
}
@media only screen and (max-width: 640px) {
     #content .post_img, #content .post2b_img, #content .post4b_img {
        max-width: none;
    }
    #content .post_img img, #content .post2b_img img, #content .post4b_img img {
        width: 100%;
        height: 100%;
        max-width: none;
        max-height: none;
        padding: 0;
        aspect-ratio: 4 / 3;
        -o-object-fit: cover;
           object-fit: cover;
        margin-bottom: var(--px20);
    }
}

/*--------frontpage subpage common postlist--------*/

.postlist li, .postlist li:first-child {
    border-top: 0.1rem solid var(--color-table-border);   

    &:last-child {
        border-bottom: 0.1rem solid var(--color-table-border);   
    }
}
.postlist .post_text {
    font-weight: 500;
    width: 100%
}
.postlist .ttls {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;

    a {
        padding: 0.6rem 0;
        display: block;
    }
}
.postlist .time {
    display: block;
    white-space: nowrap;
    margin: 0 10px 0 0;
    padding: 0;
    text-align: center;
    font-weight: 500;
    -webkit-transition: 0.3s all;
    -o-transition: 0.3s all;
    transition: 0.3s all;
    background: var(--color-btn);

    a {
        padding: 7px 10px;
        display: block;
        min-width: 100px;
    }
    &:hover {
        background: var(--color-secondary);
    }
}

@media print, screen and (max-width: 640px) {
    .postlist li .ttls {
        margin-top: 0.2rem;
    }
    .postlist .time {
        padding: 0;
    }
    .postlist .post_text {
        width: 100%;
        padding: var(--rem20)0 1.2rem;
    }
    .postlist .time a {
        min-width: auto;
        padding: 5px 10px;
    }
}

/*--------singlepost--------*/

.single-post h1.title.first {
    border-bottom: none;
    padding-bottom: var(--rem16);
    margin-bottom: 0 !important;
}
.dateLabel {
    padding-top: 1rem;
    margin-bottom: var(--rem30);
    border-top: 1px solid var(--color-font);
    font-family: var(--font-family03);
    font-style: normal;
}

/*============================================
subpage common
============================================*/

/*--------eyecatch--------*/

header#h1Header {
    background: transparent;
    height: auto;
    z-index: 0;
    overflow: visible;

    &::before {
        background: transparent;
    }

    & h1.title {
        position: relative;
        padding-block: calc(18rem + (1vw - 1.92rem) * 9.7087) calc(7rem + (1vw - 1.92rem) * 2.5890);
        /*180-30(1920-1024)*/
        /*70-30(1920-1024)*/
        padding-inline: 5%;
        -webkit-transform: none;
            -ms-transform: none;
                transform: none;
        color: var(--color-font);
        font-size: var(--rem40);
        font-weight: 600;

        &::before {
            content: "";
            position: absolute;
            bottom: 0px;
            width: min(1400px, 94%);
            height: 1px;
            left: 50%;
            -webkit-transform: translateX(-50%);
                -ms-transform: translateX(-50%);
                    transform: translateX(-50%);
            max-width: 1400px;
            background: rgb(204, 204, 204);
        }
        & > span > span {
            display: none;
        }
        & > span b {
            font-weight: 600;
        }
    }
}

/*--------#breadcrumb--------*/
#breadcrumb b {
    display: none;
}

/*--------list--------*/

.post ol > li {
    list-style: decimal;
}
.post ol li {
    list-style: none;
}
.post ul.list_disc > li, .post ol ul.list_disc > li {
    list-style: disc !important;
}

/*--------youtube--------*/

.youtubeArea > iframe {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: #eee;
}

/*================================
common txt
================================*/

.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);
}
body:not(.home) .post {

    h1:not([class]) {
        font-size: var(--rem40);
        font-family: var(--font-family02);
        font-weight: 600;
        letter-spacing: .02em;
        text-align: center;
        text-shadow: none;
        padding: 0;
        z-index: 20;
    }
    h2:not([class]) {
        font-size: var(--rem36);
        font-family: var(--font-family02);
        font-weight: 500;
        text-align: center;
        letter-spacing: .2rem;
        color: var(--color-font);
        padding: 0;
        margin: var(--rem120) auto var(--rem60);
        line-height: 1.4;

        &::after {
            content: '';
            position: relative;
            visibility: visible;
            display: block;
            width: var(--px160);
            background: transparent;
            margin: var(--rem20) auto 0;
            border-bottom: solid 0.1rem #ccc;
        }
        span.subtxt {
            font-family: var(--font-family01);
            font-style: normal;
            font-weight: 500;
            font-size: var(--rem28);
            line-height: 1.2;
            text-align: center;
            letter-spacing: 0.05em;
            color: var(--color-secondary);
            display: block;
            margin: 1rem auto 0;
        }
    }
    h3:not([class]) {
        position: relative;
        font-size: var(--rem18);
        font-family: var(--font-family03);
        color: var(--color-font);
        font-weight: 500;
        letter-spacing: .1rem;
        padding: var(--rem16);
        text-align: left;
        margin: var(--px60) auto var(--px20);
        border: solid 0.1rem #ccc;

        span.subtxt {
            font-weight: 400;
            font-size: var(--rem16);
            text-align: left;
            display: inline-block;
            margin-left: 1rem;
        }

        &::after {
            content: '';
            position: absolute;
            width: 0.3rem;
            height: 50%;
            background: var(--color-font);
            left: 0;
            top: 50%;
            -webkit-transform: translateY(-50%);
                -ms-transform: translateY(-50%);
                    transform: translateY(-50%);
        }
    }
} 

.post .page_contents {
    .page_contents_inner {
        & > h1:not([class]):first-child {
            margin-top: 0;
        }
        & > h2:not([class]):first-child {
            margin-top: 0;
        }
    }
    .ttl {
        font-size: var(--rem28);
        font-family: var(--font-family02);
        color: var(--color-font);
        font-weight: 600;
        line-height: 1.8;
        text-align: left;
        letter-spacing: .001em;
        padding: 0;
        border: none;
        margin: 0 0 var(--rem30);

        &:before, &:after {
            content: none;
        }
        &.size_m {
            font-size: var(--rem20w);
            line-height: 1.6;
        }
        &.txt_c {
            margin-left: auto;
            margin-right: auto;
            text-align: center;
        }
    } 
    .col2_list, .col3_list {
        .ttl {
            margin: var(--rem20) 0 var(--rem12);
            line-height: 1.6;
        }
        .imgarea {
            margin-bottom: var(--rem16);
            aspect-ratio: 4 / 3;

            > img {
                -o-object-fit: cover;
                   object-fit: cover;
                width: 100%;
                height: 100%;
            }
        }
    } 
    p {
        line-height: 2;
    }
    p + ul.list_disc {
        margin-top: var(--rem14);
    } 
    p + p {
        margin-top: var(--rem14);
    }
    ol.numwrap {
        counter-reset:number; /*数字をリセット*/
        list-style-type: none!important; /*数字を一旦消す*/
        margin-left: 0;

        & > li {
            .numttl {
                width: -webkit-fit-content;
                width: -moz-fit-content;
                width: fit-content;
                position: relative;
                padding-left: 80px;
                padding-top: 5px;
                margin: 0 auto var(--px80);
                text-align: left;

                &:before {
                    content: "0" counter(number);
                    counter-increment: number;
                    position: absolute;
                    color: var(--color-font);
                    font-family: "Cinzel", serif;
                    font-weight: 400;
                    font-size: 40px;
                    line-height: 1;
                    left: 0;
                    top: 0;
                }
                &:after {
                    content: "";
                    position: absolute;
                    width: 1px;
                    height: 60px;
                    background: #CCC;
                    left: 40px;
                    top: 10px;
                    -webkit-transform: rotate(45deg);
                    -ms-transform: rotate(45deg);
                    transform: rotate(45deg);
                    margin: 0;
                }
            }
        }
    }
    .fullwide {
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        padding-left: calc(50vw - 50%);
        padding-right: calc(50vw - 50%);
    }
    b {
        border-bottom: solid 1px;
        margin: 0 5px;
    }
}

@media print, screen and (max-width: 640px) {
    .post .page_contents {
        .read_txt {
            text-align: left;
        }
    }
}

/*----------------------------
リンクボタンリスト
-----------------------------*/


/*---ボタンリストレイアウト---*/

.post ul.linkbtn_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: var(--px40) auto;
    gap: var(--px20);

    & > li {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin-bottom: var(--px20);
        text-align: center;
    }
} 
@media print, screen and (max-width: 640px) {
    .post ul.linkbtn_list {
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start;

        &> li {
            width: 46%;
            -webkit-box-pack: start;
                -ms-flex-pack: start;
                    justify-content: flex-start;
            padding-left: 30px;

            a.link_btn {
                max-width: none;
                width: 100%;
                min-width: auto;
                line-height: 1.4;
                font-size: 12px;
                padding: 10px var(--px20) 10px 0;
            }
        }
    }
}

/*---numbering---*/

.post ul.linkbtn_list.numbering {
    counter-reset: number 0;  

    & > li {
        position: relative;
        padding-left: 35px;

        &::before {
            counter-increment: number 1;
            content: counter(number, decimal-leading-zero);
            position: absolute;
            left: 0;
            top: 30px;
            -webkit-transform: translateY(-50%);
                -ms-transform: translateY(-50%);
                    transform: translateY(-50%);
            font-family: var(--font-family02);
            font-style: normal;
            font-weight: 500;
            font-size: 20px;
            line-height: 1;
            color: var(--color-font);
        }
    }
}

/*---link_btn---*/

.post .link_btn {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 20px;
    color: var(--color-btn);
    background: transparent;
    width: 100%;
    max-width: none;
    min-width: 140px;
    font-size: var(--px16);
    font-weight: 500;
    letter-spacing: .01em;
    line-height: 1.6;
    text-align: left;
    padding: 14px 10px 8px 6px;
    border-radius: 50vw;
    -webkit-transition: 0.3s all;
        -o-transition: 0.3s all;
        transition: 0.3s all;
    border-bottom: solid 1px;
    border-radius: 0;
    
    &::after {
        content: "\f0a9";
        position: static;
        font-family: 'Font Awesome 6 Free';
        font-style: normal;
        font-weight: 600;
        font-size: 20px;
        line-height: 1.6;
        letter-spacing: 0.05em;
        border: none;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        height: -webkit-fit-content;
        height: -moz-fit-content;
        height: fit-content;
        -webkit-transform: inherit;
        -ms-transform: inherit;
        transform: inherit;
        margin: 0 0 0 auto;
        display: inline-block;
        color: var(--color-btn);
        -webkit-transform: rotate(90deg);
            -ms-transform: rotate(90deg);
                transform: rotate(90deg);
    }
    &:hover {
        text-decoration: none;
        background: transparent;
        color: var(--color-secondary);

        &::after {
            color: var(--color-secondary);
        }
    }
}

.post .arrowright .link_btn {
    &::after {
        -webkit-transform: rotate(0deg);
            -ms-transform: rotate(0deg);
                transform: rotate(0deg);
    }
}

/*================================
subpage-company
================================*/

.post .conceptbox {
    padding: var(--px60) var(--px40);
    background: var(--color-secondary-tint);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;

    p.ttl_center {
        font-size: var(--px30w);
        font-family: var(--font-family02);
        font-weight: 600;
        text-align: center;
        letter-spacing: .2rem;
        color: var(--color-font);
        padding: 0;
        margin: 0 auto var(--px20);
        line-height: 1;
    }
    ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        gap: var(--px14);

        li {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            background: transparent;
            color: var(--color-primary);
            border: solid 1px;
            text-align: center;
            padding: var(--px30w);
            font-family: serif;
            font-size: 20px;
            line-height: 1.8;
            font-weight: 500;
            letter-spacing: 0.05em;
        }
    }
}

/*================================
subpage-service
================================*/

.post #service {
    ul.linkbtn_list {
        max-width: 960px;
    }
}

/*================================
subpage-renovation
================================*/

.post #renovation {
    .list_vertical {
        & > li {
            .verticalttl {
                padding: var(--px16) 6px var(--px16) 0px;
            }
            .listpoint {
                font-size: var(--px24);
            }
        }
    }
    & ol.numwrap {
        & > li {
            .numttl {
                margin: var(--px24) auto var(--px30w) 0;
                font-weight: 600;
                font-size: var(--px30w);
                padding-top: 0;
                font-family: var(--font-family02);
                line-height: 1.4;
                padding-left: 70px;
            }
            & + li {
                margin-top: var(--px60);
            }
        }
    }
    .fullwide {
        background: url(/wp-content/uploads/sub_renovation09.jpg) no-repeat;
        background-size: cover;
        background-attachment: fixed;
    }
}
@media print, screen and (max-width: 640px) {
    .post #renovation {
        & ol.numwrap {
            & > li {
                .numttl {
                    padding-left: 36px;
                    margin-top: 0;

                    &:before {
                        font-size: 20px;
                    }
                    &:after {
                        height: 36px;
                        left: 18px;
                    }
                }
            }
        }
    }
}


/*================================
subpage-FAQ
================================*/

/*--アコーディオン-------*/

.qa_list {
  cursor: pointer;
}

.qa_list .qa_list_inner dt {
  position: relative;
  font-weight: normal;
  margin: 1rem 0 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  padding: 0rem 1rem 0rem 0rem;
  background: #ffffff;
  border: 0.1rem solid #cccccc;
}

.qa_list .qa_list_inner dd .ans_flex {
  position: relative;
  font-weight: normal;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  padding: 0;
  background: #ffffff;
}

.qa_list .qa_list_inner .a_ico {
  color: var(--color-primary);
  background: var(--color-primary-tint);
  line-height: 1.0;
  padding: 1rem 1rem 1rem 1rem;
  font-size: 2.2rem;
  border-right: 0.1rem solid #cccccc;
  width: 100%;
  text-align: center;
  max-width: 90px;
  font-weight: bold;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-family: var(--font-family02);
}

.qa_list .qa_list_inner .q_ico {
  background: var(--color-primary);
  color: #fff;
  line-height: 1.0;
  padding: 1rem 1rem 1rem 1rem;
  font-size: 2.2rem;
  font-weight: bold;
  width: 100%;
  text-align: center;
  max-width: 90px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-family: var(--font-family02);
  border-right: 0.1rem solid #cccccc;
}

.qa_list .qa_list_inner .q_desc,
.qa_list .qa_list_inner .a_desc {
  padding: 1.5rem 1.5rem 1.5rem 2rem;
  line-height: 1.7;
  font-weight: 400;
}
.qa_list .qa_list_inner .q_desc {
    font-weight: 600;
}

.qa_list .qa_list_inner .a_desc {
  line-height: 1.8;
  width: 100%;
}

.qa_list .qa_list_inner dt:after {
  content: '';
  position: absolute;
  top: 46%;
  right: 3rem;
  width: 1.2rem;
  height: 1.2rem;
  border-right: 0.1rem solid #494949;
  border-bottom: 0.1rem solid #494949;
  -webkit-transform: rotate(45deg) translateY(-50%);
  -ms-transform: rotate(45deg) translateY(-50%);
      transform: rotate(45deg) translateY(-50%);
}

.qa_list .qa_list_inner .active:after {
  top: 43%;
  right: 2rem;
  -webkit-transform: rotate(-135deg) translateY(-50%);
  -ms-transform: rotate(-135deg) translateY(-50%);
      transform: rotate(-135deg) translateY(-50%);
}

.qa_list .qa_list_inner dd {
  display: none;
  position: relative;
  padding: 0;
  margin: 0 0 1rem 0;
  border: 0.1rem solid #cccccc;
  border-top: 0;
}

@media only screen and (max-width: 959px) {
  .qa_list .qa_list_inner {
    margin-bottom: 8rem;
  }
}

@media only screen and (max-width: 768px) {

  .qa_list .qa_list_inner .q_desc,
  .qa_list .qa_list_inner .a_desc {
    padding: 1.2rem 1rem 1.2rem 1rem;
  }

  .qa_list .qa_list_inner dt {
    padding: 0rem 1rem 0rem 0rem;
  }

  .qa_list .qa_list_inner .a_ico,
  .qa_list .qa_list_inner .q_ico {
    max-width: 50px;
    padding: 1.2rem 1.0rem;
  }

  .qa_list .qa_list_inner dt:after {
    right: 1.5rem;
    width: 6px;
    height: 6px;
  }

  .qa_list .qa_list_inner .active:after {
    right: 1.0rem;
  }
}

@media only screen and (max-width: 559px) {
  .qa_list .qa_list_inner dd {
    font-size: 1.4rem;
  }

  .qa_list .qa_list_inner {
    margin-bottom: 6rem;
  }

  .qa_list .qa_list_inner dt {
    font-size: 1.4rem;
  }
}

/*================================
subpage-SITEMAP
================================*/

.post ul#sitemap_list > li {
    border-bottom: solid 1px;
    padding-bottom: calc(30px + (1vw - 19.2px) * 0.3883); /*30px-24px*/
}
.post ul#sitemap_list > li + li {
    margin-top: calc(30px + (1vw - 19.2px) * 0.3883); /*30px-24px*/
}
.post ul#sitemap_list li a {
    color: var(--color-font);
    font-weight: 600;
}
.post ul#sitemap_list a br {
    display: none;
}
.post ul#sitemap_list li b {
    display: none;
}
ul.children {
    margin-top: 1rem;
}
ul.children li {
    line-height: 1.4;
}

/*================================
subpage-Privacy
================================*/

#privacy h3 {
    font-size: var(--rem30);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    background: transparent;
    padding: 0;
    margin: var(--rem60) 0 var(--rem36);
    text-align: left;
    line-height: 1.4;
    border: none;
}

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

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;
}
span.wpcf7-form-control.wpcf7-checkbox.wpcf7-validates-as-required {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 7px;
}
span.wpcf7-list-item {
    margin: 0;
}
.wpcf7-form {
    label {
        background: #fff;
        border-radius: 10px;
        padding: 6px 12px 8px 6px;
        display: block
    }
}
.wpcf7-form {
    padding: 0;
}
.wpcf7-form a {
    color: var(--color-font);
    border-bottom: solid 1px;
}
.wpcf7-form a:hover {
    color: var(--color-font);
    opacity: 0.6;
    border-bottom: solid 1px #aaa;
}
.wpcf7-form .must {
    background: var(--color-primary);
}
div.wpcf7 .ajax-loader {
    display: none;
}

/*--------submit_btn-------*/

.linkBtn.submit_btn {
    padding: 0;
    margin-top: var(--px40);
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    max-width: 320px;
}
.linkBtn input[type="submit"], .post .linkBtn input[type="submit"] {
    width: 100%;
    display: block;
    font-size: var(--px16);
    font-weight: 600;
    font-family: var(--font-family03);
    letter-spacing: .01em;
    line-height: 1.6;
    text-align: center;
    padding: var(--px16) var(--px20);
    -webkit-transition: 0.7s all;
    -o-transition: 0.7s all;
    transition: 0.7s all;
    z-index: 1;
    position: relative;
    -webkit-transition: .3s ease;
    -o-transition: .3s ease;
    transition: .3s ease;
}
.post .linkBtn.submit_btn::after {
    content: none;
}

.linkBtn input[type="submit"]:hover, .post .linkBtn input[type="submit"]:hover {
    background: var(--color-secondary);
    color: #fff;
}
.submit_btn .wpcf7-spinner, .post .submit_btn .wpcf7-spinner {
    margin: 0;
    top: calc(100% + 15px);
}

/*================================
subpage-thanks 
================================*/

#thanks h2 {
    text-align: left;

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

/*================================
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%;
}.example {
    display: -ms-grid;
    display: grid;
    -webkit-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    background: -webkit-gradient(linear, left top, left bottom, from(white), to(black));
    background: -o-linear-gradient(top, white, black);
    background: linear-gradient(to bottom, white, black);
}