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

:root {
    --color-background: #FBFBFB;
    --color-font: #171C61;
    --color-wt: #fff;
    --color-bk: #111;
    --color-gr: #eee;
    --color-primary: #171C61;
    --color-primary-shade: #036EB8;
    --color-primary-tint: #2EA7E0;
    --color-secondary: #2EA7E0;
    --color-secondary-tint: #B3E7FF;
    --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: #171C61;
    --header-color-primary: #171C61;
    --header-color-primary-shade: #036EB8;
    --header-color-primary-tint: #2EA7E0;
    --footer-background: #EFFAFF;
    --footer-color-font: #171C61;
    --footer-color-primary: #171C61;
    --font-family01: 'Noto Sans JP', sans-serif;
    --font-family02: "Oswald", sans-serif;
    --font-family03: "Montserrat", sans-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);
}

#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-view {
    padding-top: 100px;
    margin-top: -100px;
}

/*---link_btn---*/
.link_btn {
    color: var(--color-primary);
    background: transparent;
    border: 2px solid var(--color-primary);
    width: auto;
    max-width: 100%;
    font-size: var(--rem18);
    font-weight: 900;
    line-height: 1;
    padding: 0;

    &:hover {
        background: transparent;
        opacity: 0.6;
    }

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

    a {
        color: var(--color-primary);
        position: relative;
        padding: var(--px20) var(--px40);
        display: inline-block;

        &::after {
            content: '\f138';
            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)*/
}

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

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

.post2b_img {
    position: relative;

    a img {
        max-height: none;
        max-width: 100%;
        aspect-ratio: 67 / 43;
        border-radius: 10px;

        &:hover {
            opacity: 0.6;
        }
    }

    .c-catwrap {
        position: absolute;
        left: var(--px20);
        top: var(--px20);

        .cat {
            background: var(--color-primary);
            color: #fff;
            font-size: var(--rem14);
            padding: 10px 15px;
            letter-spacing: 0.1em;
            border-radius: 5px;
            display: inline-block;
            line-height: 1;

            &.cat-tukuru {
                background: var(--color-primary-tint);
            }

            &.cat-tunagu {
                background: var(--color-primary-shade);
            }

            &.cat-mamoru {
                background: var(--color-primary);
            }
        }
    }
}

.post2b_text {
    .time {
        background: transparent;
        color: var(--color-font);
        font-size: 1.5rem;
        padding: 0;
        margin-block: var(--px20);
        display: inline-block;
        letter-spacing: 0.05em;

        span {
            font-weight: 600;
        }
    }

    h2 {
        padding: 0 0 0 15px !important;
        margin: 0 !important;
        font-weight: 800;

        &::before {
            content: '' !important;
            display: inline-block;
            width: 6px;
            height: 20px;
            background: linear-gradient(0deg, var(--color-primary) 49%, var(--color-primary-tint) 50%);
            top: 50%;
            position: absolute;
            left: 0;
            transform: translateY(-50%);
        }

        a {
            font-size: var(--rem20);

            &:hover {
                text-decoration: underline;
            }
        }
    }
}

@media print,
screen and (max-width: 768px) {
    #cat-post ul.post2b>li:last-of-type {
        margin-bottom: 0;
        padding-bottom: 0;
    }
}

