@charset "utf-8";
/* ---------- 適用ページ ----------
    archive-news(page-news)
    home(page-blog)
    single-news
    single(single-blog)
    archive(page-blog)
    category(セレクタなし)
    search-page
    404
*/

:root {
    --cat-bgcolor: rgb(226 241 255 / 1.0);
    --cat-color: rgb(119 196 234 / 1.0);
    --border-top: rgb(241 249 248 / 1.0);
    --shadow-color: rgb(0 0 0 / 0.06);
    --shadow2-color: rgb(0 0 0 / 0.03);
}





/* ---------- パンくずリスト  ---------- */
/* ----- sp レイアウト ----- */
.page-news,
.page-blog,
.search-page,
.single-blog,
.single-news {
    .breadcrumb {
        margin: 4.8vw 5.3333vw 5.8666vw;

        .breadcrumb_inner {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 0 16px;

            a:has(img) {
                display: block;
                margin-right: -8px;
                width: 16px;
                height: 16px;

                img {
                    width: 100%;
                    height: 100%;
                }
            }

            a {
                text-decoration: none;
            }

            .current-item, .paged {
                color: var(--body-text);
            }
        }
    }
}

/* ----- pc レイアウト ----- */
@media screen and (width > 1023px) {

    .page-news,
    .page-blog,
    .search-page,
    .single-blog,
    .single-news {
        .breadcrumb {
            margin: min(1.6666vw, 24px) 0 min(3.3333vw, 48px);

            .breadcrumb_inner {
                gap: 20px;

                a:has(img) {
                    margin-top: -8px;
                    margin-right: -12px;
                    width: 14px;
                    height: 14px;
                }
            }
        }
    }
}





/* ---------- サイドバー ---------- */
/* ----- sp レイアウト ----- */
.sidebar {
    margin-top: 48px;
    padding: 0 5.3333vw;

    .search {
        margin-bottom: 10.6666vw;

        .search-box {
            padding: 0 8.5333vw;
            height: 15.7333vw;
            background-color: white;
            border-radius: 4.2666vw;
            box-shadow: 0 4px 20px var(--shadow-color);
            display: flex;
            align-items: center;

            .search-input {
                width: 65.3333vw;
                border: none;
                color: var(--text-small);
                font-size: 4.2666vw;
                letter-spacing: 0.07em;
            }

            .search-button {
                padding: 0;
                margin: 0;
                width: 7.2vw;
                height: 7.2vw;
                border: none;
                background-color: inherit;

                img {
                    width: 100%;
                }
            }
        }
    }

    .category {
        padding: 0 8.4vw 8.5333vw;
        background-color: white;
        border-radius: 4.2666vw;
        box-shadow: 0 4px 20px var(--shadow-color);

        .category-heading {
            margin: 0;
            padding: 8.5333vw 0 6.4vw;
            font-size: 4.2666vw;
        }

        .category-list {
            display: flex;
            flex-direction: column;
            gap: 3.2vw;

            .category-item {
                .category-link {
                    display: flex;
                    justify-content: space-between;
                    align-items: center;
                    font-size: 4.2666vw;
                    color: var(--body-text);
                    letter-spacing: 0.07em;
                    line-height: 1.7;
                    text-decoration: none;

                    img {
                        height: 2.1333vw;
                        width: 4vw;
                    }
                }

                .category-list--child {
                    margin-top: 2.1333vw;
                    margin-left: 4.2666vw;
                }
            }
        }
    }

    .contact {
        .contact-heading {
            margin: 4.8vw 0 3.2vw;
            padding: 0 10.2666vw;
            border-radius: 6.4vw;
            border: 2px solid var(--main-color);
            background-color: white;
            box-shadow: 0 4px 3px var(--shadow2-color);

            .contact-heading-link {
                display: block;
                text-decoration: none;
                height: 22.6666vw;
                font-size: 5.8666vw;
                font-weight: var(--font-bold);
                line-height: 22.6666vw;

                .contact-heading-arrow {
                    font-size: 5.8666vw;
                    font-weight: var(--font-bold);
                    color: var(--main-color);
                }
            }
        }

        .contact-list {
            margin-bottom: 21.8666vw;
            display: flex;
            flex-direction: column;
            gap: 3.2vw;

            .contact-card {
                height: 33.8666vw;
                padding: 0 4.8vw;
                text-decoration: none;
                display: flex;
                align-items: center;
                border-radius: 6.9333vw;
                box-shadow: 0 4px 3px var(--shadow2-color);

                .contact-card-icon {
                    margin-right: 3.2vw;
                    width: 16.5333vw;
                    height: 16.5333vw;
                    border-radius: 50%;
                    background-color: white;
                    display: grid;
                    place-items: center;
                }

                .contact-card-content {
                    .contact-card-title {
                        margin: 4.8vw 0 0;
                        font-size: 5.8666vw;
                        font-weight: var(--font-bold);
                    }

                    .contact-card-text {
                        font-size: 4.2666vw;
                        font-weight: var(--font-bold);
                        color: var(--text-card);
                    }
                }

                .contact-card-arrow {
                    margin-left: auto;

                    img {
                        width: 9.0666vw;
                    }
                }

                &:first-child {
                    background-color: var(--card-blue);

                    .contact-card-content {
                        .contact-card-title {
                            color: var(--main-color);
                        }
                    }
                }

                &:nth-child(2) {
                    background-color: var(--card-green);

                    .contact-card-content {
                        .contact-card-title {
                            color: var(--circle-green);
                        }
                    }
                }

                &:last-child {
                    background-color: var(--card-pink);

                    .contact-card-content {
                        .contact-card-title {
                            color: var(--circle-pink);
                        }
                    }
                }
            }
        }
    }
}

