@charset "utf-8";

:root {
/* ---------- フォント設定 ---------- */
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: normal;
  font-style: normal;
  font-size: 15px;

/* ---------- カスタムプロパティ(カラー設定) ---------- */
    --main-color: rgb(255 255 255 / 1.0);
    --mainarea-bgcolor: rgb(193 238 248 / 1.0);
    --newinfo-bgcolor: rgb(255 252 221 / 1.0);
    --about-bgcolor: rgb(255 238 221 / 1.0);
    --gray-color: rgb(213 213 213 / 1.0);
    --whatkind-bgcolor: rgb(225 252 221 / 1.0);
    --flow-bgcolor: rgb(232 235 253 / 1.0);
    --link-bgcolor: rgb(87 161 220 / 1.0);
    --text-color: rgb(89 88 88 / 1.0);
    --red-color: rgb(185 20 30 / 1.0);
    --border01-color: rgb(112 112 112 / 1.0);
    color: var(--text-color);
}


/* -----------sp　トップページ全体レイアウト ---------- */
.break, .s-break {
    display: block;
}

/* -----------tablet　トップページ全体レイアウト ---------- */
@media screen and (min-width: 441px) {
    :root {
        font-size: 18px;
    }

    .s-break {
            display: inline;
    }
    .t-break {
        display: block;
    }
}

/* -----------PC　トップページ全体レイアウト ---------- */
@media screen and (min-width: 769px) {
    :root {
        font-size: 20px;
    }

    section {
        .s-wrapper {
            position: relative;
            max-width: 1280px;
            margin: auto;
        }
    }
}




/* ---------- トップへ戻るレイアウト ----------- */

/* ---------- sp レイアウト ----------- */
.return-top {
    display: none;
    position: fixed;
    bottom: 50px;
    right: 30px;
    width: 16vw;
    height: 16vw;
    z-index: 5000;
    background-color: var(--main-color);
    border: 2px solid var(--text-color);
    border-radius: 50%;
    span {
        width: 13vw;
        font-size: 2.9vw;
        line-height: 1.325;
        text-align: center;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }
}


/* ---------- tablet レイアウト ---------- */
@media screen and (width > 440px) {
    .return-top {
        bottom: 140px;
        right: 30px;
        width: 13.802vw;
        height: 13.802vw;
        border: 3px solid var(--text-color);
        span {
            width: 9.3748vw;
            font-size: 2.3437vw;
        }
    }
}

/* ---------- pc レイアウト ---------- */
@media screen and (width > 768px) {
    .return-top {
        bottom: min(12.9629vh, 140px);
        right: min(7.0312vw, 90px);
        width: 106px;
        height: 106px;
        transition: all 0.3s;
        opacity: 1;
        span {
            width: 4rem;
            font-size: 1rem;
        }
        &:hover {
            opacity: 0.5;
        }
    }
}




/* ---------- ヘッダーレイアウト ---------- */

/* ---------- sp レイアウト ---------- */
.header-area {
    position: static;
    width: 100vw;
    background-color: var(--main-color);
    z-index: 1000;
    display: flex;
    justify-content: space-between;
    .header-logo-area{            
        margin: 22px 0 18px 5.8666vw;
        img {
            width: 257px;
            height: auto;
        }
    }
    .hamburger {
        margin: 40px 6.4vw 0 0;
        display: flex;
        flex-direction: column;
        gap: 6px;
        z-index: 1500;
        cursor: pointer;
        span {
            display: block;
            width: 31px;
            height: 5px;
            border-radius: 2.5px;
            background-color: var(--text-color);
            transition: all 0.3s;
            transform-origin: center;
        }
    }
    .hamburger.active span:nth-child(1) {
    transform: rotate(45deg) translate(8px, 8px);
    }
    .hamburger.active span:nth-child(2) {
    opacity: 0;
    }
    .hamburger.active span:nth-child(3) {
    transform: rotate(-45deg) translate(8px, -8px);
    }
    .header-nav {
        display:none;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 1100;
        width: 100vw;
        height: 100vh;
        background-color: rgb(230 230 230 / 0.9);
        transition: all 0.3s;
        ul {
            margin: 100px 10.6666vw;
            li {
                border-bottom: 1px solid var(--border01-color);
                margin-bottom: 25px;
                a {
                    display: block;
                    font-size: 1.4rem;
                    line-height: 1.32;
                    padding-bottom: 3.6px;
                }
            }
        }
    }
    .header-nav.active {
        display: block;
        transition: all 0.3s;
    }
}

/* ---------- tablet レイアウト ---------- */
@media screen and (min-width: 441px) {
    .header-area {
        display: flex;
        justify-content: space-between;
        .header-logo-area{            
            margin: 35px 0 35px 4.427vw;
            img {
                height: 69px;
                width: auto;
            }
        }
        .hamburger {
            margin: 59px 5.2083vw 0 0;
            gap: 15px;
            span {
                width: 49px;
            }
        }
        .hamburger.active span:nth-child(1) {
        transform: rotate(45deg) translate(14px, 14px);
        }
        .hamburger.active span:nth-child(3) {
        transform: rotate(-45deg) translate(14px, -14px);
        }
        .header-nav {
            ul {
                margin: 137px 11.7187vw;
                li {
                    a {
                        font-size: 1.8rem;
                        padding-bottom: 3.6px;
                    }
                }
            }
        }
    }
}

/* ---------- pc レイアウト ---------- */
@media screen and (width >768px) {
    .header-area {
        position: static;
        max-width: 1280px;
        margin: auto;
        display: flex;
        justify-content: space-between;
        align-items: end;
        .header-logo-area{            
            margin: 42px 0 32px 30px;
            img {
                width: 32.8125vw;
                max-width: 420px;
                height: auto;
            }
        }
        .hamburger {
            display: none;
        }
        .header-nav {
            display: block;
            position: static;
            width: 57.2656vw;
            height: min(calc((10px + 0.9375vw) * 1.45), calc(1.1rem * 1.45));
            margin-bottom: 39px;
            background-color: var(--main-color);
            transition: none;
            ul {
                margin: 0 30px 0;
                height: calc(1.1rem * 1.45);
                display: flex;
                justify-content: end;
                gap: 1.9531vw;
                li {
                    border: none;
                    a {
                        display: block;
                        width: 12.8906vw;
                        min-width: 5rem;
                        max-width: 165px;
                        font-size: min(calc(10px + 0.9375vw), 1.1rem);
                        color: var(--main-color);
                        text-align: center;
                        line-height: 1.45;
                        padding-bottom: 0;
                        border-bottom: none;
                        margin-bottom: 0;
                        background-color: var(--link-bgcolor);
                        border-radius: calc(1.1rem * 1.45 / 2);
                        transition: all 0.3s;
                        &:hover {
                            opacity: 0.5;
                        }
                    }
                }
            }
        }
    }
}



/* ---------- メイン イメージ エリア ---------- */

/* ---------- spレイアウト ---------- */
.main-area {
    background-color: var(--mainarea-bgcolor);
    padding-bottom: calc(25px + 23px);
    background-position-y: calc(100% + 2px);
    background-size: 100%;
    background-repeat: no-repeat;
    p {
        text-align: center;
        img {
            margin: 26px 0 6px 0;
            width: 46.6666vw;
            height:auto;
            object-fit: contain;
        }
    }

    .main-img {
        width: 87.4666vw;
        height: 39.4666vw;
        margin: auto;
        background-size: contain;
    }
}

/* ----------- tablet レイアウト ---------- */
@media screen and (min-width: 441px) {
    .main-area {
        padding-bottom: calc(5.8854vw + 23px);
        p {
            margin: 0 auto 16px;
            img {
                width: 45.8333vw;
            }
        }
        .main-img {
            width: 91.4062vw;
            height: 23.1771vw;
            margin-bottom: 19px;
        }
    }
}

/* ----------- PC レイアウト ---------- */
@media screen and (min-width: 769px) {
    .main-area {
        padding-bottom: calc(5.8854vw + 23px);
        p {
            img {
                margin: 49px 0 13px 0;
                width: 38.125vw;
                max-width: 488px;
                height:auto;
            }
        }

        .main-img {
            width: 88.5156vw;
            max-width: 1133px;
            height: 22.1875vw;
            max-height: 284px;
        }
    }
}



/* ---------- コンタクトリンクエリア ----------- */

