@charset "utf-8";
/*
Theme Name:mrp-child
Template:mrp
Version: 1.0.0
*/
/*
DesignCode CSS: ver 0.01
*/
/*------------------------------------------------------
Theme Material
------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Cormorant+SC:wght@300;400;500;600;700&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&family=Shippori+Mincho&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap');

:root {
    --color-background: #F3F4F6;
    --color-font: #333;
    --color-wt: #fff;
    --color-bk: #333;
    --color-gr: #eee;
    --color-primary: #BA9D66;
    --color-primary-shade: #BA9D66;
    --color-primary-tint: #C0AF91;
    --color-secondary: #BA9D66;
    --color-secondary-tint: #C0AF91;
    --color-table-border: #ddd;
    --body-font-size: min(calc(1.6rem + (1vw - 1.92rem) * 0.1294), 1.6rem);
    --body-font-family: 'Noto Sans JP', sans-serif;
    --content-max-width: 1240px;
    --header-background: #fff;
    --header-color-font: #333;
    --header-color-primary: #BA9D66;
    --header-color-primary-shade: #BA9D66;
    --header-color-primary-tint: #BA9D66;
    --footer-background: #fff;
    --footer-color-font: #171C61;
    --footer-color-primary: #171C61;
    --font-family01: "Noto Sans JP", sans-serif;
    --font-family02: "Noto Serif JP", serif;
    --font-family03: "Cormorant SC", serif;
    --font-family04: "Shippori Mincho", serif;
    --font-awe: "Font Awesome 6 Free";
}

/*================================
common-baseparts
================================*/
body {
    font-weight: 500;
}

* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
}

a {
    color: var(--color-font);
    transition: 0.3s all;
}

a:hover img {
    opacity: 1;
}

#content,
body:not(.home) #content.wide {
    padding: var(--px100w) 0 var(--px100);
    position: relative;
}

#breadcrumb ul li,
#breadcrumb ul li a {
    color: var(--color-font);
}

/*================================
common parts
================================*/
.m-auto {
    margin-left: auto !important;
    margin-right: auto !important;
}

#scrollUp {
    bottom: 30px !important;
    background: var(--color-font) !important;
}

.ccwh {
    color: #fff;
}

#breadcrumb {
    position: relative;
}

a.txt_underline {
    text-decoration: underline;
    transition: all ease 0.6s;

    &:hover {
        opacity: 0.6;
    }
}

@media print,
screen and (max-width: 768px) {
    #scrollUp {
        position: fixed;
        bottom: 70px !important;
    }
}

/* アンカーリンク 遷移後の表示位置調整 */
.anchorLink-scroll {
    scroll-margin-top: 100px;
}

.anchorLink-view {
    padding-top: 100px;
    margin-top: -100px;
}

.anchor_link::before {
    padding-top: 100px;
    margin-top: -100px;
}

/*---link_btn---*/
.link_btn {
    color: #fff;
    width: auto;
    max-width: 100%;
    line-height: 1;
    padding: 0;
    background: var(--color-primary);
    border-radius: 0;
    border: none;
    z-index: 5;

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

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

    a {
        position: relative;
        padding: var(--px24) var(--px50);
        display: inline-block;
        color: #fff;
        font-size: min(calc(1.5rem + (1vw - 1.92rem) * 0.1942), 1.5rem);
        /*1.5-1.2(1920-375)*/
        font-family: var(--font-family02);
        font-weight: 600;

        &::after {
            content: '\f105';
            display: inline-block;
            font-family: var(--font-awe);
            margin-left: 3px;
        }
    }
}

.link_btn.ccwh {
    color: #fff;
    border-color: #fff;
    background: transparent;

    a {
        color: #fff;
    }
}

/*---linkBtn---*/
.linkBtn:hover,
.post .linkBtn:hover {
    color: #fff;
    background: var(--color-primary);
    opacity: 0.6;
}

.tb_br {
    display: none;
}

@media print,
screen and (max-width: 1024px) {
    .tb_br {
        display: block;
    }
}

/*---font---*/
.fs16 {
    font-size: min(calc(1.6rem + (1vw - 1.92rem) * 0.3236), 1.6rem);
    /*1.6-1.1(1920-375)*/
    line-height: 2;
    font-weight: 400;
}

.fs14 {
    font-size: min(calc(1.4rem + (1vw - 1.92rem) * 0.1294), 1.4rem);
    line-height: 2;
    font-weight: 400;
}

/*---投稿---*/
.post .time,
.postlist .time,
.post2b .time,
.post4b .time {
    background: var(--color-primary-shade);
}

/*---------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: 48%;
        margin-bottom: 5%;

        .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: 32%;
        margin-bottom: 2%;
    }

    .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: 23%;
        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: 23%;
        height: 0;
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
    }

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

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

        .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 {

    .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__img {
                aspect-ratio: 8 / 5;
                overflow: hidden;

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

            .c-card__txt {
                -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                flex-grow: 1;
                padding: var(--px20) var(--px16) var(--px24);
                background-color: var(--color-wt);
            }

            .c-card__title {
                font-family: var(--font-family01);
                font-style: normal;
                font-weight: 800;
                font-size: var(--px20);
                color: var(--color-primary);
                line-height: 1.6;
                border: none;
                padding: 0;
                margin: 0;
            }

            .c-card__title--column {
                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: 6px;
                margin-top: var(--px16);
            }


            .c-card__desc {
                line-height: 1.8;
                margin-top: 8px;
            }

            .c-card__subtitle {
                font-size: var(--px14);
                letter-spacing: 0;
                font-weight: 500;
            }

            .c-card__table {
                padding: 0;
                margin: var(--px16) 0 0;
                border-spacing: 0 5px;
            }

            .c-card__table th {
                background: var(--color-secondary-tint);
                text-align: center;
                padding: 5px 5px 7px;
                width: 30%;
                color: var(--color-primary);
                border-bottom: solid 3px #ffff;
                font-size: var(--px14);
                font-weight: 400;
                line-height: 1.2;
            }

            .c-card__table td {
                padding: 5px 10px 7px;
                line-height: 1.2;
                border: none;
            }
        }
    }
}

/*------カード ステップ------*/

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

        &>.c-card__item {
            position: relative;
            counter-increment: number;
            list-style: none !important;
            margin-bottom: 3%;

            .c-card__stepnum:before {
                content: "STEP."counter(number, decimal-leading-zero);
                font-family: var(--font-family02);
                font-style: italic;
                font-weight: 500;
                font-size: var(--px24);
                line-height: 1;
                color: var(--color-secondary);
                margin-left: var(--px12);
                letter-spacing: 0.05em;
            }

            .c-card__txt {
                background: transparent;
                margin-top: var(--px16);
                padding: 0;
            }
        }
    }
}