/* ----- pc レイアウト ----- */
@media screen and (width > 1023px) {
    .sidebar {
        margin-top: 0;
        padding: 0 0 min(6.6666vw, 96px);
        width: min(23.3333vw, 336px);

        .search {
            margin-bottom: min(2.7777vw, 40px);

            .search-box {
                padding: min(1.1111vw, 16px) min(2.2222vw, 32px);
                height: min(4.0972vw, 59px);
                border-radius: min(1.1111vw, 16px);

                .search-input {
                    width: min(17.0138vw, 245px);
                    font-size: min(1.1111vw, 16px);
                    letter-spacing: 0.07em;
                }

                .search-button {
                    width: min(1.875vw, 27px);
                    height: min(1.875vw, 27px);

                }
            }
        }

        .category {
            padding: min(2.2222vw, 32px);
            border-radius: min(1.1111vw, 16px);

            .category-heading {
                padding: 0 0 min(1.6666vw, 24px);
                font-size: min(1.3888vw, 20px);
            }

            .category-list {
                gap: min(0.8333vw, 12px);

                .category-item {
                    .category-link {
                        font-size: min(1.1111vw, 16px);

                        img {
                            height: auto;
                            width: min(0.4166vw, 6px);
                        }
                    }

                    .category-list--child {
                        margin-top: min(0.8333vw, 12px);
                        margin-left: min(1.1111vw, 16px);
                    }
                }
            }
        }

        .contact {
            .contact-heading {
                margin: min(2.7777vw, 40px) 0 min(2.2222vw, 32px);
                padding: 0 min(2.6736px, 38.5px);
                border-radius: min(1.8055vw, 26px);

                .contact-heading-link {
                    height: min(5.9027vw, 85px);
                    font-size: min(1.5277vw, 22px);
                    line-height: min(5.9027vw, 85px);
                    text-align: center;

                    .contact-heading-arrow {
                        font-size: min(1.5277vw, 22px);
                    }
                }
            }

            .contact-list {
                margin-bottom: 0;
                display: flex;
                flex-direction: column;
                gap: min(2.2222vw, 32px);

                .contact-card {
                    height: min(8.8194vw, 127px);
                    padding: min(1.25vw, 18px);
                    border-radius: min(1.8055vw, 26px);

                    .contact-card-icon {
                        margin-right: min(0.8333vw, 12px);
                        width: min(4.3055vw, 62px);
                        height: min(4.3055vw, 62px);

                        img {
                            width: min(3.3333vw, 48px);
                            height: min(3.3333vw, 48px);
                        }
                    }

                    &:last-child {
                        .contact-card-icon {
                            img {
                                width: min(2.6388vw, 38px);
                                height: min(2.6388vw, 38px);
                            }
                        }
                    }

                    .contact-card-content {
                        .contact-card-title {
                            margin: 0;
                            font-size: min(1.5277vw, 22px);
                        }

                        .contact-card-text {
                            font-size: min(1.1111vw, 16px);
                        }
                    }

                    .contact-card-arrow {
                        margin-left: auto;

                        img {
                            width: min(2.3611vw, 34px);
                        }
                    }
                }
            }
        }
    }
}





