@charset "utf-8";

/*
Theme Name:mrp-child
Template:mrp
Version: 1.0.0
*/
/*
DesignCode CSS: ver 0.01
*/

@import url('https://fonts.googleapis.com/css2?family=Cormorant+SC:wght@300;400;500;600;700&family=Noto+Sans+JP:wght@100..900&family=Zen+Old+Mincho:wght@400;500;600;700;900&display=swap');

/*------------------------------------------------------
Theme Material
------------------------------------------------------*/
:root {
    --color-background: #fff;
    --color-font: #2D3F49;
    --color-primary: #D3602F;
    --color-primary-shade: #BE312A;
    --color-primary-tint: #EB9835;
    --color-secondary: #2D3F49;
    --color-secondary-tint: #ccc;
    --color-table-border: #ccc;
    --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: 1400px;
    --header-background: #fff;
    --header-color-font: #2D3F49;
    --header-color-primary: #2D3F49;
    --header-color-primary-shade: #19242b;
    --header-color-primary-tint: #435b68;
    --footer-background: #F5F5F5;
    --footer-color-font: #2D3F49;
    --footer-color-primary: #19242b;
    --color-wt: #fff;
    --color-bk: #2D3F49;
    --color-gray: #f5f5f5;
    --color-grad: linear-gradient(252.19deg, #BE312A 19.83%, #EB9835 84.34%);
    --font-family01: "Noto Sans JP", sans-serif;
    --font-family02: "Zen Old Mincho", "Cormorant SC", serif;
    --font-family03: "Cormorant SC", "Zen Old Mincho", serif;
    --px20: min(calc(20px + (1vw - 19.2px) * 0.1294), 20px);
    /*20px-18px*/
    --px24: min(calc(24px + (1vw - 19.2px) * 0.2589), 24px);
    /*24px-20px*/
    --px24s: min(calc(24px + (1vw - 19.2px) * 0.3883), 24px);
    /*24px-18px*/
    --px22: min(calc(22px + (1vw - 19.2px) * 0.2589), 22px);
    /*22px-18px*/
    --px32: min(calc(32px + (1vw - 19.2px) * 0.7767), 32px);
    /*32px-20px*/
    --px35: min(calc(35px + (1vw - 19.2px) * 0.8414), 35px);
    /*35px-22px*/
}

/*=============================================
mv
=============================================*/

body {
    position: relative;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
}

body:before {
    content: "";
    background: url(/wp-content/uploads/fvbg_shadow.png) no-repeat;
    background-size: cover;
    position: absolute;
    width: 100%;
    height: 1100px;
    z-index: -1;
    top: 0;
    right: 0;
    background-position: top right;
    mix-blend-mode: multiply;
}

body:after {
    content: "" !important;
    background: url(/wp-content/uploads/fvbg_gra.jpg.webp) no-repeat;
    background-size: cover;
    position: absolute;
    width: 100%;
    height: 2000px;
    z-index: -2;
    top: 0;
    left: 0;
    display: block;
    background-position: top left;
}

body:not(.home):before {
    height: 1100px;
}

@media print,
screen and (max-width: 1199px) {
    body:before {
        height: 800px;
    }
    body:after {
        height: 1100px;
    }
}

@media print,
screen and (max-width: 699px) {
    body:before {
        height: 600px;
    }

    body:not(.home):before {
        height: 500px;
    }
    body:after {
        height: 700px;
        background-position: 15% 50%;
    }
}

#content {
    line-height: 2;
    letter-spacing: 0.1em;
}

.wrapper_content {
    width: 90%;
}

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

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

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

    #header .logo {
        padding: 5px 20px;
        margin-left: 0;
    }

    .sticky-header #header-layout {
        background: var(--color-wt);
    }

    nav#mainNav ul li a {
        padding: var(--px20) var(--px16);
    }

    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: transparent;
        -webkit-box-shadow: none;
        box-shadow: none;
    }

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

    #header ul.header__contact {
        gap: 8px;
    }

    #header ul.header__contact li {
        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;
    }

    #header a.head_btn::before {
        content: none;
    }

    #header a.head_btn {
        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: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        gap: 10px;
        position: relative;
        width: 100%;
        min-width: 180px;
        height: auto;
        min-height: 60px;
        font-size: var(--px14);
        font-weight: bold;
        font-family: var(--font-family01);
        letter-spacing: .01em;
        text-align: center;
        color: var(--header-background);
        padding: var(--px16) var(--px20);
        margin: 0;
        background: transparent;
        border-radius: var(--px50);
        -webkit-transition: 0.3s all;
        -o-transition: 0.3s all;
        -webkit-transition: 0.3s all;
        -o-transition: 0.3s all;
        transition: 0.3s all;
        z-index: 0;
        overflow: hidden;

        &::before {
            content: "" !important;
            width: 100%;
            height: 100%;
            position: absolute;
            z-index: -1;
            left: 0;
            top: 0;
            -webkit-transition: 0.5s;
            -o-transition: 0.5s;
            transition: 0.5s;
            background: #EB9835;
            background: -o-linear-gradient(197.81deg, #BE312A 19.83%, #EB9835 84.34%);
            background: linear-gradient(252.19deg, #BE312A 19.83%, #EB9835 84.34%);
        }

        &::after {
            content: "";
            width: 100%;
            height: 100%;
            position: absolute;
            z-index: -2;
            left: 0;
            top: 0;
            right: inherit;
            margin: 0;
            background: #BE312A;
            background: -o-linear-gradient(197.81deg, #EB9835 19.83%, #BE312A 84.34%);
            background: linear-gradient(252.19deg, #EB9835 19.83%, #BE312A 84.34%);
            -webkit-transform: none;
                -ms-transform: none;
                    transform: none;
        }

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

        &:hover:before {
            opacity: 0;
        }

    }
}

@media print,
screen and (max-width: 1500px) {
    nav#mainNav ul li a {
        padding: 10px;
    }

    #header .logo img {
        max-width: var(--px240);
    }

    nav#mainNav ul li a {
        font-size: var(--px14);
    }
}

@media print,
screen and (max-width: 1200px) {
    nav#mainNav ul li a {
        padding: 5px 8px;
    }

    #header a.head_btn {
        min-width: 140px;
    }
}

@media print,
screen and (max-width: 1023px) {
    nav#mainNav ul li a {
        padding: 15px 10px;
        font-size: var(--px16);
    }
}

.mobile #header .logo .spmenu {
    max-width: 60px;
    width: 100%;
    height: 60px;
    vertical-align: top;
    background: rgba(255, 255, 255, 0);
}
.spmenu #menu {
    padding: 21px 15px 18px;
    width: 100%;
    height: 100%;
    background: -o-linear-gradient(197.81deg, #BE312A 19.83%, #EB9835 84.34%);
    background: linear-gradient(252.19deg, #BE312A 19.83%, #EB9835 84.34%);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    position: relative;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    top: 0;
    right: 0;
}
.spmenu #menu p {
    display: none;
}

.spmenu #menu span,
.spmenu #menu span:before,
.spmenu #menu span:after {
    width: 30px;
    -webkit-transform: translate(-50%, 0) rotate(0);
    -ms-transform: translate(-50%, 0) rotate(0);
    transform: translate(-50%, 0) rotate(0);
    left: 50%;
    height: 2px;
    background: var(--color-wt);

}

.spmenu #menu.menuOpen span {
    height: 2px;
    -webkit-transform: translate(-50%, calc(50% + 5px)) rotate(-45deg);
    -ms-transform: translate(-50%, calc(50% + 5px)) rotate(-45deg);
    transform: translate(-50%, calc(50% + 5px)) rotate(-45deg);
}

.spmenu #menu.menuOpen span::before {
    -webkit-transform: translate(-50%, 0) rotate(90deg);
    -ms-transform: translate(-50%, 0) rotate(90deg);
    transform: translate(-50%, 0) rotate(90deg);
    bottom: auto;
}

.spmenu #menu.menuOpen span::after {
    opacity: 0;
    -webkit-transform: translate(-50%, 0) rotate(45deg);
    -ms-transform: translate(-50%, 0) rotate(45deg);
    transform: translate(-50%, 0) rotate(45deg);
    bottom: auto;
}
body.mobile {
    margin-top: 0;
}
.mobile #header {
    background: transparent;
    -webkit-box-shadow: none;
            box-shadow: none;
    z-index: 9999;
}

@media only screen and (max-width: 1023px) {
    .mobile.sticky-header #header {
        backdrop-filter: blur(5px);
    }
    body.mobile nav#mainNav.menuOpen {
        height: calc(100vh - 130px);
    }
    body.mobile nav#mainNav a.menuOpen {
        background-image: none;
        border: none;
        border-top: 1px solid #ddd;
    }
    body.mobile nav#mainNav ul li li a.menuOpen {
        background: rgba(255, 255, 255, 1) url(/wp-content/themes/mrp/images/sub1.png) no-repeat 30px 50%;
        color: var(--header-color-font);
        padding-left: 43px;
    }

    body.mobile nav#mainNav ul li li:last-child a.menuOpen {
        background: rgba(255, 255, 255, 1) url(/wp-content/themes/mrp/images/subLast.png) no-repeat 30px 50%;
        color: var(--header-color-font);
        padding-left: 40px;
    }
}

