@charset "utf-8";

:root {
/* ---------- フォント設定 ---------- */
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: normal;
  font-style: normal;

/* ---------- カスタムプロパティ(カラー設定ほか) ---------- */
    --main-color: rgb(255 255 255 / 1.0);
    --gray-bgcolor: rgb(213 213 213 / 1.0);
    --link-bgcolor: rgb(59 131 186 / 1.0);
    --text-color: rgb(89 88 88 / 1.0);
    --border01-color: rgb(112 112 112 / 1.0);
    --cat-color: rgb(7 155 28 / 1.0);
    --access-thead-color: rgb(124 198 22 / 1.0);
    --navi-bgcolor: rgb(253 157 44 / 1.0);
    --triangle-color: rgb(255 174 1 / 1.0);
    --redtext-color: red;
    --new-bgcolor: rgb(255 0 15 / 1.0);
    --intro-bgcolor: rgb(214 250 202 / 1.0);
    --mainrange-bgcolor: rgb(250 243 202 / 1.0);
    color: var(--text-color);
    --semibold: 600;
}


/* -----------sp　全体レイアウト ---------- */
:root {
    font-size: calc(8px + 1.7777vw); /* 16px/450 */
}
.break, .s-break {
    display: block;
}
/* -----------tablet　全体レイアウト ---------- */
@media screen and (width > 450px) {
    :root {
        font-size: calc(8px + 1.0416vw); /* 16px/768 */
    }
    .s-break {
            display: inline;
    }
    .t-break {
        display: block;
    }
}
/* -----------PC　全体レイアウト ---------- */
@media screen and (width > 768px) {
    :root {
        font-size: min(calc(8px + 0.625vw), 16px); /* 16px/1280- */
    }
    .s-wrapper {
        position: relative;
        max-width: 1280px;
        margin: auto;
    }
    .t-break {
        display: inline;
    }
}





/* ----------ゆーりくん レイアウト ---------- */

/* ----- sp レイアウト ----- */
.yuuri-s-img {
    width: 14.6666vw; /* width:450 -- 66px */
}
.yuuri-m-img {
    width: 16.4444vw;
}
.yuuri-l-img {
    width: 44.6666vw;
}
.yuuri-l-img, .yuuri-m-img, .yuuri-s-img {
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    border: 3px solid var(--border01-color);
    background-color: var(--gray-bgcolor);
}
/* ----- tablet レイアウト ----- */
@media screen and (width > 450px) {
    .yuuri-s-img {
        width: 13.8021vw; /* width:768 --106px */
    }
    .yuuri-m-img {
        width: 13.802vw;
    }
    .yuuri-l-img {
        width: 38.2812vw;
    }
}
/* ----- pc レイアウト ----- */
@media screen and (width > 768px) {
    .yuuri-s-img, .yuuri-m-img {
        width: min(11.875vw, 152px); /* width:1280 --152px */
    }
    .yuuri-l-img {
        width: min(36.0937vw, 462px);
    }
}





/* ---------- ユーリード福住について ブロック ---------- */

/* ----- sp レイアウト ----- */
.heading01-area {
    margin-bottom: 21px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    h1, h2 {
        display: flex;
        align-items: center;
        gap: 7px;
        img {
            width: 40vw;
            height: auto;
        }
        .logo-dummy {
            display: none;
        }
        span {
            font-size: 1.2rem;
            font-weight: bold;
            white-space: nowrap;
        }
    }
}
/* ----- tablet レイアウト ----- */
@media screen and (width > 450px) {
    .heading01-area {
        gap: 2.2135vw;
        h1, h2 {
            gap: 1.4323vw;
            img {
                width: 37.1093vw;
                height: auto;
            }
            span {
                font-size: 1.8125rem;
            }
        }
    }
}
/* ----- pc レイアウト ----- */
@media screen and (width > 768px) {
    .heading01-area {
        gap: min(2.0312vw, 26px); /* min()を使う */
        h1, h2 {
            gap: min(1.4062vw, 18px);
            img {
                width: min(36.875vw, 472px);
                height: auto;
            }
            span {
                font-size: 3.125rem;
            }
        }
    }
}





/* ---------- 共通メインテーマエリア　レイアウト ---------- */

/* ----- spレイアウト ----- */
.main-area, .theme-area {
    background-size: contain, cover;
    background-position-y: calc(100% + 1px), center;
    background-position-x: center, center;
    background-repeat: no-repeat, no-repeat;
    }
.main-area {
    padding: 38px 0;
    p {
        text-align: center;
        img {
            width: 78.2222vw;
        }
    }
}
/* ------ tablet レイアウト ----- */
@media screen and (width > 450px) {
    .main-area {
        padding: 60px 0;
        p {
            text-align: center;
            img {
                width: 70.3125vw;
            }
        }
    }
}
/* ------ PC レイアウト ----- */
@media screen and (width > 768px) {
    .main-area {
        padding: 101px 0 112px;
        p {
            text-align: center;
            img {
                width: min(66.0937vw, 846px);
            }
        }
    }
}





/* ---------- 共通コンテンツエリア 背景設定 ---------- */
.page-id-8 .news-area, .page-id-10 .intro-area, .page-id-12 .access-area, .page-id-14 .company-area, .single-post .post-area {
        background-position-y: calc(100% + 1px);
        background-size: contain;
        background-repeat: no-repeat;
        background-color: var(--mainrange-bgcolor);
} 





/* ---------- トップへ戻るレイアウト ----------- */

/* ---------- 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 > 450px) {
    .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;
            font-weight: bold;
        }
        &:hover {
            opacity: 0.5;
        }
    }
}





/* ---------- ヘッダーレイアウト ---------- */

/* ---------- sp レイアウト ---------- */
.h-wrapper {
    background-color: var(--main-color);
    z-index: 1000;
    .header-area {
        position: static;
        width: 100vw;
        display: flex;
        justify-content: space-between;
        .header-logo-area {            
            margin: 22px 0 12px 4.8888vw;
            img {
                width: 258px;
                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: 8vw;
                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 / 1.0);
            transition: all 0.3s;
            opacity: 0.9;
            ul {
                margin: 100px 8.8888vw;
                li {
                    border-bottom: 1px solid var(--border01-color);
                    margin-bottom: 25px;
                    a {
                        display: block;
                        font-size: 1.5625rem;
                        font-weight: bold;
                        line-height: 1.32;
                        padding-bottom: 3.6px;
                    }
                }
            }
        }
        .header-nav.active {
            display: block;
            transition: all 0.3s;
        }
    }
}
/* ---------- tablet レイアウト ---------- */
@media screen and (width > 450px) {
    .h-wrapper {
        .header-area {
            display: flex;
            justify-content: space-between;
            .header-logo-area {            
                margin: 35px 0 26px 4.1666vw;
                img {
                    width: 50.651vw;
                    height: auto;
                }
            }
            .hamburger {
                margin: 8.0729vw 5.2083vw 0 0;
                gap: 15px;
                span {
                    width: 54px;
                }
            }
            .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: 2rem;
                            padding-bottom: 3px;
                        }
                    }
                }
            }
        }
    }
}
/* ---------- pc レイアウト ---------- */
@media screen and (width >768px) {
    .h-wrapper {
        .header-area {
            position: static;
            max-width: 1280px;
            margin: auto;
            display: flex;
            justify-content: space-between;
            align-items: center;
            /* align-items: end; */
            .header-logo-area {            
                margin: 29px 0 29px 30px;
                img {
                    width: 420px;
                    height: auto;
                }
            }
            .hamburger {
                display: none;
            }
            .header-nav {
                display: block;
                position: static;
                width: auto;
                height: auto;
                background-color: var(--main-color);
                transition: none;
                ul {
                    margin: 0 30px 0;
                    padding-bottom: 0;
                    height: auto;
                    display: flex;
                    flex-wrap: wrap;
                    justify-content: end;
                    gap: 0 1.875vw;
                    li {
                        border: none;
                        margin-bottom: 0;
                        a {
                            display: block;
                            width: clamp(5.5rem, 12.8906vw, 165px);
                            font-size: 1.375rem;
                            color: var(--main-color);
                            text-align: center;
                            line-height: 39px;
                            padding: 0;
                            border: 3px solid var(--main-color);
                            margin: 0;
                            background-color: var(--navi-bgcolor);
                            border-radius: 22.5px;
                            transition: all 0.3s;
                            &:hover {
                                opacity: 0.5;
                            }
                        }
                    }
                }
            }
        }
    }
}





