@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=M+PLUS+1p:wght@400;500;700;800;900&family=Noto+Sans+JP:wght@100..900&family=Poppins:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500;1,600;1,700;1,800;1,900&family=Sansation:ital,wght@0,400;0,700;1,400;1,700&display=swap');

/*------------------------------------------------------
Theme Material
------------------------------------------------------*/
:root {
    --color-background: #fff;
    --color-font: #111;
    --color-primary: #95FCD9;
    --color-primary-shade: #33E8AA;
    --color-primary-tint: #b7ffe7;
    --color-secondary: #FFEF72;
    --color-secondary-tint: #ffe416;
    --color-tertiary: #C4AA54;
    --color-tertiary-shade: #907c39;
    --color-table-border: #cecece;
    --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: #111111;
    --header-color-primary: #111;
    --header-color-primary-shade: #000;
    --header-color-primary-tint: #333;
    --footer-background: #ffffff;
    --footer-color-font: #111111;
    --footer-color-primary: #fff;
    --color-wt: #fff;
    --color-bk: #111111;
    --color-gray: #EEEEEE;
    --color-grad: linear-gradient(92.76deg, #FFEF72 -1.24%, #88FFDD 102.11%);
    --color-gradbtn: linear-gradient(270deg, #FFEF72 0%, #88FFDD 25%, #88FFDD 50%, #FFEF72 100%);
    --font-family01: "Noto Sans JP", sans-serif;
    --font-family02: "Sansation", "Noto Sans JP", sans-serif;
    --font-family03: "M PLUS 1p", "Noto Sans JP", sans-serif;
    --font-family04: "Poppins", "Sansation", "Noto Sans JP", sans-serif;
    --px20: min(calc(20px + (1vw - 19.2px) * 0.1294), 20px);
    /*20px-18px*/
    --px24: min(calc(24px + (1vw - 19.2px) * 0.2589), 24px);
    /*24px-20px*/
    --px24s: min(calc(24px + (1vw - 19.2px) * 0.3883), 24px);
    /*24px-18px*/
}

/*=============================================
js
=============================================*/

.js-hover-target {
    transition: transform 0.4s ease, filter 0.4s ease;
}

.js-hover-target.active {
    transform: scale(1.05);
    filter: brightness(1.1);
}

/*=============================================
スライダー
=============================================*/
#mainImg .n2-ss-slider .n2-ss-layer {

    .slider_txt_1 {
        font-size: var(--px100);
        font-family: var(--font-family01);
        font-weight: 900;
        font-style: normal;
        line-height: 1.15;
        color: var(--color-bk);
        background: transparent;
        letter-spacing: -0.1em;
        margin: 0;
        padding: 0;
        letter-spacing: normal;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        text-shadow: 0 0 10px #ffffffa1, 0 0 15px #ffffffa1;

        .env_ertical {
            text-combine-upright: all;
            -ms-text-combine-horizontal: all;
            writing-mode: vertical-rl;
            -ms-writing-mode: tb-rl;
        }

        b {
            font-size: var(--px160);
            line-height: 1.1;
            font-weight: 900;
        }

        .sp1 {
            margin-top: 0.5em;
        }

        .sp2 {
            margin-top: 1em;
        }
    }

    .slider_txt_2 {
        font-weight: 900;
        line-height: 130%;
        font-size: var(--px60);
        color: var(--color-bk);
        font-family: var(--font-family03);
        letter-spacing: 0em;
        margin-top: var(--px20);
        text-shadow: 0 0 10px #ffffffa1, 0 0 15px #ffffffa1;

        .sp1 {
            margin-left: 0.5em;
        }

        .sp2 {
            margin-left: 1em;
        }
    }

    .slider_txt_3 {
        font-weight: 800;
        font-size: var(--px200);
        color: transparent;
        font-family: var(--font-family02);
        font-style: italic;
        background: linear-gradient(92.76deg, #FFEF72 -1.24%, #88FFDD 102.11%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
        text-fill-color: transparent;
        text-align: right;
        line-height: 0.7;
        letter-spacing: -0.02em;

        b {
            font-size: var(--px160);
        }

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

        .sp1 {
            margin-right: 0.5em;
        }

        .sp2 {
            margin-right: 1em;
        }
    }
}

@media print,
screen and (max-width: 1240px) {
    #mainImg .n2-ss-slider .n2-ss-layer {

        .slider_txt_1 {
            font-size: var(--px100);

            b {
                font-size: var(--px120);
            }
        }

        .slider_txt_2 {
            font-size: var(--px60);
        }

        .slider_txt_3 {
            font-size: var(--px140);

            b {
                font-size: var(--px120);
            }
        }
    }
}

@media print,
screen and (max-width: 1199px) {
    #mainImg .n2-ss-slider .n2-ss-layer {

        .slider_txt_2 {
            font-size: var(--px50);
            margin-top: var(--px50);
        }
    }
}

@media print,
screen and (max-width: 1050px) {
    #mainImg .n2-ss-slider .n2-ss-layer {

        .slider_txt_1 {
            font-size: var(--px80);

            b {
                font-size: var(--px100);
            }
        }

        .slider_txt_2 {
            font-size: var(--px40);
        }

        .slider_txt_3 {
            font-size: var(--px120);

            b {
                font-size: var(--px100);
            }
        }
    }
}


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

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

@media print,
screen and (min-width: 1024px) {
    body:not(.home) {
        margin-top: 100px;
    }

    #header {
        position: absolute;
        top: 0;
        left: 0;
        background: transparent;
        height: 100px;
    }

    body:not(.home) #header {
        background: var(--header-background);
    }

    #header .logo {
        padding: 5px 20px;
        margin-left: 0;
        background: #ffffff00;
        -webkit-backdrop-filter: blur(30px);
        backdrop-filter: blur(30px);
    }

    #header .logo img {
        max-width: 360px;
        max-height: 80px;
    }

    .sticky-header #header-layout {
        background: #ffffff00;
        -webkit-backdrop-filter: blur(30px);
        backdrop-filter: blur(30px);
    }

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

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

    nav#mainNav ul li a b {
        background: #ffffff;
        padding: 0px 3px 2px;
    }

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

    nav#mainNav ul li a:active,
    nav#mainNav ul li a:hover {
        background: transparent;

        b {
            background: var(--color-primary);
        }
    }

    nav#mainNav ul li a:active,
    nav#mainNav ul li a:hover,
    nav#mainNav ul li.current-menu-ancestor a,
    nav#mainNav ul li.current-menu-item a,
    nav#mainNav ul li.current-menu-parent a {
        background: transparent;
    }

    nav#mainNav ul li.current-menu-item a b,
    nav#mainNav ul li a:hover b,
    nav#mainNav ul li a:active b,
    nav#mainNav ul li.current-menu-parent a b,
    nav#mainNav ul li a:active span,
    nav#mainNav ul li a:hover span,
    nav#mainNav ul li.current-menu-item a span,
    nav#mainNav ul li.current-menu-parent a span {
        color: var(--header-color-primary);
    }

    .sticky-header #header>.inner {
        background: transparent;
        -webkit-box-shadow: none;
        box-shadow: none;
    }

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

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

    #header .logo img {
        max-width: 250px;
    }

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

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

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

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


.spmenu #menu p {
    color: var(--color-font);
}

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

}

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

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

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

@media only screen and (max-width: 1023px) {
    body.mobile {
        margin-top: 0;
    }

    .mobile.home #header {
        background: transparent;
        box-shadow: none;
    }

    body.mobile nav#mainNav a.menuOpen {
        background-image: none;
        border: none;
        border-top: 1px solid #ddd;
    }

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

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

#header {
    .c-cta {
        background: transparent;
        padding: 0;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        max-width: none;
        margin: 0 var(--px12);
    }

    .c-cta__btnlist {
        gap: var(--px12);
    }

    .c-cta__btn {
        width: 240px;
        min-height: 80px;
    }

    .c-cta__btn--tel {
        color: var(--color-bk);
        font-size: var(--px20);
        border: 1px solid var(--color-bk);
        border-radius: var(--px80);
        background: #ffffff0d;
        -webkit-backdrop-filter: blur(30px);
        backdrop-filter: blur(10px);

        &:hover {
            color: var(--color-wt);
            opacity: 1;
            background: #444444;
            text-decoration: none;
        }
    }
}