/* ---------- 新着情報 ページネーション ---------- */
/* ----- sp レイアウト ----- */
.page-news,
.page-blog,
.search-page {
    .pagenation {
        margin: 7.4666vw auto 12.8vw;
        width: fit-content;

        .current {
            padding: 0;
            margin: 0;
            display: inline-block;
            width: 8.5333vw;
            height: 8.5333vw;
            font-size: 4.2666vw;
            color: white;
            font-weight: var(--font-regular);
            line-height: 8.5333vw;
            text-align: center;
            border: none;
            background-color: var(--main-color);
            border-radius: 50%;
        }

        a {
            display: inline-block;
            padding: 0;
            margin: 0;
            width: 8.5333vw;
            height: 8.5333vw;
            border: none;
            font-size: 4.2666vw;
            text-align: center;
            color: var(--body-text);
            line-height: 8.5333vw;
        }

        .nextpostslink,
        .previouspostslink {
            border-radius: 50%;
            border: 1px solid var(--main-color);
            background-color: white;
            color: var(--main-color);
            line-height: 7.5vw;

        }
    }
}

/* ----- pc レイアウト ----- */
@media screen and (width > 1023px) {

    .page-news,
    .page-blog,
    .search-page {
        .pagenation {
            margin: min(1.9444vw, 28px) 0 min(6.6666vw, 96px);
            width: min(55vw, 792px);
            display: flex;
            justify-content: center;

            .current,
            a {
                width: min(2.2222vw, 32px);
                height: min(2.2222vw, 32px);
                font-size: min(1.1111vw, 16px);
                line-height: min(2.2222vw, 32px);
            }

            .nextpostslink,
            .previouspostslink {
                line-height: min(2.2222vw, 32px);

            }
        }
    }
}





/* ---------- 個別記事 ページネーション ---------- */
/* ----- sp レイアウト ----- */
.single-news,
.single-blog {
    .pagination {
        margin-bottom: 80px;

        .page-list {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8.5333vw;

            li {

                a,
                span {
                    display: flex;
                    align-items: center;
                    font-size: 16px;
                    font-weight: var(--font-medium);
                    color: var(--text-card);
                    text-decoration: none;
                }

                &.first-list {
                    img {
                        margin-right: 2vw;
                    }
                }

                &.last-list {
                    img {
                        margin-left: 2vw;
                    }
                }

                .disabled {
                    opacity: 0.5;
                }
            }
        }
    }
}

/* ----- pc レイアウト ----- */
@media screen and (width > 1023px) {

    .single-news,
    .single-blog {
        .pagination {
            margin-bottom: min(4.4444vw, 64px);

            .page-list {
                gap: min(4.4444vw, 64px);

                li {

                    a,
                    span {
                        font-size: min(1.1111vw, 16px);
                    }

                    &.first-list {
                        img {
                            margin-right: min(1.25vw, 18px);
                        }
                    }

                    &.last-list {
                        img {
                            margin-left: min(1.25vw, 18px);
                        }
                    }
                }
            }
        }
    }
}