/* ---------- sp レイアウト ---------- */
.contact-link-area {
    padding: 8px 6vw 29px;
    H2 {
        font-size: 1.8666rem;
        text-align: center;
        line-height: 1.5;
        margin-bottom: 16px;
    }
    p {
        line-height: 1.6;
        margin-bottom: 24px;
        text-align: center;
        br.s-break {
            display: block;
        }
        span {
            white-space: nowrap;
        }
    }
    ul {
        li {
            margin-bottom: 15px;
            a {
                display: block;
                background-color: var(--link-bgcolor);
                text-align: center;
                padding: 9px;
                margin: 0 6.8vw;
                color: var(--main-color);
                font-size: 1.1333rem;
                line-height: 27px;
                border-radius: 22.5px;
                img {
                    height: 27px;
                    width: auto;
                    margin-right: 7.6px;
                }
            }
        }
    }
}
.page-id-26, .page-id-28,.page-id-22,.page-id-24 {
    .contact-link-area {
        padding-top: 29px;
    }
}

/* ---------- tablet レイアウト ----------- */
@media screen and (width > 440px) {
    .contact-link-area {
        padding: 45px 5vw 50px;
        H2 {
            font-size: 4.5573vw;
            margin-bottom: 17px;
        }
        p {
            line-height: 1.5555;
            margin-bottom: 0 5vw 30px;
            text-align: center;
            br.s-break {
                display: none;
            }
        }
        ul {
            display: flex;
            gap: 26px;
            justify-content: center;
            li {
                margin-bottom: 15px;
                a {
                    display: inline-flex;
                    align-items: center;
                    padding: 0 5.73vw;
                    margin: 0;
                    font-size: calc(9px + 1.237vw);
                    line-height: 49px;
                    border-radius: 24.5px;
                    img {
                        height: 27px;
                        width: auto;
                        margin-right: 4px;
                    }
                }
                .contact-link {
                    padding: 0 10vw;
                }
            }
        }
    }
    .page-id-26, .page-id-28,.page-id-22,.page-id-24 {
        .contact-link-area {
            padding-top: 40px;
        }
    }
}

/* ---------- PC レイアウト ----------- */
@media screen and (width > 769px) {
    .contact-link-area {
        padding: 60px 0 65px;
        H2 {
            font-size: 2.5rem;
            text-align: center;
            line-height: 1.34;
            margin-bottom: 25px;
        }
        p {
            line-height: 1.5066;
            margin-bottom: 47px;
        }
        ul {
            gap: 40px;
            li {
                margin-bottom: 0;
                a {
                    margin: 0;
                    padding: 0 min(5.4687vw, 70px);
                    font-size: 1.5rem;
                    line-height: 75px;
                    border-radius: 37.5px;
                    transition: all 0.3s;
                    img {
                        height: 40px;
                        margin-right: 13px;
                    }
                    &:hover {
                        opacity: 0.5;
                    }
                }
                .tel-link {
                    max-width: 382px;
                    pointer-events: none;
                    cursor: default;
                }
                .contact-link {
                    padding: 0 min(8vw, 110px);
                    max-width: 489px;
                }
            }
        }
    }
    .page-id-26, .page-id-28,.page-id-22,.page-id-24 {
        .contact-link-area {
            padding-top: 57px;
        }
    }
}



/* ----------- フッターエリア ---------- */

/* ---------- sp レイアウト ----------- */
footer {
    padding: 25px 0 17px;
    color: var(--main-color);
    background-color: var(--text-color);
    .footer-nav {
        ul {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 13px 16px;
            li {
                a {
                    display: block;
                    background-color: var(--main-color);
                    width: 34.6666vw;
                    height: 28px;
                    border-radius: 14px;
                    color: var(--text-color);
                    text-align: center;
                    line-height: 28px;
                }
            }
        }        
    }
    .address {
        margin: 25px 0;
        li {
            margin-bottom: 10px;
            :last-child {
                margin-bottom: 0;
            }
            a {
                display: flex;
                justify-content:center;
                align-items: center;
                gap:4px;
                .tel {
                    width: 17.6px;
                    height: auto;
                }
            }
        }
    }
    .footer-logo {
        text-align: center;
        margin-bottom: 18.5px;
        img {
            width: 57.504vw;
            height: auto;
        }
    }
    p {
        text-align: center;
        small {
            font-size: 0.6666rem;
            line-height: 1.4;
        }
    }
}

/* ---------- tablet レイアウト ----------- */
@media screen and (width > 440px) {
    footer {
        padding: 29px 0 19px;
        .footer-nav {
            ul {
                display: flex;
                flex-wrap: wrap;
                justify-content: center;
                gap: 1.823vw;
                li {
                    a {
                        display: block;
                        width: 14.0625vw;
                        height: 24px;
                        font-size: calc(7px + 0.9115vw);
                        border-radius: 12px;
                        line-height: 24px;
                    }
                }
            }        
        }
        .footer-logo-area {
            margin-top: 31px;
            display: flex;
            flex-direction: row-reverse;
            justify-content:center;
            gap: 26px;
            .address {
                margin: 0;
                display: flex;
                align-items: center;
                li {
                    margin-bottom: 25px;
                    &:first-child {
                        margin-bottom: 1.5625vw;
                    }
                    a {
                        font-size: calc(0.5rem + 1.0416vw);
                        gap: 6px;
                        .tel {
                            width: calc(9.9px + 1.289vw);
                            height: auto;
                        }
                    }
                }
            }
            .footer-logo {
                text-align: start;
                img {
                    width: 34.375vw;
                    height: auto;
                }
            }
        }
            p {
                text-align: center;
                small {
                    font-size: 0.6666rem;
                    line-height: 1.4;
                }
            }
        }
    }


/* ---------- PC レイアウト ----------- */
@media screen and (width > 769px) {
    footer {
        padding: 53px 0 24px;
        .footer-content {
            width: 100vw;
            max-width: 1280px;
            margin: auto;
            .footer-nav {
                ul {
                    display: flex;
                    flex-wrap: wrap;
                    justify-content: center;
                    gap: 1.823vw;
                    li {
                        a {
                            display: block;
                            width: min(12.9687vw, 166px);
                            min-width: 5.5rem;
                            height:38px;
                            font-size: 1.0rem;
                            border-radius: 19px;
                            line-height: 38px;
                            transition: all 0.3s;
                            &:hover {
                                opacity: 0.5;
                            }
                        }
                    }
                }        
            }
            .footer-logo-area {
                margin-top: 50px;
                display: flex;
                flex-direction: row-reverse;
                justify-content:center;
                gap: 28px;
                .address {
                    li {
                        margin-bottom: 0;
                        a {
                            font-size: 20px;
                            gap: 6px;
                            transition: all 0.3s;
                            .tel {
                                width: 24px;
                            }
                            &:hover {
                                opacity: 0.5;
                            }
                        }
                        a[href^="tel:"] {
                            pointer-events: none;
                            cursor: default;
                        }
                    }
                }
                .footer-logo {
                    margin-bottom: 0;
                    img {
                        /* width: 24.5437vw; */
                        max-width: 318px;
                    }
                }
            }
            p {
                margin-top: 43px;
                text-align: center;
                small {
                    font-size: 0.75rem;
                    line-height: 1.3333;
                }
            }
        }
    }
}





/* ---------- メインコンテンツ　エリア ---------- */



/* ---------- トップページ ---------- */
@keyframes swing {
    0%   { transform: rotate(-15deg); }
    100% { transform: rotate(15deg); }
}