/*================================
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;
        margin: 0;

        &::before {
            display: none;
        }

        &::after {
            display: none;
        }

        .c-ttl__en {
            font-family: var(--font-family03);
            font-size: var(--rem18);
            font-weight: 700;
            letter-spacing: 0.1em;
            display: block;
            line-height: 1.2;
        }

        .c-ttl__jp {
            display: inline-block;
            font-size: var(--rem30);
            font-weight: 900;
            letter-spacing: 0.1em;
            background-image: linear-gradient(transparent 70%, #b3e7ff 70%);
            background-repeat: no-repeat;
            background-position: bottom left;
            padding-inline: 5px;
            line-height: 1.7;
        }
    }
}

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

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

    #header-layout {
        align-items: center;
        justify-content: flex-start;
        gap: var(--px80);
    }

    #header-layout .logo {
        padding: 0 0 0 var(--px30);

        a {
            display: flex;
            flex-direction: column;
            gap: 5px;
            justify-content: center;

            img {
                max-height: min(calc(51px + (1vw - 19.2px) * 1.2277), 51px);
                /*51-40(1920-1024)*/
            }

            span.logo_txt {
                font-size: 1.1rem;
                font-weight: 900;
                color: var(--color-font);
                display: block;
                line-height: 1;
                letter-spacing: 0.03em;
            }
        }
    }

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

        nav#mainNav ul li a {
            flex-direction: row;
            font-feature-settings: 'palt';
            padding-inline: min(calc(12px + (1vw - 19.2px) * 0.6696), 12px);
            /*12-6(1920-1024)*/
            font-size: min(calc(1.6rem + (1vw - 1.92rem) * 0.4464), 1.6rem);
            /*1.6-1.2(1920-1024)*/

            b {
                font-weight: 700;
            }

            &:hover {
                opacity: 0.9;
            }

        }

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

    /*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;
                padding-inline: var(--px30);
            }
        }

        #header-layout .logo {
            padding-left: 1rem;

            img {
                max-height: 40px;
            }
        }
    }
}

@media screen and (min-width:768px) and (max-width:1023px) {
    #header-layout .logo {
        padding: 0;

        a {
            display: flex;
            flex-direction: column;
            gap: 5px;
            align-items: center;

            img {
                max-width: 200px;
            }

            span.logo_txt {
                font-size: 1.1rem;
                font-weight: 900;
                color: var(--color-font);
                display: block;
                line-height: 1;
                letter-spacing: 0.03em;
            }
        }
    }
}

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

    body.mobile #header .logo .mark {
        padding: 0 0 0 10px;

        a {
            display: flex;
            flex-direction: column;
            align-items: flex-start;

            img {
                max-height: 30px;
            }

            span.logo_txt {
                font-size: 1rem;
                font-weight: 700;
                color: var(--color-font);
            }
        }
    }
}

/*--------------------------------------------------
	フッター
--------------------------------------------------*/
footer.l-footer {
    background: var(--footer-background);

    .l-footer__inner {
        max-width: 1400px;
        width: min(1400px, 90%);
        margin-inline: auto;
        padding-block: var(--px100) var(--px120);

        .l-footer_about {
            display: flex;
            align-items: center;
            justify-content: space-between;

            .c-detail {
                .c-detail__logo img {
                    max-height: min(calc(80px + (1vw - 19.2px) * 3.3482), 80px);
                    /*80-50(1920-1024)*/
                }

                p.c-detail__category {
                    font-size: min(calc(1.8rem + (1vw - 1.92rem) * 0.5580), 1.8rem);
                    /*1.8-1.3(1920-1024)*/
                    font-weight: bold;
                    margin-block: var(--px20) 1rem;
                }

                p.c-detail__about {
                    font-size: var(--rem14);
                    line-height: 1.7;
                    margin-bottom: var(--px20);
                }

                dl {
                    dt {
                        font-size: var(--rem18);
                        font-weight: 700;
                    }

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

                dl+dl {
                    margin-top: var(--px12);
                }
            }

            .c-cta {
                background: #fff;
                width: 65%;
                padding-block: var(--px100);
                text-align: center;
                position: relative;

                p.c-cta__txt {
                    font-size: var(--rem18);
                    font-weight: 700;
                    margin-block: var(--px30) var(--px40);
                }

                .c-cta__img {
                    position: absolute;
                    right: calc(-5rem + (1vw - 1.92rem) * -1.1161);
                    bottom: -20px;
                    width: min(calc(161px + (1vw - 19.2px) * 10.1563), 161px);
                    /*161-70(1920-1024)*/

                    img {
                        width: 100%;
                    }
                }

                ul {
                    display: flex;
                    justify-content: center;
                    align-items: stretch;
                    gap: var(--px14);

                    li.c-linkbtn {
                        border: 2px solid var(--color-primary);
                        border-radius: 100px;
                        transition: all ease 0.6s;

                        &:hover {
                            opacity: 0.6;
                        }

                        a {
                            display: flex;
                            flex-direction: column;
                            width: 100%;
                            height: 100%;
                            justify-content: center;
                            color: var(--color-font);
                            font-weight: 800;
                            padding: var(--rem20) var(--rem30);

                            .c-linkbtn__num {
                                position: relative;
                                font-family: var(--font-family02);
                                line-height: 1;
                                font-size: min(calc(3.5rem + (1vw - 1.92rem) * 1.1161), 3.5rem);
                                /*3.5-2.5(1920-1024)*/
                                display: flex;
                                justify-content: center;
                                align-items: flex-end;
                                gap: 3px;

                                &::before {
                                    content: '\f095';
                                    font-family: "Font Awesome 6 Free";
                                    font-size: var(--rem14);
                                    background: var(--color-primary);
                                    color: #fff;
                                    border-radius: 50%;
                                    padding: min(calc(0.8rem + (1vw - 1.92rem) * 0.3348), 0.8rem);
                                    /*0.8-0.5(1920-1024)*/
                                }
                            }

                            .c-linkbtn__time .note {
                                font-size: var(--rem12);
                                display: inline-block;
                            }

                            .c-linkbtn__mail {
                                position: relative;
                                font-size: var(--rem20);
                                font-weight: 900;
                                display: flex;
                                align-items: center;
                                gap: 3px;

                                &::before {
                                    content: '\f0e0';
                                    font-family: 'Font Awesome 6 Free';
                                    font-size: 120%;
                                }
                            }
                        }
                    }
                }
            }
        }

        .c-nav {
            display: flex;
            margin-top: var(--px60);
            align-items: center;
            gap: var(--px30);

            .c-nav__navigation ul {
                display: flex;
                gap: var(--px24);

                li a {
                    color: var(--color-font);
                    font-weight: 700;

                    &:hover {
                        text-decoration: underline;
                    }
                }
            }

            .c-nav__sns ul {
                display: flex;
                gap: 8px;

                li a i {
                    background: var(--color-primary);
                    color: #fff;
                    font-size: var(--rem18);
                    border-radius: 50%;
                    padding: 1rem;
                    transition: all ease 0.6s;

                    &:hover {
                        opacity: 0.6;
                    }
                }
            }
        }
    }

    .l-footer__copylight {
        background: var(--color-primary);

        .inner {
            max-width: 1400px;
            width: min(1400px, 90%);
            margin-inline: auto;
            display: flex;
            justify-content: space-between;
            padding-block: var(--px30);
            align-items: center;

            .footnav ul {
                display: flex;
                align-items: center;
                gap: 30px;

                li a {
                    color: #fff;
                    font-size: var(--rem14);
                    font-weight: 400;
                    position: relative;

                    &:hover {
                        text-decoration: underline;
                    }
                }

                li:not(:last-of-type) a::after {
                    content: '';
                    background: #fff;
                    height: 70%;
                    width: 1px;
                    right: -15px;
                    display: inline-block;
                    position: absolute;
                    top: 50%;
                    transform: translateY(-50%);
                }
            }

            #copyright {
                color: #fff;
                background: transparent;
                margin: 0;
                letter-spacing: 0;
                font-size: var(--rem14);
                font-weight: 400;
            }
        }
    }
}