@media print,
screen and (max-width: 670px) {
    body.mobile #header .logo img {
        max-width: 180px;
    }
}


/* -- 翻訳start -- */

.c-language {
    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-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    position: relative;
    height: auto;
    min-height: 60px;
    font-size: var(--px14);
    color: var(--color-bk);
    font-weight: 600;
    font-family: var(--font-family02);
    letter-spacing: .01em;
    text-align: center;
    padding: var(--px16) var(--px20);
    background: transparent;
    border-radius: var(--px50);
    -webkit-transition: 0.3s all;
    -o-transition: 0.3s all;
    -webkit-transition: 0.3s all;
    -o-transition: 0.3s all;
    transition: 0.3s all;
    z-index: 1;
    cursor: pointer;
    border: 1px solid #CCC;
    margin: 0 8px;

    &:hover {
        background-color: #eee;
    }
}
@media print,
screen and (max-width: 1023px) {
    body:not(.mobile) #header .c-language {
        max-width: 240px;
        margin: 10px auto;

        &:hover {
            margin-bottom: 300px;
        }
    }
    body:not(.mobile) #header .c-language__list {
        left: 50%;
        -webkit-transform: translateY(100%) translateX(-50%);
            -ms-transform: translateY(100%) translateX(-50%);
                transform: translateY(100%) translateX(-50%);
        padding: 0;
        width: 100%;
    }
}

.c-language__summary {
    padding: 0;
    font-family: var(--font-family02);
    font-size: var(--px14);
    width: 140px;
    line-height: 1;
    text-align: center;
    background: transparent;
    height: 100%;
    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;
}

.c-language__list {
    display: none;
    position: absolute;
    right: 0;
    bottom: 0;
    border-radius: 0;
    min-width: calc(48px + 84px);
    -webkit-transform: translateY(100%);
    -ms-transform: translateY(100%);
    transform: translateY(100%);
    z-index: 5;
}

.c-language:hover .c-language__list {
    display: block;
}

.c-language__list a {
    display: block;
    width: 100%;
    font-family: var(--font-family01);
    font-size: var(--px14);
    text-align: center;
    padding: var(--px14) var(--px20);
    -webkit-transition: 0.3s all;
    -o-transition: 0.3s all;
    transition: 0.3s all;
    font-weight: 400;
    background: #fff;
}

.c-language__list a:hover {
    background: #eee;
}

/* ▼ モバイル対応 */

.mobile #header .c-language {
    height: auto;
    min-height: auto;
    font-size: 13px;
    padding: 12px;
    margin: 8px;
}
.mobile #header ul.c-language__list {
    padding: 0;
}

.mobile #header .c-language__list {
    padding: 5px 0;
}
@media print,
screen and (max-width: 374px) {
    .mobile #header .c-language {
        width: 100px;
    }
}

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

/*-----------layout --------------*/

#footer {
    color: var(--footer-color-font);
    font-size: var(--px14);
    padding: 0;
    background: var(--footer-background);
    z-index: 1;
    position: relative;

    .wrapper_content {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
        padding: var(--px100) 0 var(--px120);
        max-width: 1460px;
        width: 94%;
        margin: 0 auto;

        .logoarea {
            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: 0.6rem;
            text-align: left;
        }

        .footer__logo:not(:last-child) {
            text-align: left;
            margin-bottom: 0;
        }

        .footer_txtarea {
            font-size: var(--px16);
            font-weight: 500;
            line-height: 1.8;
        }

        .socialicon ul li a {
            border: solid 1px var(--footer-color-font);
            padding: 10px;
            border-radius: 50vh;
            margin-bottom: 0.6em;

            &:hover {
                opacity: 0.7;
            }
        }

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

    #copyright {
        margin: 0;
        background: var(--color-bk);
        color: var(--color-wt);
        text-align: center;
        padding: var(--px20) 3%;
        font-size: var(--px12);
    }
}

@media only screen and (max-width: 768px) {
    #footer {
        .wrapper_content {
            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;
            padding: var(--px100) 0 var(--px60);

            .navarea {
                border-top: solid 1px;
                margin-top: var(--px40);
                width: 100%;
            }

            .logoarea {
                -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;
            }
        }
    }
}


/*-----------navlist --------------*/

#footer {
    ul.c-navlist {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: var(--rem40);
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        text-align: left;
        padding: 0;
        margin: var(--rem20) 0 0 0;
        padding: 0;
        margin: 0;

        .c-navlistitem {

            min-width: 100px;
            font-size: var(--rem20);
            margin-bottom: 0.2rem;

            a {
                line-height: 1.4;
                color: var(--footer-color-font);
                font-size: var(--rem14);
                position: relative;
                overflow: inherit;
                display: inline-block;
                padding: 0.5rem 0;
            }

            .c-navlistitem__nav {
                &>ul {
                    &>li {
                        line-height: 1;
                        margin: 0 0 0.5rem 0;

                        &>a {
                            font-size: var(--rem14);
                            font-weight: 500;
                            padding: 0.2rem 0 1rem var(--rem18);

                            &::before {
                                content: "\f138";
                                font-family: "Font Awesome 6 Free";
                                font-weight: 900;
                                font-size: var(--rem12);
                                position: absolute;
                                left: 0;
                                top: 0.4rem;
                                -webkit-transition: all .3s;
                                -o-transition: all .3s;
                                transition: all .3s;
                            }
                        }
                    }
                }
            }
        }

        ul.sub-menu {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -ms-flex-wrap: wrap;
            flex-wrap: wrap;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
            -ms-flex-direction: column;
            flex-direction: column;
            margin-left: var(--rem20);
            gap: 0.5rem 2rem;
            max-height: 16rem;

            li {
                position: relative;
                margin: 0;
                line-height: 1;

                a {
                    color: var(--footer-color-font);
                    font-size: var(--rem14);
                    padding: 0.2rem 0 0.2rem var(--rem12);
                    font-weight: 400;

                    &::before {
                        content: '';
                        position: absolute;
                        top: 50%;
                        left: 0;
                        width: 0.3rem;
                        height: 0.3rem;
                        -webkit-transform: translateY(-50%);
                            -ms-transform: translateY(-50%);
                                transform: translateY(-50%);
                        border-radius: 100vh;
                        background: var(--color-bk);
                        -webkit-transition: all .3s;
                        -o-transition: all .3s;
                        transition: all .3s;
                    }
                }
            }
        }
    }

    a:hover {
        color: var(--color-font);
        opacity: 0.7;
        background: transparent;
        text-decoration: none !important;
    }
}

@media screen and (max-width: 768px) {
    #footer {
        ul.c-navlist {
            margin-top: var(--rem40);
            width: 96%;
            margin-left: auto;
            margin-right: auto;
        }
    }
}

@media screen and (max-width: 640px) {
    #footer {
        ul.c-navlist {
            gap: 0px;
            -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;

            .c-navlistitem {
                display: inline-block;
                width: 100%;

                .c-navlistitem__nav>ul {
                    display: -webkit-box;
                    display: -ms-flexbox;
                    display: flex;
                    -ms-flex-wrap: wrap;
                    flex-wrap: wrap;
                    gap: 0 1rem;
                    line-height: 1.2;
                }

                .c-navlistitem__nav>ul>li>a {
                    margin-bottom: 0;
                    padding: 0.2rem 0 1rem var(--rem24w);

                    &::before {
                        top: 0.25rem;
                    }
                }
            }

            ul.sub-menu {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-orient: horizontal;
                -webkit-box-direction: normal;
                -ms-flex-direction: row;
                flex-direction: row;
                gap: 0.5rem 1rem;
                -ms-flex-wrap: wrap;
                    flex-wrap: wrap;
                margin-bottom: 0.8rem;

            }

        }
    }
}

/*=============================================
commonparts
=============================================*/

/*----------------------------
リスト
-----------------------------*/

.post li {
    line-height: 1.8;
}

/*---------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;
    }

    .col2_list>li {
        width: 49%;
        margin-bottom: 2%;

        .imgarea {
            overflow: hidden;
            aspect-ratio: 1.414/ 1;

            img {
                -o-object-fit: cover;
                object-fit: cover;
                width: 100%;
                height: 100%;
            }
        }
    }

    .col2_list.col2_minlist li {
        margin-bottom: 6px;
    }
}

@media print,
screen and (max-width: 640px) {
    .post {
        .col2_list>li {
            width: 100%;
        }

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

/*---------col03-----------*/

.post {

    .col3_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;
    }

    .col3_list>li {
        width: 31%;
        margin-bottom: 2%;

        .imgarea {
            overflow: hidden;
            aspect-ratio: 1.414/ 1;

            img {
                -o-object-fit: cover;
                object-fit: cover;
                width: 100%;
                height: 100%;
            }
        }
    }

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

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