/* ---------- sp レイアウト ----------- */
.home {
/* ---------- 各エリア背景設定 ---------- */
    .newinfo-area, .about-area, .whatkind-area {
        background-position-y: calc(100% + 2px);
        background-size: 100%;
        background-repeat: no-repeat;
    }

/* ----------- 各エリアイメージ画像設定 ---------- */
    .newinfo-img, .whatkind-img, .flow-img {
        position: absolute;
        width: 80px;
        height: 80px;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        transform-origin: center center;
        animation: swing 4.5s ease-in-out infinite alternate;
    }

/* ----------- 各エリアレイアウト -----------*/
    .newinfo-area {
        background-color: rgb(255 252 221 / 1.0);
        position: relative;
        padding: 28px 0 41px;

        .newinfo-img {
            right: 8.8vw;
            top: 0;
        }
        .news-list {
            position: static;
            margin-top: 28px;
            padding: 19px 17px 5px;
            width: 89.3333vw;
            border: 1px solid var(--text-color);
            border-radius: 20px;
            background-color: var(--main-color);
            margin: auto;
            h2 {
                font-size: 1.5333rem;
                margin-bottom: 17px;
            }
            ul {
                line-height: 1.3333;
                .news-date {
                    display: inline-block;
                    width: 8em;
                }
                .news-cat {
                    display: inline-block;
                    width: 120px;
                    margin-bottom: 8px;
                    line-height: 1.5333;
                    background-color: var(--red-color);
                    color: var(--main-color);
                    text-align: center;
                }
                .news-title {
                    display: block;
                    border-bottom: 1px solid var(--text-color);
                    padding-bottom: 4.5px;
                    margin-bottom: 12px;
                    width: calc(88vw - 40px);
                    height: calc(1rem + 9px);
                    white-space: nowrap;
                    overflow: hidden;
                    text-overflow: ellipsis;
                }
            }
            p {
                margin-bottom: 30px;
            }
        }
    }

    .about-area {
        background-color: var(--about-bgcolor);
        padding: 30px 0 50px;
        h2 {
            text-align: center;
            margin-bottom: 30px;
            img {
                width: 64vw;
                height: auto;
                margin-bottom: 15px;
            }
            span {
                font-size: 1.8666rem;
            }
        }
        .desc01 {
            font-size: 6.4vw;
            color: var(--red-color);
            span {
                display: block;
                width: 14em;
                margin: auto;
                text-align: center;
                background: linear-gradient(to bottom, transparent 60%, rgb(255 255 70 / 1.0) 40%);
                &:first-child {
                    margin-bottom: 12px;
                }
            }
            .st-br {
                display: none;
            }
        }
        .desc02-title {
            font-size: 1.2rem;
            text-align: center;
            margin: 20px auto 0;
        }
        .desc02 {
            background-color: var(--main-color);
            padding: 20px 15px 20px;
            width: 89.3333vw;
            margin:  10px auto 20px;
            border-radius: 20px;
            p {
                font-size: 1rem;
                line-height: 1.85;
                letter-spacing: -0.05em;
                .syoku {
                    display: inline-block;
                    margin: 0 0.4rem;
                    font-size: 1.5em;
                    font-weight: bold;
                    line-height: 1em;
                    transform-origin: center center;
                    animation: swing 3s ease-in-out infinite alternate;
                }
                .color-blue { 
                    animation-delay: 0s;
                    color: rgb(7 163 224 / 1.0);
                }
                .color-green {
                    animation-delay: 1s;
                    color: rgb(143 197 75 / 1.0);
                }
                .color-red {
                    animation-delay: 2s;
                    color: rgb(216 12 24 / 1.0);
                }
            }
        }
        .desc03 {
            font-size: 0.9333rem;
            line-height: 1.4888;
            text-align: center;
        }
    }

    .whatkind-area {
        position: relative;
        background-color: var(--whatkind-bgcolor);
        padding: 19px 0 38px;
        .whatkind-h2-area {
            width: 83.7333vw;
            height: 38.6666vw;
            margin: 0 auto 51px;
            background-color: var(--main-color);
            border-radius: 50%;
            h2 {
                text-align: center;
                color: var(--red-color);
                position: relative;
                top: 50%;
                transform: translateY(-50%);
                font-size: 2.1333rem;
            }
        }
        .whatkind-img {
            position: absolute;
            top: 30.8vw;
            right: 16px;           
        }
        ul li {
            margin-bottom: 13px;
            margin-left: 6.1333vw;
            display: flex;
            align-items: center;
            div {
                width: 105px;
                height: 105px;
                background-size: contain;
                background-repeat: no-repeat;
                border-radius: 50%;
            }
            p {
                line-height: 1.9;
                margin-left: 2.6666vw;
                font-size: min(calc(8px + 1.8666vw), 15px);
                span {
                    &::after {
                        content: " | ";
                    
                    }
                }
            }
        }
    }

    .flow-area {
        position: relative;
        background-color: var(--flow-bgcolor);
        padding: 25px 0 51px 14.6666vw;
        .flow-img {
            position: absolute;
            top: -5px;
            left: 12px;
        }
        .flow-h2-area {
            background-color: var(--main-color);
            margin-left: 48px;
            margin-right: 4.8vw;
            height: 46px;
            border-radius: 23px;
            h2 {
                font-size: 7vw;
                line-height: 46px;
                margin-left: 15px;
            }
        }
        ol {
            margin-top: 33px;
            li {
                margin-bottom: 15px;
                display: flex;
                align-items: center;
                span {
                    display: inline-block;
                    font-size: 1.2rem;
                    line-height: 1.3055;
                }
                .step {
                    background-color: rgb(163 176 252 / 1.0);
                    height: 26px;
                    font-size: 1.1333rem;
                    color: var(--main-color);
                    padding: 0 22px;
                    line-height: 26px;
                    border-radius: 13px;
                    margin-right: 10px;
                }
            }
        }
    }
}

@media screen and (width < 360px) {
    .home {
        .about-area {
            .desc02 {
                padding: 20px 10px;
                width: 92vw;
            }
        }
    }
}

    /* ---------- タブレットレイアウト ---------- */
@media screen and (width > 440px) {
    .home {
/* ---------- メイン　エリア ---------- */

/* ---------- 各エリアイメージ画像設定 ---------- */
        .whatkind-img {
            width: calc(7.1614vw + 60px);
            height: calc(7.4218vw + 62px);
        }
        .flow-img {
            width: calc(7.1614vw + 60px);
            height: calc(6.7708vw + 56px);
        }

/* ---------- 各エリアレイアウト -----------*/
        .about-area {
            padding: 43px 0 5.8854vw;
            h2 {
                text-align: center;
                margin-bottom: 26px;
                img {
                    width: 41.1458vw;
                    height: auto;
                    margin-bottom: 0;
                }
                span {
                    font-size: 1.9444rem;
                }
                .break {
                    display: inline;
                }
            }
            .desc01 {
                font-size: 3.906vw;
                span {
                    display: block;
                    width: 16em;
                    &:first-child {
                        margin-bottom: 10px;
                    }
                }
            }
            .desc02-title {
                margin-top: 23px;
                font-size: 3.3vw;
            }
            .desc02 {
                padding: 23px 20px 29px;
                width: 70vw;
                margin:  7px auto 25px;
                p {
                    font-size: 3vw;
                    line-height: 1.7;
                }
            }
            .desc03 {
                font-size: 0.9333rem;
                line-height: 1.4888;
                text-align: center;
                margin: 0 5vw 20px;
                .s-break {
                    display: inline;
                }
            }
        }

        .whatkind-area {
            padding: 41px 0 5.8854vw;
            .whatkind-h2-area {
                width: 70.3125vw;
                height: 55px;
                margin: 0 7.0313vw 36px;
                border-radius: 27.5px;
                h2 {
                    position: static;
                    transform: none;
                    font-size: 4.2187vw;
                    line-height: 55px;
                    .s-break {
                        display: inline;
                    }
                }
            }
            .whatkind-img {
                top: 0;
                right: 5.5989vw;           
            }
            ul  {
                margin-bottom: 30px;
                display: flex;
                flex-wrap: wrap;
                gap: 36px 5.4678vw;
                justify-content: center;
                li {
                    margin: 0; 
                    display: flex;
                    flex-direction: column;
                    align-items: center;
                    div {
                        width: 39.0625vw;
                        height: 39.0625vw;
                        margin-bottom: 15px;
                    }
                    p {
                        line-height: 1.35;
                        margin-left: 0;
                        text-align: center;
                        font-size: 2.6041vw;
                    }
                }
            }
        }

        .flow-area {
            padding: 62px 0 46px;
            .flow-img {
                top: 29px;
                left: 15.0142vw;
            }
            .flow-h2-area {
                margin-left: 30.0781vw;
                margin-right: 16.0156vw;
                height: 55px;
                border-radius: 27.5px;
                h2 {
                    font-size: 4.5573vw;
                    line-height: 55px;
                    margin-left: 8.724vw;
                }
            }
            ol {
                margin: 29px 0 0 16.1458vw;
                li {
                    margin-bottom: 19px;
                    span {
                        display: inline-block;
                        font-size: 3.5156vw;
                        .sp-br {
                            display: none;
                        }
                    }
                    .step {
                        height: 36px;
                        font-size: 3.125vw;
                        padding: 0 30px;
                        line-height: 36px;
                        border-radius: 18px;
                        margin-right: 13px;
                    }
                }
            }
        }
    }
}