/* ---------- 下層ページヒーローエリア ---------- /*
/* ----- sp レイアウト ----- */
.sub-fv {
    .wrapper {
        position: relative;
        width: 100%;
        height: 66.6666vw;

        .sub-fv__image--sp {
            position: absolute;

            img {
                width: 100%;
            }
        }

        .sub-fv__image--pc {
            display: none;
        }

        .sub-fv__content {
            position: absolute;
            margin: 4.8vw 0 13.3333vw 5.3333vw;

            .sub-fv__en {
                font-size: 5.3333vw;
                font-weight: var(--font-medium);
                color: var(--sub-color);
            }

            .sub-fv__description {
                width: 11em;
            }
        }
    }
}

/* ----- pc レイアウト ----- */
@media screen and (width > 1023px) {
    .sub-fv {
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);

        .wrapper {
            height: min(27.7777vw, 400px);

            .sub-fv__image--pc {
                display: block;
                position: absolute;
                right: 0;
                width: min(100%, 1440px);

                img {
                    width: 100%;
                    height: auto;
                }
            }

            .sub-fv__image--sp {
                display: none;
            }

            .sub-fv__content {
                position: absolute;
                margin: min(5.9722vw, 86px) auto 0;
                padding-left: min(13.75vw, 198px);
                max-width: 1440px;

                .sub-fv__en {
                    margin-bottom: min(0.6944vw, 10px);
                    font-size: min(1.6666vw, 24px);
                }

                .sub-fv__title {
                    margin-bottom: min(0.6944vw, 10px);
                    font-size: min(2.9166vw, 42px);
                }

                .sub-fv__description {
                    width: fit-content;
                    font-size: min(1.3888vw, 20px);
                }
            }
        }
    }
}





/* ---------- 新着情報 ---------- */
/* ----- sp レイアウト ----- */
.page-news {

    .news {
        .news__inner {

            .news__content {
                .news-card {
                    padding: 4.2666vw;
                    background-color: white;
                    border-radius: 4.2666vw;

                    .news-card__image {
                        position: relative;
                        border-radius: 4.2666vw;
                        overflow: hidden;
                        background-color: var(--main-color-light3);

                        img {
                            width: 100%;
                            object-fit: cover;
                            box-shadow: 0 4px 3px var(--shadow2-color);
                        }

                        p {
                            position: absolute;
                            top: 50%;
                            left: 50%;
                            transform: translate(-50%, -50%);
                            color: white;
                        }
                    }

                    .news-card__body {
                        margin-top: 12px;
                        position: relative;
                        height: fit-content;

                        .news-card__meta {
                            margin-bottom: 1.0666vw;
                            display: flex;
                            align-items: center;
                            gap: 2.1333vw;

                            time {
                                font-size: 3.7333vw;
                                font-weight: var(--font-bold);
                            }

                            .news-card__tag {
                                background-color: var(--cat-bgcolor);
                                height: 6.4vw;
                                padding: 0 4.2666vw;
                                border-radius: 3.2vw;
                                line-height: 6.4vw;
                                color: var(--cat-color);
                                font-weight: var(--font-bold);
                            }
                        }

                        .news-card__title {
                            margin: 0;
                            font-size: 4.8vw;
                            font-weight: var(--font-bold);
                            letter-spacing: 0.07em;
                        }

                        .news-card__info {
                            .news-card__text {
                                font-size: 4.2666vw;
                                width: 15em;
                                min-height: 3em;
                            }
                        }

                        .news-card__link {
                            position: absolute;
                            right: 0;
                            bottom: 0;

                            img {
                                width: 12.8vw;
                                height: 12.8vw;
                            }
                        }
                    }
                }
            }

            .noarticle {
                text-align: center;
                font-size: 4.2666vw;
            }
        }
    }
}