@media only screen and (max-width: 1023px) {
    #header {
        .c-cta {
            width: 100%;

            .c-cta__btnlist {
                margin: 8px 0;
                padding: 0;
            }

            .c-cta__btnitem {
                width: 48%;

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

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


#footer {
    color: var(--footer-color-font);
    font-size: var(--px14);
    padding: 0;
    background: transparent;
    max-width: 1700px;
    margin: var(--px20) auto var(--px12);
    width: 90%;

    .footnav ul>li::before,
    .footnav ul>li::after {
        content: none;
    }

    .footer__top {

        display: -webkit-box;

        display: -ms-flexbox;

        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;

        #footer .footer__logo:not(:last-child),
        .footer__logo {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
            -ms-flex-direction: column;
            flex-direction: column;
            gap: var(--px12);
            text-align: left;
            margin-bottom: var(--px12);
        }

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

            &:hover {
                opacity: 0.7;
            }
        }

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

        /* nav */

        .footnav ul {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: start;
            -ms-flex-pack: start;
            justify-content: flex-start;
            -webkit-box-align: start;
            -ms-flex-align: start;
            align-items: flex-start;
            -ms-flex-wrap: wrap;
            flex-wrap: wrap;
            padding: 0;
            gap: var(--px14);
        }

        li.menu-item {
            display: inline-block;
            text-align: left;
            width: -webkit-fit-content;
            width: -moz-fit-content;
            width: fit-content;
            padding: 0;
            margin: 0;
            line-height: 1;
        }

        li.menu-item a {
            color: var(--color-font);
            line-height: 1.2;
            font-size: var(--px14);
            padding: 5px;
            display: inline-block;
            position: relative;
            font-weight: 400;
            -webkit-transition: 0.3s all;
            -o-transition: 0.3s all;
            -webkit-transition: 0.3s all;
            -o-transition: 0.3s all;
            transition: 0.3s all;

            &:hover {
                opacity: 0.7;
                text-decoration: none;
            }
        }

        li.menu-item a:first-of-type>a {
            font-size: var(--px40);
        }

        ul.sub-menu {
            padding: var(--px12) 0 0 0 !important;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: horizontal;
            -webkit-box-direction: normal;
            -ms-flex-direction: row;
            flex-direction: row;
            -ms-flex-wrap: wrap;
            flex-wrap: wrap;
            -webkit-box-pack: start;
            -ms-flex-pack: start;
            justify-content: flex-start;
            -webkit-box-align: start;
            -ms-flex-align: start;
            align-items: flex-start;
            gap: var(--px12);
        }

        ul.sub-menu li {
            padding: 0;
            margin: 0;
        }

        ul.sub-menu li a {
            padding: 5px;
            font-size: var(--px14);
            font-weight: 400;

            &:hover {
                opacity: 0.7;
                text-decoration: none;
            }
        }

        /*------navend-----------*/

    }

    #copyright {
        margin: 0;
        background: transparent;
        text-align: right;
    }
}

@media print,
screen and (max-width: 768px) {
    #footer {
        .footer__top {
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
            -ms-flex-direction: column;
            flex-direction: column;

            .footnav ul {
                gap: 2px 6px;
                margin-bottom: 8px;
            }
        }

        #copyright {
            text-align: left;
        }
    }
}

/*=============================================
CTA
=============================================*/