@media print,
screen and (max-width: 640px) {
    .post {
        .c-card--step {
            &>.c-card__item {
                margin-bottom: var(--px40);
            }
        }
    }
}

/*================================
common txt
================================*/
.single-post h1.title {
    color: var var(--color-font);
}

.post h2.c-ttl,
h2.c-ttl {
    &.c-ttl__primary {
        color: var(--color-font);
        line-height: 1.6;
        margin: 0;
        font-size: min(calc(5rem + (1vw - 1.92rem) * 1.8123), 5rem);
        /*5-2.2(1920-375)*/
        font-family: var(--font-family02);
        font-weight: 500;
        letter-spacing: 0.01em;

        &::before {
            display: none;
        }

        &::after {
            display: none;
        }

        .c-ttl__en {
            display: block;
            color: #C0AF91;
            font-size: var(--rem40);
            font-family: var(--font-family03);
            line-height: 1;
            font-weight: 500;
            padding-bottom: calc(0.9rem + (1vw - 1.92rem) * 0.5178);
        }

        .c-ttl__jp {}
    }
}

.post h4 {
    color: var(--color-font);
}

/*--------------------------------------------------
	ヘッダー
--------------------------------------------------*/
@media print,
screen and (min-width: 1024px) {
    #header {
        background: #fff;
        height: 100px;
        position: relative;
    }

    #header-layout {
        align-items: center;
        justify-content: space-between;
        max-width: 1460px;
        width: min(1460px, 90%);
        margin-inline: auto;
    }

    #header-layout .logo {
        padding: 0;

        a img {
            max-height: 34px;
        }
    }

    #header-layout .header__nav-contact {
        flex-shrink: 1;

        nav#mainNav ul li a {
            flex-direction: row;
            font-feature-settings: 'palt';
            padding-inline: var(--rem20);
            font-size: 1.4rem;
            font-family: var(--font-family02);
            position: relative;

            b {
                font-weight: 600;
            }

            &:hover {
                opacity: 0.9;
            }

            &::after {
                content: '';
                width: 1px;
                height: 2rem;
                background: #d9d9d9;
                position: absolute;
                right: 0;
            }

        }

        nav#mainNav ul li:last-of-type a::after {
            display: none;
        }

        nav#mainNav ul li:has(.sub-menu) {
            &>a {
                position: relative;

                &:after {
                    content: '\f107';
                    display: inline-block;
                    font-family: 'FontAwesome';
                    font-size: 1rem;
                    margin-left: 6px;
                }

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

            ul.sub-menu li a:hover {
                background-color: #eee;
                opacity: 1;
            }
        }

        ul.header__contact {
            margin-left: var(--px40);

            li a.head_btn {
                position: relative;
                display: flex;
                flex-direction: column;
                justify-content: center;
                align-items: center;
                background: transparent;
                color: var(--header-color-font);
                padding: 0 0 0 3rem;
                font-family: var(--font-family02);
                font-weight: 500;
                font-size: 2.3rem;
                letter-spacing: 0.01em;

                span.note {
                    font-size: 1.1rem;
                    display: block;
                    line-height: 1.1;
                    font-family: var(--font-family01);
                    font-weight: 200;
                }

                &::before {
                    display: inline-block;
                    position: absolute;
                    left: 0;
                    top: 50%;
                    transform: translateY(-50%);
                    font-size: 2.3rem;
                }
            }
        }
    }

    /*sub-menu*/
    nav#mainNav ul.sub-menu>li:has(ul.sub-menu)>a::after {
        content: '\f105' !important;
    }

    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;
        opacity: 1;
    }

    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 {
        color: inherit;
    }

    nav#mainNav ul li li.current-menu-item a,
    nav#mainNav ul li.current-menu-ancestor li.current-menu-item a {
        background: rgba(255, 255, 255, 1);
        color: var(--color-font);
    }

    nav#mainNav ul li ul.sub-menu li a:hover {
        background: rgba(255, 255, 255, 0.6);
        color: var(--color-font);
    }

    nav#mainNav ul li li a,
    nav#mainNav ul li li.current-menu-item li a,
    nav#mainNav ul li.current-menu-ancestor li a,
    nav#mainNav ul li.current-menu-item li a {
        color: var(--color-font);
    }

    /*sticky-header*/
    .sticky-header {
        #header>.inner {
            height: auto;
            box-shadow: none;
        }

        #header-layout .header__nav-contact ul.header__contact {
            margin-right: 0;
            height: 100%;

            li a {
                border-radius: 0;
            }
        }
    }
}

@media screen and (max-width:768px) {
    body.mobile {}

    body.mobile #header .logo .mark {
        padding: 1rem 1.2rem;

        a {
            img {
                max-height: 26px;
            }
        }
    }
}