/* ----- pc レイアウト ----- */
@media screen and (width > 1023px) {
    .page-news {
        max-width: 1440px;
        margin: auto;
        padding: 0 min(8.3333vw, 120px);

        .news {
            .news__inner {
                display: flex;
                gap: min(5vw, 72px);

                .news__content {
                    width: min(55vw, 792px);
                    display: flex;
                    flex-direction: column;
                    gap: min(1.9444vw, 28px);

                    .news-card {
                        padding: min(1.1111vw, 16px);
                        display: flex;
                        gap: min(1.1111vw, 16px);
                        border-radius: min(1.1111vw, 16px);
                        box-shadow: 0 4px 20px var(--shadow-color);

                        .news-card__image {
                            width: min(18.125vw, 261px);
                            height: min(12.1527vw, 175px);
                            border-radius: min(4.2666vw, 16px);

                            img {
                                margin-bottom: 0;

                            }
                        }

                        .news-card__body {
                            position: relative;
                            height: min(12.1527vw, 175px);
                            width: min(27.5694vw, 397px);

                            .news-card__meta {
                                margin-bottom: min(0.5555vw, 8px);
                                gap: min(0.8333vw, 12px);

                                time {
                                    font-size: min(4.2666vw, 16px);
                                }

                                .news-card__tag {
                                    height: min(2.3611vw, 34px);
                                    padding: 0 min(1.3888vw, 20px);
                                    border-radius: min(1.1805vw, 17px);
                                    line-height: min(2.3611vw, 34px);
                                }
                            }

                            .news-card__title {
                                font-size: min(1.25vw, 18px);
                                height: calc(2em * 1.5);
                                display: -webkit-box;
                                -webkit-box-orient: vertical;
                                -webkit-line-clamp: 2;
                                overflow: hidden;
                                overflow: clip;
                                line-clamp: 2;
                            }

                            .news-card__info {
                                .news-card__text {
                                    width: 100%;
                                    height: calc(2em * 1.5);
                                    font-size: min(1.1111vw, 16px);
                                    display: -webkit-box;
                                    -webkit-box-orient: vertical;
                                    -webkit-line-clamp: 2;
                                    overflow: hidden;
                                    overflow: clip;
                                    line-clamp: 2;
                                }
                            }

                            .news-card__link {
                                right: max(-5.9722vw, -86px);

                                img {
                                    width: min(3.3333vw, 48px);
                                    height: min(3.3333vw, 48px);
                                }
                            }
                        }
                    }
                }

                .noarticle {
                    margin-top: 100px;
                    width: min(55vw, 792px);
                    text-align: center;
                    font-size: 32px;
                }
            }
        }
    }
}





/* ---------- NEWS　個別投稿 ---------- */
/* ----- sp レイアウト ----- */
.single-news {
    .news-area {
        padding: 22px 20px 0;

        .s-wrapper {


            .contents-area {
                margin-bottom: 48px;
                padding: 16px;
                background-color: white;
                border-radius: 16px;
                box-shadow: 0 4px 20px var(--shadow-color);

                .meta {
                    margin-bottom: 4px;
                    display: flex;
                    align-items: center;
                    gap: 8px;

                    .cat {
                        margin: 0;
                        padding: 0 16px;
                        height: 24px;
                        background-color: var(--cat-bgcolor);
                        color: var(--cat-color);
                        font-size: 14px;
                        font-weight: var(--font-bold);
                        line-height: 24px;
                        border-radius: 12px;
                    }

                    .date {
                        margin: 0;

                        .post-date {
                            font-size: 14px;
                            font-weight: var(--font-bold);
                            color: var(--text-small);
                        }
                    }
                }

                .title-area {
                    h1 {
                        margin: 0 0 12px;
                        font-size: 18px;
                        font-weight: var(--font-bold);
                    }
                }

                .content-area {
                    margin-bottom: 12px;

                    figure {
                        margin-bottom: 10px;
                    }
                }

                hr {
                    margin-bottom: 28px;
                }
            }
        }
    }
}