@media screen and (max-width:1023px) {
    footer.l-footer {
        .l-footer__inner {
            .l-footer_about {
                flex-direction: column;
                align-items: flex-start;
                gap: var(--px50);

                .c-cta {
                    width: 100%;
                }
            }

            .c-nav {
                flex-direction: column;
                align-items: flex-start;
            }
        }
    }
}

@media screen and (max-width:768px) {
    footer.l-footer {
        .l-footer__inner {
            padding-bottom: 30px;

            .l-footer_about {
                .c-detail {
                    .c-detail__logo img {
                        max-height: 60px;
                    }

                    p.c-detail__category {
                        font-size: 1.2rem;
                    }
                }

                .c-cta {
                    padding-inline: 5%;

                    ul {
                        flex-direction: column;
                        align-items: center;

                        li.c-linkbtn {
                            width: 100%;

                            a {
                                align-items: center;
                            }
                        }
                    }
                }
            }

            .c-nav .c-nav__navigation ul {
                flex-direction: column;
            }
        }

        .l-footer__copylight .inner {
            flex-direction: column;
            align-items: flex-start;
        }
    }
}

/*--------------------------------------------------
	メインイメージ
--------------------------------------------------*/
@media print,
screen and (min-width: 1024px) {
    html:not(.mobile) #mainImg {
        margin-top: -100px;
    }
}

body.mobile #mainImg {
    margin-top: 20px;
}

/*--------------------------------------------------
	トップページ
--------------------------------------------------*/
/*--------common parts--------*/

/*--------選ばれる理由--------*/
.l-reason {
    counter-reset: reason-counter 0;
    position: relative;
    margin-bottom: var(--px80);

    .c-reason__graybg {
        position: absolute;
        z-index: -1;
    }

    .c-reason__graybg.c-reason__graybg01 {
        left: 0;
        top: calc(-57rem + (1vw - 1.92rem) * -30.1339);
        /* -570--300(1920-1024) */
        width: 31%;
    }

    .c-reason__graybg.c-reason__graybg02 {
        right: 0;
        top: 100px;
        width: 41%;
    }

    .c-reason__graybg.c-reason__graybg03 {
        left: 0;
        top: calc(73rem + (1vw - 1.92rem) * 20.0893);
        /* 730-550(1920-1024) */
        width: 51.25%;
    }

    .c-reason__graybg.c-reason__graybg04 {
        right: 0;
        bottom: calc(23rem + (1vw - 1.92rem) * -2.2321);
        /*230-250(1920-1024)*/
        width: 45.4%;
    }

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

    .c-reason {
        .c-reason__about {
            justify-content: center;
            gap: var(--px60);
            align-items: flex-end;

            .c-reason__img {
                position: relative;
                width: 37.2%;

                .c-reason__intxtarea {
                    position: absolute;
                    bottom: min(calc(12rem + (1vw - 1.92rem) * 6.6964), 12rem);
                    /*120-60(1920-1024)*/
                    left: 50%;
                    transform: translateX(-50%);
                    text-align: center;
                    width: 100%;

                    figure {
                        width: 160px;
                        margin-inline: auto;
                    }

                    i {
                        display: block;
                        font-size: min(calc(6rem + (1vw - 1.92rem) * 2.6786), 6rem);
                        /*6-3.6(1920-1024)*/
                        color: var(--color-primary-shade);
                    }

                    p.c-reason__inttl {
                        font-size: min(calc(2.8rem + (1vw - 1.92rem) * 1.1161), 2.8rem);
                        /*2.8-1.8(1920-1024)*/
                        font-weight: 900;
                        letter-spacing: 0.2em;
                        display: inline-block;
                        margin-block: var(--px20) calc(1rem + (1vw - 1.92rem) * 0.5580);
                    }

                    p.c-reason__num {
                        font-family: var(--font-family02);
                        font-size: min(calc(13rem + (1vw - 1.92rem) * 5.0223), 13rem);
                        /*13-8.5(1920-1024)*/
                        font-weight: 700;
                        line-height: 1;

                        span {
                            font-size: var(--rem60);
                        }
                    }

                    p.c-reason__intxt {
                        font-size: min(calc(2.4rem + (1vw - 1.92rem) * 0.8929), 2.4rem);
                        /*2.4-1.6(1920-1024)*/
                        font-weight: 900;
                        letter-spacing: 0.05em;
                        line-height: 1.2;
                        margin-top: var(--px14);
                    }
                }
            }

            .c-reason__text {
                padding-bottom: var(--px40);

                h3.ttls {
                    border: none;
                    padding: 0 0 0 var(--px160);
                    margin: 0 0 var(--px30) 0;
                    color: var(--color-font);
                    font-weight: 900;
                    font-size: min(calc(6rem + (1vw - 1.92rem) * 2.7902), 6rem);
                    /*6-3.5(1920-1024)*/
                    letter-spacing: 0.1em;

                    &::before {
                        counter-increment: reason-counter;
                        content: counter(reason-counter, decimal-leading-zero);
                        background: var(--color-primary);
                        display: flex;
                        border-radius: 50%;
                        aspect-ratio: 1;
                        color: #fff;
                        font-family: var(--font-family03);
                        font-size: min(calc(5rem + (1vw - 1.92rem) * 2.2321), 5rem);
                        /*5-3(1920-1024)*/
                        overflow: hidden;
                        letter-spacing: 0;
                        font-weight: 700;
                        width: var(--px140);
                        justify-content: center;
                        align-items: center;
                        position: absolute;
                        left: 0;
                    }

                    span {
                        display: block;
                        font-size: min(calc(2.4rem + (1vw - 1.92rem) * 1.0045), 2.4rem);
                        /*2.4-1.5(1920-1024)*/
                        letter-spacing: 0.2em;
                    }
                }

                p {
                    font-size: min(calc(2rem + (1vw - 1.92rem) * 0.7813), 2rem);
                    /*2-1.3(1920-1024)*/
                    line-height: 2.5;
                    letter-spacing: 0.05em;
                }

                .link_btn {
                    margin-top: var(--px30);
                }
            }
        }

        .c-reason__fpoimg {
            margin-top: var(--px60);
        }
    }

    .c-reason.c-reason__01 {
        transform: translateY(calc(-11.5rem + (1vw - 1.92rem) * -6.1384));
        /* -115--60(1920-1024) */
        position: relative;
        z-index: 10;
    }

    .c-reason.c-reason__02 {
        margin-top: calc(-20rem + (1vw - 1.92rem) * -11.1607);
        /*-20--10(1920-1024)*/
        position: relative;
    }

    .c-reason.c-reason__03 {
        margin-top: var(--px40);
        position: relative;
    }
}