/*---サイド固定バナー---*/
.c-fixban {
    position: fixed;
    right: 0;
    bottom: 10rem;
    z-index: 20;
    display: flex;
    flex-direction: column;
    gap: 10px;

    .c-fixban__ban {
        background: var(--color-primary-shade);
        transition: all ease 0.6s;

        &:hover {
            opacity: 0.8;
        }

        a {
            color: #fff;
            display: flex;
            writing-mode: vertical-lr;
            flex-direction: column;
            position: relative;
            font-size: 1.2rem;
            letter-spacing: 0.3em;
            width: 60px;
            padding-inline: 5rem 2rem;
            justify-content: center;
            font-weight: 700;

            &::before {
                content: '\f0e0';
                display: inline-block;
                position: absolute;
                left: 50%;
                transform: translateX(-50%);
                font-family: var(--font-awe);
                font-weight: 600;
                font-size: 2rem;
                top: 2rem;
            }

            span.c-fixban__entxt {
                font-size: 1rem;
                font-weight: 700;
                letter-spacing: 0.2em;
            }
        }
    }

    .c-fixban__ban.c-fixban--line a {
        &::before {
            content: '\f3c0';
            font-family: 'Font Awesome 6 Brands';
            font-weight: 100;
        }
    }
}

/*--------------------------------------------------
	フッター
--------------------------------------------------*/
#footer {
    padding-block: var(--px80);
}

#footer .footnav:not(:last-child) {
    margin-bottom: var(--px20);
}

#footer .footer__logo img {
    max-width: none;
    max-height: 40px;
}

#copyright {
    margin: 0 auto;
}

/*--------------------------------------------------
	メインイメージ
--------------------------------------------------*/
.pc_slideimg .n2-ss-item-image-content {
    position: relative;

    &::before {
        content: '';
        width: 32.39%;
        height: 100%;
        background: rgba(30, 33, 44, 0.75);
        position: absolute;
        left: -1px;
        top: 0;
        z-index: 1;
        backdrop-filter: blur(5px);
    }
}

/*--------------------------------------------------
	トップページ
--------------------------------------------------*/
/*--------common parts--------*/
/*--------top_about--------*/
.l-about {
    background: #1E212C;
    position: relative;

    &::before {
        content: '';
        position: absolute;
        width: 100%;
        height: min(calc(9rem + (1vw - 1.92rem) * 6.6964), 9rem);
        /*9-3(1920-1024)*/
        background: #F3F4F6;
        left: 0;
        bottom: 0;
    }

    .inners {
        max-width: 1460px;
        width: min(1460px, 90%);
        margin-inline: auto;
        padding-block: min(calc(16rem + (1vw - 1.92rem) * 8.4142), 16rem) 0;
        /*16-3(1920-375)*/
    }

    h2.c-ttl {
        text-align: left;
        font-family: var(--font-family03);
        color: #C0AF91;
        font-weight: 100;
        font-size: min(calc(9rem + (1vw - 1.92rem) * 2.2321), 9rem);
        /*9-7(1920-1024)*/
        line-height: 1;
        margin: 0;

        &::after {
            display: none;
        }
    }

    .c-txtbox {
        position: relative;
        margin-top: var(--rem80);
        padding-block: var(--px20) min(calc(24rem + (1vw - 1.92rem) * 16.7411), 24rem);
        /*24-9(1920-1024)*/
        padding-inline: var(--px60) 0;
        z-index: 5;

        &::before {
            content: '';
            position: absolute;
            left: 0;
            top: 0;
            width: 1px;
            height: 100%;
            background: #C0AF91;
        }

        p.c-txtbox__leadcopy {
            font-family: var(--font-family02);
            color: #fff;
            font-size: min(calc(5rem + (1vw - 1.92rem) * 2.2321), 5rem);
            /*5-3(1920-1024)*/
            font-weight: 100;
            line-height: 1;
            margin-bottom: var(--px60);
        }

        p.c-txtbox__txt {
            color: #fff;
            font-size: min(calc(1.3rem + (1vw - 1.92rem) * 0.2232), 1.3rem);
            /*1.3-1.1(1920-1024)*/
            font-weight: 300;
            letter-spacing: 0.2rem;
            line-height: 2.5;
            margin-bottom: min(calc(7rem + (1vw - 1.92rem) * 4.4643), 7rem);
            /*7-3(1920-1024)*/
        }
    }

    figure.c-mainimage {
        position: absolute;
        right: 0;
        bottom: 0;
        max-width: 1200px;
        width: 62.95%;

        img {
            width: 100%;
        }
    }
}

@media screen and (max-width:768px) {
    .l-about {
        &::before {
            display: none;
        }

        .inners {
            padding-bottom: 60px;
        }

        .c-txtbox {
            margin-top: 20px;
            padding-block: 1rem;

            p.c-txtbox__leadcopy {
                margin-bottom: 1.5rem;
                font-size: 2.3rem;
                line-height: 1.5;
            }

            p.c-txtbox__txt {
                margin-bottom: 2rem;
                line-height: 2.2;
            }
        }

        figure.c-mainimage {
            position: static;
            width: 100%;
            margin-top: 30px;
        }
    }
}

/*--------top_reason--------*/
.l-reason {
    .inners {
        padding-block: min(calc(11rem + (1vw - 1.92rem) * 3.8835), 11rem) min(calc(19rem + (1vw - 1.92rem) * 9.0615), 19rem);
        max-width: 1840px;
        width: 95.8%;
        margin-inline: auto;
    }

    p.c-leadcopy {
        text-align: center;
        font-family: var(--font-family02);
        font-size: var(--rem18);
        font-weight: 600;
        margin-top: var(--px30);
    }

    ul.c-reasonlist {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: var(--px30);
        margin-block: var(--px60);

        li {
            .c-reasonlist__txtbox {
                background: #fff;
                padding: var(--px30) var(--px20) var(--px40);

                h3.c-reasonlist__ttl {
                    margin: 0 0 0.8rem 0;
                    padding: 0;
                    border: none;
                    font-size: var(--rem20);
                    font-family: var(--font-family02);
                    font-weight: 700;
                    letter-spacing: 0.03em;
                }

                p.c-reasonlist__txt {
                    font-size: min(calc(1.5rem + (1vw - 1.92rem) * 0.1942), 1.5rem);
                    /*1.5-1.2(1920-375)*/
                    font-weight: 400;
                }
            }
        }
    }

    .c-linkbtnlist {
        display: flex;
        justify-content: center;
        gap: var(--px20);
    }
}