/* ----- pc レイアウト ----- */
@media screen and (width > 1023px) {
    .single-news {
        .l-wrapper {
            max-width: 1440px;
            margin: auto;
            padding: 0 min(8.3333vw, 120px);

            .news-area {
                padding: 0;

                .s-wrapper {
                    display: flex;
                    gap: min(3.3333vw, 48px);

                    .contents-area {
                        height: fit-content;
                        width: min(56.6666vw, 816px);
                        margin-bottom: min(6.6666vw, 96px);
                        padding: min(2.2916vw, 33px) min(1.9444vw, 28px);
                        border-radius: min(1.1111vw, 16px);

                        .meta {
                            margin-bottom: min(1.6666vw, 24px);
                            display: flex;
                            align-items: center;
                            gap: 12px;

                            .cat {
                                padding: 0 20px;
                                height: min(2.3611vw, 34px);
                                font-size: min(1.1111vw, 16px);
                                line-height: min(2.3611vw, 34px);
                                border-radius: min(1.1805vw, 17px);
                            }

                            .date {
                                .post-date {
                                    font-size: min(1.1111vw, 16px);
                                }
                            }
                        }

                        .title-area {
                            h1 {
                                margin: 0 0 min(1.25vw, 18px);
                                font-size: min(2.2222vw, 32px);
                            }
                        }

                        .content-area {
                            margin-bottom: min(2.2222vw, 32px);

                            figure {
                                margin-bottom: 10px;
                            }
                        }

                        hr {
                            margin-bottom: min(3.3333vw, 48px);
                        }
                    }
                }
            }
        }
    }
}





/* ---------- BLOG 一覧ページ ---------- */
/* ----- sp レイアウト ----- */
.page-blog {

    .blog {
        .blog__inner {
            .blog__content {
                display: flex;
                flex-direction: column;
                gap: 7.4666vw;

                .blog-card {
                    margin: 0 5.3333vw;
                    padding: 4.2666vw;
                    border-radius: 4.2666vw;
                    background-color: white;
                    box-shadow: 0 4px 20px var(--shadow-color);

                    .blog-card__image {
                        position: relative;
                        margin-bottom: 3.2vw;
                        border-radius: 4.2666vw;
                        overflow: hidden;
                        background-color: var(--main-color-light3);
                        box-shadow: 0 4px 3px var(--shadow2-color);

                        img {
                            width: 100%;
                            object-fit: cover;

                        }

                        p {
                            position: absolute;
                            top: 50%;
                            left: 50%;
                            transform: translate(-50%, -50%);
                            color: white;
                        }
                    }

                    .blog-card__body {
                        position: relative;

                        .blog-card__meta {
                            margin-bottom: 1.0666vw;
                            display: flex;
                            align-items: center;
                            gap: 2.1333vw;

                            .blog-card__date {
                                font-size: 3.7333vw;
                                font-weight: var(--font-bold);
                            }

                            .blog-card__tag {
                                padding: 0 4.2666vw;
                                display: block;
                                height: 6.4vw;
                                background-color: var(--menu-background);
                                font-size: 3.7333vw;
                                line-height: 6.4vw;
                                color: var(--main-color);
                                border-radius: 3.2vw;
                            }
                        }

                        .blog-card__title {
                            margin: 0 0 1.0666vw;
                            font-size: 4.8vw;
                            letter-spacing: 0.07em;
                        }

                        .blog-card__info {
                            .blog-card__text {
                                color: var(--text-card);
                                font-size: 4.2666vw;
                            }

                            .blog-card__excerpt {
                                p {
                                    width: 80%;
                                    color: var(--text-card);
                                    font-size: 4.2666vw;
                                    height: calc(4.2666vw * 2 * 1.5);
                                    display: -webkit-box;
                                    -webkit-box-orient: vertical;
                                    -webkit-line-clamp: 2;
                                    overflow: hidden;
                                    overflow: clip;
                                    line-clamp: 2;
                                }
                            }
                        }

                        .blog-card__link {
                            position: absolute;
                            bottom: 0;
                            right: 0;

                            img {
                                width: 12.8vw;
                                height: 12.8vw;
                            }
                        }
                    }
                }
            }

            .noarticle {
                text-align: center;
                font-size: 4.2666vw;
            }
        }
    }
}