.l-fronttoplist {
    margin-top: var(--px60);
}

@media screen and (max-width:768px) {
    .l-reason {
        .inners {
            padding-top: 55px;
        }

        .c-reason {
            .c-reason__about {
                .c-reason__text {
                    h3.ttls {
                        font-size: 2.5rem;

                        span {
                            font-size: 1.2rem;
                            letter-spacing: 0.1em;
                        }

                        &::before {
                            font-size: 2rem;
                            padding: 0.6rem;
                            margin-top: 5px;
                        }
                    }

                    p {
                        font-size: 1.2rem;
                    }
                }

                .c-reason__img {
                    width: 80%;
                    margin-inline: auto;

                    .c-reason__intxtarea {
                        figure {
                            width: 120px;
                        }

                        i {
                            font-size: 3rem;
                        }

                        p.c-reason__inttl {
                            font-size: 1.5rem;
                        }

                        p.c-reason__num {
                            font-size: 7rem;
                        }

                        p.c-reason__intxt {
                            font-size: 1.3rem;
                            margin-top: 7px;
                        }
                    }
                }
            }
        }

        .c-reason.c-reason__01 {
            transform: none;
            margin-top: 40px;

            .c-reason__about .c-reason__img .c-reason__intxtarea {
                bottom: calc(18rem + (1vw - 0.77rem) * 33.1633);/*18-5(767-375)*/
            }
        }

        .c-reason.c-reason__02 {
            margin-top: 40px;

            .c-reason__about .c-reason__img .c-reason__intxtarea {
                bottom: calc(18rem + (1vw - 0.77rem) * 31.8878);/*18-5.5(767-375)*/
            }
        }

        .c-reason.c-reason__03 {
            margin-top: 0;

            .c-reason__about .c-reason__img .c-reason__intxtarea {
                bottom: calc(20rem + (1vw - 0.77rem) * 35.7143);/*20-6(767-375)*/
            }
        }

        .c-reason__graybg.c-reason__graybg04 {
            display: none;
        }

        .c-reason__graybg.c-reason__graybg03 {
            display: none;
        }

        .c-reason__graybg.c-reason__graybg02 {
            display: none;
        }

        .c-reason__graybg.c-reason__graybg01 {
            width: 40%;
            top: -150px;
        }
    }
}

/*--------事業内容--------*/
.l-service {
    .inners {
        background: #EFFAFF;
        text-align: center;
        padding-block: 0 var(--px20);
    }

    p.c-leadtxt {
        font-size: var(--rem18);
        margin-block: var(--px40) var(--px50);
        line-height: 2;
        letter-spacing: 0.05em;
    }
}