/* ---------- PCレイアウト ---------- */
@media screen and (width > 768px) {
    .home {
/* ---------- メイン　エリア ---------- */

/* ---------- 各エリアレイアウト -----------*/
        .about-area {
            padding: 66px 0 calc(5.8854vw + 76px);
            h2 {
                text-align: start;
                margin-bottom: 43px;
                margin-left: min(7.5781vw, 97px);
                img {
                    width: 32.8125vw;
                    max-width: 420px;
                    height: auto;
                    margin-bottom: 0;
                }
                span {
                    font-size: 2.5rem;
                }
            }
            .desc01 {
                font-size: 1.75rem;
                text-align: center;
                span {
                    display: inline-block;
                    width: fit-content;
                    &:first-child {
                        margin-bottom: 0;
                    }
                }
                .st-br {
                    display: none;
                }
            }
            .desc02-title {
                margin-top: 34px;
                font-size: min(2.6562vw, 1.7rem);
            }
            .desc02 {
                padding: 18px 29px;
                width: min(64.6562vw, 630px);
                margin:  12px auto 34px;
                p {
                    font-size: min(2.3437vw, 1.5rem);
                    line-height: 1.7;
                }
            }
            .desc03 {
                font-size: min(calc(12.5px + 0.9765vw), 1.25rem);
                line-height: 1.5833;
                text-align: center;
                margin: 0;
                padding: 0 30px;
                .s-break {
                    display: inline-block;
                }
            }
        }

        .whatkind-area {
            padding: 0 0 5.8854vw;
            height: min(calc(59.2447vw + 25px), calc(683px + 5.8854vw));
            .whatkind-h2-area {
                position: absolute;
                top: -22.5px;
                right: min(7.1878vw, 92px);
                width: min(33.125vw, 424px);
                height: min(18.0468vw, 231px);
                margin: 0;
                border-radius: 50%;
                h2 {
                    position: relative;
                    top: 50%;
                    left: 50%;
                    transform: translate(-50%, -50%);
                    font-size: min(3.9062vw, 2.5rem);
                    line-height: 55px;
                    .s-break {
                        display: block;
                    }
                }
            }
            .whatkind-img {
                position: absolute;
                top: min(17.2656vw, 221px);
                right: min(4.2968vw, 55px); 
                width: min(32.5vw, 416px);
                height: min(33.4375vw, 428px);          
            }
            .whatkind-contents {
                position: absolute;
                top: max(-6.875vw, -88px);
                left: min(5.4687vw, 70px);
                ul  {
                    margin-bottom: 0;
                    width: min(50.1562vw, 642px);
                    display: flex;
                    flex-wrap: wrap;
                    gap: 39px min(3.0468vw, 39px);
                    justify-content: start;
                    li {
                        margin: 0; 
                        display: flex;
                        flex-direction: column;
                        align-items: center;
                        div {
                            width: min(23.4375vw, 300px);
                            height: min(23.4375vw, 300px);
                            margin-bottom: 15px;
                        }
                        p {
                            line-height: 1.35;
                            margin-left: 0;
                            text-align: center;
                            font-size: min(calc(3px + 1.3281vw), 1rem);
                        }
                    }
                }
            }
            
        }

        .flow-area {
            padding: 44.5px 0 56px;
            .flow-img {
                top: min(8.5156vw, 109px);
                left: min(3.5937vw, 46px);
                width: min(31.0156vw, 397px);
                height: min(29.1406vw, 373px);
            }
            .flow-h2-area {
                margin: 0 0 0 33px;
                height: auto;
                background-color: transparent;
                h2 {
                    font-size: min(3.9062vw, 2.5rem);
                    line-height: 1.34;
                    margin: 0 0 0 min(35.9375vw, 460px);
                }
            }
            ol {
                margin: 33px 0 0 min(35.9375vw, 460px);
                li {
                    margin-bottom: 27px;
                    span {
                        font-size: min(2.9687vw, 38px);
                    }
                    .step {
                        height: auto;
                        font-size: min(2.6562vw, 1.7rem);
                        padding: 0 40px;
                        line-height: min(3.5937vw, 46px);
                        border-radius: calc(min(3.5937vw, 46px) / 2);
                        margin-right: 18px;
                    }
                }
            }
        }
    }
}


/* ---------- トップページ 新着情報 エリア ---------- */

/* ----------- tablet レイアウト ---------- */
@media screen and (width > 610px) {
    .home {
        .newinfo-area {
            padding: 16px 0 calc(5.8854vw + 24px);
            .newinfo-img {
                right: 7.0312vw;
                top: -33.5px;
                width: calc(7.0963vw + 59.5px);
                height: calc(7.1614vw + 60px);
            }
            .news-list {
                position: static;
                margin-top: 16.5px;
                padding: 23px 25px 22px;
                width: 91.1458vw;
                h2 {
                    font-size: 1.6666rem;
                }
                ul {
                    line-height: 1.4444;
                    .news-date {
                        width: 170px;
                    }
                    .news-cat {
                        width: 150px;
                        font-size: min(2.3437vw, 1rem);
                        margin-bottom: 8px;
                        line-height: 1.4444;
                    }
                    .news-title {
                        display: inline-block;
                        border-bottom: none;
                        padding-bottom: 0;
                        margin-bottom: 0;
                        width: calc(91.1458vw - 50px);
                        height: calc(1.6666rem);
                        overflow: hidden;
                    }
                    li {
                        border-bottom: 1px solid var(--text-color);
                        padding-bottom: 7px;
                        margin-bottom: 14px;
                    }
                }
            }
        }
    }
}

/* ----------- PC レイアウト ---------- */
@media screen and (width > 1050px) {
    .home {
        .newinfo-area {
            padding: 19px 0 calc(5.8854vw + 30px);
            .newinfo-img {
                width: min(28.5937vw, 366px);
                max-width: 366px;
                height: min(28.9062vw, 370px);
                max-height: 370px;
                left: min(5.34687vw, 70px);
                top: max(-4vw, -50px);
            }
            .news-list {
                position: static;
                margin-top: 0;
                margin-left: min(35.1562vw, 450px);
                padding: 22px 27px 27px;
                min-height: min(20vw, 256px);
                width: min(60.9375vw, 780px);
                h2 {
                    font-size: 1.75rem;
                }
                ul {
                    line-height: 1.4444;
                    .news-date {
                        width: 170px;
                    }
                    .news-cat {
                        width: 140px;
                        margin-bottom: 0;
                        line-height: 1.35;
                    }
                    .news-title {
                        margin-bottom: -1px;
                        width: min(calc(60.9375vw - 380px), 400px);
                        height: 1em;
                        line-height: 1;
                    }
                    li {
                        padding-bottom: 9px;
                        margin-bottom: 13px;
                        &:last-child {
                            margin-bottom: 0;
                        }
                        a {
                            transition: all 0.3s;
                            &:hover {
                                opacity: 0.5;
                            }
                        }
                    }
                }
            }
        }
    }
}





/* ---------- 新着情報 ページ ---------- */

/* ---------- sp レイアウト ----------- */
.page-id-26 {
    .news-area {
        padding: 15px 0 43px;
        background-color: var(--newinfo-bgcolor);
        .news-list {
            h1 {
                display: flex;
                align-items: center;
                font-size: 1.5333em;
                margin-left: 8vw;
                margin-bottom: 18px;
                .news-img {
                    width: 71px;
                    height: 71px;
                    background-repeat: no-repeat;
                    background-size: contain;
                }
            }
            ul {
                li {
                    display: flex;
                    margin: 0 8vw;
                    gap: 13px;
                    margin-bottom: 15px;
                    background-color: var(--main-color);
                    border: 1px solid var(--border01-color);
                    border-radius: 10px;
                    .dummy {
                        height: 81px;
                        text-align: center;
                        overflow: hidden;
                        background-color: var(--gray-color);
                        border-radius: 10px;
                        img {
                            width: 100%;
                            height: auto;
                            object-fit: cover;
                            object-position: center;
                        }
                    }
                }
            }
        }
        .news-thumb {
            position: relative;
            display: inline-block;
            img {
                width: 89px;
                height: 81px;
                object-fit: cover;
                border-radius: 10px 0 0 10px;
            }
            .news-new {
                display: block;
                position: absolute;
                top: 8px;
                left: 0;
                background: rgb(255 0 15 / 1.0);
                color: white;
                padding: 2px 10px;
                font-size: 10px;
                font-weight: bold;
            }
        }
        .news-meta {
            padding-top: 10px;
            width: calc(84vw - 119px);
            .time-cat-area {
                display: flex;
                justify-content: space-between;
                margin-bottom: 10px;
                .news-date {
                    display: inline-block;
                    width: 8.5em;
                    font-size: 3.4666vw;
                    line-height: 1.3077;
                    height: 17px;
                }
                .news-cat {
                    display: inline-block;
                    color: var(--main-color);
                    background-color: var(--red-color);
                    line-height: 17px;
                    font-size: 3.4666vw;
                    width: 7em;
                    height: 18px;
                    text-align: center;
                }
            }
            
            .news-title {
                display: -webkit-box;
                -webkit-box-orient: vertical;
                -webkit-line-clamp: 2; /* 2行で省略 */
                height: 40px;
                line-height: 1.3333;
                overflow: hidden;
                overflow: clip;
                line-clamp: 2;
            }
        }
    }
}