@media screen and (max-width:768px) {
    .l-reason {
        ul.c-reasonlist {
            grid-template-columns: 1fr;
            padding-inline: 5%;

            li {
                .c-reasonlist__txtbox {
                    padding: 2.5rem 2rem;
                }
            }
        }
    }
}

/*--------top_flow--------*/
.l-flow {
    justify-content: space-between;
    position: relative;

    .c-txtbox {
        position: relative;
        background: #fff;
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
        transform: translateY(calc(var(--px60) * -1));

        &::after {
            content: '';
            position: absolute;
            width: 100vw;
            height: auto;
            aspect-ratio: 1920 / 590;
            background: url(/wp-content/uploads/top_flowoverimg.png) no-repeat center / contain;
            bottom: calc(-33rem + (1vw - 1.92rem) * -14.5089);
            left: 0;
            margin-left: calc((100vw - 100%) * -1);
        }

        &::before {
            content: '';
            position: absolute;
            background: #fff;
            height: 100%;
            width: 30%;
            display: inline-block;
            left: -30%;
        }

        p.c-txtbox__txt {
            font-size: min(calc(1.5rem + (1vw - 1.92rem) * 0.2589), 1.5rem);
            /*1.5-1.1(1920-375)*/
            font-weight: 400;
            line-height: 2.3;
            margin-block: var(--px30) var(--px40);
            letter-spacing: 0.1em;
            position: relative;
        }
    }

    figure.c-flowimg {
        max-width: 1100px;
        width: 57.8%;
        position: relative;
    }
}

@media screen and (max-width:768px) {
    .l-flow {
        background: #fff;
        padding: 40px 5%;

        .c-txtbox {
            transform: none;
            background: transparent;
            margin-bottom: 30px;

            &::before {
                display: none;
            }

            &::after {
                display: none;
            }
        }

        figure.c-flowimg {
            width: 100%;
        }
    }
}

/*--------top_works--------*/
.l-works {
    position: relative;
    margin-block: calc(23rem + (1vw - 1.92rem) * 10.0446) 100px;

    &::before {
        content: '';
        display: inline-block;
        position: absolute;
        background: #fff;
        width: 50%;
        height: min(calc(720px + (1vw - 19.2px) * 26.7857), 720px);
        /*720-480(1920-1024)*/
        z-index: -1;
        top: min(calc(100px + (1vw - 19.2px) * 3.3482), 100px);
        /*100-70(1920-1024)*/
        left: 0;
    }

    .inners {
        max-width: 1460px;
        width: min(1460px, 90%);
        margin-inline: auto;
    }

    ul.c-workslist {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        margin-top: var(--px60);
        gap: var(--px30);

        li {
            h3.c-workslist__ttl {
                font-size: min(calc(2rem + (1vw - 1.92rem) * 0.6696), 2rem);
                /*2-1.4(1920-1024)*/
                font-family: var(--font-family02);
                padding: 0;
                margin: var(--px24) 0 0.5rem;
                border: none;
                font-weight: 700;
                letter-spacing: 0;
            }

            p.c-workslist__txt {
                font-size: 1.2rem;
                margin-bottom: var(--px30);
            }
        }
    }
}

@media screen and (max-width:768px) {
    .l-works {
        margin-block: 50px;

        &::before {
            display: none;
        }

        ul.c-workslist {
            grid-template-columns: 1fr;
            gap: 30px;

            li {
                h3.c-workslist__ttl {
                    font-size: 1.5rem;
                }
            }
        }
    }
}

/*--------top_result--------*/
.l-result {
    position: relative;
    margin-block: var(--px200) var(--px160);
    justify-content: space-between;

    .c-txtbox {
        position: relative;
        background: #fff;
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
        transform: translateY(var(--px60));

        &::after {
            content: '';
            position: absolute;
            display: inline-block;
            background: url(/wp-content/uploads/top_resultoverimg.png) no-repeat center / contain;
            width: min(calc(644px + (1vw - 19.2px) * 43.9732), 644px);
            /*644-250(1920-1024)*/
            height: auto;
            aspect-ratio: 644 / 453;
            left: 0;
            top: calc(-10rem + (1vw - 1.92rem) * -6.6964);
        }

        &::before {
            content: '';
            position: absolute;
            background: #fff;
            height: 100%;
            width: 30%;
            display: inline-block;
            right: -30%;
        }

        p.c-txtbox__txt {
            font-size: min(calc(1.5rem + (1vw - 1.92rem) * 0.2589), 1.5rem);
            /*1.5-1.1(1920-375)*/
            font-weight: 400;
            line-height: 2.3;
            margin-block: var(--px30) var(--px40);
            letter-spacing: 0.1em;
            position: relative;
        }
    }

    figure {
        max-width: 1100px;
        width: 57.8%;
        position: relative;
    }
}

@media screen and (max-width:768px) {
    .l-result {
        margin-block: 0 50px;
        background: #fff;
        padding: 40px 5%;

        .c-txtbox {
            transform: none;
            background: transparent;
            margin-bottom: 30px;

            &::before {
                display: none;
            }

            &::after {
                display: none;
            }
        }

        figure {
            width: 100%;
        }
    }
}