/* ----- pc レイアウト ----- */
@media screen and (width > 1023px) {
    .page-blog {
        max-width: 1440px;
        margin: auto;
        padding: 0 min(8.3333vw, 120px);

        .blog {
            .blog__inner {
                display: flex;
                gap: min(5vw, 72px);

                .blog__content {
                    width: min(55vw, 792px);
                    gap: min(1.9444vw, 28px);

                    .blog-card {
                        margin: 0;
                        padding: min(1.1111vw, 16px);
                        border-radius: min(1.1111vw, 16px);

                        display: flex;
                        gap: min(1.1111vw, 16px);

                        .blog-card__image {
                            margin-bottom: 0;
                            width: min(18.125vw, 261px);
                            height: min(12.1527vw, 175px);
                            border-radius: min(1.1111vw, 16px);

                            img {

                                height: 100%;
                            }
                        }

                        .blog-card__body {
                            width: min(27.5694vw, 397px);

                            .blog-card__meta {
                                margin-bottom: min(0.3472vw, 5px);
                                gap: min(0.8333vw, 12px);

                                .blog-card__date {
                                    font-size: min(1.1111vw, 16px);
                                }

                                .blog-card__tag {
                                    padding: 0 min(2.5vw, 36px);
                                    display: block;
                                    height: min(2.3611vw, 34px);
                                    font-size: min(1.1111vw, 16px);
                                    line-height: min(2.3611vw, 34px);
                                    border-radius: min(1.1805vw, 17px);
                                }
                            }

                            .blog-card__title {
                                margin-bottom: min(0.5555vw, 8px);
                                font-size: min(1.25vw, 18px);
                            }

                            .blog-card__info {
                                .blog-card__text {
                                    font-size: min(1.1111vw, 16px);
                                }

                                .blog-card__excerpt {
                                    p {
                                        font-size: min(1.1111vw, 16px);
                                        height: calc(min(1.1111vw, 16px) * 2 * 1.5);
                                    }
                                }
                            }

                            .blog-card__link {
                                position: absolute;
                                bottom: 0;
                                right: max(-5.9722vw, -86px);

                                img {
                                    width: min(3.3333vw, 48px);
                                    height: min(3.3333vw, 48px);
                                }
                            }
                        }
                    }

                    .noarticle {
                        margin-top: 100px;
                        width: min(55vw, 792px);
                        text-align: center;
                        font-size: 32px;
                    }
                }
            }
        }
    }
}





/* ---------- BLOG 個別投稿 ---------- */
/* ----- sp レイアウト----- */
.single-blog {
    .blog {
        .blog-inner {
            .blog-content {
                .wrapper {
                    margin: 0 20px;
                    padding: 16px;
                    background-color: white;
                    border-radius: 16px;
                    box-shadow: 0 4px 20px var(--shadow-color);
                }

                .meta {
                    margin-bottom: 4px;
                    display: flex;
                    align-items: center;
                    gap: 8px;

                    .cat {
                        display: inline-block;
                        padding: 0 16px;
                        height: 24px;
                        font-size: 14px;
                        line-height: 24px;
                        color: var(--main-color);
                        font-weight: var(--font-bold);
                        border-radius: 12px;
                        background-color: var(--menu-background);
                    }

                    .date {
                        font-size: 14px;
                        font-weight: var(--font-bold);
                    }
                }

                .title-area {
                    margin-bottom: 12px;

                    h1 {
                        font-size: 18px;
                        font-weight: var(--font-bold);
                        line-height: 1.7;
                        letter-spacing: 0.07em;
                        color: var(--text-card);
                    }
                }

                .thumb {
                    margin-bottom: 12px;
                    border-radius: 16px;
                    overflow: hidden;
                    box-shadow: 0 4px 3px var(--shadow2-color);

                    img {
                        width: 100%;

                    }
                }

                .guest-area {
                    margin-bottom: calc(1em * 1.7);

                    p {
                        line-height: 1.7;
                    }
                }

                .content-area {
                    .content {
                        line-height: 1.7;
                    }

                    .significance-title {
                        margin: 28px 0 12px -8px;
                        padding-left: 8px;
                        font-size: 18px;
                        font-weight: var(--font-bold);
                        color: var(--main-color);
                        line-height: 1.7;
                        letter-spacing: 0.07em;
                        border-left: 8px solid var(--main-color);
                    }

                    .significance-desc {
                        line-height: 1.7;
                    }
                }

                hr {
                    margin: 28px 0;
                    background-color: var(--border-top);
                }
            }
        }
    }
}