/* ---------- teblet レイアウト ---------- */
@media screen and (width > 440px) {
    .page-id-26 {
        .news-area {
            padding: 20px 0 89px;
            .news-list {
                h1 {
                    font-size: 1.9444rem;
                    margin-left: 7.2916vw;
                    margin-bottom: 24px;
                    .news-img {
                        width: 74px;
                        height: 74px;
                    }
                }
                ul {
                    margin: 0 7.8125vw;
                    display: flex;
                    flex-wrap: wrap;
                    gap: 5.8593vw 0;
                    justify-content: space-between;
                    li {
                        width: 39.4531vw;
                        height: 49.3489vw;
                        flex-direction: column;
                        margin: 0;
                        gap: 11px;
                        margin-bottom: 0;
                        border-radius: 20px;
                        overflow: hidden;
                        .dummy {
                            height: auto;
                            img {
                                width: 100%;
                                height: auto;
                                border-radius: 20px;
                                background-color: var(--gray-color);
                            }
                        }
                    }
                    .dummy-list {
                        background-color: var(--gray-color);
                    }
                }
            }
            .news-thumb {
                position: relative;
                display: inline-block;
                img {
                    width: 100%;
                    height: 34.6354vw;
                    border-radius: 19px 19px 0 0;
                }
                .news-new {
                    display: block;
                    top: 18px;
                    width: 11.5885vw;
                    text-align: center;
                    padding: 3.5px 8px;
                    font-size: 2.3437vw;
                    font-weight: normal;
                }
            }
            .news-meta {
                padding: 0 18px;
                width: auto;
                .time-cat-area {
                    display: flex;
                    justify-content: space-between;
                    margin-bottom: 2.2135vw;
                    .news-date {
                        font-size: 2.2135vw;
                        line-height: 1.4117;
                        height: auto;
                    }
                    .news-cat {
                        line-height: 1.4117;
                        font-size: 2.2135vw;
                        width: 14.0625vw;
                        height: calc(2.2135vw * 1.4117);
                        overflow: hidden;
                    }
                }                
                .news-title {
                    height: 6.6406vw;
                    font-size: 2.3437vw;
                    line-height: 1.4166;
                }
            }
        }
    }
}

/* ---------- pc レイアウト ---------- */
@media screen and (width > 768px) {
    .page-id-26 {
        .news-area {
            padding: 45px 0 104px;
            .news-list {
                h1 {
                    font-size: 2.5em;
                    margin-left: min(6.0937vw, 78px);
                    margin-bottom: 28px;
                    .news-img {
                        width: 97px;
                        height: 97.8px;
                    }
                }
                ul {
                    margin: 0 min(calc(6.25vw - 8px), 80px);
                    gap: min(3.9062vw, 50px) 0;
                    justify-content: space-between;
                    li {
                        width: min(26.5625vw, 340px);
                        height: min(33.2031vw, 425px);
                        gap: 12px;
                        margin-bottom: 0;
                        overflow: hidden;
                    }
                }
            }
            .news-thumb {
                img {
                    width: 100%;
                    height: min(23.2812vw, 298px);
                }
                .news-new {
                    top: 25px;
                    width: min(7.4218vw, 95px);
                    font-size: min(1.5625vw, 20px);
                }
            }
            .news-meta {
                padding: 0 min(1.5625vw, 20px);
                .time-cat-area {
                    margin-bottom: min(1.4062vw, 18px);
                    .news-date {
                        font-size: min(1.5625vw, 20px);
                        line-height: 1.4;
                    }
                    .news-cat {
                        line-height: 1.4;
                        font-size: min(1.5625vw, 20px);
                        width: min(10.9375vw, 140px);
                        height: calc(1em * 1.4117);
                    }
                }                
                .news-title {
                    height: calc(2em * 1.425);
                    font-size: min(1.5625vw, 20px);
                    line-height: 1.425;
                }
            }
            .dummy {
                img {
                    width: 100%;
                    height: calc(100% + 1px);
                    border-radius: 20px;
                }
            }
        }
    }
}


/* ---------- 個別投稿 ページ ---------- */

/* ---------- sp レイアウト ----------- */
.single-post {
    .post-area {
        padding: 35px 0 46px;
        background-color: var(--newinfo-bgcolor);
        .post-thumb {
            padding: 0 8vw;
            img {
                width: 100%;
                height: auto;
                object-fit: cover;
                border-radius: 20px;
            }
        }
        .date-cat-area {
            display: flex;
            align-items: center;
            margin: 10px 8vw 27px;
            .post-date {
                font-size: 3.7333vw;
                line-height: 1.3571;
                margin-right: 6.6666vw;
            }
            .post-cat {
                width: 28.2666vw;
                font-size: 4.2666vw;
                height: 22px;
                line-height: 22px;
                text-align: center;
                background-color: var(--red-color);
                color: var(--main-color);
            }
        }
        .post-title {
            margin: 0 8vw;
            font-size: 5.3333vw;
            font-weight: bold;

        }
        .post-content {
            margin: 0 8vw 0.8em;
            font-size: 0.8em;
            line-height: 1.8333;
            h2 {
                font-size: 4.8vw;
            }
            h3 {
                font-size: 4.3vw;
            }
            h4 {
                font-size: 4.1vw;
            }
            h5, h6 {
                font-size: 0.9em;
            }
            h2, h3, h4, h5, h6 {
                margin-top: 1em;
                font-weight: bold;
                line-height: 1.35;
            }
            p {
                margin-top: 0.7em;
            }
            h2 + p,h3 +p, h4 + p, h5 + p, h6 + p {
                margin-top: 1em;
            }
            ul {
                margin-left: 3em;
                margin-top: 0.6em;
                li {
                    line-height: 1.6;
                    list-style-type: disc;
                    list-style-position: outside;
                }
            }
            figure {
                margin-top: 0.5em;
                margin-bottom: 1em;
            }
        }
    }
}

/* ---------- teblet レイアウト ---------- */
@media screen and (width > 440px) {
    .single-post {
        .post-area {
            padding: 50px 0 90px;
            .post-thumb {
                padding: 0 7.8125vw;
            }
            .date-cat-area {
                margin: 16px 7.8125vw 33px;
                .post-date {
                    font-size: 2.2135vw;
                    line-height: 1.2941;
                    margin-right: 4.6875vw;
                }
                .post-cat {
                    width: 18.4895vw;
                    font-size: 2.4739vw;
                    height: 3.5156vw;
                    line-height: 3.5156vw;
                }
            }
            .post-title {
                margin: 0 7.8125vw 10px;
                font-size: 3.2552vw;
                line-height: 1.32;
            }
            .post-content {
                margin: 0 7.8125vw;
                font-size: 0.8333em;
                line-height: 1.7222;
                h2 {
                    font-size: 2.8vw;
                }
                h3 {
                    font-size: 2.3vw;
                }
                h4 {
                    font-size: 2.1vw;
                }
            }
        }
    }
}

/* ---------- pc レイアウト ---------- */
@media screen and (width > 768px) {
    .single-post {
        .post-area {
            padding: 60px 0 90px;
            .post-thumb {
                padding: 0 min(20.7031vw, 164px);
            }
            .date-cat-area {
                margin: 18px min(20.7031vw, 164px) 41px;
                .post-date {
                    font-size: 1em;
                    line-height: 1.35;
                    margin-right: 40px;
                }
                .post-cat {
                    width: 165px;
                    font-size: 1.1em;
                    height: 31px;
                    line-height: 31px;
                }
            }
            .post-title {
                margin: 0 min(20.7031vw, 164px) 10px;
                font-size: 1.5em;
                line-height: 2em;
            }
            .post-content {
                margin: 0 min(20.7031vw, 164px) 162px;
                font-size: 1em;
                line-height: 1.6833;
                h2 {
                    font-size: 1.3em;
                    margin-top: 3em;
                }
                h3 {
                    font-size: 1.15em;
                    margin-top: 2em;
                }
                h4 {
                    font-size: 1.05em;
                }
                h5, h6 {
                    font-size: 1em;
                }
                figure {
                    margin-bottom: 1.5em;
                }
            }
        }
    }
}


/* ------ 最新情報・個別投稿 ページネーション ------ */

/* ---------- sp レイアウト ----------- */
.page-id-26, .single-post {
    .pagination {
        position: relative;
        margin-top: 25px;
        height: 35px;
        text-align: center;
        display: flex;
        justify-content: center;
        ul {
            li {
                display: inline-block;
                a, .disabled {
                    position: static;
                    width: 40vw;
                    height: 35px;
                    text-align: center;
                    line-height: 35px;
                    display: flex;
                    align-items: center;
                    gap: 0.3em; /* 文字とSVGの間隔 */
                    padding: 10px 19px;
                    background-color: var(--main-color);
                    border: 2px solid var(--border01-color);
                    border-radius: 17.5px;
                    text-decoration: none;
                    transition: all 0.3s;
                    &:hover {
                        opacity: 0.5;
                    }
                    img {
                        width: 17px;
                        height: auto;
                    }                        
                }
                .disabled {
                    pointer-events: none;
                    background-color: var(--gray-color);
                    border: none;
                }
            }
            .first-list {

                a, .disabled {
                    position: absolute;
                    top: 0;
                    left: 8vw;
                    gap: 5.8133vw;
                    justify-content: start;
                }
            }
            .last-list {

                a, .disabled {
                    position: absolute;
                    top: 0;
                    right: 8vw;
                    gap: 8.7466vw;
                    justify-content: end;
                }
            }
        }
    }
}