@media print,
screen and (max-width: 960px) {
    .post {
        .col3_list>li {
            width: 48%;
            margin-bottom: 5%;
        }

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

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

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


/*---------col4-----------*/

.post {

    .col4_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;
    }

    .col4_list>li {
        width: 24%;
        margin-bottom: 1.5%;

        .imgarea {
            overflow: hidden;
            aspect-ratio: 1.414/ 1;

            img {
                -o-object-fit: cover;
                object-fit: cover;
                width: 100%;
                height: 100%;
            }
        }
    }

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

    .col4_list:after {
        content: "";
        display: block;
        width: 24%;
        height: 0;
    }
}

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

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

@media print,
screen and (max-width: 640px) {
    .post {
        .col4_list>li {
            width: 100%;
        }

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

/*----------------------------
ボタン
-----------------------------*/

.post {
    .linkBtn {
        position: relative;
        display: inline-block;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        min-width: var(--px240);
        font-size: var(--px16);
        color: var(--color-wt);
        line-height: 1.4;
        text-align: center;
        background: transparent;
        font-weight: 500;
        padding: var(--px24) var(--px60);
        margin-top: var(--px40);
        border: none;
        border-radius: var(--px50);
        overflow: hidden;
        -webkit-transition: 0.3s all;
        -o-transition: 0.3s all;
        -webkit-transition: 0.3s all;
        -o-transition: 0.3s all;
        transition: 0.3s all;
        z-index: 0;

        i {
            margin-left: var(--px12);
            font-size: 90%;
        }

        &::before {
            content: "";
            width: 100%;
            height: 100%;
            position: absolute;
            z-index: -1;
            left: 0;
            top: 0;
            -webkit-transition: 0.5s;
            -o-transition: 0.5s;
            transition: 0.5s;
            background: #EB9835;
            background: -o-linear-gradient(197.81deg, #BE312A 19.83%, #EB9835 84.34%);
            background: linear-gradient(252.19deg, #BE312A 19.83%, #EB9835 84.34%);
        }

        &::after {
            content: "";
            width: 100%;
            height: 100%;
            position: absolute;
            z-index: -2;
            left: 0;
            top: 0;
            right: inherit;
            margin: 0;
            background: #BE312A;
            background: -o-linear-gradient(197.81deg, #EB9835 19.83%, #BE312A 84.34%);
            background: linear-gradient(252.19deg, #EB9835 19.83%, #BE312A 84.34%);
            -webkit-transform: none;
                -ms-transform: none;
                    transform: none;
        }

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

        &:hover:before {
            opacity: 0;
        }
    }
}

@media screen and (max-width: 640px) {
    .post {
        .linkBtn {
            padding: var(--px18) var(--px60);
            font-size: var(--px14);
        }
    }
}

/*----------------------------
gallery
-----------------------------*/

img.size-large {
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: 1 / 1;
    width: 100%;
}

.gallery-caption {
    font-size: var(--rem16);
    line-height: 1.6;
    text-align: left;
    margin: .5em auto !important;
    padding: 0 !important;
    max-width: 95%;
}

/*----------------------------
table
-----------------------------*/

.post table {
    margin: var(--px30) auto;
    border: none;
    border-collapse: separate;
    border-spacing: 10px;
}

.post table th,
.post table td {
    padding: 20px 15px 18px;
    min-height: 40px;
    vertical-align: middle;
    border: none;
    color: var(--color-bk);
    background: transparent;
}

.post table th {
    border-bottom: solid 1px var(--color-table-border);
}

.post table td {
    border-bottom: solid 1px var(--color-table-border);
}

@media screen and (max-width: 640px) {
    .post table {
        border-spacing: 0;
    }

    .post table th {
        border-bottom: none;
        padding-bottom: 0;
    }

    .post table td {
        padding-top: 10px;
    }
}

/*----------------------------
タイトルパーツ
-----------------------------*/

.post {

    /*------タイトル基本パーツ------*/

    .c-ttlarea {
        margin: var(--px120) auto var(--px60);
        text-align: center;
    }

    .c-ttlarea__title {
        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;
        text-align: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        gap: 6px;
        font-size: var(--px35);
        font-family: var(--font-family02);
        font-weight: 700;
        font-style: normal;
        line-height: 1.4;
        margin: var(--px30) auto;

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

    .c-ttlarea__desc {
        line-height: 2.2;
        font-family: var(--font-family01);
        letter-spacing: 0.1em;
    }

    /*------デザイン差分 level01-------*/

    .c-ttl__level01 {
        display: block;
        font-size: var(--px100);
        font-family: var(--font-family03);
        color: var(--color-font);
        font-weight: 400;
        font-style: normal;
        line-height: 0.8;
        margin: 0 auto var(--px60);
        border: none;
        background: transparent;
        padding: 0;

        .c-ttl__subtitle {
            display: block;
            font-size: var(--px18);
            font-family: var(--font-family01);
            font-weight: 500;
            font-style: normal;
            line-height: 1.6;
            letter-spacing: 0.2em;
            margin-top: var(--px24s);
        }

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

        &.c-ttl__level01--left {
            text-align: left;
        }

        &.c-ttl__level01--center {
            text-align: center;
        }

    }

    .c-ttlarea:has(.c-ttlarea__title) .c-ttl__level01,
    .c-ttlarea:has(.c-ttlarea__desc) .c-ttl__level01 {
        margin-bottom: var(--px40);
    }

    .c-ttlarea:has(.c-ttl__level01) {
        margin-top: 0;
    }

    /*------デザイン差分 level02-------*/

    .c-ttl__level02 {
        display: block;
        font-size: var(--px40);
        font-family: var(--font-family02);
        color: var(--color-font);
        font-weight: 700;
        font-style: normal;
        line-height: 1.2;
        margin: 0 auto var(--px60);
        border: none;
        padding: 0;
        background: transparent;

        .c-ttl__subtitle {
            display: block;
            font-size: var(--px24);
            font-family: var(--font-family02);
            font-weight: 700;
            font-style: normal;
            line-height: 1.6;
            letter-spacing: 0;
            margin-top: var(--px24);
        }

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

        &.c-ttl__level02--left {
            text-align: left;
        }

        &.c-ttl__level02--center {
            text-align: center;
        }
    }

    /*------デザイン差分 level03-------*/

    .c-ttl__level03 {
        display: block;
        font-size: var(--px32);
        font-family: var(--font-family02);
        color: var(--color-font);
        font-weight: 700;
        font-style: normal;
        line-height: 1.6;
        margin: 0 auto var(--px60);
        border: none;
        padding: 0;
        letter-spacing: 0.05em;
        background: transparent;

        .c-ttl__label {
            display: block;
            width: -webkit-fit-content;
            width: -moz-fit-content;
            width: fit-content;
            font-size: var(--px16);
            font-family: var(--font-family01);
            font-weight: 600;
            font-style: normal;
            line-height: 1.4;
            letter-spacing: 0;
            margin-bottom: var(--px16);
            padding: 5px 10px 4px;
            border: solid 1px;
        }

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

        &.c-ttl__level03--left {
            text-align: left;

            .c-ttl__label {
                margin: 0 auto var(--px16) 0;
            }
        }

        &.c-ttl__level03--center {
            text-align: center;

            .c-ttl__label {
                margin: 0 auto var(--px16);
            }
        }
    }

    .c-ttlarea:has(.c-ttlarea__title) .c-ttl__level03,
    .c-ttlarea:has(.c-ttlarea__desc) .c-ttl__level03 {
        margin-bottom: var(--px24s);
    }

    /*------デザイン差分 サイドborder-------*/

    .c-ttl__sideborder {
        position: relative;
        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;
        background: none;
        border: none;
        margin: var(--px100) 0 var(--px60);
        font-weight: 400;
        font-size: var(--px24);
        font-family: var(--font-family01);
        color: var(--color-font);
        text-align: center;
        line-height: 1.3;
        letter-spacing: 0.04em;
        gap: var(--px20);

        &::before,
        &::after {
            -ms-flex-negative: 0;
            flex-shrink: 0;
            content: "";
            display: block;
            background-color: var(--color-font);
            width: var(--px40);
            height: 1px;
        }
    }
}

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

        /*------タイトル基本パーツ------*/
        .c-ttlarea__desc {
            line-height: 1.8;
            text-align: left;
        }
    }
}


/*----------------------------
bgimg
-----------------------------*/

.post {
    .c-bgimgbox {
        position: relative;

        .c-bgimgbox__imgarea {
            max-width: 1180px;
            width: 100%;
            overflow: hidden;
            position: absolute;
            left: 0;
            top: 0;

            img {
                -o-object-fit: cover;
                   object-fit: cover;
                width: 100%;
                height: 100%;
            }
        }

        .c-bgimgbox__txtarea {
            max-width: 1280px;
            width: 96%;
            margin-left: auto;
            padding-top: var(--px240);
            position: relative;
            z-index: 1;

            .c-bgimgbox__txtinner {
                padding: var(--px100) var(--px100) var(--px60);
                background-color: var(--color-gray);
                line-height: 2.2;
            }
        }
    }
}

@media screen and (max-width: 768px) {
    .post {
        .c-bgimgbox {
            .c-bgimgbox__col {
                .w40 img {
                    max-width: 90%;
                    margin: 0 auto;
                }
            }
        }
    }
}

@media screen and (max-width: 640px) {
    .post {
        .c-bgimgbox {
            .c-bgimgbox__txtarea {
                width: 94%;
                margin-left: auto;
                margin-right: auto;

                .c-bgimgbox__txtinner {
                    padding: var(--px60);
                    line-height: 1.8;
                }
            }
        }
    }
}

/*----------------------------
roundlist
-----------------------------*/

.post {
    .c-roundlist {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: var(--px12);
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin-top: var(--px60);

        .c-roundlist__listitem {
            background: var(--color-wt);
            border-radius: 50vh;
            padding: var(--px12);
            width: 240px;
            height: 240px;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -ms-flex-negative: 0;
                flex-shrink: 0;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            gap: 0;
            -webkit-box-shadow: 0px 0px 20px rgba(45, 63, 73, 0.05);
                    box-shadow: 0px 0px 20px rgba(45, 63, 73, 0.05);

            .c-roundlist__inner {
                text-align: center;
                font-size: var(--px16);
                font-weight: 500;
                letter-spacing: 0.05em;
                line-height: 1.64;

                b {
                    font-weight: 900;
                }
            }
        }
    }
}

@media screen and (max-width: 1240px) {
    .post {
        .c-roundlist {
            .c-roundlist__listitem {
                width: 200px;
                height: 200px;
            }
        }
    }
}

@media screen and (max-width: 960px) {
    .post {
        .c-roundlist {
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
            max-width: 540px;
        }
    }
}

@media screen and (max-width: 768px) {
    .post {
        .c-roundlist {
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
        }
    }
}

@media screen and (max-width: 640px) {
    .post {
        .c-roundlist {
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;

            .c-roundlist__listitem {
                width: 140px;
                height: 140px;

                .c-roundlist__inner {
                    font-size: 12px;
                }
            }
        }
    }
}

/*----------------------------
ナンバリング
-----------------------------*/

.post {
    .c-numlist {
        counter-reset: number 0;
        margin: 0;

        &>.c-numlist__item {
            position: relative;
            counter-increment: number;
            list-style: none !important;
            padding: 0;

            .c-box__txtarea {
                padding: var(--px100) 5%;
                line-height: 2.2;
            }

            .c-numlist__ttl {
                font-size: var(--px40);
                font-family: var(--font-family02);
                font-weight: 700;
                letter-spacing: 0;
                line-height: 1.4;
                padding: 0;
                margin: 0 auto var(--px40);
                border-bottom: none;
                text-align: left;
                color: var(--color-font);
            }

            .c-numlist__subttl {
                display: block;
                font-size: var(--px40);
                font-family: var(--font-family03);
                font-weight: 600;
                padding: 0;
                margin: 0 auto var(--px20);
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-pack: start;
                    -ms-flex-pack: start;
                        justify-content: flex-start;
                -webkit-box-align: center;
                    -ms-flex-align: center;
                        align-items: center;
                gap: 10px;

                &::after {
                    content: "/" counter(number, decimal-leading-zero);
                    font-family: var(--font-family03);
                    font-style: normal;
                    font-weight: 600;
                    font-size: var(--px60);
                    line-height: 1;
                    color: var(--color-font);
                    margin-bottom: 3px;
                }
            }

            .c-box--wide {
                width: 100%;

                .c-box__imgarea {
                    max-width: 41%;

                    img {
                        -o-object-fit: cover;
                           object-fit: cover;
                        width: 100%;
                        height: 100%;
                        aspect-ratio: 2 / 1;
                    }
                }
            }

            .c-box--narrow {
                position: relative;
                width: 94%;
                max-width: var(--content-max-width);
                margin: 0 auto;

                .c-box__txtarea {
                    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;
                }

                .c-box__imgarea {
                    -ms-flex-item-align: center;
                        -ms-grid-row-align: center;
                        align-self: center;
                    margin-bottom: 0;
                }
            }
        }
    }
}

.post {
    .c-bgarrowimg__list {
        position: relative;
        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;
        gap: 120px;
        margin-top: 20px;
        padding: 100px 50px 110px 37px;

        &:before {
            background: url(/wp-content/uploads/circlefigure.png.webp) no-repeat;
            background-size: contain;
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-position: 50% 50%;
            z-index: 0;
        }

        .c-bgarrowimg__listitem {
            list-style: none;
            text-align: center;
            line-height: 1.4;
            font-size: 15px;
            z-index: 1;

            b {
                display: block;
                font-size: 18px;
                margin-bottom: 10px;
            }
        }
    }
}

@media screen and (max-width: 1600px) {
    .post {
        .c-numlist {
            &>.c-numlist__item {
                .c-box--wide {
                    .c-box__imgarea {
                        max-width: 30%;
                    }
                }

                .c-box--narrow {
                    width: 100%;
                }

                .c-box__txtarea {
                    padding: var(--px20) 5% var(--px60);
                }
            }
        }
    }
}

@media screen and (max-width: 1400px) {
    .post {
        .c-bgarrowimg__list {
            gap: 96px;
            padding: 100px 58px 110px 23px;
        }

        .c-numlist {
            &>.c-numlist__item {
                font-size: 13px;

                b {
                    font-size: 14px;
                }

                .c-box--wide {
                    .c-box__imgarea {
                        max-width: 24%;
                    }
                }
            }
        }
    }
}

@media screen and (max-width: 1200px) {
    .post {
        .c-numlist {
            &>.c-numlist__item {
                .c-box--wide {
                    .c-box__imgarea {
                        max-width: 20%;
                    }
                }
            }
        }
    }
}

@media screen and (max-width: 960px) {
    .post {
        .c-bgarrowimg__list {
            gap: 96px;
            padding: 68px 58px 80px 23px;
        }

        .c-numlist {
            &>.c-numlist__item {
                .c-box--wide {
                    -webkit-box-orient: vertical;
                    -webkit-box-direction: normal;
                        -ms-flex-direction: column;
                            flex-direction: column;

                    .c-box__imgarea {
                        max-width: 100%;
                    }
                }
            }
        }
    }
}

@media screen and (max-width: 800px) {
    .post {
        .c-bgarrowimg__list {
            gap: 76px;
            padding: 57px 48px 70px 16px;

            .c-bgarrowimg__listitem {
                font-size: 14px;

                b {
                    font-size: 13px;
                }
            }
        }
    }
}

@media screen and (max-width: 640px) {
    .post {
        .c-bgarrowimg__list {
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            gap: 140px;
            padding: 56px 0;

            .c-bgarrowimg__listitem {
                font-size: 12px;
            }

            &:before {
                top: -180px;
                left: 50%;
                width: 640px;
                height: 1000px;
                background-position: 50% 50%;
                -webkit-transform: translateX(-50%) rotate(90deg);
                    -ms-transform: translateX(-50%) rotate(90deg);
                        transform: translateX(-50%) rotate(90deg);
            }
        }
    }
}

/*----------------------------
カードパーツ
-----------------------------*/

.post {

    /*------カード基本パーツ------*/

    .c-card {

        &>.c-card__item {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
            -ms-flex-direction: column;
            flex-direction: column;

            .c-card__txt {
                -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                flex-grow: 1;
            }
        }
    }

    /*------カード ズラシデザイン------*/

    .c-card.c-card--shift {

        .c-card__img {
            width: 100%;
            margin-left: 0;
            margin-right: auto;
        }

        .c-card__txt {
            background: var(--color-wt);
            padding: var(--px40w) var(--px40w) var(--px50);
            border-radius: 0;
            width: 80%;
            text-align: left;
            margin-left: auto;
            margin-right: 0;
            margin-top: -33%;
            z-index: 1;
            position: relative;

            .c-card__title {
                font-size: var(--px22);
                font-family: var(--font-family01);
                color: var(--color-font);
                font-weight: 500;
                letter-spacing: 0;
                padding: 0;
                line-height: 1.4;
                margin: 0 0 var(--px18);
                border-bottom: none;
                text-align: left;
                display: block;
                letter-spacing: 0.05em;

                .c-card__subtitle {
                    font-size: var(--px14);
                }

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

            .c-card__desc {
                letter-spacing: 0.05em;
            }

            .c-card__titleborder {
                font-family: var(--font-family01);
                font-weight: 700;
                font-size: var(--px20);
                line-height: 1.4;
                color: var(--color-font);
                padding: 0 0 var(--px12) 0;
                margin: 0 0 var(--px20);
                border-bottom: 1px solid;

                &+.c-card__title {
                    font-size: var(--px18);
                    font-family: var(--font-family01);
                    font-weight: 700;
                    letter-spacing: 0;
                    padding: 0;
                    line-height: 1.4;
                    margin: 0 0 var(--px12);
                    border-bottom: none;
                    color: var(--color-primary-shade);
                }
            }
        }
    }

    .c-card.c-card--shift.col3_list {
        .c-card__txt {
            width: 90%;
        }

    }

    /*------カードリンク 横並びアイコン-----*/

    .c-card.c-card--icocolumnlink {

        .c-card__item a {
            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: center;
            -ms-flex-pack: center;
            justify-content: center;
            -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center;
            gap: var(--px30);
            background: var(--color-wt);
            padding: var(--px30) var(--px80) var(--px30) var(--px30);
            color: var(--color-font);
            min-width: 48%;
            border-radius: 0;
            -webkit-box-flex: 1;
            -ms-flex-positive: 1;
            flex-grow: 1;
            position: relative;
            border: solid 1px var(--color-table-border);

            &:before {
                content: '\f35d';
                position: absolute;
                font-family: 'Font Awesome 5 Free';
                font-weight: 900;
                top: 50%;
                right: var(--px24s);
                -webkit-transform: translateY(-50%);
                    -ms-transform: translateY(-50%);
                        transform: translateY(-50%);
                font-size: var(--px20s);
            }

            .c-card__ico {
                width: var(--px120);
                height: var(--px120);
                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;
                -ms-flex-negative: 0;
                flex-shrink: 0;

                img {
                    width: 100%;
                    max-width: var(--px120);
                    height: 100%;
                    -o-object-fit: cover;
                    object-fit: cover;
                }
            }

            .c-card__title {
                font-size: var(--px20);
                font-family: var(--font-family01);
                color: var(--color-font);
                font-weight: 500;
                letter-spacing: 0;
                padding: 0;
                line-height: 1.4;
                margin: 0 0 var(--px12);
                border-bottom: none;

                .c-card__title-sub {
                    font-size: var(--px14);
                    font-family: var(--font-family02);
                    font-weight: 400;
                    font-style: italic;
                    display: block;
                    margin-top: var(--px12);
                }
            }

            .c-card__desc {
                font-size: var(--px14);
                font-family: var(--font-family01);
                font-weight: 400;
            }
        }
    }
}

@media print,
screen and (max-width: 768px) {
    .post {
        .c-card.c-card--icocolumnlink {
            .c-card__item a {
                .c-card__title {
                    font-size: var(--px18);
                    margin: 0 0 6px;
                }
            }

            &.col2_list>li {
                width: 100%;
            }

            &.col2_list>li:last-child {
                margin-bottom: 0;
            }
        }
    }
}

@media print,
screen and (max-width: 768px) {
    .post {
        .c-card.c-card--shift {
            .c-card__txt {
                width: 94%;
                margin-top: -18%;
            }
        }
    }
}

@media print,
screen and (max-width: 640px) {
    .post {
        .c-card.c-card--shift {
            .c-card__txt {
                padding: var(--px40w) var(--px40) var(--px40);
            }
        }
    }
}

/*----------------------------
CTA
-----------------------------*/

.l-cta.post {
    background: url(/wp-content/uploads/contact_bgimg.jpg.webp) no-repeat;
    background-size: cover;
    padding: var(--px120) 3% var(--px160);
    z-index: 1;
    position: relative;

    .c-cta__txtarea {
        margin-left: 5%;
        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;
        gap: var(--px40);
        margin-right: auto;
    }

    .c-cta__head {
        font-size: var(--px40);
        font-weight: 700;
        color: var(--color-font);
        font-family: var(--font-family02);
        line-height: 1.4;
        position: relative;
        letter-spacing: -2px;
        padding-top: var(--px160);
    }

    span.c-cta__subtxt {
        img {
            -o-object-fit: contain;
               object-fit: contain;
            height: var(--px160);
            width: auto;
            max-width: 55%;
            position: absolute;
            z-index: -1;
            top: 0;
            left: -3%;
        }
    }

    .c-cta__desc {
        font-size: var(--px16);
        letter-spacing: 0.05em;
        line-height: 2;
    }

    .c-cta__btnlist {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: var(--px16);
        -webkit-box-pack: start;
        -ms-flex-pack: flex-start;
        justify-content: flex-start;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;

        .c-cta__btn {
            width: 380px;
            height: 100%;
            min-height: var(--px120);
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: center;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            -ms-flex-pack: center;
                justify-content: center;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            gap: 4px;
            border-radius: 50vh;
            background: transparent;
            padding: var(--px30) var(--px60);
            color: var(--color-wt);
            text-align: center;
            font-weight: 900;
            position: relative;
            overflow: hidden;

            .c-cta__subtxt {
                font-size: var(--px14);
                line-height: 1.4;
            }

            .c-cta__maintxt {
                font-size: var(--px24s);
                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;
                gap: 8px;
                line-height: 1.2;

                i {
                    margin-top: 2px;
                }
            }

            &::before {
                content: "";
                width: 100%;
                height: 100%;
                position: absolute;
                z-index: -1;
                left: 0;
                top: 0;
                -webkit-transition: 0.5s;
                -o-transition: 0.5s;
                transition: 0.5s;
                background: #EB9835;
                background: -o-linear-gradient(197.81deg, #BE312A 19.83%, #EB9835 84.34%);
                background: linear-gradient(252.19deg, #BE312A 19.83%, #EB9835 84.34%);
            }

            &::after {
                content: "";
                width: 100%;
                height: 100%;
                position: absolute;
                z-index: -2;
                left: 0;
                top: 0;
                right: inherit;
                margin: 0;
                background: #BE312A;
                background: -o-linear-gradient(197.81deg, #EB9835 19.83%, #BE312A 84.34%);
                background: linear-gradient(252.19deg, #EB9835 19.83%, #BE312A 84.34%);
                -webkit-transform: none;
                    -ms-transform: none;
                        transform: none;
            }

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

            &:hover:before {
                opacity: 0;
            }
        }
    }
}

@media print,
screen and (max-width: 768px) {
    .l-cta.post {
        background-position: 28% 50%;
        padding: var(--px100) 6% var(--px120);

        .c-cta__txtarea {
            margin-left: 2%;
        }

        .c-cta__btnlist {

            .c-cta__listitem {
                -ms-flex-item-align: stretch;
                -ms-grid-row-align: stretch;
                align-self: stretch;
                width: 48%;
            }

            .c-cta__btn {
                width: -webkit-fit-content;
                width: -moz-fit-content;
                width: fit-content;
                min-height: auto;
                margin: 0 auto;
            }
        }
    }
}

@media print,
screen and (max-width: 640px) {
    .l-cta.post {
        background-position: 38% 50%;

        .c-cta__txtarea {
            margin-left: auto;
        }

        .c-cta__head {
            padding-top: 75px;
        }

        span.c-cta__subtxt {
            img {
                height: 70px;
            }
        }

        .c-cta__btnlist {
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;

            .c-cta__listitem {
                -ms-flex-item-align: stretch;
                -ms-grid-row-align: stretch;
                align-self: stretch;
                width: 80%;
            }

            .c-cta__btn {
                width: 100%;
            }
        }
    }
}
@media print,
screen and (max-width: 374px) {
    .l-cta.post {
        .c-cta__btnlist {
            .c-cta__listitem {
                width: 100%;
            }
        }
    }
}

/*----------------------------
背景色
-----------------------------*/

.c-bg--gray {
    background-color: var(--color-gray);
}

/*================================================
			    front個別
================================================*/
#mainImg {
    position: relative;

    &:before {
        content: "";
        background: url(/wp-content/uploads/sideparts04.png.webp) no-repeat;
        background-size: contain;
        position: absolute;
        width: 44%;
        height: 56%;
        z-index: 1;
        top: 15%;
        left: 0;
        background-position: left top;
    }
    
    &:after {
        content: "";
        background: url(/wp-content/uploads/sideparts03.png.webp) no-repeat;
        background-size: contain;
        position: absolute;
        width: 30%;
        height: 33%;
        z-index: 1;
        bottom: -15%;
        right: 0;
        background-position: right bottom;
    }
}
@media only screen and (max-width: 1600px) {
    #mainImg {
        &:before {
            width: 38%;
            height: 32%;
            top: 29%;
        }
        &:after {
            width: 30%;
            height: 29%;
            bottom: -5%;
        }
    }
}
@media only screen and (max-width: 1047px) {
    #mainImg {
        &:before {
            top: 79%;
        }
        &:after {
            width: 25%;
            height: 25%;
            bottom: 51%;
        }
    }
}

.post .p-mission {
    padding-bottom: var(--px160);

    &:before {
        content: "";
        background: url(/wp-content/uploads/sideparts01.png.webp) no-repeat;
        background-size: contain;
        position: absolute;
        width: 30%;
        height: 100%;
        z-index: 1;
        bottom: -25%;
        right: 0;
        background-position: right bottom;
    }

    &:after {
        content: "";
        background: url(/wp-content/uploads/sideparts02.png.webp) no-repeat;
        background-size: contain;
        position: absolute;
        width: 32%;
        height: 108%;
        z-index: 1;
        bottom: -30%;
        left: 0;
        background-position: left bottom;
    }

    .c-ttlarea {
        margin: 0;
    }

    .c-ttlarea__desc {
        line-height: 2.8;
        font-family: var(--font-family01);
        letter-spacing: 0.4em;
    }
}

@media only screen and (max-width: 640px) {
    .post .p-mission {
        &:after {
            bottom: -23%;
        }

        .c-ttlarea__desc {
            text-align: left;
            line-height: 2.2;
            letter-spacing: 0.2em;
        }
    }
}

.post .p-business {
    &:before {
        content: "";
        background: url(/wp-content/uploads/business_shadow.png) no-repeat;
        background-size: cover;
        position: absolute;
        width: 100%;
        height: 1100px;
        z-index: 0;
        top: 0;
        right: 0;
    }

    .wrapper_content {
        max-width: 1260px;
        z-index: 1;
    }

    .c-borderwrapper {
        border: solid 1px var(--color-table-border);
        width: 94%;
        margin: 0 auto;
        max-width: 1640px;
        padding: var(--px60);
        margin-bottom: var(--px60);

        .wrapper_content {
            max-width: 1460px;
            width: 100%;
        }

        .c-ttlarea {
            margin: var(--px20) auto var(--px40);
        }
    }

    .l-platform {
        .c-bgimgbox {
            position: relative;

            &:before {
                content: "";
                background: url(/wp-content/uploads/sideparts05.png.webp) no-repeat;
                background-size: contain;
                position: absolute;
                width: 30%;
                height: 90%;
                z-index: 1;
                top: -44%;
                left: 0;
                background-position: left top;
            }
        }
    }

    .l-supportprogram {
        position: relative;

        &:before {
            content: "";
            background: url(/wp-content/uploads/sideparts06.png.webp) no-repeat;
            background-size: contain;
            position: absolute;
            width: 17%;
            height: 60%;
            z-index: 2;
            top: -12%;
            right: 0;
            background-position: right top;
        }
    }

    .l-developmentbusiness {
        position: relative;

        &:before {
            content: "";
            background: url(/wp-content/uploads/sideparts07.png.webp) no-repeat;
            background-size: contain;
            position: absolute;
            width: 18%;
            height: 120%;
            z-index: 2;
            bottom: -48%;
            left: 0;
            background-position: left bottom;
        }
    }
}

@media only screen and (max-width: 1600px) {
    .post .p-business {
        .l-platform {
            .c-bgimgbox {
                &:before {
                    width: 30%;
                    height: 57%;
                    z-index: 1;
                    top: -20%;
                    left: 0;
                }
            }
        }
    }
}

@media only screen and (max-width: 1200px) {
    .post .p-business {
        .l-platform {
            .c-bgimgbox {
                &:before {
                    width: 30%;
                    height: 33%;
                    z-index: 1;
                    top: -13%;
                    left: 0;
                }
            }
        }
    }
}

@media only screen and (max-width: 768px) {
    .post .p-business {
        .l-supportprogram {
            &:before {
                width: 17%;
                height: 30%;
                top: -4%;
            }
        }
    }
}

@media only screen and (max-width: 640px) {
    .post .p-business {
        .c-borderwrapper {
            padding: var(--px40);
        }

        .l-developmentbusiness {
            &:before {
                width: 25%;
                height: 30%;
                bottom: -23%;
            }
        }
    }
}

.l-insta {
    max-width: 1440px;
    width: 94%;
    margin: 0 auto var(--px80);

    h3 {
        border: none;
        padding: 0;
        font-size: var(--px20);
        font-weight: 400;
    }

    .sbi-theme:not(.sbi-social_wall, .sbi-outline, .sbi-overlap).sb_instagram_header:not(.sbi_centered) .sbi_header_text {
        -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;
    }

    .sbi_header_text {
        gap: 12px;
    }

    span.sbi_posts_count {
        display: none !important;
    }

    .sbi_header_hashtag_icon {
        background: transparent;
        color: var(--color-bk);
    }

    .sbi_no_avatar .sbi_header_img {
        background: transparent;
        color: var(--color-bk);
        height: 24px;
        width: 24px;
    }
}

.l-intro__column {
    margin: var(--px120) auto var(--px160);
}

.l-intro__desc {
    line-height: 2.8;
}

@media print,
screen and (max-width: 768px) {
    .post {
        .l-intro__column {
            margin: var(--px100) auto;

            .c-box img {
                max-width: 90%;
                margin: 0 auto;
            }
        }

        .l-intro__desc {
            line-height: 2.2;
        }
    }
}

@media print,
screen and (max-width: 414px) {
    .post {
        .l-intro__column {
            .c-box img {
                max-width: 100%;
                margin: 0 auto;
            }
        }
    }
}

.post {
    .p-strength {
        position: relative;

        &:before {
            content: "";
            background: url(/wp-content/uploads/sideparts08.png.webp) no-repeat;
            background-size: contain;
            position: absolute;
            width: 25%;
            height: 39%;
            z-index: 2;
            top: -5%;
            right: 0;
            background-position: right top;
        }
    }
}
.post {
    .p-strength {
        .gallery-item {
            margin-bottom: 2% !important;
        }
    }
}
@media print,
screen and (max-width: 640px) {
    .post {
        .p-strength {
            padding-bottom: 0;

            &:before {
                width: 33%;
            }
        }
    }
}

.post .p-forcorporations {
    padding: 0;

    .wrapper_content {
        position: relative;
        width: 100%;
        max-width: none;
        margin: 0 auto;
    }

    .c-box__imgarea {
        margin-bottom: 0;

        .c-box__imgbox {
            overflow: hidden;

            img {
                -o-object-fit: cover;
                   object-fit: cover;
                width: 100%;
                height: 100%;
                aspect-ratio: 2 / 1;
            }
        }

        .c-box__imgcol {
            margin-top: 2%;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            gap: 2%;
            -webkit-box-pack: stretch;
                -ms-flex-pack: stretch;
                    justify-content: stretch;
            -webkit-box-align: stretch;
                -ms-flex-align: stretch;
                    align-items: stretch;

            .c-box__imgbox {
                aspect-ratio: 47 / 30;
            }
        }
    }

    .c-ttl__level01 {
        font-size: var(--px80);
    }

    .c-box__txtarea {
        padding: var(--px100) 5%;
        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;
    }
}

.l-relatedlinks.post {
    z-index: 1;
    position: relative;

    .wrapper_content {
        position: relative;
        width: 94%;
        max-width: var(--content-max-width);
        margin: var(--px80) auto;
    }
}
body:not(.home) .l-relatedlinks.post {
    display: none;
}


/*================================================
			    subpage-parts
================================================*/

/*----------------------------
layout
-----------------------------*/

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

.mobile header#h1Header {
    padding-top: 60px;
}
header#h1Header {
    background: transparent;
    height: auto;
    z-index: -1;
    overflow: visible;
    border-bottom: solid 1px;
    max-width: var(--content-max-width);
    padding-top: 60px;
    margin: 0 auto;

    &::before {
        background-color: transparent;
    }

    h1.title {
        position: relative;
        padding-block: calc(7rem + (1vw - 1.92rem) * 2.5890);
        /*70-30(1920-1024)*/
        padding-inline: 5%;
        -webkit-transform: none;
        -ms-transform: none;
        transform: none;
        color: var(--color-font);
        font-size: var(--px40);
        font-weight: 400;
        font-family: var(--font-family01);
        line-height: 1.2;
        text-transform: lowercase;
        display: block;

        &::first-letter {
            text-transform: capitalize;
        }

        &::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: transparent;
        }

        span.subtxt {
            font-size: var(--px30);
            display: block;
            margin-top: var(--px12);
            font-weight: 400;
        }

    }
}

/*================================================
				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: none;
    border-radius: 0;
    color: var(--color-bk);
    background: #fff;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.wpcf7-form {
    padding: 0;
}

.wpcf7-form a {
    border-bottom: solid 1px;
}

.wpcf7-form a:hover {
    opacity: 0.7;
}

.wpcf7-form input[type=submit] {
    display: block;
    background: var(--color-bk);
    border: none;
    border-radius: 0px;
    font-family: var(--font-family01);
    font-weight: 500;
    font-size: var(--px16);
    line-height: 1.4;
    color: var(--color-wt);
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
    margin: var(--px30) auto 0;
    max-width: 240px;
    width: 100%;
    padding: var(--px20) var(--px30);

    &:hover {
        color: var(--color-wt);
        background-color: var(--color-primary-shade);
    }
}

.submit_btn,
.post .submit_btn {
    position: relative;
    width: auto !important;
}

.submit_btn .wpcf7-spinner,
.post .submit_btn .wpcf7-spinner {
    top: inherit;
    background-color: #adadad;
}

.wpcf7-form .must {
    background: #DC143C;
}

/*================================================
				NOTFOUND
================================================*/

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-bk);
    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-bk);
    width: 100%;
}

/*================================================
				sitemap
================================================*/

.post ul#sitemap_list>li {
    margin-bottom: 5px;
    padding: var(--rem24) 0 var(--rem24) 5px;
    background: none;
    border-bottom: solid 1px var(--color-table-border);
}

.post ul#sitemap_list>li a {
    font-weight: 500;
    font-family: var(--font-family01);
}