/*--------top_instagram--------*/
.l-instagram {
    margin-block: 0 var(--px80);

    .inners {
        max-width: 1460px;
        width: min(1460px, 90%);
        margin-inline: auto;
    }
}

/*--------top_company--------*/
.l-company {
    position: relative;
    margin-bottom: var(--px120);

    .c-aboutbox {
        justify-content: space-between;
        margin-top: calc(6rem + (1vw - 1.92rem) * 3.3482);
        position: relative;

        &::before {
            content: '';
            display: inline-block;
            position: absolute;
            background: linear-gradient(90deg, #F3F4F6 10%, #fff 10%);
            top: calc(-9rem + (1vw - 1.92rem) * -4.4643);
            left: 0;
            width: 100%;
            height: calc(9rem + (1vw - 1.92rem) * 4.4643);
            z-index: -1;
        }

        .c-aboutbox_detail {
            background: #fff;
            flex: 1;
            display: flex;
            flex-direction: column;
            padding-inline: 5%;
            position: relative;
            padding-top: calc(6rem + (1vw - 1.92rem) * 4.4643);

            &::before {
                content: '';
                display: inline-block;
                position: absolute;
                width: 100%;
                background: #F3F4F6;
                height: var(--px80);
                bottom: 0;
                left: 0;
            }

            .link_btn {
                width: max-content;
            }
        }

        figure.c-aboutbox_img {
            max-width: 950px;
            width: 49.9%;
        }
    }
}

@media screen and (max-width:768px) {
    .l-company {
        background: #fff;
        padding-block: var(--px100);
        margin-bottom: 0;

        .c-aboutbox {
            margin-top: 20px;

            &::before {
                display: none;
            }

            .c-aboutbox_detail {
                margin-bottom: 30px;

                &::before {
                    display: none;
                }
            }

            figure.c-aboutbox_img {
                width: 90%;
                margin-inline: auto;
            }
        }
    }
}

/*--テーブル----*/

.post table.table_style02,
.post table.table_style02 th,
.post table.table_style02 td {
    border-width: 1px 0;
    border-color: var(--color-table-border);
}

.post table.table_style02 {
    margin: 0 0 var(--px40) 0;
}

.post table.table_style02 th,
.post table.table_style02 td {
    vertical-align: middle;
    font-size: var(--rem14);
    padding: min(calc(20px + (1vw - 19.2px) * 0.5580), 20px) min(calc(15px + (1vw - 19.2px) * 0.3236), 15px);
    /* 20-15px 15-10px (1920-375) */
}

.post table.table_style02 th {
    width: 25%;
    font-weight: 600;
    background: transparent;
}

.post table.table_style02:first-child {
    margin-top: 0;
}

.post table.table_style02:last-child {
    margin-bottom: 0;
}

@media screen and (max-width:768px) {
    .post table.table_style02 th {
        background: #f5f5f5;
    }
}

/*--------top_recruit--------*/
.l-recruit {
    position: relative;
    background: url(/wp-content/uploads/top_aboutimg.jpg) no-repeat;
    background-size: cover;
    background-position: center center;

    &::before {
        content: '';
        display: inline-block;
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, #1E212C 25%, transparent 50%);
    }

    .inners {
        max-width: 1460px;
        width: min(1460px, 90%);
        margin-inline: auto;
        padding-block: var(--px180);
        position: relative;

        h2.c-ttl.c-ttl__primary {
            text-align: left;
            color: #fff;
        }

        p.c-txt {
            color: #fff;
            font-size: var(--rem14);
            font-weight: 300;
            margin-block: var(--px30) var(--px60);
            letter-spacing: 0.3em;
            line-height: 2.5;
        }
    }
}

@media screen and (max-width:768px) {
    .l-recruit {
        background: #1e212c;

        &::before {
            display: none;
        }

        .inners {
            padding-block: 50px;
        }
    }
}

/*--------top_news--------*/
.l-news {
    .inners {
        max-width: 1460px;
        width: min(1460px, 90%);
        margin-inline: auto;
        padding-block: var(--px140) var(--px160);
    }

    ul.postlist {
        margin-top: var(--px60);

        li {
            border-bottom: 1px solid #ddd;
        }
    }
}

/*--------------------------------------------------
	下層ページ
--------------------------------------------------*/
/*--------------------
	下層アイキャッチ周り
-------------------------------*/
header#h1Header {
    background: transparent;
    height: auto;
    z-index: 0;
    overflow: visible;
    margin-top: 0;

    &::before {
        background: #Efefef;
        clip-path: polygon(0 0, 100% 0, 0 100%);
        width: 45%;
        height: 30vh;
        position: absolute;
        left: 0;
        top: 0;
        z-index: 0;
        opacity: 1;
    }

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

        &::before {
            content: "";
            position: absolute;
            bottom: 0px;
            width: min(1500px, 90%);
            height: 1px;
            left: 50%;
            transform: translateX(-50%);
            max-width: 1500px;
            background: rgb(204, 204, 204);
        }
    }
}

@media screen and (max-width:1023px) {
    header#h1Header {
        margin-top: 0;
    }
}

@media screen and (max-width:768px) {
    header#h1Header {
        margin-top: 0;
    }
}

/*--------------------
	共通
-------------------------------*/
.fw_contents {
    margin-top: 0;
    margin-bottom: 0;
}

#content:has(.fw_contents),
body:not(.home) #content:has(.fw_contents).wide {
    padding: 0;
}

.page_contents_inner+.page_contents_inner {
    margin-top: var(--px100);
}

.fw_contents .page_contents_inner {
    padding-block: var(--px100);
    margin-top: 0;
}

.smalltxt {
    font-size: 80%;
    display: inline-block;
    margin-left: 0.5em;
}