/* ---------- コンタクトリンク共通エリア ----------- */

/* ---------- sp レイアウト ---------- */
.contact-link-area {
    padding: 37px 13.3333vw 38px;
    H2 {
        margin-bottom: 19px;
        font-size: 1.6875rem;
        font-weight: bold;
        text-align: center;
        line-height: 1.3571;
    }
    p {
        font-size: 0.875rem;
        letter-spacing: -0.05em;
        font-weight: bold;
        line-height: 1.6666;
        font-variant-east-asian: proportional-width;
        white-space: nowrap;
        margin-bottom: 31px;
    }
    ul {
        li {
            margin-bottom: 15px;
            a {
                display: block;
                background-color: var(--link-bgcolor);
                text-align: center;
                height: 45px;
                padding: 9px;
                margin: 0 5.5555vw;
                color: var(--main-color);
                font-size: 0.9375rem;
                font-weight: bold;
                line-height: 27px;
                border-radius: 22.5px;
                img {
                    height: 27px;
                    width: auto;
                    margin-right: 7.6px;
                }
            }
        }
    }
}
/* ---------- tablet レイアウト ----------- */
@media screen and (width > 450px) {
    .contact-link-area {
        padding: 57px 0 59px;
        H2 {
            margin-bottom: 28px;
            font-size: 2.1875rem;
            line-height: 1.7142;
        }
        p {
            font-size: 1.125rem;
            letter-spacing: -0.05em;
            text-align: center;
            margin-bottom: 33px;
        }
        ul {
            margin: 0 16.276vw;
            display: flex;
            gap: 2.6041vw;
            li {
                margin: 0;
                a {
                    height: 49px;
                    width: 32.4218vw;
                    padding: 10px;
                    margin: 0;

                    font-size: 1.1875rem;
                    line-height: 29px;
                    border-radius: 24.5px;
                    img {
                        height:3.776vw;
                        width: auto;
                        margin-right: 1.0937vw;
                    }
                }
                .tel-link {
                    display: flex;
                    align-items: center;
                    justify-content: center;
                }
            }
        }
    }
}
/* ---------- PC レイアウト ----------- */
@media screen and (width > 768px) {
    .contact-link-area {
        padding: 71px 0 74px;
        H2 {
            margin-bottom: 32px;
            font-size: 3.125rem;
            line-height: 1.2;
        }
        p {
            font-size: 1.5625rem;
            letter-spacing: 0;
            margin-bottom: 47px;
        }
        ul {
            gap: 29px;
            justify-content: center;
            li {
                a {
                    height: 75px;
                    width: min(29.6875vw, 380px);
                    font-size: 1.875rem;
                    line-height: 55px;
                    border-radius: 37.5px;
                    transition: all 0.3s;
                    img {
                        height: min(3.4375vw, 44px);
                        width: auto;
                        margin-right: 10.8px;
                    }
                    &[href^="tel:"] {
                        pointer-events: none;
                    }
                    &:hover {
                        opacity: 0.5;
                    }
                }
            }
        }
    }
}





/* ----------- フッターエリア ---------- */

/* ---------- sp レイアウト ----------- */
footer {
    padding: 25px 0 17px;
    color: var(--main-color);
    background-color: var(--text-color);
    .footer-nav {
        ul {
            margin: 0 15vw 36px;
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 13px 16px;
            li {
                a {
                    display: block;
                    background-color: var(--main-color);
                    width: 28.8888vw;
                    height: 28px;
                    border-radius: 14px;
                    font-weight: bold;
                    color: var(--text-color);
                    text-align: center;
                    line-height: 28px;
                }
            }
        }        
    }
    .footer-logo-area {
        margin-bottom: 9px;
        .footer-logo {
            margin:0 auto 9px;
            text-align: center; 
            img {
                width: 219px;
                height: auto;
                margin: auto;
            }
            .logo-dummy {
                display: none;
            }
        }
        .tel {
            a {
                font-weight: bold;
                display: flex;
                align-items: center;
                justify-content: center;
                gap: 8px;
                img {
                    width: 22px;
                    height: 24px;
                }
            }
        }
    }
    .address {
        margin: 0 4vw 30px 10.6666vw; 
        display: inline-block;
        font-size: 0.8125rem;
        font-weight: bold;
        line-height: 1.3846;
        .nowrap {
            white-space: nowrap;
        }
    }
    .copyright {
        text-align: center;
        small {
            font-size: 0.625rem;
            line-height: 1.4;
        }
    }
}
/* ---------- tablet レイアウト ----------- */
@media screen and (width > 450px) {
    footer {
        padding: 29px 0 27px;
        .footer-nav {
            ul {
                margin: 0 0 32px;
                gap: 14px;
                li {
                    a {
                        width: max(14.0625vw, 6em);
                        height: 24px;
                        border-radius: 12px;
                        line-height: 24px;
                    }
                }
            }        
        }
        .footer-logo-area {
            margin-bottom: 7px;
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 16px;
            .footer-logo {
                margin:0;
                img {
                    width: 266px;
                    height: auto;
                }
            }
            .tel {
                a {
                    margin: 0;
                    font-size: 1.1875rem;
                    gap: 5px;
                    img {
                        width: 3.2552vw;
                        height: 3.6458vw;
                    }
                }
            }
        }
        .address {
            display:inherit;
            margin: 0;
            margin-bottom: 24px;
            text-align: center;
            text-indent: -2.4739vw;
            font-size: 1rem;
            line-height: 1.375;
        }
        .copyright {
            small {
                font-size: 0.9375rem;
                line-height: 1.3333;
            }
        }
    }
}
/* ---------- PC レイアウト ----------- */
@media screen and (width > 769px) {
    footer {
        padding: 53px 0 26px;
        .footer-nav {
            ul {
                margin: 0 0 40px;
                gap: 20px;
                li {
                    a {
                        width: clamp(6em, 12.9687vw, 166px);
                        height: 38px;
                        border-radius: 19px;
                        font-size: 1.5625rem;
                        line-height: 38px;
                        transition: all 0.3s;
                        &:hover {
                            opacity: 0.5;
                        }
                    }
                }
            }        
        }
        .footer-logo-area {
            margin-bottom: 14px;
            gap: 28px;
            .footer-logo {
                img {
                    width: 318px;
                    height: auto;
                    margin: 0;
                }
            }
            .tel {
                margin: 0;
                a {
                    font-size: 1.75rem;
                    pointer-events: none;
                    gap: 7px;
                    img {
                        width: min(2.7343vw, 35px);
                        height:min(3.0468vw, 39px);
                    }
                }
            }
        }
        .address {
            margin-bottom: 32px;
            text-align: center;
            text-indent: -2.4739vw;
            font-size: 1rem;
            line-height: 1.375;
        }
        .copyright {
            small {
                font-size: 0.9375rem;
                line-height: 1.3333;
            }
        }
    }
}





/* ---------- トップページ ---------- */