/* ---------- teblet レイアウト ---------- */
@media screen and (width > 440px) {
    .page-id-26, .single-post {
        .pagination {
            margin-top: 47px;
            height: 50px;
            ul {
                li {
                    a, .disabled {
                        width: 37.7604vw;
                        height: 50px;
                        font-size: calc(10px + 1.9531vw);
                        line-height: 50px;
                        padding: 0 4.6875vw;
                        border-radius: 25px;
                        img {
                            width: 23.5px;
                            height: auto;
                        }                        
                    }
                }
                .first-list {
                    a, .disabled {
                        left: 7.8125vw;
                        gap: 7.4218vw;
                    }
                }
                .last-list {
                    a, .disabled {
                        right: 7.8125vw;
                        gap: 9.5052vw;
                    }
                }
            }
        }
    }
}
/* ---------- pc レイアウト ---------- */
@media screen and (width > 768px) {
    .page-id-26, .single-post {
        .pagination {
            margin-top: 64px;
            height: 65px;
            ul {
                li {
                    a, .disabled {
                        width: min(33.3593vw, 427px);
                        height: 65px;
                        font-size: min(calc(15px + 1.1718vw), 30px);
                        line-height: 65px;
                        padding: 0 min(2.8515vw, 36.5px);
                        border-radius: 32.5px;
                        img {
                            width: 27px;
                        }                        
                    }
                }
                .first-list {
                    a, .disabled {
                        left: min(14.0625vw, 180px);
                        gap: min(8.2031vw, 105px);
                    }
                }
                .last-list {
                    a, .disabled {
                        right: min(14.0625vw, 180px);
                        gap: min(9.5312vw, 122px);
                    }
                }
            }
        }
    }
}



/* ---------- 事業所紹介 ページ ---------- */

/* ---------- sp レイアウト ----------- */
.page-id-28 {
    .intro-area {
        padding: 31px 8vw 34px;
        background-color: var(--about-bgcolor);
        h1 {
            font-size: 5vw;
            margin-bottom: 23px;
            img {
                width: 46.4vw;
                height: auto;
            }
            span {
                margin-left: 5.3px;
            }
        }
        .services-list {
            .list-item1 {
                height: min(49vw, 180px);
                margin-bottom: 15px;
                border: 2px solid var(--border01-color);
                border-radius: 20px;
                display: flex;
                align-items: center;
                justify-content: center;
                gap: 8px;
                &:last-child {
                    margin-bottom: 0;
                }
                div {
                    height: 125px;
                    aspect-ratio: 1 / 1;
                    border-radius: 50%;
                    border: 2px solid var(--border01-color);
                    background-size: contain;
                    background-repeat: no-repeat;
                    background-position: center;
                    background-clip: border-box;
                }
                ul {
                    width: 44.5vw;
                    color: var(--main-color);
                    .list-item2 {
                        display: block;
                        height: auto;
                        padding-bottom: 4.5px;
                        margin-bottom: 7px;
                        border: none;
                        border-bottom: 1px solid var(--main-color);
                        border-radius: 0%;
                        &:first-child {
                            margin-bottom: 4px;
                        }
                        &:last-child {
                            border: none;
                            margin-bottom: 0;
                        }
                        h3 {
                            text-indent: -1rem;
                            line-height: 1.3;
                            margin-bottom: -2px;
                            &::before {
                                content: "【";
                            }
                            &::after {
                                content: "】";
                            }
                        }
                        span {
                            display: block;
                            font-size: 0.7333rem;
                            line-height: 1.35;
                        }
                        p {
                            font-size: 0.6666rem;
                            line-height: 1.25;
                            span {
                                font-size: 0.6666rem;
                                line-height: 1.25;
                            }
                        }
                    }
                }
            }
            .web-area {
                background-color: rgb(162 199 89 / 1.0);
            }
            .meo-area {
                background-color: rgb(255 245 145 / 1.0);
                ul .list-item2 {
                    color: var(--border01-color);
                    border-bottom: 1px solid var(--border01-color);
                }
            }
            .desk-area {
                background-color: rgb(104 159 222 / 1.0);
                .list-item2 {
                    h3 {
                        font-size: min(3.7128vw, 15px);
                    }
                }
            }
            .cook-area {
                background-color: rgb(225 125 125 / 1.0);
            }
        }
    }
}

/* ---------- teblet レイアウト ---------- */
@media screen and (width > 440px) {
    .page-id-28 {
        .intro-area {
            padding: 5.4687vw 6.5104vw 5.6vw;
            h1 {
                font-size: 4.557vw;
                margin-bottom: 30px;
                img {
                    width: 35.026vw;
                }
                span {
                    margin-left: 10px;
                }
            }
            .services-list {
                .list-item1 {
                    height: auto;
                    min-height: 127px;
                    margin-bottom: 31px;
                    justify-content: start;
                    padding-right: 3.776vw;
                    gap: 13px;
                    div {
                        min-height: 131px;
                        height: calc(100% + 8px);
                        margin-left: -2px;
                        margin-top: -2px;
                    }
                    ul {
                        width: 100%;
                        .list-item2 {
                            padding-bottom: 1px;
                            margin-bottom: 6px;
                            line-height: 1;
                            h3 {
                                font-size:1rem;/* calc(10px + 1.402vw); */
                                text-indent: -1rem;/* calc(-10px - 1.402vw); */
                                line-height: 1;
                                margin-bottom: 0;
                            }
                            span {
                                display: inline-block;
                                font-size: 0.64rem;/* calc(6px + 0.7812vw); */
                                line-height: 1.3;
                                &::after {
                                    content: "｜";
                                }
                                &.no-bar::after {
                                    content: "";
                                }
                            }
                            .service-desc {
                                font-size: 0.6111rem;/* calc(5.5px + 0.7161vw); */
                                line-height: 1.3636;/* calc((5.5px + 0.7161vw) * 1.3636); */
                                span {
                                    display: inline;
                                    font-size: 0.6111rem;/* calc(5.5px + 0.7161vw); */
                                    &::after {
                                        content: "";
                                    }
                                }
                            }
                            &:last-child {
                                margin-bottom: 0;
                            }
                            &:nth-child(2) {
                                padding-top: 1.8px;
                                padding-bottom: 1.8px;
                                font-size: 0.6666rem;/* calc(6px + 0.7812vw); */
                            }
                        }
                    }
                }
            }
        }
    }
}

/* ---------- pc レイアウト ---------- */
@media screen and (width > 768px) {
    .page-id-28 {
        .intro-area {
            padding: 45px 0 65px;
            h1 {
                font-size: min(3.9062vw, 2.5rem);
                margin-left: min(6.7187vw, 86px);
                margin-bottom: 41px;
                img {
                    width: 372px;
                }
                span {
                    margin-left: 13px;
                }
            }
            .services-list {
                width: min(87.5vw, 1120px);
                margin: 0 min(6.25vw, 80px);
                .list-item1 {
                    height: min(17.1875vw, 220px);
                    border: 3px solid var(--border01-color);
                    margin-bottom: 40px;
                    border-radius: min(8.5937vw, 110px);
                    gap: 0;
                    div {
                        width: min(17.1875vw, 220px);
                        height: min(17.1875vw, 220px);
                        margin-right: 22px;
                        margin-left: -3px;
                        border: 3px solid var(--border01-color);
                    }
                    ul {
                        width: min(64.375vw, 824px);
                        .list-item2 {
                            padding-bottom: 0;
                            margin-bottom: 12px;
                            &:first-child {
                                margin-bottom: 10px;
                            }
                            h3 {
                                font-size: min(2.3437vw, 1.5rem);
                                text-indent: -1em;
                                line-height: 1.3333em;
                                margin-bottom: 1px;
                            }
                            span {
                                font-size: min(1.5625vw, 1rem);
                                line-height: 1.35;
                                &::after {
                                    content: "｜";
                                }
                                &:last-child::after {
                                    content: "";
                                }
                            }
                            p {
                                font-size: min(1.4062vw, 0.9rem);
                                line-height: 1.3888;
                                span {
                                    font-size: min(1.4062vw, 0.9rem);
                                    line-height: 1.3888;
                                    
                                }
                            }
                            &:last-child {
                                margin-bottom: 0;
                            }
                            .service-desc {
                                font-size: min(1.4062vw, 0.9rem);
                                line-height: 1.3888;
                                span {
                                    display: inline;
                                    font-size: min(1.4062vw, 0.9rem);
                            }
                        }
                    }
                }
            }
        }
    }
    }
}




/* ---------- アクセス ページ ---------- */