.post h1,
h1.title,
h1,
.post h2,
.post2b h2,
.post4b h2,
h2.title,
h2,
h3,
.post h3,
h4,
.post h4,
h5,
.post h5 {
    color: var(--color-font);
}

body:not(.home) .post {

    h1:not([class]) {
        font-size: var(--rem40);
        font-family: var(--font-family02);
        font-weight: 600;
        letter-spacing: .02em;
        text-align: center;
        text-shadow: none;
        padding: 0;
        z-index: 20;
    }

    h2:not([class]) {
        font-size: var(--rem30);
        font-family: var(--font-family04);
        font-weight: 500;
        letter-spacing: .2rem;
        color: var(--color-font);
        padding: 0;
        margin: var(--px80) auto var(--px50);
        line-height: 1.4;
        text-align: left;
        border: 1px solid #ccc;
        padding: var(--px24) var(--px30) var(--px30);
        line-height: 1;
        background: #fff;

        &::before {
            content: '';
            position: absolute;
            background: var(--color-primary-shade);
            width: 4px;
            height: 50%;
            left: 0;
            top: 50%;
            transform: translateY(-50%);
        }

        &::after {
            content: none;
        }
    }

    h3:not([class]) {
        position: relative;
        font-size: var(--rem24);
        font-family: var(--font-family04);
        color: var(--color-font);
        font-weight: 200;
        letter-spacing: .1rem;
        padding: 0;
        text-align: left;
        margin: var(--rem60) auto var(--rem20);
        border-left: double 4px var(--color-primary);
        border-bottom: none;
        padding-left: var(--rem16);

        span.subtxt {
            display: block;
            font-size: var(--rem14);
            font-weight: 400;
            margin: 0 0 var(--rem12);
        }

        &:has(.subtxt) {
            border: none;
            padding-left: 0;
        }
    }

    h4:not([class]) {
        position: relative;
        font-size: var(--rem18);
        font-family: var(--font-family04);
        color: var(--color-font);
        font-weight: 600;
        letter-spacing: .1rem;
        padding: var(--rem12);
        text-align: left;
        margin: var(--rem40) auto var(--rem14);
        border: solid 0.1rem;

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

    h1:not([class]):first-of-type,
    h2:not([class]):first-of-type,
    h3:not([class]):first-of-type,
    h4:not([class]):first-of-type {
        margin-top: 0;
    }
}

/*================================
subpage common parts
================================*/
/*--幅フル100%背景色--*/
.widecolor {
    margin-right: calc(((100vw - 100%) / 2) * -1);
    margin-left: calc(((100vw - 100%) / 2) * -1);
    padding: var(--px100) calc((100vw - 100%) / 2);
    margin-top: var(--px100);
    background: var(--footer-background);
}

/*--幅フル100%--------------------------------------------*/
.widearea {
    margin-right: calc(((100vw - 100%) / 2) * -1);
    margin-left: calc(((100vw - 100%) / 2) * -1);
}

/*--------お問い合わせ--------*/
.post table td {
    color: var(--color-font);
    background: none;
    background: transparent;
}

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

input[type="text"],
input[type="tel"],
input[type="email"],
input[type="date"],
input[type="url"],
input[type="number"],
select,
textarea {
    vertical-align: middle;
    line-height: 30px;
    min-height: 50px;
    padding: 10px;
    border-radius: 0;
    color: var(--color-font);
    background: #fff;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

span.wpcf7-form-control.wpcf7-checkbox.wpcf7-validates-as-required {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 7px;
}

span.wpcf7-list-item {
    margin: 0;
}

.wpcf7-form {
    label {
        background: #fff;
        border-radius: 10px;
        padding: 6px 12px 8px 6px;
        display: block
    }
}

.wpcf7-form {
    padding: 0;
}

.wpcf7-form a {
    color: var(--color-font);
    border-bottom: solid 1px;
}

.wpcf7-form a:hover {
    color: var(--color-font);
    opacity: 0.6;
    border-bottom: solid 1px #aaa;
}

.wpcf7-form .must {
    background: var(--color-primary);
}

div.wpcf7 .ajax-loader {
    display: none;
}

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

.linkBtn.submit_btn {
    padding: 0;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    max-width: 320px;
}

.post .subimitarea .linkBtn input[type="submit"] {
    width: 100%;
    display: block;
    font-size: var(--px16);
    font-weight: 600;
    font-family: var(--font-family03);
    letter-spacing: .01em;
    text-align: center;
    padding: var(--px16) var(--px20);
    -webkit-transition: 0.7s all;
    -o-transition: 0.7s all;
    transition: 0.7s all;
    z-index: 1;
    position: relative;
    -webkit-transition: .3s ease;
    -o-transition: .3s ease;
    transition: .3s ease;
}

.post .linkBtn.submit_btn::after {
    content: none;
}

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

.linkBtn input[type="submit"]:hover,
.post .linkBtn input[type="submit"]:hover {
    background: var(--color-primary);
    color: #fff;
    opacity: 0.6;
}

.post .wpcf7 {
    .subimitarea .linkBtn {
        padding: 0;

        input[type="submit"] {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 100%;
            height: 100%;
        }
    }
}

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

#thanks h2 {
    text-align: left;

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

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

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

/*--------プラポリ--------*/
#privacy h3 {
    font-size: var(--rem20);
    font-weight: 800;
}

/*--------プラポリ--------*/
/*-沿革list-*/

.post .list_style01 li {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    flex-shrink: 0;
    border-bottom: solid 1px #ddd;
}

.post .list_style01 li .head {
    width: 25%;
    padding: min(calc(10px + (1vw - 19.2px) * 0.3236), 10px) min(calc(15px + (1vw - 19.2px) * 0.4531), 15px);
    /* 30-20px 15-10px (1920-375) */
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.post .list_style01 li .body {
    padding: min(calc(10px + (1vw - 19.2px) * 0.3236), 10px) min(calc(15px + (1vw - 19.2px) * 0.4531), 15px);
    /* 30-20px 15-10px (1920-375) */
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.post .list_style01 li:nth-child(odd) {
    background: #eee;
}

@media only screen and (max-width: 640px) {
    .post .list_style01 li {
        flex-direction: column;
    }

    .post .list_style01 li .head {
        width: 100%;
        padding-bottom: 0;
    }
}

/*--------company--------*/
.p-company {
    p.c-rinentxt {
        background: #fff;
        text-align: center;
        font-size: var(--rem30);
        font-family: var(--font-family02);
        padding-block: var(--px60);
        margin-bottom: var(--px30);
        width: 80%;
        margin-inline: auto;
    }
}

/*--------service--------*/
.p-service {
    .c-servicepolicy {
        background: #f3f4f6;
        padding: var(--px40);
        margin-top: var(--px20);
        border: 1px solid #eee;

        ul.c-servicepolicy__list {
            margin-block: var(--px30) 1rem;

            li {
                background: #fff;
                text-align: center;
                padding: var(--px40) var(--px30);

                p.c-servicepolicy__num {
                    display: inline-block;
                    line-height: 1.1;
                    font-weight: 600;
                    font-size: var(--rem30);
                    border-bottom: 1px solid var(--color-primary);
                    margin-bottom: var(--px20);
                    padding-bottom: 0.5rem;
                    color: var(--color-primary);

                    span {
                        display: block;
                        font-size: 1rem;
                        font-weight: 800;
                    }
                }

                h4 {
                    padding: 0;
                    border: none;
                    text-align: center;
                    margin-bottom: 1rem;
                    font-family: var(--font-family01);
                    font-weight: 600;
                }
            }
        }

        .c-servicepolicy__situation {
            p {
                font-size: var(--rem20);
                font-family: var(--font-family02);
                margin-bottom: 1rem;
            }

            ul {
                text-align: left;

                li {
                    font-size: var(--rem14);
                    font-weight: 400;
                }
            }
        }
    }

    ul.c-worklist {
        li {
            background: #fff;
            padding: var(--px30);

            &+li {
                margin-top: var(--px40);
            }

            h3 {
                font-size: var(--rem18) !important;
                font-family: var(--font-family01) !important;
                font-weight: 600 !important;

                span {
                    background: var(--color-primary);
                    color: #fff;
                    font-size: 1.3rem;
                    line-height: 1;
                    display: inline-block;
                    padding: 0.8rem 0.5rem;
                    margin-right: 0.5rem;
                    font-family: "Oswald";
                    font-weight: 500;
                }
            }

            dl {

                dt,
                dd {
                    font-size: var(--rem14);
                    line-height: 1.8;
                }

                dd {
                    border-bottom: 1px solid #ccc;
                    margin-bottom: 1rem;
                }
            }
        }
    }
}

/*--------guide--------*/
/*--flow01--*/
.flowlist01 {
    padding-left: 13rem;
    position: relative;
}

.flowlist01::before {
    content: "";
    width: 15px;
    height: 100%;
    background: #eee;
    margin-left: -8px;
    display: block;
    position: absolute;
    top: 0;
    left: 13rem;
}

.flowlist01>li {
    position: relative;
}

.flowlist01>li:not(:last-child) {
    margin-bottom: 8vh;
}

.flowlist01>li .icon {
    font-size: 1.6rem;
    color: #fff;
    background: var(--color-primary);
    padding: 0.8rem 2rem;
    display: block;
    position: absolute;
    top: 0;
    left: -13rem;
    z-index: 100;
    font-style: italic;
}

.flowlist01>li .icon::after {
    content: "";
    border-style: solid;
    border-width: 5px 0 5px 10px;
    border-color: transparent transparent transparent var(--color-primary);
    position: absolute;
    top: 50%;
    left: 100%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.flowlist01>li dl {
    padding-left: 7rem;
    position: relative;
    padding-top: 0.7rem;
}

.flowlist01>li dl::before,
.flowlist01>li dl::after {
    content: "";
    display: block;
    position: absolute;
    top: 20px;
}

.flowlist01>li dl::before {
    width: 7px;
    height: 7px;
    margin-top: 0;
    background: var(--color-primary);
    border-radius: 50%;
    left: -4px;
}

.flowlist01>li dl::after {
    width: 50px;
    border-bottom: 1px dashed #999;
    position: absolute;
    left: 5px;
    top: 23px;
}

.flowlist01>li dl dt {
    margin-bottom: 0.5rem;
    font-weight: 600;
    font-size: 1.6rem;
}

@media (max-width: 768px) {
    .flowlist01>li .icon {
        font-size: 1.2rem;
    }

    .flowlist01 {
        padding-left: 10rem;
    }

    .flowlist01>li .icon {
        left: -11rem;
    }

    .flowlist01::before {
        left: 10rem;
    }

    .flowlist01>li dl {
        padding-left: 4.5rem;
    }

    .flowlist01>li dl::after {
        width: 30px;
    }

    .flowlist01>li dl dt {
        font-size: 1.4rem;
    }
}

.p-guide {
    .c-flowinfotxt {
        margin-top: var(--px50);
        background: #fff;
        padding: var(--px30);
        font-size: var(--rem14);

        .c-flowinfotxt__ttl {
            font-weight: 700;
            margin-bottom: 0.5em;
        }

        ul.c-flowinfotxt__list {
            margin-bottom: 0.7em;

            li {
                font-size: var(--rem18);
                line-height: 1.5;
            }
        }

        .c-flowinfotxt__small {
            font-size: var(--rem12);
            display: inline-block;
            line-height: 1.8;
        }
    }
}

/*--------recruit--------*/
.post .lead {
    font-size: min(calc(3.2rem + (1vw - 19.2px) * 0.5178), 3.2rem);
    /* 3.2-2.4rem (1920-375) */
    font-weight: 500;
    font-style: italic;
}

.post .lead_en {
    font-size: min(calc(1.8rem + (1vw - 19.2px) * 0.3236), 1.8rem);
    /* -- 1920 1.8rem 375 1.3rem -- */
    color: var(--color-primary-shade);
    letter-spacing: 0.8rem;
}

/*--スタイルリストエリア--*/

ul.box_style01>li {
    position: relative;
    gap: 40px;
    width: 100%;
    background: #fff;
    padding: min(calc(40px + (1vw - 19.2px) * 0.6472), 40px) min(calc(35px + (1vw - 19.2px) * 0.6472), 35px);
    margin-bottom: 30px;
    text-align: left;
    border: 1px solid #ddd;
}

.post ul.box_style01 .box_style_ttl {
    width: 100%;
    font-size: min(calc(2.8rem + (1vw - 19.2px) * 0.4531), 2.8rem);
    /* 2.8-2.1rem (1920-375) */
    font-weight: 400;
    padding: 0.6rem 0 0.6rem 2rem;
    margin: 0 0 min(calc(15px + (1vw - 19.2px) * 0.4531), 15px);
    /*15-10px (1920-375) */
    border-bottom: none;
    border-left: 3px solid var(--color-primary-shade);
    text-align: left;
    line-height: 1.4;
}

@media screen and (min-width: 769px) {
    ul.box_style01>li {
        display: flex;
    }
}

/*---table_style04-------------------------------------*/

.post table.table_style04 th {
    background-color: transparent;
}

.post table.table_style04,
.post table.table_style04 th,
.post table.table_style04 td {
    border: none;
}

table.table_style04 tr:first-child {
    border-top: 1px solid #ababab;
}

table.table_style04 tr:last-child {
    border-bottom: 1px solid #ababab;
}

table.table_style04 tr {
    border-top: 1px dashed #ababab;
    letter-spacing: 1px;
}

table.table_style04 th,
table.table_style04 td {
    padding: 50px 30px;
}

table.table_style04 th {
    position: relative;
    z-index: 0;
}

table.table_style04 th:before {
    position: absolute;
    content: "";
    background: #fff;
    top: 7px;
    left: 0;
    bottom: 7px;
    width: 100%;
    height: auto;
    z-index: -1;
}

table.table_style04 td ul li {
    padding-left: 1em;
    position: relative;
    line-height: 2;
}

table.table_style04 td ul li:before {
    position: absolute;
    content: "・";
    top: 0;
    left: 0;
}

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

    table.table_style04 th,
    table.table_style04 td {
        padding: 35px 10px;
        font-size: 1.4rem;
        vertical-align: middle;
    }

    table.table_style04 th {
        width: 32%;
    }

    table.table_style04 td {
        width: 68%;
    }
}

/*--contact_area--*/

.contact_area {
    padding: min(calc(80px + (1vw - 19.2px) * 2.5890), 80px);
    /*80px-40px (1920-375)x*/
    text-align: center;
    background: #fff;
    margin-top: min(calc(120px + (1vw - 19.2px) * 2.5890), 120px);
}

.post .contact_ttl {
    font-size: min(calc(2.8rem + (1vw - 19.2px) * 0.4531), 2.8rem);
    /* 2.8-2.1rem (1920-375) */
    font-weight: 600;
    text-align: center;
    letter-spacing: .2rem;
    padding: 0;
    margin: 0 0 var(--px20);
}

.post .contact_ttl::before {
    content: none;
    position: relative;
    width: auto;
    height: auto;
    top: auto;
    left: auto;
}

.post .contact_ttl::after {
    content: '';
    position: relative;
    visibility: visible;
    display: block;
    width: 2.2em;
    height: 3px;
    background: var(--color-primary);
    margin: 0.6em auto 0;
}

.contact_read {
    margin: 0 0 min(calc(30px + (1vw - 19.2px) * 0.9709), 30px);
    /*30px-15px (1920-375)*/
    text-align: center;
}

.button_wrap,
.post .button_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.button_wrap>*,
.post .button_wrap>* {
    margin: 10px !important;
}

.contact_area .linkBtn,
.contact_area .post .linkBtn {
    padding: 0;
}

.contact_area .linkBtn a {
    color: #fff;
    padding: 0.8em 1.2em;
    display: block;
}

/*------------------------------------------------------------
 ナンバリング01
------------------------------------------------------------*/
.num_list01 {
    counter-reset: number;
    /*数字をリセット*/
    list-style-type: none !important;
    /*数字を一旦消す*/
}

.num_list01 .imgarea {
    position: relative;
}

.num_list01 .imgarea:before {
    /* 以下数字をつける */
    position: absolute;
    counter-increment: number;
    content: "0"counter(number);
    display: inline-block;
    background: #ffffff;
    color: var(--color-font);
    font-family: var(--font-family02);
    font-weight: 400;
    font-size: 20px;
    border-radius: 50%;
    left: 50%;
    width: 50px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    bottom: -25px;
    transform: translateX(-50%);
    box-shadow: 0 0 8px grey;
}

.num_list01 .num_listttl {
    text-align: center;
    font-weight: bold;
    font-size: var(--rem20);
    padding: 2rem 0 1rem;
    position: relative;
    line-height: 1.5;
}

/*-----------------------------
.cardstyle
------------------------------*/

/*---------style02-------------*/

.card01_list.cardstyle02>li .txtarea {
    background: #fff;
    padding: 20px 20px 30px 20px;
}

.p-recruit {
    #content02 dl {
        dt {
            font-size: var(--rem16);
        }

        dd {
            font-size: var(--rem14);
        }
    }

    ul.box_style01>li {
        display: block;
    }
}