ul.c-servlist {
    display: flex;
    max-width: 1400px;
    width: min(1400px, 90%);
    margin-inline: auto;
    gap: var(--px40);
    align-items: stretch;

    li {
        display: flex;
        flex-direction: column;
        width: 100%;
        text-align: center;

        h3.c-servlist__ttls {
            padding: 0;
            margin: calc(-3rem + (1vw - 1.92rem) * -1.1161) 0 var(--px24);
            border: none;
            font-size: min(calc(5.5rem + (1vw - 1.92rem) * 2.2321), 5.5rem);
            /*5.5-3.5(1920-1024)*/
            letter-spacing: 0.1em;
            color: var(--color-font);
            font-weight: 800;
            line-height: 1;

            span {
                color: var(--color-primary-tint);
                font-weight: 900;
            }
        }

        p.c-servlist__subttl {
            font-size: var(--rem24);
            font-weight: 900;
            letter-spacing: 0.05em;
            line-height: 1.5;
        }

        p.c-servlist__txt {
            font-weight: 600;
            margin-block: var(--px20) var(--px20);
            font-size: min(calc(1.6rem + (1vw - 1.92rem) * 0.3348), 1.6rem);
            /*1.6-1.3(1920-1024)*/
        }

        .link_btn {
            margin-top: auto;
            width: min(70%, 260px);
            margin-inline: auto;

            a {
                padding-block: 15px;
            }
        }
    }
}

@media screen and (max-width:768px) {
    .l-service {
        .inners {
            padding-block: 20px;
            padding-inline: 5%;
        }
    }

    ul.c-servlist {
        flex-direction: column;

        & li {
            h3.c-servlist__ttls {
                font-size: 3rem;
                margin-top: -20px;
            }

            p.c-servlist__subttl {
                font-size: 1.7rem;
            }

            p.c-servlist__txt {
                font-size: 1.2rem;
            }
        }
    }
}

/*--------これからの未来へ--------*/
.l-feature {
    .inners {
        align-items: center;
        justify-content: center;
        gap: var(--px50);
        padding-block: var(--px100) var(--px120);

        .c-txtarea {
            h2.c-txtarea__ttls {
                text-align: left;
                padding: 0;
                margin: 0 0 var(--px24) 0;
                font-size: min(calc(6rem + (1vw - 1.92rem) * 2.7902), 6rem);
                /*6-3.5(1920-1024)*/
                color: var(--color-font);
                font-weight: 900;
                line-height: 1.5;

                &::after {
                    display: none;
                }
            }

            p.c-txtarea__txt {
                font-size: min(calc(1.7rem + (1vw - 1.92rem) * 0.4464), 1.7rem);
                /*1.7-1.3(1920-1024)*/
                line-height: 1.8;
                margin-bottom: var(--px40);
            }
        }

        figure {
            max-width: 842px;
            width: 44.2%;
        }
    }
}

@media screen and (max-width:768px) {
    .l-feature {
        margin-bottom: 20px;

        .inners {
            padding-block: 30px;
            padding-inline: 5%;

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

                h2.c-txtarea__ttls {
                    font-size: 2.5rem;
                }

                p.c-txtarea__txt {
                    font-size: 1.2rem;
                }
            }

            figure {
                width: 80%;
                margin-inline: auto;
            }
        }
    }
}