.c-cta {
    background: #444444;
    max-width: 1820px;
    width: 96%;
    margin: 0 auto;
    border-radius: var(--px40);
    padding: var(--px80) var(--px40);

    .c-cta__inner {
        color: var(--color-wt);
        padding: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        gap: var(--px60);
        width: 100%;
        margin: 0 auto;
    }

    .c-cta__head {
        text-align: center;
        margin-left: 8%;
        font-family: var(--font-family03);
        font-weight: 800;
        font-size: var(--px80);
        line-height: 110%;
        letter-spacing: 0.01em;
        color: var(--color-wt);
        -webkit-transform: matrix(1, 0, -0.22, 0.97, 0, 0);
        -ms-transform: matrix(1, 0, -0.22, 0.97, 0, 0);
        transform: matrix(1, 0, -0.22, 0.97, 0, 0);
    }

    .c-cta__column {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        gap: var(--px60);
    }

    .c-cta__title {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        padding: 0px;
        gap: var(--px12);
        font-family: var(--font-family02);
        font-style: normal;
        font-weight: 700;
        font-size: var(--px60);
        line-height: 100%;
        color: #AEAEAE;

    }

    .c-cta__subtitle {
        font-family: var(--font-family01);
        font-style: normal;
        font-weight: 900;
        font-size: var(--px20);
        line-height: 140%;
        color: #AEAEAE;
    }

    .c-cta__btn-body {
        line-height: 1.2;

        b {
            font-family: var(--font-family02);
            letter-spacing: 0.01em;
        }
    }

    .c-cta__btnlist {
        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: var(--px20);
        margin: 0;
        -ms-flex-item-align: stretch;
        -ms-grid-row-align: stretch;
        align-self: stretch;
    }

    .c-cta__btnitem {
        margin: 0;
        height: 100%;
    }

    .c-cta__btn {
        width: 320px;
        height: 100%;
        min-height: 68px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
        text-align: center;
        text-decoration: none;
        background: var(--color-grad);
        background-size: 100% 100%;
        border-radius: 50vh;
        padding: var(--px16) var(--px30);
        font-size: var(--px16);
        color: var(--color-font);
        gap: 2px;
        -webkit-transition: 0.3s all;
        -o-transition: 0.3s all;
        -webkit-transition: 0.3s all;
        -o-transition: 0.3s all;
        transition: 0.3s all;

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

        &.c-cta__btn--tel {
            color: var(--color-wt);
            font-size: var(--px24);
            border: 1px solid var(--color-wt);
            background: transparent;

            .c-cta__btn-title {
                font-size: var(--px14);
                font-weight: 500;
                text-align: center;
            }

            b {
                font-weight: 400;
                font-family: var(--font-family04);
            }

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

        &.c-cta__btn--mail {
            font-size: var(--px16);
            background: var(--color-gradbtn);
            background-position: 0% 50%;
            background-size: 200% auto;
            color: var(--color-bk);
        }

        i {
            font-size: var(--px20);
        }

        &:hover {
            color: var(--color-bk);
            opacity: 1;
            background-position: 100% 50%;
            text-decoration: none;
        }
    }
}

@media print,
screen and (min-width: 1599px) {
    br.c-cta__headbr {
        display: none;
    }
}

@media print,
screen and (max-width: 1240px) {
    .c-cta {
        .c-cta__column {
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
            -ms-flex-direction: column;
            flex-direction: column;
            -webkit-box-pack: start;
            -ms-flex-pack: start;
            justify-content: flex-start;
            -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center;
            gap: var(--px30);
        }

        .c-cta__title {
            -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center;
            -webkit-box-orient: horizontal;
            -webkit-box-direction: normal;
            -ms-flex-direction: row;
            flex-direction: row;
        }

        .c-cta__btnlist {
            -webkit-box-pack: center;
            -ms-flex-pack: center;
            justify-content: center;
            -webkit-box-align: stretch;
            -ms-flex-align: stretch;
            align-items: stretch;
            -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        }

        .c-cta__btnitem {
            height: inherit;
        }
    }
}

@media print,
screen and (max-width: 768px) {
    .c-cta__btn {
        width: 100%;
        max-width: 320px;
        margin: 0 auto;
    }
}

@media print,
screen and (max-width: 640px) {
    .c-cta {
        padding: var(--px80) var(--px40);

        .c-cta__inner {
            padding: 0;
        }

        .c-cta__head {
            font-size: var(--px60);
            margin-left: 0.6em;
        }

        .c-cta__btnitem {
            width: 100%;
        }

        .c-cta__btn {
            max-width: 320px;
            width: 100%;
        }
    }
}

@media print,
screen and (max-width: 375px) {
    .c-cta {
        .c-cta__title {
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
            -ms-flex-direction: column;
            flex-direction: column;
            gap: 2px;
        }
    }
}


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


/*------リストレイアウトパーツ------*/

.post li {
    line-height: 1.8;
}

.post ul.list_check li {
    font-size: var(--px14);
    padding-left: var(--px30);
    font-weight: 600;
}

.post ul.list_check li+li {
    margin-top: var(--px12);
}

.post ul.list_check>li:before {
    content: '\f058';
    font-size: var(--px18);
    top: -3px;
}

@media print,
screen and (max-width: 640px) {
    .post ul.list_check li {
        padding-left: var(--px40);
    }

    .post ul.list_check>li:before {
        top: 0;
    }
}


/*---------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: 46%;
        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: 31%;
        margin-bottom: 2%;

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

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

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

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

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

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

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

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


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

.post {

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

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

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

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

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

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

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

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

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

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

/*------ボタン-c-linkBbtn base-----*/

.post {

    .c-linkBtnarea {
        margin: var(--px40) 0 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
    }

    .linkBtn {
        position: relative;
        display: inline-block;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        min-width: var(--px240);
        font-size: var(--px16);
        color: var(--color-font);
        line-height: 1.4;
        text-align: left;
        background: var(--color-gradbtn);
        background-position: 0% 50%;
        background-size: 200% auto;
        font-weight: 500;
        padding: var(--px20) 80px var(--px24) 7px;
        margin-top: var(--px30);
        border-bottom: solid 1px;
        border-radius: 0;
        -webkit-transition: 0.3s all;
        -o-transition: 0.3s all;
        -webkit-transition: 0.3s all;
        -o-transition: 0.3s all;
        transition: 0.3s all;

        &::after {
            content: none;
        }

        &:hover {
            color: var(--color-primary);
            background-position: 100% 50%;
        }
    }
}

/*------ボタン-c-linkBbtn mini-----*/

.post {

    .c-linkBtn__min {
        position: relative;
        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;
        font-weight: 600;
        color: var(--color-font);
        font-family: var(--font-family01);
        text-align: left;
        -webkit-transition: 0.3s all;
        -o-transition: 0.3s all;
        transition: 0.3s all;
        gap: var(--px16);

        &:after {
            content: "";
            filter: brightness(0) invert(1);
            background: url(/wp-content/uploads/ico_arrow.svg) no-repeat;
            background-size: contain;
            width: 20px;
            height: 20px;
            position: absolute;
            left: 20px;
            top: 50%;
            color: #fff;
            -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
            -webkit-transition: 0.3s all;
            -o-transition: 0.3s all;
            transition: 0.3s all;
        }

        &::before {
            content: "";
            background: var(--color-font);
            width: 40px;
            height: 40px;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: center;
            -ms-flex-pack: center;
            justify-content: center;
            -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center;
            border-radius: 50vh;
            -webkit-transition: 0.3s all;
            -o-transition: 0.3s all;
            transition: 0.3s all;
        }

        &:hover {
            color: var(--color-font);

            &:after {
                filter: inherit;
            }

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

@media print,
screen and (max-width: 786px) {
    .post {
        .c-linkBtn__min {
            &:after {
                width: 14px;
                height: 14px;
                left: 15px;
            }

            &::before {
                width: 30px;
                height: 30px;
            }
        }
    }
}

/*------ボタン-c-link-btn base-----*/

.post {
    .c-link-btn-area {
        margin-top: var(--px40);
    }

    .c-link-btn {
        font-family: var(--font-family01);
        font-style: normal;
        font-weight: 700;
        font-size: var(--px18);
        line-height: 140%;
        text-align: center;
        color: var(--color-font);
        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: var(--px16);
        -webkit-transition: 0.3s all;
        -o-transition: 0.3s all;
        transition: 0.3s all;
    }
}

/*------ボタン-c-link-btn rote-----*/

.post {

    .c-link-btn--rote {
        padding: 5px var(--px40) 5px 0;
        border-radius: 50vh;

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

        .c-link-btn--roteitem {
            width: 100px;
            height: 100px;
            position: relative;
        }

        .c-link-btn--roteitem:before {
            content: "";
            background: url(/wp-content/uploads/ico_arrow.svg) no-repeat;
            background-size: contain;
            aspect-ratio: 1 / 1;
            width: 22px;
            height: 22px;
            position: absolute;
            z-index: 1;
            left: 50%;
            top: 50%;
            -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
        }

        .c-link-btn--roteitem:after {
            content: "";
            background: url(/wp-content/uploads/ico_circle.svg) no-repeat;
            background-size: contain;
            background-position: 50% 50%;
            aspect-ratio: 1 / 1;
            width: 100%;
            height: 100%;
            position: absolute;
            z-index: 0;
            left: 50%;
            top: 50%;
            -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
            -webkit-transform-origin: center center;
            -ms-transform-origin: center center;
            transform-origin: center center;
            -webkit-animation: rotatebtn 15s linear infinite;
            animation: rotatebtn 15s linear infinite;
            -webkit-transition: all 0.3s;
            -o-transition: all 0.3s;
            transition: all 0.3s;
        }

        &:hover .c-link-btn--roteitem:after {
            width: 80%;
            height: 80%;
        }
    }
}

@-webkit-keyframes rotatebtn {
    0% {
        -webkit-transform: translate(-50%, -50%) rotate(0);
        transform: translate(-50%, -50%) rotate(0);
    }

    100% {
        -webkit-transform: translate(-50%, -50%) rotate(360deg);
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

@keyframes rotatebtn {
    0% {
        -webkit-transform: translate(-50%, -50%) rotate(0);
        transform: translate(-50%, -50%) rotate(0);
    }

    100% {
        -webkit-transform: translate(-50%, -50%) rotate(360deg);
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

@media print,
screen and (max-width: 768px) {
    .post {
        .c-link-btn--rote {
            .c-link-btn--roteitem {
                width: 80px;
                height: 80px;
            }
        }
    }
}

@media print,
screen and (max-width: 414px) {
    .post {
        .c-link-btn--rote {
            .c-link-btn--roteitem {
                width: 60px;
                height: 60px;

                &:before {
                    width: 14px;
                    height: 14px;
                }
            }
        }
    }
}

/*------ボタン-c-link-btn strong-----*/

.post {
    .c-link-btn--strong {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        padding: var(--px16) var(--px40) var(--px16) var(--px20);
        gap: var(--px20);
        width: 360px;
        background: var(--color-primary);
        border-radius: 50vh;
        color: var(--color-font);
        margin-top: var(--px16);
        -webkit-transition: 0.3s all;
        -o-transition: 0.3s all;
        transition: 0.3s all;

        .c-link-btn--roteitem:before {
            content: "";
            background: url(/wp-content/uploads/ico_hand.svg) no-repeat;
            background-size: contain;
            width: 30px;
            height: 30px;
            top: calc(50% + 4px);
            left: calc(50% + 2px);
        }

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

@media print,
screen and (max-width: 640px) {
    .post {
        .c-link-btn--strong {
            width: 360px;
            width: 100%;
            max-width: 320px;
            padding: var(--px16) var(--px80) var(--px16) var(--px20);
        }
    }
}

@media print,
screen and (max-width: 414px) {
    .post {
        .c-link-btn--strong {
            margin-top: 0;

            .c-link-btn--roteitem:before {
                width: 18px;
                height: 18px;
                top: calc(50% + 3px);
            }
        }
    }
}

.post {
    .c-subpagebtnarea.c-subpagebtnarea--center {
        display: flex;
        justify-content: center;

        .c-link-btn--strong {
            text-align: left;
            width: -webkit-fit-content;
            width: -moz-fit-content;
            width: fit-content;
        }
    }
}

/*----------------------------
リンクボタンリスト
-----------------------------*/
.post {

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

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

        .c-btnlist {
            margin-bottom: var(--px16);
            text-align: center;
            position: relative;
        }

        .c-btnlist__btn {
            position: relative;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: horizontal;
            -webkit-box-direction: normal;
            -ms-flex-direction: row;
            flex-direction: row;
            -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center;
            -webkit-box-pack: start;
            -ms-flex-pack: start;
            justify-content: flex-start;
            padding: var(--px18) 45px var(--px18) var(--px20);
            gap: var(--px20);
            height: 100%;
            width: 100%;
            min-width: 200px;
            border-radius: var(--px80);
            font-family: var(--font-family01);
            font-weight: 500;
            font-size: var(--px16);
            text-align: left;
            line-height: 1.4;
            color: var(--color-font);
            -webkit-transition: all 0.3s;
            -o-transition: all 0.3s;
            transition: all 0.3s;
            background: var(--color-wt);
            border: solid 1px;

            &.c-btnlist__btn--external:after {
                content: "\f08e";
                font-family: "Font Awesome 6 Free";
                font-weight: 900;
                font-size: var(--px16);
                line-height: 1;
                color: var(--color-font);
                position: absolute;
                right: 15px;
                top: 50%;
                -webkit-transform: translateY(-50%);
                -ms-transform: translateY(-50%);
                transform: translateY(-50%);
                width: auto;
                height: auto;
                border: none;
                margin: 0;
            }

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

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

        &.c-btnlist--anchor {
            .c-btnlist__btn {

                &:after {
                    content: "\f13a";
                    font-family: "Font Awesome 6 Free";
                    font-weight: 900;
                    font-size: var(--px16);
                    line-height: 1;
                    color: var(--color-font);
                    position: absolute;
                    right: 15px;
                    top: 50%;
                    -webkit-transform: translateY(-50%);
                    -ms-transform: translateY(-50%);
                    transform: translateY(-50%);
                    width: auto;
                    height: auto;
                    border: none;
                    margin: 0;
                }

                &:hover {
                    &:after {
                        color: var(--color-font);
                    }
                }
            }
        }
    }
}

@media print,
screen and (max-width: 640px) {
    .post {
        .c-btnlist {
            .c-btnlist__btn {
                max-width: none;
                width: 100%;
                min-width: 160px;
                line-height: 1.4;
                font-size: var(--px14);
            }
        }
    }
}

/*================================================
common parts
================================================*/

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

/*------h1タイトル
--------------------------------------------*/
h1.title,
.post h1,
header#h1Header h1.title {
    font-size: min(calc(32px + (1vw - 19.2px) * 0.5178), 32px);
    /* -- 1920 32px 375 24px -- */
    font-weight: 600;
    letter-spacing: 0.05em;
    text-align: center;
    text-shadow: none;
    padding: 0;
    z-index: 20;
}

.post h1 {
    display: block;
    background: none;
    border: none;
    margin: 0 0 min(calc(40px + (1vw - 19.2px) * 0.9709), 40px);
    /* -- 1920 40px 375 25px -- */
    padding: 0;
    color: inherit;
    font-family: var(--font-family02);
    font-weight: 700;
    font-size: min(calc(120px + (1vw - 19.2px) * 5.5663), 120px);
    /* -- 1920 120px 375 34px -- */
    text-align: left;
    line-height: 1;
    letter-spacing: 0.075em;
}

.post h1 .en {
    display: block;
    font-family: var(--font-family02);
    font-weight: 800;
    letter-spacing: normal;
}

.post h1 .ja {
    display: block;
    margin-top: min(calc(25px + (1vw - 19.2px) * 0.9709), 25px);
    /* -- 1920 25px 375 10px -- */
    font-size: min(calc(36px + (1vw - 19.2px) * 1.165), 36px);
    /* -- 1920 36px 375 18px -- */
    letter-spacing: 0.075em;
}

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

h1.title {
    display: block;
    position: relative;
    background: none;
    border: none;
    margin: 0 auto min(calc(100px + (1vw - 19.2px) * 4.2071), 100px);
    /* -- 1920 100px 375 35px -- */
    padding: 0 0 min(calc(30px + (1vw - 19.2px) * 0.6472 + 10px), 40px);
    /* -- 1920 30px + 10px 375 20px + 10px -- */
    font-family: var(--font-family02);
    font-weight: 900;
    font-size: min(calc(60px + (1vw - 19.2px) * 2.3301), 60px);
    /* -- 1920 60px 375 24px -- */
    text-align: center;
    line-height: 1.3;
    letter-spacing: 0.08em;
}

h1.title::before,
h1.title::after {
    content: "";
    display: block;
    position: absolute;
    top: auto;
    bottom: 0;
    left: 50%;
    right: auto;
    background: none;
    border: none;
    height: 10px;
}

h1.title::before {
    background-color: var(--color-primary);
    width: 120px;
    transform: translateX(-50%);
}

h1.title::after {
    background-color: var(--color-secondary);
    width: 60px;
    transform: none;
}

h1.title .small {
    font-size: min(calc(36px + (1vw - 19.2px) * 1.2945), 36px);
    /* -- 1920 36px 375 16px -- */
}

.part-time-template-default h1.title,
.employee-template-default h1.title {
    font-size: min(calc(40px + (1vw - 19.2px) * 1.4239), 40px);
    /* -- 1920 40px 375 18px -- */
}

@media screen and (max-width: 768px) {
    h1.title {
        padding: 0 0 min(calc(30px + (1vw - 19.2px) * 0.6472 + 8px), 38px);
        /* -- 1920 30px + 8px 375 20px + 8px -- */
        line-height: 1.35;
        letter-spacing: 0.06em;
    }

    h1.title::before,
    h1.title::after {
        height: 6px;
    }

    h1.title::before {
        width: 80px;
    }

    h1.title::after {
        width: 40px;
    }
}

/*------h2タイトル
--------------------------------------------*/
.post h2 {
    background: var(--color-font);
    border: none;
    margin: 0 0 var(--px40);
    padding: var(--px16) var(--px20);
    color: #fff;
    font-family: var(--font-family02);
    font-size: var(--px40);
    font-weight: 700;
    text-align: left;
    line-height: 1.5;
    letter-spacing: normal;
}

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

/*------h3タイトル
--------------------------------------------*/
.post h3 {
    background: none;
    border: none;
    border-bottom: 4px solid var(--color-font);
    margin: 0 0 var(--px30);
    padding: 0 7px 0.2em;
    font-family: var(--font-family02);
    font-weight: 700;
    font-size: var(--px30);
    text-align: left;
    line-height: 1.6;
    letter-spacing: normal;
}

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

/*------h4タイトル
--------------------------------------------*/
.post h4 {
    position: relative;
    font-size: var(--px18);
    font-weight: 600;
    padding: 0 0 0 1.2em;
    margin: var(--px30) auto var(--px16);
    border: none;
}

.post h4::before {
    content: "";
    position: absolute;
    width: 0.7em;
    height: 2px;
    background: var(--color-font);
    top: 0.8em;
    left: 0;
}

/*------normal_ttl
--------------------------------------------*/

.post .normal_ttl {
    background: none;
    border: none;
    display: block;
    margin: 0 auto min(calc(50px + (1vw - 19.2px) * 1.9417), 50px);
    padding: 0;
    color: var(--color-font);
    font-family: var(--body-font-family);
    font-weight: 900;
    font-size: min(calc(30px + (1vw - 19.2px) * 0.7767), 30px);
    line-height: 1.55;
    letter-spacing: 0.05em;
    text-align: left;
}

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

/* -- color_border_ttl -- */
.post .color_border_ttl {
    display: block;
    position: relative;
    background: none;
    border: none;
    margin: 0 0 min(calc(50px + (1vw - 19.2px) * 1.6181), 50px);
    /* -- 1920 50px 375 25px -- */
    padding: 0 0 0 30px;
    color: inherit;
    font-family: var(--body-font-family-zenkaku);
    font-weight: 900;
    font-size: min(calc(36px + (1vw - 19.2px) * 0.9709), 36px);
    /* -- 1920 36px 375 21px -- */
    text-align: left;
    letter-spacing: normal;
}

.post .color_border_ttl::before {
    content: "";
    display: block;
    position: absolute;
    top: 0.15em;
    bottom: 0;
    left: 0;
    right: auto;
    border: none;
    border-left: 5px solid var(--color-primary);
    border-right: 5px solid var(--color-secondary);
    width: 15px;
    height: auto;
    transform: none;
}

.post .color_border_ttl::after {
    content: none;
}

@media screen and (max-width: 768px) {
    .post .color_border_ttl {
        padding: 0 0 0 23px;
    }

    .post .color_border_ttl::before {
        border-left: 4px solid var(--color-primary);
        border-right: 4px solid var(--color-secondary);
        width: 12px;
    }
}

/*----------------------------------------------
title parts
-----------------------------------------------*/

/*------read title (c-read-title)-----*/

.post {
    .c-read-title {
        font-size: var(--px100);
        font-family: var(--font-family03);
        font-weight: 700;
        font-style: normal;
        line-height: 1.15;
        color: var(--color-bk);
        background: transparent;
        letter-spacing: -0.06em;
        -webkit-transform: matrix(1, 0, -0.22, 0.97, 0, 0);
        -ms-transform: matrix(1, 0, -0.22, 0.97, 0, 0);
        transform: matrix(1, 0, -0.22, 0.97, 0, 0);
        margin: 0;
        padding: 0;

        &::after {
            content: none;
        }

        .c-read-title__strong-text {
            position: relative;
            display: inline-block;

            &::before {
                content: "";
                position: absolute;
                background: url(/wp-content/uploads/check_circle.svg) no-repeat;
                background-size: contain;
                width: 165%;
                height: 165%;
                left: 59%;
                top: 66%;
                -webkit-transform: translate(-50%, -50%);
                -ms-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%);
                z-index: -1;
            }
        }
    }
}

/*------label title (c-label-title)-----*/

.post {
    .c-title-area:has(.c-label-title) {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: 0;
        padding: 0;

        .c-label-title {
            font-family: var(--font-family02);
            font-weight: 700;
            font-size: var(--px60);
            line-height: 1;
            letter-spacing: 0;
            margin: 0 0 var(--px18);
            padding-top: 0;
            padding-bottom: 0;
            padding-left: 3px;
            padding-right: 3px;
            background: var(--color-font);
            color: var(--color-wt);
            border: none;
            position: relative;

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

            &.c-label-title--large {
                font-size: var(--px80);
            }
        }

        .c-label-title__sub-text {
            font-size: var(--px24);
            font-family: var(--font-family01);
            color: var(--color-font);
            font-weight: 700;
            font-style: normal;
            line-height: 1.4;
            letter-spacing: 0;
            margin: var(--px12) 0 var(--px30);
        }
    }
}

@media print,
screen and (max-width: 640px) {
    .post {
        .c-title-area:has(.c-label-title) {
            .c-label-title {
                &.c-label-title--large {
                    font-size: var(--px60);
                }
            }
        }
    }
}

/*----------------------------------------------
コンテンツリスト
-----------------------------------------------*/

.post {
    .c-contentlist__numlist {
        counter-increment: number;
        list-style: none !important;

        .c-contentlist__numlistitem {
            position: relative;

            &:before {
                content: "#" counter(number, decimal-leading-zero);
                position: absolute;
                left: 5%;
                top: -30px;
                font-family: var(--font-family02);
                font-style: italic;
                font-weight: 400;
                font-size: var(--px60);
                line-height: 100%;
                color: var(--color-font);
                line-height: 1;
                text-shadow: 5px -6px 30px rgb(255 255 255);
            }
        }
    }
}

@media print,
screen and (max-width: 768px) {
    .post {
        .c-contentlist__numlist {
            .c-contentlist__numlistitem {
                &:before {
                    top: -12px;
                    text-shadow: 5px -6px 8px rgb(255 255 255);
                }
            }
        }
    }
}

/*------コンテンツリスト------*/

.post {

    .c-contentlist--wide {
        margin: var(--px40) auto 0;

        .c-contentlist__item {
            position: relative;
            padding-top: 0;

            &+.c-contentlist__item {
                margin-top: var(--px80);
            }

            &:last-child {
                margin-bottom: var(--px80);
            }

            .c-contentlist__inner {
                position: relative;
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-pack: center;
                -ms-flex-pack: center;
                justify-content: center;
                gap: var(--px80);
                -webkit-box-align: center;
                -ms-flex-align: center;
                align-items: center;
                padding: 200px 0 0;
                margin: 0 auto 40px;
                border-radius: var(--px16);
                z-index: 2;

                .c-contentlist__body {
                    display: -webkit-box;
                    display: -ms-flexbox;
                    display: flex;
                    -webkit-box-orient: vertical;
                    -webkit-box-direction: normal;
                    -ms-flex-direction: column;
                    flex-direction: column;
                    -webkit-box-pack: center;
                    -ms-flex-pack: center;
                    justify-content: center;
                    -webkit-box-align: start;
                    -ms-flex-align: start;
                    align-items: flex-start;
                    padding: var(--px100) var(--px60) var(--px80);
                    max-width: 540px;
                    width: 55%;
                    background: var(--color-wt);
                    -webkit-box-shadow: var(--px20) var(--px20) var(--px60) rgba(0, 0, 0, 0.15);
                    box-shadow: var(--px20) var(--px20) var(--px60) rgba(0, 0, 0, 0.15);
                    z-index: 1;
                    margin-left: 0;
                    margin-right: auto;

                    .c-contentlist__ttlarea {
                        margin-bottom: var(--px24);
                    }

                    .c-contentlist__title {
                        display: -webkit-box;
                        display: -ms-flexbox;
                        display: flex;
                        -webkit-box-orient: vertical;
                        -webkit-box-direction: normal;
                        -ms-flex-direction: column;
                        flex-direction: column;
                        -webkit-box-pack: start;
                        -ms-flex-pack: start;
                        justify-content: flex-start;
                        -webkit-box-align: start;
                        -ms-flex-align: start;
                        align-items: flex-start;
                        gap: var(--px12);
                        font-family: var(--font-family01);
                        font-weight: 900;
                        font-size: var(--px30);
                        line-height: 1.6;
                        color: var(--color-font);
                        padding: 0;
                        border: none;
                        margin: 0 0 var(--px20);
                    }

                    .c-contentlist__body-on-img {
                        position: absolute;
                        bottom: -40px;
                        right: -17%;
                        max-width: calc(var(--px240) + var(--px50));
                    }
                }

                .c-contentlist__media {
                    width: 72%;
                    height: 90%;
                    border-radius: 0 var(--px160) 0 0;
                    position: absolute;
                    top: 0;
                    right: 0;
                    z-index: 1;
                    overflow: hidden;

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

                    .c-contentlist__ontxt {
                        position: absolute;
                        right: var(--px24);
                        bottom: var(--px24);
                        z-index: 1;

                        .c-label-list {
                            display: -webkit-box;
                            display: -ms-flexbox;
                            display: flex;
                            gap: 24px;
                            -webkit-box-pack: end;
                            -ms-flex-pack: end;
                            justify-content: flex-end;
                            -webkit-box-align: center;
                            -ms-flex-align: center;
                            align-items: center;
                            -ms-flex-wrap: wrap;
                            flex-wrap: wrap;
                            margin-bottom: var(--px20);
                        }

                        .c-label-list__item {
                            position: relative;
                            padding: 3px 6px;
                            background: var(--color-primary);
                            color: var(--color-font);
                            border-radius: 0;
                            font-weight: 700;
                            font-size: var(--px24);
                            line-height: 1.4;
                            letter-spacing: 0.05em;
                            color: var(--color-font);
                            display: block;
                            width: -webkit-fit-content;
                            width: -moz-fit-content;
                            width: fit-content;
                            text-align: right;

                            &:not(:last-child):before {
                                content: "×";
                                color: var(--color-font);
                                font-size: 18px;
                                position: absolute;
                                right: -21px;
                                top: 50%;
                                transform: translateY(-50%);
                            }
                        }

                        .c-contentlist__title {
                            font-family: var(--font-family04);
                            font-style: normal;
                            font-weight: 800;
                            font-size: var(--px80);
                            line-height: 100%;
                            color: var(--color-primary);
                            text-align: right;
                            text-shadow: 5px 3px 9px rgb(0 0 0 / 41%);
                        }
                    }
                }
            }

            &:nth-of-type(even) {
                .c-contentlist__inner {

                    .c-contentlist__media {
                        left: 0;
                        right: inherit;

                        .c-contentlist__ontxt {
                            right: inherit;
                            left: var(--px24);

                            .c-label-list {
                                -webkit-box-pack: start;
                                -ms-flex-pack: start;
                                justify-content: flex-start;
                            }

                            .c-contentlist__title,
                            .c-label-list__item {
                                text-align: left;
                            }
                        }
                    }

                    .c-contentlist__body {
                        margin-left: auto;
                        margin-right: 0;

                        .c-contentlist__body-on-img {
                            position: absolute;
                            bottom: inherit;
                            right: 10%;
                            max-width: var(--px200);
                            top: -20%;
                        }
                    }
                }
            }
        }
    }
}

@media print,
screen and (max-width: 1240px) {
    .post {
        .c-contentlist--wide {
            .c-contentlist__item {
                .c-contentlist__inner {
                    width: 95%;
                    display: -webkit-box;
                    display: -ms-flexbox;
                    display: flex;
                    -webkit-box-orient: vertical;
                    -webkit-box-direction: normal;
                    -ms-flex-direction: column;
                    flex-direction: column;
                    -webkit-box-pack: end;
                    -ms-flex-pack: end;
                    justify-content: flex-end;
                    -webkit-box-align: end;
                    -ms-flex-align: end;
                    align-items: flex-end;
                    gap: 0;
                    padding: 0;

                    .c-contentlist__body {
                        width: 80%;
                        max-width: none;
                        position: relative;
                        margin-top: -7%;

                        .c-contentlist__body-on-img {
                            right: -8%;
                            max-width: 25%;
                        }
                    }

                    .c-contentlist__media {
                        position: relative;
                        width: 90%;

                        .c-contentlist__ontxt {
                            bottom: 20%;
                        }
                    }
                }

                &:nth-of-type(2n) {
                    .c-contentlist__inner {
                        .c-contentlist__body-on-img {
                            right: 2%;
                            max-width: 19%;
                        }
                    }
                }
            }
        }
    }
}

@media print,
screen and (max-width: 768px) {
    .post {
        .c-contentlist--wide {
            .c-contentlist__item {
                .c-contentlist__inner {
                    width: 100%;
                    margin: 0 auto;

                    .c-contentlist__body {
                        width: 95%;
                    }

                    .c-contentlist__media {
                        img {
                            aspect-ratio: 4 / 3;
                        }

                        .c-contentlist__ontxt {
                            bottom: 15%;

                            .c-contentlist__title {
                                font-size: var(--px60);
                            }

                            .c-label-list {
                                flex-direction: column;
                                align-items: flex-end;
                                gap: 8px;
                                margin-right: 1em;
                            }

                            .c-label-list__item {
                                font-size: var(--px18);

                                &:not(:last-child):before {
                                    content: "×";
                                    color: var(--color-font);
                                    font-size: 14px;
                                    position: absolute;
                                    right: -17px;
                                    top: 50%;
                                    transform: translateY(-50%);
                                }
                            }
                        }
                    }
                }

                &:nth-of-type(2n) {
                    .c-contentlist__inner {
                        .c-contentlist__media {
                            margin-right: auto;

                            .c-contentlist__ontxt {
                                .c-label-list {
                                    align-items: flex-start;
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

@media print,
screen and (max-width: 640px) {
    .post {
        .c-contentlist--wide {
            .c-contentlist__item {
                .c-contentlist__inner {
                    .c-contentlist__body {
                        .c-contentlist__body-on-img {
                            bottom: -9%;
                            right: -7%;
                            max-width: 170px;
                            top: inherit;
                        }
                    }
                }

                &:nth-of-type(2n) {
                    .c-contentlist__inner {
                        .c-contentlist__body {
                            .c-contentlist__body-on-img {
                                bottom: -5%;
                                right: 0%;
                                max-width: 120px;
                                top: inherit;
                            }
                        }
                    }
                }
            }
        }
    }
}

@media print,
screen and (max-width: 414px) {
    .post {
        .c-contentlist--wide {
            .c-contentlist__item {
                .c-contentlist__inner {
                    .c-contentlist__body {
                        .c-contentlist__body-on-img {
                            max-width: 120px;
                        }
                    }
                }

                &:nth-of-type(2n) {
                    .c-contentlist__inner {
                        .c-contentlist__body {
                            .c-contentlist__body-on-img {
                                max-width: 90px;
                            }
                        }
                    }
                }
            }
        }
    }
}

/*------カード コンテンツリスト------*/

.post {

    .c-contentlist--card {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        gap: 6%;

        .c-contentlist__item {
            position: relative;
            max-width: 500px;
            width: 46%;
            margin-top: 0;
            margin-bottom: 5%;
            padding-top: calc(var(--px80) / 2);

            .c-contentlist__ontxt {
                position: absolute;
                right: 12%;
                top: 0;
                font-family: var(--font-family02);
                font-size: var(--px80);
                color: var(--color-font);
                font-style: italic;
                font-weight: 700;
                line-height: 80%;
                z-index: 2;
            }

            .c-contentlist__media {
                width: 100%;
                margin: 0 auto;
                position: relative;
                padding: 5% 0 0 10%;
                -webkit-filter: drop-shadow(var(--px20) var(--px20) var(--px50) rgba(0, 21, 74, 0.2));
                filter: drop-shadow(var(--px20) var(--px20) var(--px50) rgba(0, 21, 74, 0.2));

                .u-img-area {
                    overflow: hidden;
                    aspect-ratio: 1.416 / 1;
                }

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

                .c-contentlist__media-on-img {
                    position: absolute;
                    bottom: 3%;
                    left: -3%;
                    max-width: calc(var(--px240) + var(--px50));
                }

                &:before {
                    content: "";
                    position: absolute;
                    width: 90%;
                    height: 90%;
                    left: 0px;
                    top: 0px;
                    background: -o-linear-gradient(357.24deg, #FFEF72 -1.24%, #88FFDD 102.11%);
                    background: linear-gradient(92.76deg, #FFEF72 -1.24%, #88FFDD 102.11%);
                    border-radius: var(--px80) 0px 0px 0px;
                    z-index: -1;
                }
            }

            .c-contentlist__title {
                display: inline;
                box-decoration-break: clone;
                -webkit-box-decoration-break: clone;
                font-family: var(--font-family01);
                font-weight: 700;
                font-size: var(--px30);
                line-height: 160%;
                letter-spacing: 0;
                margin: 0 0 var(--px18);
                padding: 0px 6px;
                background: var(--color-primary);
                color: var(--color-font);
                border: none;
                width: -webkit-fit-content;
                width: -moz-fit-content;
                width: fit-content;
                line-height: 2;
            }

            .c-contentlist__body {
                margin-top: var(--px20);
                height: 100%;

                .c-contentlist__desc {
                    font-family: var(--font-family01);
                    font-style: normal;
                    font-weight: 500;
                    font-size: var(--px16);
                    line-height: 200%;
                    color: var(--color-font);
                    margin-top: 4px;
                }
            }
        }
    }
}

@media print,
screen and (max-width: 1240px) {
    .post {
        .c-contentlist--card {
            gap: 4%;
            width: 90%;
            margin-left: auto;
            margin-right: auto;

            .c-contentlist__item {
                width: 48%;
            }
        }
    }
}

@media print,
screen and (max-width: 640px) {
    .post {
        .c-contentlist--card {
            .c-contentlist__item {
                width: 100%;
            }
        }
    }
}

/*------カード banner風コンテンツリスト------*/

.post {
    .c-contentlist--banner {
        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;

        .c-contentlist__item {
            position: relative;
            width: 48%;
            margin-top: var(--px50);
            margin-bottom: var(--px40);
            position: relative;

            .c-contentlist__link {
                background: transparent;
                padding: var(--px60);
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                background: #ffffff5e;
                -webkit-box-align: center;
                -ms-flex-align: center;
                align-items: center;
                -webkit-box-pack: start;
                -ms-flex-pack: start;
                justify-content: flex-start;
            }

            &:before {
                content: "";
                position: absolute;
                background: url(/wp-content/uploads/bgparts_min.jpg) no-repeat;
                background-size: cover;
                width: 100%;
                height: 100%;
                left: 0;
                bottom: 0;
                z-index: -1;
                mix-blend-mode: multiply;
            }

            &:after {
                content: "";
                position: absolute;
                background: #eee;
                width: 100%;
                height: 100%;
                left: 0;
                bottom: 0;
                z-index: -2;
            }

            .c-contentlist__body {
                position: relative;
                z-index: 1;
            }

            .c-contentlist__label {
                display: inline;
                box-decoration-break: clone;
                -webkit-box-decoration-break: clone;
                font-family: var(--font-family01);
                font-weight: 700;
                font-size: var(--px24);
                line-height: 160%;
                letter-spacing: 0;
                margin: 0 0 var(--px18);
                padding: 0px 6px;
                background: var(--color-font);
                color: var(--color-wt);
                border: none;
                line-height: 2;
            }

            .c-contentlist__title {
                font-family: var(--font-family01);
                font-style: normal;
                font-weight: 700;
                font-size: var(--px50);
                line-height: 120%;
                color: var(--color-font);
                border: none;
                margin: 8px 0 var(--px12);
                padding: 0;
            }

            .c-contentlist__media.u-img-area {
                position: absolute;
                bottom: 0;
                right: 0;
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-pack: end;
                -ms-flex-pack: end;
                justify-content: flex-end;
                -webkit-box-align: end;
                -ms-flex-align: end;
                align-items: flex-end;
                width: 80%;
                height: calc(100% + var(--px50));
                z-index: 0;
                mix-blend-mode: inherit;

                img {
                    height: 100%;
                    width: 100%;
                    -o-object-fit: contain;
                    object-fit: contain;
                    object-position: bottom right;
                }
            }

            &:first-child {
                &:after {
                    background: linear-gradient(92.76deg, #FAFFFD -1.24%, #88FFDD 102.11%);
                }

                img {
                    max-width: 482px;
                }
            }

            &:last-child {
                &:after {
                    background: linear-gradient(92.76deg, #FFFAE8 -1.24%, #D3B644 102.11%);
                }

                img {
                    max-width: 637px;
                }
            }

            &:hover {
                color: var(--color-font);

                .c-linkBtn__min {
                    &:after {
                        filter: inherit;
                    }

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

                img {
                    -webkit-transform: scale(1.02);
                    -ms-transform: scale(1.02);
                    transform: scale(1.02);
                    opacity: 1;
                }
            }
        }
    }
}

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

            .c-contentlist__item {
                width: 90%;
                margin-left: auto;
                margin-right: auto;
                margin-bottom: var(--px14);

                .c-contentlist__link {
                    padding: var(--px40);
                }

                .c-contentlist__title {
                    font-size: var(--px40);
                }

                .c-contentlist__label {
                    font-size: var(--px18);
                }
            }
        }
    }
}

@media print,
screen and (max-width: 640px) {
    .post {
        .c-contentlist--banner {
            .c-contentlist__item {
                margin-bottom: 0;

                .c-contentlist__media.u-img-area {
                    width: 60%;
                }

                &:last-child .c-contentlist__media.u-img-area {
                    width: 90%;
                }
            }
        }
    }
}

/*================================================
utility
================================================*/

.u-bg-grad-cutoff {
    position: relative;
}

.u-bg-grad-cutoff:before {
    content: "";
    width: 100%;
    height: 90%;
    background: -o-linear-gradient(357.24deg, #FFEF72 -1.24%, #88FFDD 102.11%);
    background: linear-gradient(92.76deg, #FFEF72 -1.24%, #88FFDD 102.11%);
    position: absolute;
    left: 0;
    top: 0;
    z-index: 0;
}

.post {
    .tertiary {
        color: var(--color-tertiary);
    }
}

/*------colorgrad txt-----*/

.post {
    .c-text-area--color-grad {
        font-family: var(--font-family01);
        font-style: normal;
        font-weight: 700;
        font-size: var(--px20);
        line-height: 200%;
        background: -webkit-gradient(linear, left top, right top, from(#1EC5A4), to(#A4882A));
        background: -o-linear-gradient(left, #1EC5A4 0%, #A4882A 100%);
        background: linear-gradient(90deg, #1EC5A4 0%, #A4882A 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
        text-fill-color: transparent;
        margin: 0;
        padding: 0;
    }
}

/*================================================
frontcontents
================================================*/

/*-------about-------*/

.post {
    .l-section--about {
        padding-bottom: var(--px60);

        .wrapper_content {
            max-width: 1480px;
        }

        .c-title-area {
            margin-top: var(--px20);
            margin-bottom: var(--px80);
            padding-top: 60px
        }

        .c-read-title {
            transform: matrix(1, 0, -0.31, 0.95, 0, 0);

            .c-read-title__strong-text {
                margin-left: 1em;
            }
        }

        .c-read-title__sub-text {
            position: absolute;
            left: 15%;
            top: 0;
            font-family: var(--font-family02);
            font-style: normal;
            font-weight: 700;
            font-size: var(--px200);
            line-height: 80%;
            text-align: right;
            letter-spacing: -0.08em;
            color: #EEEEEE;
            z-index: -2;
        }

        .c-image-area {
            text-align: center;

            img {
                max-width: 870px;
                width: 100%;
                margin: 0 auto;
            }
        }

        .c-text-area {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
            -ms-flex-direction: column;
            flex-direction: column;
            -webkit-box-pack: start;
            -ms-flex-pack: start;
            justify-content: flex-start;
            -webkit-box-align: start;
            -ms-flex-align: start;
            align-items: flex-start;
            gap: var(--px16);
            width: 55%;
            max-width: 500px;
            text-align: left;
        }

        .c-text-area__title {
            font-family: var(--font-family01);
            font-style: normal;
            font-weight: 900;
            font-size: var(--px40);
            line-height: 140%;
            color: var(--color-font);
        }

        .c-text-area__title--large {
            font-size: var(--px80);
            color: var(--color-tertiary);
        }

        .c-text__copy {
            display: block;
            margin: var(--px20) 0;
        }

        .c-bg-parts {
            position: absolute;
            right: 0;
            top: 0;
            z-index: 1;
            width: 50%;
        }
    }
}

@media print,
screen and (max-width: 1600px) {
    .post {
        .l-section--about {
            .c-read-title {
                font-size: var(--px120);
            }

            .c-bg-parts {
                width: 55%;
            }
        }
    }
}

@media print,
screen and (max-width: 1100px) {
    .post {
        .l-section--about {

            .flexbox {
                display: block;
            }

            .c-image-area {
                margin: 0 auto var(--px80);
            }

            .c-read-title {
                font-size: var(--px160);
            }

            .c-text-area {
                width: 90%;
                margin: 0 auto;
            }

            .c-text__copy {
                margin: var(--px40) auto 0;
                max-width: 90%;
            }
        }
    }
}

@media print,
screen and (max-width: 1100px) {
    .post {
        .l-section--about {
            .c-bg-parts {
                width: 70%;
            }
        }
    }
}

@media print,
screen and (max-width: 640px) {
    .post {
        .l-section--about {
            .c-title-area {
                margin-bottom: var(--px20);
            }
        }
    }
}

@media print,
screen and (max-width: 540px) {
    .post {
        .l-section--about {
            .c-title-area {
                padding-top: 0;
            }

            .c-read-title {
                font-size: var(--px100w);
            }

            .c-read-title__sub-text {
                font-size: var(--px160);
            }
        }
    }
}

/*-------recruit-------*/

.post {
    .l-section--recruit {
        position: relative;
        padding-bottom: 0;
        padding-top: 0;

        .c-titlewrapper {
            max-width: 1610px;
            margin: 0 auto;
            width: 90%;
            position: relative;
            padding: var(--px120) 0 0;
        }

        .wrapper_content {
            max-width: 1380px;
        }

        .c-bg-parts {
            position: absolute;
            top: -70px;
            left: 0;
            width: 53%;
            z-index: 0;
        }

        .c-title-area {
            position: relative;
            z-index: 1;
            margin-left: auto;
            width: 40%;
            max-width: 690px;
        }

        .c-read-title {
            .c-read-title__strong-text {
                &::before {
                    filter: brightness(0) invert(1);
                    width: 160%;
                    height: 154%;
                    left: 59%;
                    top: 59%;
                }
            }
        }

        .c-txt-column {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: start;
            -ms-flex-pack: start;
            justify-content: flex-start;
            -webkit-box-align: start;
            -ms-flex-align: start;
            align-items: flex-start;
            gap: 5%;
            font-weight: 600;
            margin-top: var(--px30);
        }

        .c-txt-columnhead {
            flex-shrink: 0;
        }

        .c-txt-desc {
            font-weight: 700;
        }

        .c-title-area:has(.c-label-title) {
            -ms-flex-negative: 0;
            flex-shrink: 0;
        }

        .wrapper_content:has(.c-contentlist--banner) {
            max-width: 1656px;
        }
    }
}

@media print,
screen and (max-width: 1240px) {
    .post {
        .l-section--recruit {
            .c-title-area:has(.c-label-title) {
                max-width: none;
                width: 55%;
            }

            .c-txt-column {
                -webkit-box-orient: vertical;
                -webkit-box-direction: normal;
                -ms-flex-direction: column;
                flex-direction: column;
                -webkit-box-align: start;
                -ms-flex-align: start;
                align-items: flex-start;
                -webkit-box-pack: start;
                -ms-flex-pack: start;
                justify-content: flex-start;
            }

            .c-bg-parts {
                top: -60px;
                left: -35%;
                width: 77%;
            }
        }
    }
}

@media print,
screen and (max-width: 768px) {
    .post {
        .l-section--recruit {
            .c-bg-parts {
                top: inherit;
                bottom: -40px;
            }

            .c-titlewrapper {
                padding: var(--px80) 0 0;
            }
        }
    }
}

@media print,
screen and (max-width: 540px) {
    .post {
        .l-section--recruit {
            .c-bg-parts {
                left: -52%;
                width: 96%;
            }

            .c-read-title {
                font-size: var(--px60);
            }

            .c-title-area:has(.c-label-title) {
                .c-label-title {
                    font-size: var(--px40);
                }
            }
        }
    }
}

/*-------work-------*/

.post {
    .l-section--work {
        padding: 0 0 var(--px120);

        &:before {
            content: "";
            width: 100%;
            height: 100%;
            background: url(/wp-content/uploads/bgparts.jpg.webp) no-repeat;
            background-size: cover;
            position: absolute;
            left: 0;
            bottom: 0;
            z-index: 0;
        }

        .wrapper_content {
            max-width: 1520px;
            margin-right: 13%;
            z-index: 1;
        }

        .c-txt-area {
            position: absolute;
            right: 6%;
            top: 40px;
            max-width: 560px;
            width: 40%;
            font-weight: 600;
        }

        .c-contentlist__item {
            max-width: 694px;
        }

        .c-contentlist__item:last-child {
            margin-top: 360px;
            margin-bottom: 0;
        }

        .c-bg-parts {
            width: 50%;
            height: 50%;
            max-width: 646px;
            max-height: 488px;
            position: absolute;
            bottom: 3%;
            left: 0;
            z-index: 0;
        }
    }
}

@media print,
screen and (max-width: 768px) {
    .post {
        .l-section--work {
            &:before {
                height: 45%;
            }

            .wrapper_content {
                margin-right: auto;
            }

            .c-bg-parts {
                display: none;
            }
        }
    }
}

@media print,
screen and (max-width: 640px) {
    .post {
        .l-section--work {
            .c-contentlist__item:last-child {
                margin-top: var(--px20);
            }

            .c-txt-area {
                width: 40%;
                font-weight: 600;
                position: static;
                max-width: none;
                width: 100%;
                margin-bottom: var(--px80);
            }
        }
    }
}

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

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

#front_top_content,
#front_bottom_content {
    position: relative;
    background: transparent;
    padding: var(--px80) 0 var(--px120);
    z-index: 10;
}

#front-sectionPost {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 5%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    max-width: 1100px;

    .postbody {
        width: 100%;
    }

    .listTitle {
        position: relative;
        -ms-flex-negative: 0;
        flex-shrink: 0;
    }

    h1.title {
        letter-spacing: 0;

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

    .ttltxt {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        font-family: var(--font-family02);
        font-style: normal;
        font-weight: 700;
        font-size: var(--px60);
        color: var(--color-font);
        text-align: left;
        line-height: 1;
        gap: var(--px12);

        .subtxt {
            font-family: var(--font-family01);
            font-style: normal;
            font-weight: 700;
            line-height: 1.4;
            font-size: var(--px20);
            color: var(--color-font);
            letter-spacing: 0;
        }
    }

    .c-linkBtn__min {
        margin-top: var(--px40);
        width: fit-content;
        margin-left: auto;
    }
}

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

    #front_top_content,
    #front_bottom_content {
        padding: var(--px60) 0 var(--px100);
    }

    #front-sectionPost {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;

        h1.title {
            margin: 0 auto var(--px40);
        }
    }
}

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

.postlist {

    li {
        border-top: 1px solid var(--color-font);

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

        &:first-child {
            border-top: none;
        }
    }

    .post_text {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        width: 98%;
        margin: 0 auto;
        padding: 12px 0;
        gap: 0 10px;
    }

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

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

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

    .date {
        -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
        order: -1;
        -ms-flex-negative: 0;
        flex-shrink: 0;
        line-height: 1.4;
        font-family: var(--font-family02);
    }

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

    .ttls {
        font-size: var(--px14);
        width: 100%;
        padding: 0;
        margin: 0;

        a {
            position: relative;
            width: 100%;
            padding: var(--px14) 0;
            display: block;
            overflow: hidden;
            white-space: nowrap;
            -o-text-overflow: ellipsis;
            text-overflow: ellipsis;
            -webkit-transition: 0.3s all;
            -o-transition: 0.3s all;
            -webkit-transition: 0.3s all;
            -o-transition: 0.3s all;
            transition: 0.3s all;

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

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

            .ttls {
                a {
                    padding: var(--px12) 0 var(--px20);
                }
            }
        }

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

.dateLabel {
    font-family: var(--font-family03);
    font-style: normal;
}

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

.single-post h1.title {
    font-size: var(--px24);
    font-weight: 700;
    padding-bottom: var(--px14);

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

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

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

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

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

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

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

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

        &::before {
            content: "";
            position: absolute;
            bottom: 0px;
            width: min(1400px, 94%);
            height: 1px;
            left: 50%;
            -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
            transform: translateX(-50%);
            max-width: 1400px;
            background: transparent;
        }

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

    }
}

.post {
    .c-subpagehead {
        background: var(--color-font);
        border: none;
        margin: 0 0 var(--px40);
        padding: var(--px16) var(--px20);
        color: #fff;
        font-family: var(--font-family02);
        font-size: var(--px40);
        font-weight: 700;
        text-align: left;
        line-height: 1.5;
        letter-spacing: normal;

        .c-subpagehead__subtitle {
            margin-left: 0.5em;
            font-weight: 500;
            font-size: var(--px30);
        }
    }
}

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

.post ul.list_disc,
.post ul.list_point,
.post ul.list_check,
.post ul.caution,
.post ul.list_checkbox,
.post ul.list_box {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}

.post ul.list_point>li,
.post ul.list_check>li,
.post ul.caution>li,
.post ul.list_checkbox>li,
.post ul.list_box>li {
    position: relative;
    list-style: none;
    padding-left: 2rem;
    margin-left: 0;
    margin-top: 0.2rem;
    line-height: 1.6;
}

.post ul.list_disc>li {
    line-height: 1.6;
}

.post ul.list_box>li:before {
    content: '\f0c8';
    position: absolute;
    font-family: 'FontAwesome';
    font-weight: 400;
    left: 0;
}

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

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

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

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

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

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

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

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

.post {
    .c-table__ttl {
        font-weight: 600;
        background: transparent;
        display: block;
        padding: 0 0 0 var(--rem12);
        margin: var(--rem24) 0 var(--rem14);
        border-left: double 5px;
        line-height: 1.4;
    }

    .c-table--style02 th {
        background: var(--color-gray);
        border-bottom: none;
        padding: 20px 15px 18px;
    }
}

@media only screen and (max-width: 640px) {
    .post {
        .c-table--style02 th {
            padding: 10px
        }
    }
}

/*--アイキャッチ--------------------------------------------*/

#thumbImg,
header#h1Header {
    position: relative;
    overflow: hidden;
    height: min(calc(300px + (1vw - 19.2px) * 12.945), 300px);
    /* -- 1920 300px 375 100px -- */
}

#thumbImg {
    margin: 0 0 calc(45px + (1vw - 19.2px) * 2.2654 + 0.405em);
    color: transparent;
    font-family: var(--font-family02);
    font-weight: 700;
    font-size: 9.9479166667vw;
    text-align: center;
    -webkit-text-stroke: 2px var(--color-font);
    text-stroke: 2px var(--color-font);
    line-height: 1;
    white-space: nowrap;
    overflow: visible;
}

#thumbImg::after {
    content: "CreateExcitement";
    display: block;
    position: absolute;
    bottom: -0.405em;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
}

#thumbImg::before,
header#h1Header::before {
    content: none;
}

#thumbImg img,
header#h1Header img {
    position: absolute;
    max-width: none;
    width: 100%;
    height: 100%;
    top: 50%;
    left: 50%;
    margin: 0 !important;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    transform: translate(-50%, -50%);
}

@media screen and (max-width: 768px) {
    #thumbImg {
        font-size: 9.5997395833vw;
        -webkit-text-stroke: 1.5px var(--color-font);
        text-stroke: 1.5px var(--color-font);
    }
}

/*================================================
CONTACT
================================================*/

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

.wpcf7-form {
    padding: 0;
}

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

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

.wpcf7-checkbox .wpcf7-list-item {
    display: block;
}

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

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

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

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

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


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

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

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

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

.post ul#sitemap_list,
.post ul.sitemap_list {
    margin: 0 auto;
    padding: 0;
}

.post ul#sitemap_list li,
.post ul.sitemap_list li {
    margin-bottom: 2em;
    padding: 0 1.25em 2em;
    border-bottom: 1px solid var(--color-font);
    background: none;
    font-weight: 500;
    font-size: min(calc(18px + (1vw - 19.2px) * 0.1942), 18px);
    /* -- 1920 18px 375 15px -- */
    line-height: 1.65;
    letter-spacing: 0.02em;
}

.post ul.sitemap_list li:first-child {
    margin-top: 2em;
}

.post ul#sitemap_list li a,
.post ul.sitemap_list li a {
    display: inline-block;
    color: inherit;
    position: relative;
    padding-left: 1.87em;
    text-decoration: none !important;
    transition: color 0.2s;
}

.post ul#sitemap_list li br,
.post ul.sitemap_list li br {
    display: none;
}

.post ul#sitemap_list li .en,
.post ul.sitemap_list li .en {
    margin-right: 0.55em;
}

.post ul#sitemap_list li a:before,
.post ul.sitemap_list li a:before {
    content: "";
    position: absolute;
    display: block;
    top: 0.3em;
    left: 0;
    font-weight: 700;
    line-height: 1;
    transform: translateY(-58%);
    background: var(--color-primary-shade);
    width: 1em;
    height: 1em;
    transform: none;
}

.post ul#sitemap_list li a:hover,
.post ul.sitemap_list li a:hover {
    color: var(--color-font);
    opacity: 0.7;
}

.post ul#sitemap_list li .children,
.post ul.sitemap_list li .children {
    border-top: 1px dashed var(--color-font);
    margin-top: 2em;
    padding-top: 2em;
}

.post ul#sitemap_list li .children li,
.post ul.sitemap_list li .children li {
    border-style: dashed;
}

.post ul#sitemap_list li .children li:last-child,
.post ul.sitemap_list li .children li:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.post ul#sitemap_list li:last-child,
.post ul.sitemap_list li:last-child {
    margin-bottom: 0;
}

.post ul#sitemap_list li .children a:before,
.post ul.sitemap_list li .children a:before {
    background-color: #ccc;
}

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

    .post ul#sitemap_list li,
    .post ul.sitemap_list li {
        margin-bottom: 1.2em;
        padding: 0 0.5em 1.2em;
    }

    .post ul.sitemap_list li:first-child {
        margin-top: 1.2em;
    }

    .post ul#sitemap_list li a,
    .post ul.sitemap_list li a {
        padding-left: 1.5em;
    }

    .post ul#sitemap_list li a:before,
    .post ul.sitemap_list li a:before {
        top: 0.4em;
    }

    .post ul#sitemap_list li .children,
    .post ul.sitemap_list li .children {
        margin-top: 1.2em;
        padding-top: 1.2em;
    }
}

/*================================================
company
================================================*/

.post table td a {
    color: var(--color-tertiary);
}

.post table td a:hover {
    color: var(--color-font);
}

/*================================================
company
================================================*/

.post {
    .c-table--style01 {
        .c-table__txtlink {
            color: var(--color-tertiary-shade);
            border-bottom: dotted 1px;

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

.post {
    .c-history {
        margin: var(--px30) auto;
        border: none;
        border-spacing: 0;

        .c-history__head {
            border-bottom: none;
            font-size: var(--px30);
            text-align: right;
            position: relative;
            min-height: 40px;
            vertical-align: middle;
            border: none;
            color: var(--color-bk);
            font-family: var(--font-family02);
            background: var(--color-background);
            padding: 0 var(--px40) 0 0;

            &::before {
                content: "";
                position: absolute;
                top: 50%;
                right: 0;
                transform: translateY(-50%);
                width: 12px;
                height: 12px;
                background-color: var(--color-primary-shade);
                border-radius: 50vh;
            }

            &::after {
                content: "";
                position: absolute;
                top: 50%;
                right: 4px;
                transform: translateY(-50%);
                width: 4px;
                height: 100%;
                background-color: var(--color-primary-shade);
            }
        }

        .c-history__item {
            &:first-of-type {
                .c-history__head:after {
                    content: "";
                    position: absolute;
                    top: inherit;
                    bottom: 0;
                    transform: translateY(0);
                    right: 4px;
                    width: 4px;
                    height: 50%;
                    background-color: var(--color-primary-shade);
                }
            }
        }
    }
}



#post-421 > div > a {
    color: var(--color-tertiary-shade);  /* 通常色 */
    border-bottom: 1px dotted;           /* 下線 */
    text-decoration: none;               /* 下線を border に置き換える場合 */
    transition: color 0.3s;              /* ホバー時に色が変わるアニメーション */
}
#post-421 div a:hover {
    color: var(--color-tertiary);        /* ホバー色 */
}