/* ----- pc レイアウト ----- */
@media screen and (width > 1023px) {
    .single-blog {
        max-width: 1440px;
        margin: auto;
        padding: 0 min(8.3333vw, 120px);

        .blog {
            .blog-inner {

                display: flex;
                justify-content: center;
                gap: min(3.3333vw, 48px);

                .blog-content {
                    margin-bottom: min(6.6666vw, 96px);
                    width: min(56.6666vw, 816px);

                    .wrapper {
                        width: 100%;
                        margin: 0;
                        padding: min(2.2222vw, 32px) min(1.8055vw, 26px);
                        border-radius: min(1.1111vw, 16px);
                    }

                    .meta {
                        margin-bottom: min(1.6666vw, 24px);
                        display: flex;
                        align-items: center;
                        gap: min(0.8333vw, 12px);

                        .cat {
                            display: inline-block;
                            padding: 0 min(2.5vw, 36px);
                            height: min(2.3611vw, 34px);
                            font-size: min(1.1111vw, 16px);
                            line-height: min(2.3611vw, 34px);
                            border-radius: min(1.1805vw, 17px);
                        }

                        .date {
                            font-size: min(1.1111vw, 16px);
                        }
                    }

                    .title-area {
                        margin-bottom: min(1.25vw, 18px);

                        h1 {
                            font-size: min(2.2222vw, 32px);
                        }
                    }

                    .thumb {
                        margin-bottom: 0;

                        &:has(img) {
                            float: right;
                            width: min(21.0416vw, 303px);
                            height: min(14.0972vw, 203px);
                            border-radius: min(1.1111vw, 16px);
                        }

                        img {
                            width: 100%;
                            height: 100%;
                            object-fit: cover;
                            object-position: center;
                        }
                    }

                    .guest-area {
                        font-size: min(1.1111vw, 16px);
                    }

                    .content-area {
                        min-height: min(14.0972vw, 203px);

                        .content {
                            p {
                                font-size: min(1.1111vw, 16px);
                            }
                        }

                        .significance-title {
                            clear: both;
                            margin: min(1.9444vw, 28px) 0 min(1.6666vw, 24px) -8px;
                            padding-left: 8px;
                            font-size: min(1.3888vw, 20px);
                        }
                    }

                    hr {
                        clear: both;
                        margin: min(3.125vw, 45px) 0 min(3.5416vw, 51px);
                    }
                }
            }
        }
    }
}





/* ---------- 検索結果 ページ ---------- */
/* ----- sp レイアウト ----- */
.search-page {
    padding: 20px;

    .result {
        .result-inner {

            h1 {
                font-size: 18px;
                font-weight: var(--font-bold);
            }
        }
    }
}

/* ----- pc レイアウト ----- */
@media screen and (width > 1023px) {
    .search-page {
        max-width: 1440px;
        margin: auto;
        padding: 0 min(8.3333vw, 120px);

        .result {
            .result-inner {
                h1 {
                    font-size: min(2.2222vw, 32px);
                }

                .flex {
                    display: flex;
                    justify-content: center;
                    gap: min(3.3333vw, 48px);

                    .contents {
                        width: min(56.6666vw, 816px);

                        h2 {
                            margin: 0 0 0.7em;
                        }

                        p {
                            margin: 0 0 1.5em;
                        }

                        a {
                            font-size: min(1.6666vw, 24px);
                        }
                    }
                }
            }
        }
    }
}





/* ---------- thanksページ ----------- */
.thanks-area {
    .s-wrapper {
        position: relative;
        height: 60dvh;
        .thanks-main-area {
            position: absolute;
            top: 47.9%;
            left: 50%;
            transform: translate(-50%, -50%);

            p {
                text-align: center;
                margin: 0 auto 43px;
                color: var(--body-text);
                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;
                line-height: 29px;
                text-align: center;
                border-radius: 16.5px;
                background-color: var(--amin-color);
                border: 2px solid var(--sub-color);
            }
        }
    }
}
/* ----- pc ----- */
@media (width > 1023px) {
    .thanks-area {
    .s-wrapper {
                .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 ページ ----------*/
.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;
    }
}

body:has(.error-404) {
    background-color: var(--background);
}