/*--------採用情報--------*/
.l-recruit {
    position: relative;
    margin-bottom: var(--px240);

    .c-graybg05 {
        position: absolute;
        z-index: -1;
        left: 0;
        top: calc(-30rem + (1vw - 1.92rem) * -5.5804);
        width: 35%;
    }

    .inners {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .c-txtarea {
        width: 45%;
        padding-left: 10%;

        h2 {
            text-align: left;
        }

        p.c-txtarea__copy {
            font-size: min(calc(4.5rem + (1vw - 1.92rem) * 1.6741), 4.5rem);
            /*4.5-3(1920-1024)*/
            font-weight: 900;
            line-height: 1.5;
            letter-spacing: 0.05em;
            margin-block: var(--px40) var(--px30);
        }

        p.c-txtarea__txt {
            font-size: min(calc(1.8rem + (1vw - 1.92rem) * 0.5580), 1.8rem);
            /*1.8-1.3(1920-1024)*/
            line-height: 2;
            margin-bottom: var(--px40);
        }
    }

    .c-imgarea {
        position: relative;
        max-width: 1050px;
        width: 55.1%;

        .c-imgarea__main img {
            border-radius: var(--px60) 0 0 var(--px60);
        }

        .c-imgarea__sub {
            position: absolute;
            bottom: calc(-10rem + (1vw - 1.92rem) * -7.8125);
            left: calc(-16rem + (1vw - 1.92rem) * -14.5089);
            max-width: 560px;
            width: min(calc(560px + (1vw - 19.2px) * 40.1786), 560px);
            /*560-200(1920-1024)*/

            img {
                border-radius: calc(6rem + (1vw - 1.92rem) * 4.4643);
            }
        }
    }
}

@media screen and (max-width:768px) {
    .l-recruit {
        margin-bottom: 0;
        padding-bottom: 40px;

        .inners {
            flex-direction: column;
            align-items: flex-start;
        }

        .c-txtarea {
            width: 100%;
            padding-inline: 5%;
            margin-bottom: 30px;

            h2.c-ttl.c-ttl__primary {
                text-align: center;
            }

            p.c-txtarea__copy {
                font-size: 2.5rem;
            }

            p.c-txtarea__txt {
                font-size: 1.2rem;
            }
        }

        .c-imgarea {
            width: 95%;

            .c-imgarea__main img {
                border-radius: 0 20px 20px 0;
            }

            .c-imgarea__sub {
                display: none;
            }
        }

        .c-graybg05 {
            width: 40%;
            top: -200px;
        }
    }
}

/*--------トップお知らせ--------*/
.l-topinfo {
    background: #fff;

    .inners {
        max-width: 1520px;
        width: min(1520px, 90%);
        margin-inline: auto;
        padding-block: var(--px120);
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: var(--px20);
    }

    .c-infowrap {
        h2.c-ttl {
            color: var(--color-font);
            font-weight: 900;
            font-size: var(--rem30);
            margin: 0;

            &::after {
                display: none;
            }

            span.c-ttl__en {
                display: block;
                font-size: var(--rem18);
                color: var(--color-primary-tint);
                font-family: var(--font-family03);
                font-weight: 700;
            }
        }

        .sc_geneleted_list {
            margin-block: var(--px30);

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

        .link_btn {
            width: max(30%, 200px);
            margin-inline: auto;
            display: block;

            a {
                padding-block: var(--px20);
            }
        }
    }
}

@media screen and (max-width:768px) {
    .l-topinfo {
        .inners {
            padding-block: 30px 40px;
            grid-template-columns: 1fr;
            gap: 30px;
        }
    }
}

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

    &::before {
        background: #EFFAFF;
        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(18rem + (1vw - 1.92rem) * 9.7087) calc(7rem + (1vw - 1.92rem) * 2.5890);
        /*180-30(1920-1024)*/
        /*70-30(1920-1024)*/
        padding-inline: 5%;
        transform: none;
        color: var(--color-font);
        font-size: var(--rem40);
        font-weight: 900;

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

.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: 600;
        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 var(--color-font);
        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: 600;
        letter-spacing: .1rem;
        padding: 0;
        text-align: left;
        margin: var(--rem60) auto var(--rem20);
        border-left: double 4px;
        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
================================*/
ul.c-pagelinknav {
    display: flex;
    justify-content: center;
    gap: var(--px40);
    margin-bottom: var(--px80);
    flex-wrap: wrap;

    li {
        text-align: center;

        a {
            position: relative;
            font-size: var(--rem18);
            font-weight: 600;

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

            &::before {
                content: '\f13a';
                font-family: 'FontAwesome';
                color: var(--color-primary);
                margin-right: 3px;
            }
        }
    }
}

p.c-pageleadcopy {
    display: block;
    text-align: center;
    font-size: var(--rem40);
    font-weight: 800;

    span.c-pageleadcopy__sub {
        font-size: var(--rem18);
        display: block;
        margin-top: var(--px40);
        line-height: 2;
    }
}

/*--幅フル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);
}

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

/*================================
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;
    line-height: 1.6;
    text-align: center;
    padding: var(--px16) var(--px20);
    -webkit-transition: 0.7s all;
    -o-transition: 0.7s all;
    transition: 0.7s all;
    z-index: 1;
    position: relative;
    -webkit-transition: .3s ease;
    -o-transition: .3s ease;
    transition: .3s ease;
}

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

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

/*--------企業情報--------*/
.p-company {
    .l-pagegreet {
        .c-greeting {
            .c-greeting__txtarea {
                p.c-greeting__txt {
                    font-size: var(--px16);
                    line-height: 2;
                    margin-bottom: var(--px20);
                }

                p.c-greeting__name {
                    text-align: right;
                    font-size: var(--rem18);
                    font-weight: 700;
                }
            }
        }
    }
}

/*--------事業内容--------*/
/*----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;
    flex-wrap: wrap;
}

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

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

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

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

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

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

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

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

.card01_list>li {
    position: relative;
    background: transparent;
}

.card01_list .imgarea {
    width: 100%;
    position: relative;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    line-height: 0;
}

.card01_list .imgarea img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.card01_list .txtarea {
    padding: 20px 0 0 0;
    line-height: 1.6;
    text-align: left;
    background: transparent;
}

/*--txtstyle02 --*/

.post .txtstyle02, .txtstyle02 {
    font-size: var(--rem36);
    font-weight: 600;
    text-align: left;
    margin: var(--rem36) auto;
    background: transparent;
    color: var(--color-font);
    line-height: 1.4;
    padding: 0;
}

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

.post .card01_list .txtstyle02, .card01_list .txtstyle02 {
    font-size: var(--rem18);
    margin: 0 0 1rem;
    font-weight: 700;
}

.c-pageconceptbox+.c-pageconceptbox {
    margin-top: var(--px60);
}

body:not(.home) .post .p-company .l-pageconcept {
    h2 {
        color: var(--color-primary-tint);
        font-weight: 900;

        span.c-ttl__sub {
            font-size: 70%;
            display: inline-block;
            color: var(--color-primary);
        }
    }
}

.p-company .l-pageconcept .c-pageconceptbox {
    ul.card01_list li figure {
        position: relative;

        figcaption {
            position: absolute;
            top: 1rem;
            left: 1rem;
            display: inline-block;
            line-height: 1;
            background: var(--color-primary-shade);
            color: #fff;
            border-radius: 5px;
            padding: 5px 5px;
            font-size: var(--rem14);
        }
    }

    .c-endbox {
        background: #fff;
        padding: var(--px40);
        margin-top: var(--px20);
        width: 95%;
        margin-inline: auto;
        border: 1px solid var(--color-font);

        p.c-endbox__ttl {
            font-size: var(--rem20);
            font-weight: 600;
            margin-bottom: 1rem;
        }

        p.c-endbox__txt {
            font-size: var(--rem14);
        }

        .link_btn {
            display: block;
            width: max-content;
            margin-top: 10px;
            font-size: var(--rem14);
            margin-top: var(--px14);
        }
    }
}

@media screen and (max-width:768px) {
    .p-company .l-pageconcept .c-pageconceptbox {
        .c-endbox {
            margin-top: 20px;
        }
    }
}

/*--------企業の取り組み--------*/
.p-efforts {
    ul.c-detaillist {
        display: grid;
        gap: var(--px50);
        margin-top: var(--px50);
        grid-template-columns: repeat(3, 1fr);

        li {
            display: grid;
            grid-template-rows: subgrid;
            grid-row: span 3;
            gap: 1rem;

            &>i {
                line-height: 1.5;
                font-size: var(--rem30);
                text-align: center;
            }

            .c-detaillist__deatil {
                background: var(--footer-background);
                border: 1px solid var(--color-font);
                padding: var(--px30);
                border-radius: var(--px30);
                text-align: center;
                display: flex;
                flex-direction: column;
                justify-content: center;

                i {
                    font-size: var(--rem30);
                    color: var(--color-primary-shade);
                }

                h3.c-detaillist__ttls {
                    padding: 0;
                    margin: 1rem 0 var(--px20);
                    border: none;
                    font-size: var(--rem24);
                    font-weight: 800;
                    line-height: 1;
                }

                p.c-detaillist__nums {
                    font-family: var(--font-family02);
                    font-size: var(--rem40);
                    line-height: 1;
                    margin-bottom: 3px;

                    span {
                        font-size: 50%;
                    }
                }

                p.c-detaillist__tani {
                    font-weight: 500;
                    font-size: 1.5rem;
                }

                p.c-detaillist__benefit {
                    font-size: 1.7rem;
                    font-weight: 800;
                    margin-top: 1rem;
                    line-height: 1.3;
                }

                .c-detaillist__nums02 {
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    gap: 3%;

                    p.c-detaillist__point01 {
                        font-size: var(--rem14);
                        line-height: 1.6;
                        font-weight: 700;
                        position: relative;
                    }

                    i {
                        color: var(--color-font);
                        font-size: 1.5rem;
                    }

                    p.c-detaillist__point02 {
                        font-size: var(--rem14);
                        line-height: 1;
                        font-weight: 700;

                        span {
                            font-family: var(--font-family02);
                            font-size: 200%;
                        }
                    }
                }
            }

            .c-detaillist__image {
                img {
                    width: 50%;
                    margin-inline: auto;
                    display: block;
                    aspect-ratio: 1;
                    border-radius: 100%;
                }

                figcaption {
                    background: #fff;
                    border: 1px solid #ccc;
                    text-align: center;
                    line-height: 1.5;
                    padding: var(--px20);
                    font-size: 1.5rem;
                    font-weight: 600;
                    margin-top: 1.2rem;

                    span {
                        display: block;
                        font-size: 90%;
                        font-weight: 400;
                    }
                }
            }
        }
    }
}

@media screen and (max-width:768px) {
    .p-efforts {
        ul.c-detaillist {
            grid-template-columns: 1fr;
            width: 90%;
            margin-inline: auto;

            li {
                .c-detaillist__deatil {
                    i {
                        font-size: 2.8rem;
                    }

                    h3.c-detaillist__ttls {
                        font-size: 2rem;
                    }

                    p.c-detaillist__nums {
                        font-size: 3.5rem;
                    }
                }
            }
        }

        .p-efforts__sdgs {
            ul.c-sdgsimage {
                width: 80%;
                margin-inline: auto;
            }
        }
    }
}

.lpage_footbox {
    display: flex;
    align-items: stretch;
    border: 1px solid #ddd;

    .footbox_header {
        width: 30%;
        background: #eee;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;

        p.ttls {
            font-size: min(calc(2.3rem + (1vw - 1.92rem) * 0.1942), 2.3rem);
            font-weight: 600;
            margin-bottom: 1rem;
            line-height: 1.5;
        }

        .link_btn a {
            padding-block: 1rem;
            font-size: 1.5rem;
        }
    }

    .lpage_footbox_list {
        width: 70%;
        padding-inline: 3%;
        padding-block: var(--px80);
        background: #fff;

        ul {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(30%, 1fr));
            gap: 0.7rem 1rem;

            li a {
                position: relative;
                font-weight: 500;
                transition: all ease 0.6s;

                &:hover {
                    opacity: 0.6;
                }

                &::before {
                    content: '\f138';
                    font-family: "Font Awesome 6 Free";
                    font-weight: 600;
                    font-size: 60%;
                    vertical-align: middle;
                    padding-right: 0.7rem;
                    color: var(--color-primary);
                }
            }
        }
    }
}

@media print, screen and (max-width: 768px) {
    .lpage_footbox {
        flex-direction: column;

        .footbox_header {
            flex-direction: column;
            width: 100%;
            padding-block: var(--px40);
        }

        .lpage_footbox_list {
            width: 100%;
            padding-block: var(--px30);

            ul {
                grid-template-columns: 1fr;
            }
        }
    }
}

/*--------スタッフボイス--------*/
.c-voiceitem {
    border: 1px solid #ccc;
    padding: var(--px50);
    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    .c-voiceitem__about {
        display: flex;
        align-items: center;
        gap: 1.5rem;
        justify-content: center;
        margin-bottom: var(--px30);
        flex-direction: column;
        width: 25%;

        figure {
            max-width: 260px;
            overflow: hidden;
            border-radius: 100%;

            img {
                aspect-ratio: 1;
                object-fit: cover;
            }
        }

        .c-voiceitem__name {
            h3 {
                font-size: var(--rem20);
                text-align: center;
                margin-bottom: 1rem;
            }

            p.c-voiceitem__date {
                font-size: 1.2rem;
                text-align: center;
            }
        }
    }

    dl {
        width: 72%;

        dt {
            border-bottom: 1px solid;
            margin-bottom: 10px;
            padding-bottom: 10px;
            font-size: var(--rem18);
            font-weight: 800;
        }

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

.c-voiceitem+.c-voiceitem {
    margin-top: var(--px40);
}

.p-voice__recruit .c-recruititem+.c-recruititem {
    margin-top: var(--px40);
}

@media print, screen and (max-width: 768px) {
    .c-voiceitem {
        padding: 20px 5%;
        flex-direction: column;

        .c-voiceitem__about {
            width: 60%;
            margin-inline: auto;
        }

        dl {
            width: 100%;
        }
    }
}

/*--------採用情報--------*/
.p-recruit {
    .p-recruit__point ul {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: var(--px40);

        li {
            h3.ttls {
                margin: 1.5rem 0 1rem 0;
                font-size: var(--rem20);
                font-weight: 700;
            }

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

    .p-recruit__nums {
        ul.c-numslist {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: var(--px30);

            li {
                border: 1px solid #ccc;
                padding: var(--px30);
                background: #fff;
                display: flex;
                flex-direction: column;
                align-items: stretch;
                justify-content: center;

                h3.ttls {
                    text-align: center;
                }
            }

            li.num01 .c-numslist__detail {
                display: flex;
                justify-content: center;
                gap: 10px;
                align-items: center;

                figure.c-numslist__human {
                    display: flex;
                    flex-direction: column;
                    align-items: center;
                    gap: 0.5rem;

                    img {
                        max-width: 90px;
                    }

                    figcaption {
                        font-family: var(--font-family02);
                        font-size: var(--rem40);
                        line-height: 1;
                        color: var(--color-primary-shade);

                        span {
                            color: var(--color-font);
                            font-size: 70%;
                        }
                    }
                }

                figure.c-numslist__grap {
                    max-width: 220px;
                }
            }

            li.num02 .c-numslist__detail {
                display: flex;
                align-items: center;
                gap: 0.5rem;
                flex-direction: column;

                p {
                    font-size: 1.3rem 13px;
                    line-height: 1;
                }

                li.num02 .c-numslist__detail figure {
                    max-width: 230px;
                }
            }

            li.num03, li.num04, li.num05, li.num06, li.num07, li.num08 {
                .c-numslist__detail {
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    gap: 1rem;

                    figure {
                        width: min(150px, 50%);

                        img {
                            height: 100%;
                            width: 100%;
                        }
                    }

                    p {
                        font-family: var(--font-family02);
                        font-size: var(--rem80);
                        line-height: 1;
                        color: var(--color-primary-shade);

                        span {
                            font-size: 50%;
                            color: var(--color-font);
                        }

                        b {
                            font-size: 20%;
                            display: block;
                            font-weight: 300;
                            text-align: center;
                            color: var(--color-font);
                        }
                    }
                }
            }
        }
    }
}

@media screen and (max-width:768px) {
    .p-recruit {
        .p-recruit__point ul {
            grid-template-columns: 1fr;
        }

        .p-recruit__nums {
            ul.c-numslist {
                grid-template-columns: 1fr;
            }
        }
    }
}

/*-------------------------------------------
 teleco_v1
------------------------------------------- */
.teleco_v1 .w50.image_box {
    position: relative;
    overflow: hidden;
}

.teleco_v1 .w50.image_box::before {
    content: '';
    display: block;
}

.teleco_v1 .w50.image_box img {
    position: absolute;
    width: 102%;
    height: auto;
    max-width: none;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.teleco_v1 .w50.text_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    background: #ffffff;
    padding: min(calc(120px + (1vw - 19.2px) * 3.5599), 120px);
    /* 120-65px (1920-375) */
}

@media print, screen and (min-width: 769px) {
    .teleco_v1 .w50.image_box::before {
        padding-top: calc(550px + (1vw - 19.2px) * 17.3762);
    }

    .teleco_v1 .w50.image_box img {
        width: auto;
        height: 100%;
    }
}

@media print, screen and (max-width: 768px) {
    .teleco_v1 .w50.image_box {
        margin-bottom: 0;
    }

    .teleco_v1 .w50.image_box::before {
        padding-top: calc(350px + (1vw - 7.68px) * 27.9898);
    }

    .teleco_v1 .w50.text_box {
        padding: 20px;
        margin-bottom: 0;
    }
}