/* ---------- sp レイアウト ----------- */
.page-id-22 {
    .access-area {
        padding: 20px 8vw 27px;
        background-color: var(--whatkind-bgcolor);
        h1 {
            font-size: 1.5333em;
            line-height: 68px;
            margin-bottom: 12px;
            display: flex;
            .access-img {
                width: 68px;
                height: 68px;
                background-size: contain;
            }
        }
        .grid-area {
            dl {
                margin-bottom: 25px;
                dt, dd {
                    font-weight: normal;
                }
                dt {
                    width: 100%;
                    font-size: 1.3333em;
                    line-height: 1.35;
                    padding-bottom: 4px;
                    margin-bottom: 12px;
                    border-bottom: 1px solid var(--text-color);
                }
                dd {
                    line-height: 1.4222;
                    margin-bottom: 13px;
                }
                .item:last-child dd{
                    margin-bottom: 0;
                }
            }
            .map-area {
                margin-bottom: 15px;
                .access-map {
                    width: 84vw;
                    height: 139.7333vw;
                }
            }
            .company-img {
                width: 100%;
                /* height: auto; */
                margin-bottom: 16px;
                overflow: hidden;
                img {
                    width: 100%;
                    height: auto;
                }
            }
            p {
                font-size: 0.8666em;
                line-height: 1.3589;
            }
        }
    }
    .contact-link-area {
        padding-top: 29px;
    }
}
/* ---------- teblet レイアウト ---------- */
@media screen and (width > 440px) {
    .page-id-22 {
        .access-area {
            padding: 31px 7.8125vw 38px;
            h1 {
                font-size: 1.9444em;
                margin-bottom: 23px;
                .access-img {
                    width: 68px;
                    height: 68px;
                }
            }
            .grid-area {
                position: relative;
                display: grid;
                grid-template-columns: 40.3645vw 40.3645vw;
                grid-template-rows: auto 22.7096vw auto;
                gap: 3.5156vw;
                dl {
                    
                    grid-row-start: 2;
                    grid-row-end: 4;
                    margin-bottom: 0;
                    dt {
                        width: 100%;
                        font-size: 1.3888em;
                        line-height: 1.2;
                        padding-bottom: 0;
                        margin-bottom: 9px;
                    }
                    dd {
                        line-height: 1.4074;
                        margin-bottom: 24px;
                    }
                    .item:last-child dd, .item:nth-last-child(2) dd {
                        margin-bottom: 0;
                    }
                    .mail {
                        position: absolute;
                        width: 40.3645vw;
                        right: 0;
                        bottom: 0;
                    }
                }
                .map-area {
                    order: -1;
                    grid-column-start: 1;
                    grid-column-end: 3;
                    margin-bottom: 3px;
                    .access-map {
                        width: 100%;
                        height: 63.0208vw;
                    }
                }
                .company-img {
                    width: 100%;
                    /* height: auto; */
                    margin-bottom: 0;
                }
                p {
                    font-size: 0.8333em;
                    line-height: 1.3333;
                    margin-top: 5px;
                }
            }
        }
    }
}

/* ---------- pc レイアウト ---------- */
@media screen and (width > 920px) {
        .page-id-22 {
        .access-area {
            padding: 31px 0 51px;
            h1 {
                font-size: 2.5em;
                margin-bottom: 42px;
                margin-left: min(6.25vw, 80px);
                .access-img {
                    width: 90px;
                    height: 90.8px;
                }
            }
            .grid-area {
                position: static;
                width: min(75vw, 1120px);
                padding-left: min(6.25vw, 80px);
                padding-right: min(6.25vw, 80px);
                display: grid;
                grid-template-columns: 1fr 321px;
                grid-template-rows: 180px auto auto;
                gap: 33px 26px;
                dl {
                    
                    grid-row-start: 2;
                    grid-row-end: 3;
                    margin-bottom: 0;
                    dt {
                        width: 321px;
                        font-size: 1.25em;
                        line-height: 1.2;
                        padding-bottom: 0;
                        margin-bottom: 9px;
                    }
                    dd, .item:nth-last-child(2) dd {
                        line-height: 1.45;
                        margin-bottom: 24px;
                    }
                    .item:last-child dd {
                        margin-bottom: 0;
                    }
                    .mail {
                        position: static;
                        width: 321px;
                    }
                }
                .map-area {
                    order: -1;
                    grid-column-start: 1;
                    grid-column-end: 2;
                    grid-row-start: 1;
                    grid-row-end: 4;
                    margin-bottom: 0;
                    .access-map {
                        width: min(calc(87.5vw - 347px), 775px);
                        height: 100%;
                    }
                }
                .company-img {
                    width: 321px;
                    /* height: 240px; */
                    margin-bottom: 0;
                }
                p {
                    font-size: 0.75em;
                    line-height: 1.3333;
                    margin-top: 0;
                }
            }
        }
    }
}




/* ---------- 会社概要 ページ ---------- */

/* ---------- sp レイアウト ----------- */
.page-id-24 {
    .overview-area {
        padding: 19px 0 30px;
        background-color: var(--flow-bgcolor);
        .overview-h1-area {
            padding: 0 32px 19px;
            display: flex;
            align-items: center;
            gap: 4px;
            .overview-img {
                width: 66px;
                height: 66px;
                background-repeat: no-repeat;
                background-size: contain;
            }
            h1 {
                font-size: 1.5333rem;
            }
        }
        dl {
            display:flex;
            flex-wrap: wrap;
            justify-content: center;
            dt {
                display: flex;
                flex: wrap;
                justify-content: center;
                align-items: center;
                padding: 14px 0;
                font-size: 4.2666vw;
                font-weight: normal;
                white-space: nowrap;
                width: 23.7333vw;
                color: var(--main-color);
                background-color: rgb(163 176 252 / 1.0);
                &:last-of-type {
                    font-size: 3.8vw;
                }
            }
            dd {
                width: 56.2666vw;
                padding: 14px 0;
                padding-left: 10px;
                a {
                    text-decoration: underline;
                }
            }
            dt, dd {
                border-bottom: 1px solid var(--text-color);
                font-size: 4.2666vw;
                &:first-of-type {
                    border-top: 1px solid var(--text-color);
                }
            }
            .address {
                span {
                    white-space: nowrap;
                }
            }
        }
    }
    .contact-link-area {
        padding-top: 29px;
    }
}

/* ---------- teblet レイアウト ---------- */
@media screen and (width > 440px) {
    .page-id-24 {
        .overview-area {
            padding: 33px 0 46px;
            .overview-h1-area {
                padding: 0 62px 30px;
                gap: 13px;
                h1 {
                    font-size: 1.9444rem;
                }
            }
            dl {
                dt {
                    flex-wrap: nowrap;
                    width: 20.0521vw;
                    padding: 20px 0;
                    font-size: 3.125vw;
                    &:last-of-type {
                        font-size: 3.125vw;
                    }
                }
                dd {
                    width: 64.0625vw;
                    padding: 20px 0;
                    font-size: 3.125vw;
                    padding-left: 15px;
                    .s-br {
                        display: none;
                    }
                    a {
                        display: inline;
                    }
                }
                .address {
                    span:last-of-type {
                        margin-left: 19.4010vw;
                    }
                }
            }
        }
    }
}

/* ---------- pc レイアウト ---------- */
@media screen and (width > 768px) {
    .page-id-24 {
        .overview-area {
            padding: 46px 0 63px;
            .overview-h1-area {
                padding: 0 80px 35px;
                gap: 18px;
                h1 {
                    font-size: 2.5rem;
                }
                .overview-img {
                    width: 88px;
                    height: 88.7px;
                }
            }
            dl {
                width: min(62.5vw, 800px);
                margin: auto;
                dt {
                    width: min(14.8437vw, 190px);
                    &:last-of-type {
                        font-size: min(2.3437vw, 1.5rem);
                    }
                }
                dd {
                    width: min(47.6562vw, 610px);
                    text-indent: 18px;
                    a {
                        transition: all 0.3s;
                        &:hover {
                            opacity: 0.5;
                        }
                    }
                }
                dt, dd {
                    padding: 25px 0;
                    font-size: min(2.3437vw, 1.5rem);
                }
                .address {
                    span:last-of-type {
                        margin-left: min(15.8593vw, 203px);
                    }
            }
        }
    }
    }
}




/* ---------- コンタクトフォーム ---------- */

/* -----------お問い合わせ 入力画面 ----------*/