.post ul#sitemap_list li a span.sub_ttl,
.post ul#sitemap_list li ul.children a {
    margin-left: 1rem;
    font-size: 80%;
    font-weight: 500;
}


/*================================================
				投稿
================================================*/

#front_top_content,
#front_bottom_content {
    position: relative;
    background: var(--color-gray);
    padding: var(--px160) 0;
    z-index: 10;

    h1.title>span {
        display: block;
        font-size: var(--px80);
        font-family: var(--font-family03);
        font-weight: 400;
        font-style: normal;
        line-height: 0.8;
        margin: 0 auto var(--px60);
        border: none;
        padding: 0;
    }

    .subttl {
        display: block;
        font-size: var(--px18);
        font-family: var(--font-family01);
        font-weight: 500;
        font-style: normal;
        line-height: 1.6;
        letter-spacing: 0.2em;
        margin-top: var(--px24s);
    }

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

/*------single------*/

.dateLabel {
    font-family: var(--font-family02);
    font-style: normal;
}
body.single-post #breadcrumb {
    padding: 12px;
    margin-top: 100px;
}

/*------postlist------*/

.postlist {

    li,
    li:first-child {
        border-top: 1px solid var(--color-table-border);

        &:last-child {
            border-bottom: 1px solid var(--color-table-border);
        }
    }

    .post_text {
        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;
        width: 98%;
        margin: 0 auto;
        padding: 12px 0;
        gap: 0 10px;
    }

    .time {
        -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
        order: 0;
        background: transparent;
        margin: 0;

        a {
            color: #fff;
            padding: 5px 8px;
            background: var(--color-bk);
            text-align: center;
            min-width: var(--px60);
            display: block;
            -webkit-transition: 0.3s all;
            -o-transition: 0.3s all;
            -webkit-transition: 0.3s all;
            -o-transition: 0.3s all;
            transition: 0.3s all;

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

    .date {
        -ms-flex-negative: 0;
            flex-shrink: 0;
        line-height: 1.4;
    }

    .time,
    .date {
        padding: 10px 0;
    }

    .ttls {
        overflow: inherit;
        white-space: normal;
        -o-text-overflow: inherit;
        text-overflow: inherit;
        font-size: var(--px16);
        width: 100%;
        padding: 0;
        margin: 0;

        a {
            padding: 10px 60px 10px 0;
            position: relative;
            width: 100%;
            display: block;
            -webkit-transition: 0.3s all;
            -o-transition: 0.3s all;
            -webkit-transition: 0.3s all;
            -o-transition: 0.3s all;
            transition: 0.3s all;

            &:hover {
                text-decoration: none;
                color: var(--color-bk);
                opacity: 0.7;
            }
        }
    }
}

@media print,
screen and (max-width: 640px) {
    .postlist {
        .post_text {
            -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center;
            padding-bottom: 0;
        }

        .time,
        .date {
            padding: 0;
        }
    }
}
.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);
}