/* ---------- sp レイアウト ----------- */
.home {
/* ---------- 各エリア背景設定 ---------- */
    .intro-area, .flow-area {
        background-position-y: calc(100% + 1px);
        background-size: contain;
        background-repeat: no-repeat;
    }

/* ----------- 各エリアレイアウト -----------*/
    .theme-area {
        padding: 23px 0 28px;
        h2 {
            margin: 0px 0 16px;
            text-align: center;
            text-indent: 10px;
            img {
                width: 78.2222vw;
                height: auto;
            }
        }
        .theme-content {
            .yuuri-area {
                width: 44.6666vw;
                margin-left: 51.1111vw;
                margin-bottom: 19px;
                .yuuri-l-img {
                    margin-bottom: 8px;
                }
                p {
                    display: block;
                    height: 22px;
                    width: 86px;
                    margin: auto;
                    font-size: 12px;
                    text-align: center;
                    line-height: 18px;
                    color: var(--main-color);
                    background-color: var(--navi-bgcolor);
                    border: 2px solid var(--main-color);
                    border-radius: 11px;
                }
            }
            .newinfo-area {
                .news-list {
                    margin: auto;
                    padding: 24px 17px 17px;
                    width: 86.6666vw;
                    border: 1px solid var(--border01-color);
                    border-radius: 20px;
                    background-color: rgb(255 255 255 / 0.9);
                    h2 {
                        font-size: 1.4375rem;
                        font-weight: bold;
                        margin-bottom: 13px;
                    }
                    ul {
                        line-height: 1.3333;
                        .news-date {
                            display: inline-block;
                            width: 8em;
                            font-size: 0.9375rem;
                        }
                        .news-cat {
                            display: inline-block;
                            width: 120px;
                            margin-bottom: 6px;
                            font-size: 0.9375rem;
                            font-weight: bold;
                            line-height: 1.5333;
                            background-color: var(--cat-color);
                            color: var(--main-color);
                            text-align: center;
                        }
                        .news-title {
                            display: block;
                            border-bottom: 1px dotted var(--border01-color);
                            padding-bottom: 7px;
                            margin-bottom: 16px;
                            width: 100%;
                            height: calc(1.3333em + 7px);
                            white-space: nowrap;
                            text-overflow: ellipsis;
                            overflow: hidden;
                        }
                    }
                    p {
                        margin-bottom: 30px;
                    }
                }
            }
        }
    }
    .intro-area {
        background-color: var(--intro-bgcolor);
        .s-wrapper {
            padding-top: 42px;
            padding-bottom: 42px;
            /* ----- ユーリード福住について ブロック 別記 ----- */
            .desc01 {
                margin-bottom: 20px;
                line-height: 1.3846;
                font-size: 1.625rem;
                font-weight: bold;
                color: var(--redtext-color);
            }
            .desc02 {
                margin-bottom: 24px;
                font-size: 1.1875rem;
                font-weight: bold;
                line-height: 1.5263;
            }
            .desc03-area {
                margin: 0 8.8888vw 31px;
                background-color: var(--main-color);
                border-radius: 20px;
                padding: 18px 0;
                p {
                    font-size: 1rem;
                    font-weight: bold;
                    line-height: 1.625;
                }
            }
            .desc01, .desc02, .desc03-area p {
                text-align: center;
            }
            .bisiness_item-area {
                margin-left: 15.1111vw;
                ul {
                    display: flex;
                    flex-direction: column;
                    gap: 25px;
                    li {
                        display: flex;
                        align-items: center;
                        gap: 10px;
                        div {
                            width: 23.3333vw;
                            aspect-ratio: 1 / 1;
                            border-radius: 10px;
                            background-size: contain;
                        }
                        p {
                            font-size: 0.9375rem;
                            font-weight: bold;
                        }
                    }
                }
            }
        }
    }
    .flow-area {
        background-color: var(--mainrange-bgcolor);
        padding-bottom: 53px;
        .s-wrapper {
            .heading02-area {
                padding: 31px 0 11px 14.2222vw;
                display: flex;
                align-items: center;
                gap: 8px;
                h2 {
                    font-size: 1.75rem;
                    font-weight: bold;
                }
            }
            .desc01 {
                margin-bottom: 30px;
                font-size: 1.125rem;
                font-weight: bold;
                line-height: 1.5555;
                text-align: center;
            }
            .flow-list {
                margin-left: 13.3333vw;
                list-style: decimal;
                list-style-position: outside;
                li {
                    font-size: 5.5555vw;
                    font-weight: bold;
                    p {
                        display: inline;
                        font-size: 5.5555vw;
                        font-weight: bold;
                        line-height: 1.4;
                        .exp-area {
                            display: block;
                            margin-top: 10px;
                            font-size: 0.9375rem;
                            font-weight: var(--semibold);
                            line-height: 1.5333;
                            &::after {
                                display: block;
                                width: 0;
                                height: 0;
                                margin: 14px 20vw;
                                content: "";
                                border-left: 25px solid transparent;
                                border-right: 25px solid transparent;
                                border-top: 26px solid var(--triangle-color);
                            }
                        }
                    }
                    &:last-child .exp-area::after {
                        display: none;
                    }
                }
            }
        }
    }
}
/* ---------- タブレットレイアウト ---------- */
@media screen and (width > 450px) {
    .home {

    /* ----------- 各エリアレイアウト -----------*/
        .theme-area {
            padding: 55px 0 47px;
            h2 {
                margin: 0px 0 58px;
                text-indent: 0px;
                img {
                    width: 64.0625vw;
                }
            }
            .theme-content {
                display: flex;
                flex-direction: row-reverse;
                justify-content: center;
                gap: 13px;
                .yuuri-area {
                    width: 38.2812vw;
                    margin-left: 0;
                    margin-bottom: 0;
                    .yuuri-l-img {
                        margin-bottom: 12px;
                    }
                    p {
                        height: 34px;
                        width: 134px;
                        font-size: 20px;
                        line-height: 30px;
                        border: 2px solid var(--main-color);
                        border-radius: 17px;
                    }
                }
                .newinfo-area {
                    .news-list {
                        margin: auto;
                        padding: 29px;
                        width: 48.8281vw;
                        height: 100%;
                        border-radius: 20px;
                        h2 {
                            font-size: 1.875rem;
                            margin-bottom: 16px;
                        }
                        ul {
                            line-height: 1.35;
                            .news-date {
                                width: 8em;
                                font-size: 2.0833vw;
                            }
                            .news-cat {
                                width: 8em;
                                margin-bottom: 7px;
                                font-size: 2.0833vw;
                                line-height: 1.375;
                            }
                            .news-title {
                                padding-bottom: 5.5px;
                                margin-bottom: 20px;
                                line-height: 1.35;
                                height: calc(1.35em + 7px);
                            }
                        }
                    }
                }                
            }
        }
        .intro-area {
            .s-wrapper {
                padding: 54px 0 91px;
                .heading01-area {
                    margin: auto;
                    margin-bottom: 17px;
                    display: flex;
                    justify-content: center;
                    gap: 2.2135vw;
                    h2 {
                        gap: 1.6927vw;
                        img {
                            width: 43.8802vw;
                            height: auto;
                        }
                        .logo-dummy {
                            display: none;
                        }
                        span {
                            font-size: 2.1875rem;
                        }
                    }
                }
                .desc01 {
                    margin-bottom: 23px;
                    line-height: 1.7647;
                    font-size: 2.125rem;
                    span {
                        white-space: nowrap;
                    }
                }
                .desc02 {
                    margin-bottom: 20px;
                    font-size: 1.5625rem;
                    line-height: 1.6;
                }
                .desc03-area {
                    margin: 0 7.0312vw 55px;
                    padding: 21px 0 18px;
                    p {
                        font-size: 1.375rem;
                        line-height: 1.6818;
                        span {
                            white-space: nowrap;
                        }
                    }
                }
                .bisiness_item-area {
                    margin-left: 0;
                    ul {
                        display: flex;
                        flex-direction: row;
                        flex-wrap: wrap;
                        justify-content: center;
                        gap: 9.5052vw 36px;
                        li {
                            align-items: start;
                            flex-direction: column;
                            gap: 14px;
                            div {
                                width: 40.625vw;
                                border-radius: 20px;
                            }
                            p {
                                width: 40.625vw;
                                text-align: center;
                                font-size: 1.25rem;
                                span {
                                    white-space: nowrap;
                                }
                            }
                        }
                    }
                }
            }
        }
        .flow-area {
            padding: 48px 0 70px;
            .s-wrapper {
                .heading02-area {
                    padding: 0 0 15px 0;
                    justify-content: center;
                    gap: 14px;
                    .yuuri-m-img {
                        text-indent: -4.7526vw;
                    }
                    h2 {
                        font-size: 2.5rem;
                    }
                }
                .desc01 {
                    margin-bottom: 27px;
                    font-size: 1.375rem;
                    line-height: 1.4545;
                }
                .flow-list {
                    margin-left: calc(6.6406vw + 2em);
                    li {
                        font-size: 1.875rem;
                        p {
                            font-size: 1.875rem;
                            line-height: 1.6666;
                            .exp-area {
                                margin-top: 10px;
                                font-size: 1.125rem;
                                line-height: 1.5555;
                                span {
                                    white-space: nowrap;
                                }
                                &::after {
                                    margin: 19px;
                                    border-left: 31px solid transparent;
                                    border-right: 31px solid transparent;
                                    border-top: 33px solid var(--triangle-color);
                                }
                            }
                            .s-break {
                                white-space: nowrap;
                            }
                        }
                        &:last-child .exp-area::after {
                            display: none;
                        }
                    }
                }
            }
        }
    }
}
/* ---------- PCレイアウト ---------- */
@media screen and (width > 768px) {
    .home {

    /* ----------- 各エリアレイアウト -----------*/
        .theme-area {
            padding: 93px 0 68px;
            h2 {
                margin: 0px 0 133px;
                img {
                    width: min(66.0937vw, 846px);
                }
            }
            .theme-content {
                display: flex;
                flex-direction: row-reverse;
                justify-content: center;
                gap: 38px;
                .yuuri-area {
                    width: min(36.0937vw, 462px);
                    margin-top: max(-14.6093vw, -187px);
                    .yuuri-l-img {
                        margin-bottom: 19px;
                    }
                    p {
                        height: 3.125rem;
                        width: 12.5rem;
                        font-size: 1.875rem;
                        line-height: 2.75rem;
                        border: 0.1875rem solid var(--main-color);
                        border-radius: 1.575rem;
                    }
                }
                .newinfo-area {
                    .news-list {
                        padding: 28px;
                        width: min(51.5625vw, 660px);
                        h2 {
                            font-weight: bold;
                        }
                        ul {
                            a {
                                transition: all 0.3s;
                                .news-date {
                                    font-size: 1rem;
                                }
                                .news-cat {
                                    font-size: 1rem;
                                    line-height: 1.5;
                                }
                                .news-title {
                                    font-size: 1.25rem;
                                    height: calc(1.35em + 7px);
                                }
                                &:hover {
                                    opacity: 0.5;
                                }
                            }
                            
                        }
                    }
                }                
            }
        }
        .intro-area {
            .s-wrapper {
                padding: 61px 0 69px;
                .heading01-area {
                    margin-bottom: 9px;
                    margin: auto;
                    gap: 26px;
                    h2 {
                        gap: 18px;
                        img {
                            width: min(36.875vw, 472px);
                            height: auto;
                        }
                        .logo-dummy {
                            display: none;
                        }
                        span {
                            font-size:3.125rem;
                        }
                    }
                }
                .desc01 {
                    margin-bottom: 25px;
                    line-height: 1.3333;
                    font-size: 2.8125rem;
                }
                .desc02 {
                    margin:0 min(5vw, 64px) 25px;
                    font-size: 1.875rem;
                    line-height: 1.5;
                    span {
                        white-space: nowrap;
                    }
                }
                .desc03-area {
                    margin: 0 min(15.2343vw, 195px) 76px;
                    padding: 22px 0 24px;
                    p {
                        font-size: 1.875rem;
                        line-height: 1.6666;
                    }
                }
                .bisiness_item-area {
                    margin-left: 0;
                    ul {
                        margin: auto;
                        display: grid;
                        grid-template-columns: repeat(3, min(25.7872vw, 330px));
                        gap:min(5.0781vw, 65px) 62px;
                        li {
                            align-items: start;
                            flex-direction: column;
                            gap: 14px;
                            div {
                                width: 100%;
                                border-radius: 20px;
                            }
                            p {
                                width: min(25.7872vw, 330px);
                                text-align: center;
                                font-size: 1.25rem;
                                font-weight: bold;
                                span {
                                    white-space: nowrap;
                                }
                            }
                        }
                    }
                }
            }
        }
        .flow-area {
            padding: 41px 0 89px;
            .s-wrapper {
                .heading02-area {
                    padding: 0 0 20px 0;
                    justify-content: center;
                    gap: 14px;
                    .yuuri-m-img {
                        text-indent: max(-6.3281vw, -81px);
                    }
                    h2 {
                        font-size: 3.125rem;
                    }
                }
                .desc01 {
                    margin: 0 40px 64px;
                    font-size: 1.875rem;
                    line-height: 1.6666;
                    span {
                        white-space: nowrap;
                    }
                }
                .flow-list {
                    margin-left: calc(min(7.5781vw, 97px) + 2em);
                    margin-right: 40px;
                    li {
                        font-size: 2.5rem;
                        p {
                            font-size: 2.5rem;
                            line-height: 1.25;
                            .exp-area {
                                font-size: 1.5625rem;
                                line-height: 1.4;
                                &::after {
                                    margin: 26px 136px 16px;
                                    border-left: 41px solid transparent;
                                    border-right: 41px solid transparent;
                                    border-top: 43px solid var(--triangle-color);
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}





/* ---------- 新着情報 ページ ---------- */

/* ---------- sp レイアウト ----------- */
.page-id-8 {
    .news-area {
        padding: 23px 0 46px;
        .news-list {
            h1 {
                margin-left: -4.4444vw;
                margin-bottom: 17px;
                display: flex;
                align-items: center;
                justify-content: center;
                gap: 10px;
                font-size: 1.4375rem;
                font-weight: bold;
            }
            ul {
                li {
                    display: flex;
                    margin: 0 6.6666vw;
                    height: 80px;
                    gap: 15px;
                    margin-bottom: 15px;
                    background-color: var(--main-color);
                    border: 1px solid var(--border01-color);
                    border-radius: 10px;
                    overflow: hidden;
                    .news-thumb {
                        position: relative;
                        display: inline-block;
                        img {
                            width: 89px;
                            height: 100%;
                            object-fit: cover;
                        }
                        .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(100% - 119px);
                        .time-cat-area {
                            margin-bottom: 10px;
                            display: flex;
                            gap: 10px;
                            .news-date {
                                display: inline-block;
                                width: auto;
                                font-size: 0.8125rem;
                                line-height: 18px;
                                height: 18px;
                            }
                            .news-cat {
                                display: inline-block;
                                color: var(--main-color);
                                background-color: var(--cat-color);
                                line-height: 18px;
                                font-size: 0.8125rem;
                                width: 7em;
                                height: 18px;
                                text-align: center;
                                overflow: hidden;
                            }
                        }
                        
                        .news-title {
                            display: -webkit-box;
                            -webkit-box-orient: vertical;
                            -webkit-line-clamp: 2; /* 2行で省略 */
                            height: calc(0.9375rem * 1.3333 * 2);
                            font-size: 0.9375rem;
                            line-height: 1.3333;
                            overflow: hidden;
                            overflow: clip;
                            line-clamp: 2;
                        }
                    }
                    .dummy {
                        width: 100%;
                        height: 100%;
                        background-color: var(--gray-bgcolor);
                    }
                }
            }
        }
    }
}
/* ---------- teblet レイアウト ---------- */
@media screen and (width > 450px) {
    .page-id-8 {
        .news-area {
            padding: 42px 0 54px;
            .news-list {
                h1 {
                    margin-left: -2.7343vw;
                    margin-bottom: 24px;
                    font-size: 1.8125rem;
                    gap: 14px;

                }
                ul {
                    margin: 0 7.8125vw;
                    display: flex;
                    flex-wrap: wrap;
                    gap: 5.8593vw 0;
                    justify-content: space-between;
                    li {
                        margin: 0;
                        width: 39.4531vw;
                        height: 49.3489vw;
                        flex-direction: column;
                        gap: 11px;
                        border-radius: 20px;
                        .news-thumb {
                            position: relative;
                            display: inline-block;
                            img {
                                width: 100%;
                                height: 34.6354vw;
                            }
                            .news-new {
                                display: block;
                                padding: 3.5px 8px;
                                top: 18px;
                                width: 11.5885vw;
                                text-align: center;
                                font-size: 2.3437vw;
                                font-weight: normal;
                            }
                        }
                        .news-meta {
                            padding: 0 18px;
                            width: auto;
                            .time-cat-area {
                                display: flex;
                                justify-content: space-between;
                                gap: 0;
                                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: 7em;
                                    height:auto;
                                }
                            }                
                            .news-title {
                                height: calc(2.3437vw * 1.4116 * 2);
                                font-size: 2.3437vw;
                                line-height: 1.4166;
                            }
                        }
                    }
                }
            }
        }
    }
}
/* ---------- pc レイアウト ---------- */
@media screen and (width > 768px) {
    .page-id-8 {
        .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);
                            a {
                                transition: all 0.3s;
                                .time-cat-area {
                                    margin-bottom: min(1.4062vw, 18px);
                                    .news-date {
                                        font-size: min(1.5625vw, 20px);
                                        line-height: 1.4;
                                        height: auto;
                                    }
                                    .news-cat {
                                        line-height: 1.4;
                                        font-size: min(1.5625vw, 20px);
                                        width: min(10.9375vw, 140px);
                                        height: auto;
                                    }
                                }                
                                .news-title {
                                    height: calc(min(1.5625vw, 20px) * 1.425 * 2);
                                    font-size: min(1.5625vw, 20px);
                                    line-height: 1.425;
                                }
                                &:hover {
                                    opacity: 0.5;
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}



/* ---------- 個別投稿 ページ ---------- */

/* ---------- sp レイアウト ----------- */
.single-post {
    .post-area {
        padding: 35px 6.6666vw 44px;
        .contents-area {
            padding: 24px;
            background-color: var(--main-color);
            border: 1px solid var(--border01-color);
            border-radius: 20px;
            .post-thumb {
                margin-bottom: 10px;
                img {
                    width: 100%;
                    height: auto;
                    object-fit: contain;
                }
            }
            .date-cat-area {
                margin-bottom: 27px;
                .post-date, .post-cat {
                    display: inline-block;
                }
                .post-date {
                    margin-right: 5.5555vw;
                    font-size: 0.875rem;
                    line-height: 22px;
                }
                .post-cat {
                    width: 8em;
                    font-size: 1rem;
                    height: 22px;
                    line-height: 22px;
                    text-align: center;
                    background-color: var(--cat-color);
                    color: var(--main-color);
                }
            }
            .post-title {
                margin-bottom: calc(6px - 0.525rem);
                font-size: 1.25rem;
                line-height: 2;
            }
            .post-content {
                font-size: 0.75rem;
                line-height: 1.8333;
                margin-bottom: 62px;
                h2 {
                    font-size: 1.1rem;
                }
                h3 {
                    font-size: 0.95rem;
                }
                h4 {
                    font-size: 0.8rem;
                }
                h5, h6 {
                    font-size: 0.75rem;
                }
                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 > 450px) {
    .single-post {
        .post-area {
            padding: 75px 7.8125vw 53px;
            .contents-area {
                padding: 5.2083vw;
                .post-thumb {
                    margin-bottom: 16px;
                }
                .date-cat-area {
                    margin-bottom: 30px;
                    .post-date {
                        font-size: 1.0625rem;
                        line-height: calc(1.1875rem * 1.4210);
                        margin-right: 4.6875vw;
                    }
                    .post-cat {
                        font-size: 1.1875rem;
                        height: 1.4210em;
                        line-height: 1.4210;
                    }
                }
                .post-title {
                    margin-bottom: calc(10px - 0.7rem);
                    font-size: 1.5625rem;
                    line-height: 1.6;
                }
                .post-content {
                    margin-bottom: 49px;
                    font-size: 0.9375rem;
                    line-height: 1.8;
                }
                h2 {
                    font-size: 1.45rem;
                }
                h3 {
                    font-size: 1.1rem;
                }
                h4 {
                    font-size: 0.98rem;
                }
                h5, h6 {
                    font-size: 0.9375rem;
                }
            }
        }
    }
}
/* ---------- pc レイアウト ---------- */
@media screen and (width > 768px) {
    .single-post {
        .post-area {
            padding: 0;
            .s-wrapper {
                padding: 73px min(20.7031vw, 265px) 75px;
                .contents-area {
                    padding: min(4.0625vw, 52px);
                    .post-thumb {
                        margin-bottom: 19px;
                    }
                    .date-cat-area {
                        margin-bottom: 42px;
                        .post-date {
                            font-size: 1.25rem;
                            line-height: 31px;
                            margin-right: 40px;
                        }
                        .post-cat {
                            font-size: 1.375rem;
                            height: 31px;
                            line-height: 31px;
                        }
                    }
                    .post-title {
                        margin-bottom: calc(10px-0.7rem);
                        font-size: 1.875rem;
                        line-height: 1.3333;
                    }
                    .post-content {
                        margin-bottom: 65px;
                        font-size: 1.25rem;
                        line-height: 1.75;
                    }
                    h2 {
                        font-size: 1.7rem;
                        margin-top: 3em;
                    }
                    h3 {
                        font-size: 1.45rem;
                        margin-top: 2em;
                    }
                    h4 {
                        font-size: 1.3rem;
                    }
                    h5, h6 {
                        font-size: 1.25rem;
                    }
                    figure {
                        margin-bottom: 1.5em;
                    }
                }
            }
        }
    }
}



/* ------ 最新情報・個別投稿 ページネーション ------ */

/* ---------- sp レイアウト ----------- */
.page-id-8, .single-post {
    .pagination {
        margin-top: 25px;
        height: 35px;
        text-align: center;
        display: flex;
        justify-content: center;
        .page-list {
            width: 100%;
            display: flex;
            justify-content: space-between;
            margin: 0;            
            li {
                display: inline-block;
                a, .disabled {
                    width: 40vw;
                    height: 35px;
                    display: flex;
                    align-items: center;
                    padding: 0 19px; /* 上下paddingを削除 */
                    background-color: var(--main-color);
                    border: 2px solid var(--border01-color);
                    border-radius: 17.5px;
                    font-size: 0.9375rem;
                    font-weight: bold;
                    text-decoration: none;
                    transition: all 0.3s;
                    &:hover {
                        opacity: 0.5;
                    }
                    span {
                        display: block;
                        line-height: 1;
                    }
                    img {
                        width: 17px;
                        height: 17px;
                        flex-shrink: 0;
                    }                        
                }
                .disabled {
                    pointer-events: none;
                    background-color: var(--gray-bgcolor);
                }
            }
            .first-list {
                a, .disabled {
                    gap: 5.8133vw;
                    justify-content: flex-start;
                }
            }
            .last-list {
                a, .disabled {
                    gap: 8.7466vw;
                    justify-content: flex-end;
                }
            }
        }
    }
}
/* ---------- teblet レイアウト ---------- */
@media screen and (width > 450px) {
    .page-id-8, .single-post {
        .pagination {
            margin-top: 40px;
            height: 50px;
            .page-list {
                li {
                    a, .disabled {
                        width: 37.7604vw;
                        height: 50px;
                        padding: 0 4.6875vw; /* 上下paddingを削除 */
                        font-size: 1.5625rem;
                        border-radius: 25px;
                        img {
                            width: 23.5px;
                            height: 20.5px;
                        }                        
                    }
                }
                .first-list {
                    a, .disabled {
                        gap: 7.4218vw;
                    }
                }
                .last-list {
                    a, .disabled {
                        gap: 9.5052vw;
                    }
                }
            }
        }
    }
}
/* ---------- pc レイアウト ---------- */
@media screen and (width > 768px) {
    .page-id-8, .single-post {
        .pagination {
            margin-top: 64px;
            margin: 64px max(-6.6406vw, -85px) 0;
            height: 65px;
           .page-list {
                li {
                    a, .disabled {
                        width: min(33.3593vw, 427px);
                        height: 65px;
                        padding: 0 min(4.6875vw, 36.5px); /* 上下paddingを削除 */
                        font-size: 1.875rem;
                        border-radius: 32.5px;
                        img {
                            width: 27.5px;
                            height: 26px;
                        }                        
                    }
                }
                .first-list {
                    a, .disabled {
                        gap: min(8.2031vw, 105px);
                    }
                }
                .last-list {
                    a, .disabled {
                        gap: min(9.5312vw, 122px);
                    }
                }
            }
        }
    }
}



/* ---------- 最新情報 ページネーション --------- */

/* ----- sp 調整 ----- */
.page-id-8 {
    .pagination {
        margin: 25px 6.6666vw 0;
    }
}
/* ----- tb 調整 ----- */
@media screen and (width > 450px) {
    .page-id-8 {
        .pagination {
            margin: 75px 7.8125vw 0;
        }
    }
}
/* ----- pc 調整 ----- */
@media screen and (width > 768px) {
    .page-id-8 {
        .pagination {
            margin: 64px min(14.0625vw, 180px) 0;
        }
    }
}


/* ---------- 事業所紹介 ページ ---------- */

/* ---------- sp レイアウト ----------- */
.page-id-10 {
    .intro-area {
        padding: 38px 0 20px;
        .heading01-area {
            margin-bottom: 23px;
        }
        .work-list {
            section {
                margin-bottom: 21px;
                height: 23.3333vw;
                display: flex;
                justify-content: center;
                gap: 10px;
                div[class*="img"] {
                    height: 100%;
                    aspect-ratio: 1 / 1;
                    border-radius: 10px;
                    background-repeat: no-repeat;
                    background-size: contain;
                }
                .work-desc {
                    display: flex;
                    flex-direction: column;
                    justify-content: center;
                    h2 {
                        padding-bottom: 2.2222vw;
                        margin-bottom: 1.7777vw;
                        align-items: end;
                        font-size: 4.6666vw;
                        font-weight: bold;
                        line-height: 1;
                        white-space: nowrap;
                        border-bottom: 1px solid var(--border01-color);
                        .detail {
                            font-size: 0.6666em;
                        }
                    }
                    p {
                        font-size: 0.75rem;
                        font-weight: var(--semibold);
                        line-height: 1.5;
                    }
                    h2, p {
                        width: 59.5555vw;
                    }
                }
                &:nth-child(5) {
                    p {
                        line-height: 1.3;
                    }
                }
            }
        }
    }
}
/* ---------- teblet レイアウト ---------- */
@media screen and (width > 450px) {
    .page-id-10 {
        .intro-area {
            padding: 42px 0 25px;
            .heading01-area {
                margin-bottom: 43px;
            }
            .work-list {
                section {
                    margin-bottom: 23px;
                    height: 21.0937vw;
                    gap: 2.8645vw;
                    div[class*="img"] {
                        border-radius: 15px;
                    }
                    .work-desc {
                        h2 {
                            padding-bottom: 1.7578vw;
                            margin-bottom: 1.3672vw;
                            font-size: 4.5573vw;
                            .detail {
                                font-size: 0.7143em;
                            }
                        }
                        p {
                            font-size: 2.6041vw;
                            line-height: 1.5;
                        }
                        h2, p {
                            width: 63.0208vw;
                        }
                    }
                    &:nth-child(5) {
                        p {
                            font-size: 2.52vw;
                        }
                    }
                }
            }
        }
    }
}
/* ---------- pc レイアウト ---------- */
@media screen and (width > 768px) {
    .page-id-10 {
        .intro-area {
            padding: 43px 0 35px;
            .heading01-area {
                margin-bottom: 51px;
            }
            .work-list {
                section {
                    margin-bottom: 34px;
                    height: min(15.625vw, 200px);
                    gap: min(1.9531vw, 25px);
                    div[class*="img"] {
                        border-radius: 20px;
                    }
                    .work-desc {
                        h2 {
                            padding-bottom: min(1.25vw, 16px);
                            margin-bottom: min(1.0547vw, 13.5px);
                            font-size: 2.5rem;
                            .detail {
                                font-size: 0.75em;
                            }
                        }
                        p {
                            font-size: 1.5625rem;
                            line-height: 1.5;
                        }
                        h2, p {
                            width: min(71.4843vw, 915px);
                        }
                    }
                    &:nth-child(5) {
                        p {
                            font-size: 1.52rem;
                        }
                    }
                }
            }
        }
    }
}




/* ---------- アクセス ページ ---------- */

/* ---------- sp レイアウト ----------- */
.page-id-12 {
    .access-area {
        padding: 38px 6.6666vw 37px;
        h1 {
            margin-bottom: 33px;
            margin-left: -4.7777vw;
            display: flex;
            align-items: center;
            gap: 12px;
            font-size: 1.75rem;
            font-weight: bold;
            justify-content: center;
        }
        dl {
            margin-bottom: 4px;
            .item {
                margin-bottom: 20px;
                padding-left: 20px;
                border-left: 2px solid var(--border01-color);
                dt {
                    margin-bottom: 7px;
                    font-size: 1.5625rem;
                    font-weight: bold;
                    line-height: 1.4;
                }
                dd {
                    font-size: 0.9375rem;
                    font-weight: var(--semibold);
                    line-height: 1.4666;
                    .letter-space {
                        letter-spacing: 1em;
                    }
                }
            }
        }
        .map-area {
            margin-bottom: 10px;
            iframe {
            width: 100%;
            height:  106.2222vw;
            }
        }
        p {
            font-size: 0.8125rem;
            font-weight: var(--semibold);
            text-align: right;
        }
    }
}
/* ---------- teblet レイアウト ---------- */
@media screen and (width > 450px) {
    .page-id-12 {
        .access-area {
            padding: 42px 6.5104vw 44px;
            h1 {
                margin-bottom: 32px;
                margin-left: -4.2968vw;
                gap: 14px;
                font-size: 1.8125rem;
            }
            dl {
                margin-bottom: 25px;
                height: calc(1.875rem * 1.1666 * 3 + 13px * 3 + 2.25rem * 1.5555 * 3.5 + 20px * 2 + 20px);
                display: flex;
                flex-direction: column;
                flex-wrap: wrap;
                gap: 0 1%;
                .item {
                    margin-bottom: 25px;
                    width: 49%;
                    dt {
                        margin-bottom: 13px;
                        font-size: 1.875rem;
                        line-height: 1.1666;
                    }
                    dd {
                        font-size: 1.125rem;
                        line-height: 1.5555;
                        span {
                            white-space: nowrap;
                        }
                    }
                    &:nth-child(3) {
                        margin-bottom: 0;
                    }
                }
            }
            .map-area {
                iframe {
                height:  62.3697vw;
                }
            }
            p {
                font-size: 1.125rem;
            }
        }
    }
}
/* ----- tablet 調整 ----- */
@media screen and (width > 700px) {
    .page-id-12 {
        .access-area {
            dl {
                height: calc(1.875rem * 1.1666 * 3 + 13px * 3 + 2.25rem * 1.5555 * 3 + 20px * 2 + 15px);
            }
        }
    }
}
/* ---------- pc レイアウト ---------- */
@media screen and (width > 768px) {
    .page-id-12 {
        .access-area {
            padding: 43px min(5.4687vw, 70px) 59px;
            h1 {
                margin-bottom: 49px;
                margin-left: max(-5.5078vw, -70.5px);
                gap: 23px;
                font-size: 3.125rem;
            }
            dl {
                margin-bottom: 20px;
                width: min(80vw, 1024px);
                height: calc(2.5rem * 1.3 * 3 + 13px * 3 + 1.5625rem * 1.4 * 6 + 30px * 2 + 1px);
                gap: 0;
                .item {
                    margin-bottom: 30px;
                    width: min(40vw, 512px);
                    dt {
                        font-size: 2.5rem;
                        line-height: 1.3;
                    }
                    dd {
                        font-size: 1.5625rem;
                        line-height: 1.4;
                    }
                }
            }
            .map-area {
                margin-bottom: 15px;
                iframe {
                height:  min(55.5468vw, 711px);
                }
            }
            p {
                font-size: 1.25rem;
            }
        }
    }
}
/* ----- pc 調整 ----- */
@media screen and (width < 884px) and (width > 768px) {
    .page-id-12 {
        .access-area {
            dl {
                height: calc(2.5rem * 1.3 * 3 + 13px * 3 + 1.5625rem * 1.4 * 7 + 30px * 2 + 1px);
            }
        }
    }
}



/* ---------- 会社概要 ページ ---------- */

/* ---------- sp レイアウト ----------- */
.page-id-14 {
    .company-area {
        padding: 38px 6.6666vw 56px;
        h1 {
            margin-left: -2.2222vw;
            margin-bottom: 38px;
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 12px;
            font-size: 1.75rem;
            font-weight: bold;
        }
        dl {
            display: none; /* flex */
            flex-wrap: wrap;
            dt {
                width: 28.4615%;
                text-align: center;
                color: var(--main-color);
                background-color: var(--access-thead-color);
            }
            dd {
                width: 71.538%;
                padding-left: 10px;
            }
            dt, dd {
                --comarea-border-style: 2px solid var(--border01-color);
                height: 47px;
                line-height: 45px;
                border-bottom: var(--comarea-border-style);
                &:first-of-type {
                    border-top: var(--comarea-border-style);
                    line-height: 43px;
                }
            }
        }
        /* ただいま準備中です画面 */
        .construction {
            --comarea-sp-height: 62.8888vw;
            display: block; /* none */
            line-height: var(--comarea-sp-height);
            width: 100%;
            height: var(--comarea-sp-height);
            font-size: 1.75rem;
            font-weight: bold;
            text-align: center;
            background-color: #fff;
            border: 1px solid var(--border01-color);
        }
    }
}
/* ---------- teblet レイアウト ---------- */
@media screen and (width > 450px) {
    .page-id-14 {
        .company-area {
            padding: 43px 13.5416vw 54px;
            h1 {
                margin-left: -2.7343vw;
                margin-bottom: 38px;
                gap: 14px;
                font-size: 1.8125rem;
            }
            dl {
                dt {
                    width: 23.75%;
                }
                dd {
                    width: 76.25%;
                    padding-left: 12px;
                }
                dt, dd {
                    height: 56px;
                    line-height: 54px;
                    &:first-of-type {
                        line-height: 52px;
                    }
                }
            }
            /* ただいま準備中です画面 */
            .construction {
                --comarea-tb-height: 44.1406vw;
                line-height: var(--comarea-tb-height);
                width: 100%;
                height: var(--comarea-tb-height);
                font-size: 1.8125rem;
            }
        }
    }
}
/* ---------- pc レイアウト ---------- */
@media screen and (width > 768px) {
    .page-id-14 {
        .company-area {
            padding: 43px min(18.75vw, 240px) 88px;
            h1 {
                margin-left: max(-3.9062vw, -50px);
                margin-bottom: 44px;
                gap: 23px;
                font-size: 3.125rem;
            }
            dl {
                dt {
                    width: 23.75%;
                }
                dd {
                    width: 76.25%;
                    padding-left: 18px;
                }
                dt, dd {
                    height: 80px;
                    line-height: 78px;
                    &:first-of-type {
                        line-height: 76px;
                    }
                }
            }
            /* ただいま準備中です画面 */
            .construction {
                --comarea-pc-height: min(37.6562vw, 482px);
                line-height: var(--comarea-pc-height);
                width: 100%;
                height: var(--comarea-pc-height);
                font-size: 1.8125rem;
            }
        }
    }
}



/* ---------- コンタクトフォーム ---------- */

/* -----------お問い合わせ 入力画面 ----------*/
/* ---------- sp レイアウト ----------- */
.page-id-22 {
    background-color: var(--mainrange-bgcolor);
    main {
        #post-22 {
            padding-top: 39px;
            h1 {
                margin-bottom: 35px;
                font-size: 1.75rem;
                font-weight: bold;
                text-align: center;
            }
            .form-area {
                padding-bottom: 37px;
                p {
                    margin: 0 7.7777vw 18px;
                    label {
                        font-size: 1rem;
                        font-weight: bold;
                        line-height: 1.375;
                        input, textarea {
                            margin-top: 8px;
                            padding: 7px;
                            border: 1px solid var(--border01-color);
                            border-radius: 5px;
                            background-color: var(--main-color);
                            width: 100%;
                            font-size: 0.8125rem;
                            font-weight: normal;
                            line-height: 1.3846;
                        }
                        textarea {
                            height: 30vw;
                        }
                    }
                    .submit-btn {
                        display: block;
                        margin: auto;
                        width: 37.7777vw;
                        padding: 0.7692em;
                        font-size: 0.8125rem;
                        font-weight: bold;
                        line-height: 1;
                        text-align: center;
                        border: none;
                        border-radius: calc((0.8125rem + 0.7692em * 2) / 2);
                        background-color: var(--link-bgcolor);
                        color: var(--main-color);
                    }
                    &:nth-child(4) {
                        margin-bottom: 26px;
                    }
                    &:last-child {
                        height: calc(0.7692em * 2 + 1em);
                    }
                }
            }
        }
    }
    
}
/* ---------- teblet レイアウト ---------- */
@media screen and (width > 450px) {
    .page-id-22 {
        main {
            #post-22 {
                padding-top: 66px;
                h1 {
                    margin-bottom: 62px;
                    font-size: 2.1875rem;
                }
                .form-area {
                    padding-bottom: 45px;
                    p {
                        margin: 0 6.5104vw 26px;
                        label {
                            font-size: 1.5rem;
                            line-height: 1.375;
                            input, textarea {
                                margin-top: 11px;
                                padding: 7px;
                                font-size: 1.25rem;
                                line-height: 1.35;
                            }
                            textarea {
                                height: 25.7812vw;
                            }
                        }
                        .submit-btn {
                            width: 32.4218vw;
                            padding: 0.7894em;
                            font-size: 1.1875rem;
                            border-radius: calc((1em + 0.7894em * 2) / 2);
                        }
                        &:nth-child(4) {
                            margin-bottom: 35px;
                        }
                        &:last-of-type {
                            height: calc(0.7894em * 2 + 1em);
                        }
                    }
                }
            }
        }
    }
}
/* ---------- PC レイアウト ---------- */
@media screen and (width > 768px) {
    .page-id-22 {
        main {
            #post-22 {
                padding-top: 78px;
                h1 {
                    margin-bottom: 42px;
                    font-size: 3.125rem;
                }
                .form-area {
                    padding-bottom: 60px;
                    p {
                        margin: 0 min(8.4375vw, 108px) 38px min(7.1093vw, 91px);
                        label {
                            font-size: 2.1875rem;
                            line-height: 1.3428;
                            input, textarea {
                                margin-top: 15px;
                                padding: 10px;
                                font-size: 1.875rem;
                                line-height: 1.3666;
                            }
                            textarea {
                                height: min(22.6562vw, 290px);
                            }
                        }
                        .submit-btn {
                            width: min(35.1562vw, 450px);
                            padding: 0.5em;
                            font-size: 2.1875rem;
                            border-radius: calc((1em + 0.5em * 2) / 2);
                        }
                        &:nth-child(4) {
                            margin-bottom: 55px;
                        }
                        &:last-of-type {
                            height: calc(0.5em * 2 + 1em);
                        }
                    }
                }
            }
        }
    }
}



/* -----------お問い合わせ 確認画面 ----------*/
/* ---------- sp レイアウト ----------- */
.page-id-24 {
    main {
        background-color: var(--mainrange-bgcolor);
        #post-24 {
            padding-top: 39px;
            h1 {
                text-align: center;
                font-size: 1.75rem;
                font-weight: bold;
            }
            .confirm-area {
                padding: 35px 7.7777vw 37px;
                dl {
                    margin-bottom: 41px;
                    dt {
                        margin-bottom: 12px;
                        p {
                            font-weight: bold;
                            font-size: 1rem;
                            line-height: 1.375;
                        }
                    }
                    dd {
                        margin-bottom: 24px;
                        p {
                            font-size: 0.8125rem;
                            line-height: 1.3846;
                            white-space: pre-wrap;
                        }
                    }
                }
                .button-area {
                    --btn-width: 29.3333vw;
                    --btn-height: calc(1em + 0.7692em * 2);
                    display: flex;
                    justify-content: center;
                    gap: 8.2222vw;
                    font-size: 0.8125rem;
                    div {
                        height: var(--btn-height);
                        p {
                            width: var(--btn-width);
                                input {
                                width: var(--btn-width);
                                height: var(--btn-height);
                                font-size: 0.8125rem;
                                line-height: 1;
                                text-align: center;
                                border-radius: calc(var(--btn-height) / 2);
                            }
                            .return-btn {
                                background-color: var(--main-color);
                                color: var(--link-bgcolor);
                                border: 2px solid var(--link-bgcolor);
                            }
                            .send-btn {
                                background-color: var(--link-bgcolor);
                                color: var(--main-color);
                            }
                        }
                    }
                }
            }
        }
    }
}
/* ---------- tablet レイアウト ----------- */
@media screen and (width > 450px) {
    .page-id-24 {
        main {
            #post-24 {
                padding-top: 66px;
                h1 {
                    font-size: 2.1875rem;
                }
                .confirm-area {
                    padding: 62px 6.5104vw 46px;
                    dl {
                        margin-bottom: 88px;
                        dt {
                            margin-bottom: 17px;
                            p {
                                font-size: 1.5rem;
                                line-height: 1.375;
                            }
                        }
                        dd {
                            margin-bottom: 33px;
                            p {
                                font-size: 1.25rem;
                                line-height: 1.35;
                            }
                        }
                    }
                    .button-area {
                        --btn-width: 25.2604vw;
                        --btn-height: calc(1em + 0.7894em * 2);
                        gap: 10.9375vw;
                        font-size: 1.1875rem;
                        div {
                            p {
                                    input {
                                    font-size: 1.1875rem;
                                }
                                .return-btn {
                                    border: 3px solid var(--link-bgcolor);
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
/* ---------- pc レイアウト ----------- */
@media screen and (width > 768px) {
    .page-id-24 {
        main {
            #post-24 {
                padding-top: 78px;
                h1 {
                    font-size: 3.125rem;
                }
                .confirm-area {
                    padding: 42px 6.5104vw 60px;
                    dl {
                        margin-bottom: 132px;
                        dt {
                            margin-bottom: 24px;
                            p {
                                font-size: 2.1875rem;
                                line-height: 1.3428;
                            }
                        }
                        dd {
                            margin-bottom: 49px;
                            p {
                                font-size: 1.875rem;
                                line-height: 1.3666;
                            }
                        }
                    }
                    .button-area {
                        --btn-width: min(21.875vw, 280px);
                        --btn-height: calc(1em + 0.5em * 2);
                        gap: 9.375vw;
                        font-size: 2.1875rem;
                        div {
                            p {
                                    input {
                                    font-size:2.1875rem;
                                }
                           }
                        }
                    }
                }
            }
        }
    }
}


/* -----------お問い合わせ ありがとう画面 ----------*/
/* ---------- sp レイアウト ----------- */
.page-id-16 {
    .thanks-area {
        position: relative;
        background-color: var(--mainrange-bgcolor);
        height: 600px;
        .thanks-main-area {
            position: absolute;
            top: 47.9%;
            left: 50%;
            transform: translate(-50%, -50%);
            p {
                text-align: center;
                margin: 0 auto 43px;
                font-size: 1.4375rem;
                font-weight: bold;
                line-height: 1.5652;
                white-space: nowrap;
            }
            a {
                display: block;
                margin: auto;
                width: 39.3333vw;
                height: 33px;
                font-size: 1rem;
                color: var(--link-bgcolor);
                line-height: 29px;
                text-align: center;
                border-radius: 16.5px;
                background-color: var(--main-color);
                border: 2px solid var(--link-bgcolor);
            }
        }
        .s-wrapper {
            position: static;
        }
    }
}
/* ---------- tablet レイアウト ----------- */
@media screen and (width > 450px) {
    .page-id-16 {
        .thanks-area {
            height: 870px;
            .thanks-main-area {
                top:43.4%;
                p {
                    margin: 0 auto 54px;
                    font-size: 2.25rem;
                    line-height: 1.5833;
                }
                a {
                    width: 35.1562vw;
                    height: 51px;
                    font-size: 1.5625rem;
                    line-height: 45px;
                    border-radius: 25.5px;
                    border: 3px solid var(--link-bgcolor);
                }
            }
        }
    }      
}
/* ---------- pc レイアウト ----------- */
@media screen and (width > 768px) {
    .page-id-16 {
        .thanks-area {
            height: calc(100vh - 145px);
            .thanks-main-area {
                top:50.8%;
                p {
                    margin: 0 auto 72px;
                    font-size: 3.125rem;
                    line-height: 1.6;
                }
                a {
                    width: min(28.9062vw, 370px);
                    height: 70px;
                    font-size: 2.1875rem;
                    line-height: 64px;
                    border-radius: 35px;
                }
            }
        }
    }    
}





/* ---------- 404 ページ ----------*/
.error404 {
    background-color: var(--mainrange-bgcolor);
    .error-404 {
        height: 60vh;
        .page-header {
            position: relative;
            top: 35%;
        }
        .page-content {
            position: relative;
            top: 40%;
            a {
                text-decoration: underline;
            }
        }
        h1,p {
            text-align: center;
            margin-bottom: 20px;
        }
        h1 {
            font-size: 1.8rem;
        }
    }
}