/* ---------- sp レイアウト ----------- */
.page-id-38 {
    main {
    background-color: var(--newinfo-bgcolor);
    }
    #post-38 {
        padding-top: 34px;
        padding-bottom: 39px;
        min-height: calc(100vh - 86px);
        h1 {
            margin-bottom: 26px;
            font-size: 2rem;
            text-align: center;
        }
        .form-area {
            p {
                margin: 0 8vw 25px;
                label {
                    font-size: 1.4rem;
                    line-height: 1.3333;
                }
                input, textarea {
                    margin-top: 10px;
                    padding: 8px 9px;
                    border: 1px solid var(--border01-color);
                    background-color: var(--main-color);
                    width: 84vw;
                    font-size: 1.1333rem;
                    line-height: 1.3333;
                }
                .textarea {
                    margin-bottom: 10px;
                    height: 47.7333vw;
                }
                .submit-btn {
                    display: block;
                    margin: auto;
                    width: 62.9333vw;
                    padding: 11.5px;
                    font-size: 1.3333rem;
                    text-align: center;
                    border: none;
                    border-radius: 25px;
                    background-color: var(--link-bgcolor);
                    color: var(--main-color);
                }
                &:last-of-type {
                    margin-bottom: 0;
                }
            }
        }
    }
    #secondary {
        display: none;
    }
    footer {
        display: none;
    }
}

/* ---------- teblet レイアウト ---------- */
@media screen and (width > 440px) {
.page-id-38 {
        #post-38 {
            padding-top: 62px;
            padding-bottom: 45px;
            min-height: calc(100vh - 139px);
            h1 {
                margin-bottom: 37px;
                font-size: 2.2777rem;
            }
            .form-area {
                p {
                    margin: 0 6.5104vw 33px;
                    label {
                        font-size: 1.6111rem;
                        line-height: 1.3103;
                    }
                    input, textarea {
                        margin-top: 13px;
                        padding: 8px 12px 10px;
                        width: 100%;
                        font-size: 1.3333rem;
                        line-height: 1.3333;
                    }
                    .textarea {
                        margin-bottom: 12px;
                        height: 31.3802vw;
                    }
                    .submit-btn {
                        width: 48.6979vw;
                        padding: 10px;
                        font-size: calc(15px + 1.8229vw);
                        border-radius: 29.5px;
                    }
                }
            }
        }
    }
}

/* ---------- PC レイアウト ---------- */
@media screen and (width > 768px) {
.page-id-38 {
        #post-38 {
            max-width: 1280px;
            margin: auto;
            padding-top: 60px;
            padding-bottom: 49px;
            min-height: calc(100vh - 74px - 5.8654vw);
            h1 {
                margin-bottom: 42px;
                font-size: 2.5rem;
            }
            .form-area {
                p {
                    margin: 0 calc(7.8125vw, 100px) 38px;
                    width: min(calc(100vw - 7.8125vw * 2), 1080px);
                    label {
                        font-size: 1.75rem;
                        line-height: 1.3428;
                    }
                    input, textarea {
                        margin-top: 15px;
                        padding: 9px 14px 10px;
                        width: 100%;
                        font-size: 1.5rem;
                        line-height: 1.3333;
                    }
                    .textarea {
                        margin-bottom: 17px;
                        height: 290px;
                    }
                    .submit-btn {
                        width: min(35.1562vw, 450px);
                        padding: 11.5px;
                        font-size: min(calc(20px + 1.1718vw), 1.75rem);
                        border-radius: 37.5px;
                    }
                }
            }
        }
    }
}


/* -----------お問い合わせ 確認画面 ----------*/

/* ---------- sp レイアウト ----------- */
.page-id-41 {
    
    #post-41 {
        header {
            display: none;
        }
        .confirm-area {
            padding: 34px 0 39px;
            background-color: var(--newinfo-bgcolor);
            h2 {
                font-size: 2em;
                margin-bottom: 26px;
                text-align: center;
            }
            dl {
                margin: 0 8vw 116px;
                dt {
                    margin-bottom: 18px;
                    p {
                        font-weight: normal;
                        font-size: 1.4rem;
                        line-height: 1.3333;
                    }
                }
                dd {
                    margin-bottom: 5px;
                    p {
                        font-size: 1.1333rem;
                        line-height: 1.2941;
                        white-space: pre-wrap;
                    }
                }
            }
            .button-area {
                display: flex;
                justify-content: center;
                gap: 10.6666vw;
                div {
                    height: 43px;
                }
                p {
                    width:30.9333vw;
                }
                input {
                    width: 30.9333vw;
                    height: 43px;
                    font-size: 1.3333rem;
                    line-height: 1.35;
                    text-align: center;
                    border-radius: 21.5px;
                }
                .return-btn {
                    background-color: var(--main-color);
                    color: var(--link-bgcolor);
                    border: 1px solid var(--link-bgcolor);
                }
                .send-btn {
                    background-color: var(--link-bgcolor);
                    color: var(--main-color);
                }
            }
        }
        
    }
        #secondary {
        display: none;
    }
    footer {
        display: none;
    }
}

/* ---------- tablet レイアウト ----------- */
@media screen and (width > 440px) {
    .page-id-41 {
        #post-41 {
            .confirm-area {
                padding: 62px 0 45px;
                h2 {
                    font-size: 2.2777em;
                    margin-bottom: 37px;
                }
                dl {
                    margin: 0 6.5104vw 146px;
                    dt {
                        margin-bottom: 20px;
                        p {
                            font-size: 1.6111rem;
                            line-height: 1.3103;
                        }
                    }
                    dd {
                        margin-bottom: -2px;
                        p {
                            font-size: 1.3888rem;
                            line-height: 1.32;
                        }
                    }
                }
                .button-area {
                    gap: 9.1145vw;
                    div {
                        height: 58px;
                    }
                    p {
                        width:27.3437vw;
                    }
                    input {
                        width: 27.3437vw;
                        height: 58px;
                        font-size: 1.6111rem;
                        line-height: 1.3103;
                        border-radius: 29px;
                    }
                }
            }
        }
    }
}

/* ---------- pc レイアウト ----------- */
@media screen and (width > 768px) {
    .page-id-41 {
        #post-41 {
            .confirm-area {
                padding: 60px 0 49px;
                h2 {
                    font-size: 2.5em;
                    margin-bottom: 42px;
                }
                dl {
                    margin: 0 min(7.8125vw, 100px) 170px;
                    dt {
                        margin-bottom: 24px;
                        p {
                            font-size: 1.75rem;
                            line-height: 1.3428;
                        }
                    }
                    dd {
                        margin-bottom: 9px;
                        p {
                            font-size: 1.5rem;
                            line-height: 1.3333;
                        }
                    }
                }
                .button-area {
                    gap: min(9.375vw, 120px);
                    div {
                        height: 70px;
                    }
                    p {
                        width: min(21.875vw, 280px);
                    }
                    input {
                        width: min(21.875vw, 280px);
                        height: 70px;
                        font-size: 1.75rem;
                        line-height: 1.3428;
                        border-radius: 35px;
                    }
                }
            }
        }
    }
}


/* -----------お問い合わせ ありがとう画面 ----------*/

/* ---------- sp レイアウト ----------- */
.page-id-30 {
    .thanks-area {
        position: relative;
        background-color: var(--newinfo-bgcolor);
        height: calc(100vh - 86px);
        .thanks-main-area {
            position: absolute;
            top:45%;
            left: 50%;
            transform: translate(-50%, -50%);
            p {
                text-align: center;
                margin: 0 auto 30px;
                font-size: 1.6666rem;
                line-height: 1.44;
                white-space: nowrap;
            }
            a {
                display: block;
                margin: auto;
                width: 62.4vw;
                height: 43px;
                font-size: 1.3333rem;
                color: var(--link-bgcolor);
                line-height: 43px;
                text-align: center;
                border-radius: 21.5px;
                background-color: var(--main-color);
                border: 1px solid var(--link-bgcolor);
            }
        }
        .s-wrapper {
            position: static;
        }
    }
}

/* ---------- tablet レイアウト ----------- */
@media screen and (width > 440px) {
    .page-id-30 {
        .thanks-area {
            height: calc(100vh - 139px);
            .thanks-main-area {
                p {
                    margin: 0 auto 54px;
                    font-size: 2.2777rem;
                    line-height: 1.439;
                }
                a {
                    width: 37.7604vw;
                    height: 58px;
                    font-size: calc(14px + 1.9531vw);
                    line-height: 58px;
                    border-radius: 29px;
                }
            }
        }
    }      
}

/* ---------- pc レイアウト ----------- */
@media screen and (width > 768px) {
    .page-id-30 {
        .thanks-area {
            height: calc(100vh - min((74px + 5.8593vw), 149px));
            .thanks-main-area {
                top: 45.4%;
                p {
                    margin: 0 auto 72px;
                    font-size: 2.5rem;
                    line-height: 1.6;
                }
                a {
                    width: min(37.7604vw, 370px);
                    height: 58px;
                    font-size: min(calc(14px + 1.9531vw), 1.75rem);
                    line-height: 58px;
                    border-radius: 29px;
                }
            }
        }
    }      
}

/* ----- スマホで横向きの時 ----- */
@media screen and (height < 441px) and (orientation: landscape) {
    .page-id-30 {
        .thanks-area {
            height: 100vh;
        }
    }
}