/*--------google-recaptcha--------*/
.recaptcha {
    display: flex;
    justify-content: center;
    padding: 10px 0 30px;
}


/*----------------------data integration----------------------*/

/*--------------------------------------------------
	調整
--------------------------------------------------*/
.l-cta.post .c-cta__btnlist a.c-cta__btn {
	font-weight: bold;
}
@media only screen and (max-width: 768px) {  /* タブレット以下 */
	.l-cta.post .c-cta__btnlist {
		width: 100%;
	}
}
/*--------------------------------------------------
	見出し
--------------------------------------------------*/
body:not(.home) .post h2,
body:not(.home) .post h3,
body:not(.home) .post h4 {
	color: var(--color-font);
	line-height: 1.4;
}
body:not(.home) .post h2:not(.noline) {
	padding: var(--px40);
	background: #fff;
	border: 1px solid #ccc;
	font-size: var(--rem24w);
	text-align: left;
}
body:not(.home) .post h2:not(.noline)::after {
	position: absolute;
	top: 50%;
	left: 0;
	margin: 0;
	width: 5px;
	height: 40px;
	background: linear-gradient(to bottom, #BE312A, #EB9835);
	transform: translateY(-50%);
}
body:not(.home) .post h2.noline {
	font-size: var(--rem30);
	font-family: var(--font-family02);
	line-height: 1.6;
}
body:not(.home) .post h2.noline::after {
	display: none;
}
/**/
body:not(.home) .post h3 {
	padding: 0 0 0.6em;
	border-bottom: 1px solid var(--color-font);
	font-size: var(--rem20w);
}
body:not(.home) .post h3.noline {
	padding: 0;
	border: none;
}
body:not(.home) .post h3.num_ttl {
	position: relative;
	padding: 0.3em 0 0.8em 3em;
}
body:not(.home) .post h3.num_ttl b {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 2em;
	height: 2em;
	background: var(--color-font);
	color: #fff;
	font-weight: normal;
	/* 縦方向中央揃え */
	display: flex;
	align-items: center;
	justify-content: center;
}
/*--------------------------------------------------
	下層共通
--------------------------------------------------*/
@media print, screen and (min-width: 641px){ /* PC用 */
	.dsp_sp { display: none; }
}
@media only screen and (max-width: 640px){ /* スマホ用 */
	.dsp_hp { display: none; }
}
/**/
body:not(.home) .page_contents_inner.bg_wide {
	padding: var(--px150) 0;
}
@media only screen and (max-width: 640px){ /* スマホ */
	body:not(.home) .page_contents_inner + .page_contents_inner {
		margin-top: var(--px100w);
	}
	body:not(.home) .page_contents_inner.bg_wide {
		padding: var(--px100w) 0;
	}
}
/**/
.flexbox_sp {
	/* フレックス */
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.flexbox_sp .w50 {
	width: 50%;
}
/**/
.bg_wide { position: relative; }
.bg_wide::before,
.bg_wide.bg_after::after {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100vw;
	height: 100%;
	margin-left: calc(((100vw - 100%) / 2) * -1);
	margin-right: calc(((100vw - 100%) / 2) * -1);
	content: "";
	z-index: -1;
}
.box_gray,
.bg_gray::before {
	background: var(--color-gray);
}
.box_white {
	background: rgba(255,255,255,0.6);
}
.box_line {
	border: solid 1px var(--color-table-border);
}
.box_pad {
	padding: var(--px60);
}
@media only screen and (max-width: 640px){ /* スマホ */
	.box_pad {
		padding: var(--px40);
	}
}
/**/
.w600, .w800, .w900, .w1000 {
	width: 600px;
	max-width: 100%;
	margin: auto;
}
.w800 { width: 800px; }
.w900 { width: 900px; }
.w1000 { width: 1000px; }
/**/
.txt_msg {
	font-size: var(--rem24w);
	font-weight: bold;
	font-family: var(--font-family02);
}
.post ul.list_chk li {
	position: relative;
	padding: 0 0 0.6em 1.5em;
	border-bottom: solid 1px var(--color-table-border);
	font-size: 110%;
	line-height: 1.6;
}
.post ul.list_chk li::before {
	position: absolute;
	top: 0;
	left: 0;
	color: var(--color-primary);
	font-weight: 400;
	font-family: 'FontAwesome';
	content: '\f14a';
}
.post ul.list_chk li+li {
	margin-top: 0.8em;
}
/**/
.features_box .box h3,
.features_box .box h4  {
	margin: var(--px20) 0;
	font-family: var(--font-family02);
	text-align: center;
}
.features_box .box h4 {
	font-size: var(--rem20w);
}
.features_box .box h4::before {
	display: none;
}
@media print, screen and (min-width: 641px){ /* PC・タブレット */
	.features_box {
		/* フレックス */
		display: flex;
		flex-wrap: wrap;
		column-gap: 2%;
		row-gap: var(--px50);
	}
	.features_box .box {
		width: 23.5%;
	}
	.features_box.w3 .box {
		width: 32%;
	}
}
@media only screen and (max-width: 820px) and (min-width: 641px){
	.features_box {
		column-gap: 4%;
	}
	.features_box .box {
		width: 48% !important;
	}
}
@media only screen and (max-width: 640px){ /* スマホ */
	.features_box .box+.box {
		margin-top: var(--px60);
	}
}
/**/
.post dl.box_note {
	width: 1000px;
	max-width: 100%;
	margin: auto;
	background: var(--color-gray);
	border: solid 1px var(--color-table-border);
	text-align: center;
}
.post dl.box_note dt {
	margin-bottom: var(--px30);
	font-size: var(--rem24w);
	font-weight: 500;
	line-height: 1.4;
	/* 縦方向中央揃え */
	display: flex;
	align-items: center;
	justify-content: center;
	column-gap: var(--px20);
}
.post dl.box_note dt::before,
.post dl.box_note dt::after {
	display: block;
	width: 80px;
	border-bottom: solid 1px var(--color-font);
	content: "";
}
.post dl.box_note dd {
	padding: 0;
}
.post dl.box_note dd .fm {
	font-size: 115%;
}
.post dl.box_note dd ul {
	display: inline-block;
	padding: var(--px30) var(--px40);
	background: #fff;
	text-align: left;
}
.post dl.box_note dd li {
	position: relative;
	padding-left: 20px;
	line-height: 1.5;
}
.post dl.box_note dd li::before {
	position: absolute;
	top: 0.5em;
	left: 0;
	display: block;
	width: 10px;
	height: 10px;
	background: var(--color-primary);
	border-radius: 50%;
	content: "";
}
.post dl.box_note dd li+li {
	margin-top: 0.5em;
}
@media only screen and (max-width: 640px){ /* スマホ */
	.post dl.box_note dt::before,
	.post dl.box_note dt::after {
		width: 50px;
	}
}
/**/
body:not(.home) .post .col2_list {
	justify-content: center;
}
/*--------------------------------------------------
	私たちについて
--------------------------------------------------*/
#about_policy li {
	position: relative;
	padding-left: 25px;
	font-size: 110%;
	line-height: 1.8;
}
#about_policy li::before {
	position: absolute;
	top: 0.5em;
	left: 0;
	width: 14px;
	height: 14px;
	background: var(--color-primary);
	border-radius: 50%;
	opacity: 0.5;
	content: "";
}
#about_policy li+li {
	margin-top: 1.2em;
}
/**/
@media print, screen and (min-width: 641px){ /* PC・タブレット */
	#about_msg {
		width: 1240px;
		max-width: 100%;
		margin: auto;
		/* フレックス */
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
	}
	#about_msg .photo {
		width: 20%;
	}
	#about_msg .txt {
		width: 75%;
	}
}
@media only screen and (max-width: 640px){ /* スマホ */
	#about_msg .photo {
		margin-bottom: var(--px30);
	}
	#about_msg .photo img {
		width: 60%;
	}
}
/**/
#history_tbl{
	border-collapse: collapse;
	border-spacing: 0;
	border-bottom: 1px solid var(--color-table-border);
}
#history_tbl tr {
	border-top: 1px solid var(--color-table-border);
}
#history_tbl th,
#history_tbl td {
	padding: var(--px16) var(--px20);
	border: none;
}
#history_tbl th {
	white-space: nowrap;
	background: var(--color-gray);
	vertical-align: top;
}
#history_tbl tr:not(.switching)+tr.switching {
	border-top: 1px solid var(--color-font);
}
#history_tbl .switching th {
	background: #D3602F1A;
}
#history_tbl th span {
	display: block;
	margin: 5px 0;
	padding-left: 5em;
	/* 縦書き */
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
#history_tbl td dl {
	/* フレックス */
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#history_tbl td dt {
	width: 3.5em;
	font-weight: normal;
}
#history_tbl td dd {
	width: calc(100% - 3.5em);
	padding: 0;
}
/*--------------------------------------------------
	ヴィーガン食とは
--------------------------------------------------*/
#vegan_merit dl+dl {
	margin-top: var(--px40);
}
#vegan_merit dt {
	width: 250px;
	background: var(--color-font);
	color: #fff;
	text-align: center;
	/* フレックス */
	display: flex;
	column-gap: 10px;
}
#vegan_merit dt b {
	width: 40px;
	background: rgba(255,255,255,0.3);
	/* 縦方向中央揃え */
	display: flex;
	align-items: center;
	justify-content: center;
}
#vegan_merit dt span {
	padding: 10px;
}
#vegan_merit dd {
	padding: var(--px30);
	background: var(--color-gray);
}
/*--------------------------------------------------
	プラットフォーム事業
--------------------------------------------------*/
#platform_reason h3 {
	margin: var(--px24) 0 var(--px16);
	font-family: var(--font-family02);
}
@media print, screen and (min-width: 769px){ /* PCのみ */
	#platform_reason {
		flex-wrap: wrap;
		row-gap: var(--px80);
	}
	#platform_reason .w50 {
		width: 47.5%;
	}
}
@media only screen and (max-width: 640px){ /* スマホ */
	#platform_reason .w50+.w50 {
		margin-top: var(--px60);
	}
}
/*--------------------------------------------------
	コンサルティング事業
--------------------------------------------------*/
.consulting_list dl {
	padding: var(--px30);
	background: #fff;
	border: solid 1px var(--color-table-border);
}
.consulting_list dt {
	margin-bottom: var(--px20);
	padding-bottom: var(--px16);
	border-bottom: solid 1px var(--color-table-border);
	font-size: var(--rem20w);
	font-weight: 500;
	text-align: center;
}
.consulting_list dd {
	padding: 0;
}
@media print, screen and (min-width: 641px){ /* PC・タブレット */
	.consulting_list {
		/* フレックス */
		display: flex;
		flex-wrap: wrap;
		column-gap: 2%;
		row-gap: var(--px50);
	}
	.consulting_list dl {
		width: 23.5%;
	}
	.consulting_list.w3 dl {
		width: 32%;
	}
}
@media only screen and (max-width: 820px) and (min-width: 641px){
	.consulting_list {
		column-gap: 4%;
	}
	.consulting_list dl,
	.consulting_list.w3 dl {
		width: 48%;
	}
}
@media only screen and (max-width: 640px){ /* スマホ */
	.consulting_list dl+dl {
		margin-top: var(--px30);
	}
}
/*--------------------------------------------------
	フランチャイズ事業
--------------------------------------------------*/
#franchise_features h3 {
	margin: var(--px24) 0 var(--px16);
	font-family: var(--font-family02);
}
@media print, screen and (min-width: 769px){ /* PCのみ */
	#franchise_features {
		flex-wrap: wrap;
		row-gap: var(--px80);
	}
	#franchise_features .w50 {
		width: 47.5%;
	}
}
@media only screen and (max-width: 640px){ /* スマホ */
	#franchise_features .w50+.w50 {
		margin-top: var(--px60);
	}
}
/*--------------------------------------------------
	商品開発支援
--------------------------------------------------*/
#product_ex .gallery {
	justify-content: center !important;
	column-gap: 3.5%;
	row-gap: var(--px40);
}
#product_ex .gallery > br {
	display: none;
}
#product_ex .gallery .gallery-item {
	width: 31% !important;
	margin: 0 !important;
}
#product_ex .gallery .gallery-item img {
	max-width: 100%;
}
#product_ex .gallery .gallery-caption {
	max-width: 100%;
	margin: var(--px16) 0 0 !important;
	text-align: center;
}
@media only screen and (max-width: 640px){ /* スマホ */
	#product_ex .gallery {
		column-gap: 4%;
	}
	#product_ex .gallery .gallery-item {
		width: 48% !important;
	}
	#product_ex .gallery .gallery-caption {
		font-size: 90%;
	}
}
/*--------------------------------------------------
	導入をお考えの法人様へ
--------------------------------------------------*/
.page-to-corporate-clients #content {
	padding-bottom: 0 !important;
}
/**/
#clients_support dl {
	padding: var(--px20);
	background: rgba(255,255,255,0.6);
	border: solid 1px var(--color-table-border);
}
#clients_support dt {
	margin-bottom: var(--px20);
}
#clients_support dd {
	padding: 0;
}
@media print, screen and (min-width: 641px){ /* PC・タブレット */
	#clients_support {
		/* フレックス */
		display: flex;
		flex-wrap: wrap;
		column-gap: 2%;
		row-gap: var(--px60);
	}
	#clients_support dl {
		width: 23.5%;
	}
}
@media only screen and (max-width: 820px) and (min-width: 641px){
	#clients_support {
		column-gap: 4%;
	}
	#clients_support dl {
		width: 48%;
	}
}
@media only screen and (max-width: 640px){ /* スマホ */
	#clients_support dl+dl {
		margin-top: var(--px40);
	}
}
/**/
#clients_flow dl {
	padding: var(--px20);
	background: rgba(255,255,255,0.6);
	border: solid 1px var(--color-table-border);
}
#clients_flow dt {
	font-size: 120%;
	font-family: var(--font-family02);
	text-align: center;
}
#clients_flow dd {
	margin-top: var(--px20);
	padding: 0;
}
@media print, screen and (min-width: 641px){ /* PC・タブレット */
	#clients_flow {
		/* フレックス */
		display: flex;
		flex-wrap: wrap;
		column-gap: 2%;
		row-gap: var(--px60);
	}
	#clients_flow dl {
		width: 23.5%;
	}
}
@media only screen and (max-width: 820px) and (min-width: 641px){
	#clients_flow {
		column-gap: 4%;
	}
	#clients_flow dl {
		width: 48%;
	}
}
@media only screen and (max-width: 640px){ /* スマホ */
	#clients_flow dl+dl {
		margin-top: var(--px40);
	}
}
/**/
#clients_contact {
	position: relative;
	margin-bottom: var(--px20);
	background: #fff;
}
#clients_contact::after {
	position: absolute;
	left: 50%;
	bottom: -100px;
	display: block;
	width: 200px;
	height: 60px;
	background: linear-gradient(to bottom, #BE312A, #EB9835);
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	transform: translateX(-50%);
	content: "";
}
#clients_contact ul {
	display: inline-block;
	padding: var(--px30) var(--px40);
	background: var(--color-gray);
	text-align: left;
}
@media only screen and (max-width: 768px) {  /* タブレット以下 */
	#clients_contact::after {
		bottom: -60px;
		width: 120px;
		height: 40px;
	}
}
@media only screen and (max-width: 640px){ /* スマホ */
	#clients_contact {
		margin-bottom: var(--px50);
	}
}
/*--------------------------------------------------
	お問い合わせ
--------------------------------------------------*/
.wpcf7-form .must_fn {
	float: none;
}
.wpcf7-form table+div .wpcf7-form-control-wrap {
	display: inline;
}
/* ボタン */
.post form.wpcf7-form .linkBtn {
	width: 200px !important;
	padding: 0 !important;
}
.post form.wpcf7-form .linkBtn .wpcf7-spinner {
	position: absolute;
	top: 50%;
	left: 0;
	-moz-transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}
.post form.wpcf7-form .linkBtn input[type="submit"] {
	padding: 15px 35px;
}