/* =========================================================
   PROJECT LIFE VALUE
   SINGLE POST
   PC版
   ========================================================= */


/* =========================================================
   COCOON / GRAYISH 標準表示を個別記事だけ解除
   ========================================================= */

/* 標準ヘッダーを非表示 */

body.single-post.skin-grayish .header-container {
    display: none !important;
}


/* Cocoon標準パンくずを非表示
   独自パンくずは .plv-single-breadcrumb なので影響なし */

body.single-post > .breadcrumb,
body.single-post #content > .breadcrumb,
body.single-post .breadcrumb:not(.plv-single-breadcrumb) {
    display: none !important;
}


/* サイドバーを非表示 */

body.single-post #sidebar,
body.single-post .sidebar {
    display: none !important;
}


/* Cocoonのコンテンツ幅を解除 */

body.single-post #content,
body.single-post #content-in,
body.single-post .content-in {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* メイン領域 */

body.single-post #main,
body.single-post .main {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    background: transparent !important;
}



/* =========================================================
   SINGLE PAGE 全体
   ========================================================= */

.plv-single-page {
    width: 100vw;

    margin-left: calc(50% - 50vw);

    background: #ffffff;

    color: #222;
}


.plv-single-page *,
.plv-single-page *::before,
.plv-single-page *::after {
    box-sizing: border-box;
}



/* =========================================================
   HEADER
   ========================================================= */

.plv-header {
    width: 100%;
    height: 76px;

    position: relative;
    z-index: 10;

    background: rgba(255, 255, 255, 0.98);

    border-bottom: 1px solid #e8e4dd;
}


.plv-header__inner {
    width: calc(100% - 80px);
    max-width: 1240px;
    height: 100%;

    margin: 0 auto;

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


.plv-header__brand {
    display: flex;
    align-items: baseline;

    gap: 14px;

    color: #171717;
    text-decoration: none;
}


.plv-header__sub {
    font-family:
        "Yu Mincho",
        "Hiragino Mincho ProN",
        serif;

    font-size: 14px;

    letter-spacing: 0.05em;
}


.plv-header__name {
    font-family:
        "Yu Mincho",
        "Hiragino Mincho ProN",
        serif;

    font-size: 20px;

    letter-spacing: 0.12em;
}


.plv-header__nav {
    display: flex;
    align-items: center;

    gap: 38px;
}


.plv-header__nav a {
    color: #252525;
    text-decoration: none;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 15px;

    letter-spacing: 0.03em;

    transition: opacity 0.25s ease;
}


.plv-header__nav a:hover {
    opacity: 0.55;
}



/* =========================================================
   BREADCRUMB
   ========================================================= */

.plv-single-breadcrumb {
    width: 100%;

    background: #ffffff;

    border-bottom: 1px solid #eeeae4;
}


.plv-single-breadcrumb__inner {
    width: calc(100% - 80px);
    max-width: 1080px;

    margin: 0 auto;
    padding: 16px 0;

    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 8px;

    color: #999;

    font-family:
        "Yu Mincho",
        "Hiragino Mincho ProN",
        serif;

    font-size: 12px;   /* 11px → 12px */
}


.plv-single-breadcrumb a {
    color: #777;
    text-decoration: none;
}


.plv-single-breadcrumb a:hover {
    color: #a47b3e;
}



/* =========================================================
   ARTICLE
   ========================================================= */

.plv-single-article {
    width: 100%;

    margin: 0;

    background: #ffffff;
}



/* =========================================================
   ARTICLE HEADER
   ========================================================= */

.plv-single-article__header {
    width: 100%;

    padding: 58px 40px 34px;

    background: #ffffff;
}


.plv-single-article__header-inner {
    width: 100%;
    max-width: 920px;

    margin: 0 auto;
}



/* カテゴリー */

.plv-single-article__categories {
    margin-bottom: 17px;

    display: flex;
    flex-wrap: wrap;

    gap: 8px;
}


.plv-single-article__categories a {
    padding: 5px 10px;

    border: 1px solid #c8a76d;

    color: #9c7336;
    text-decoration: none;

    font-family:
        "Yu Mincho",
        "Hiragino Mincho ProN",
        serif;

    font-size: 11px;   /* 10px → 11px */

    letter-spacing: 0.05em;
}



/* タイトル */

.plv-single-article__title {
    margin: 0 0 20px;

    color: #222;

    font-family:
        "Yu Mincho",
        "Hiragino Mincho ProN",
        serif;

    font-size: 36px;
    font-weight: 400;

    line-height: 1.55;

    letter-spacing: 0.045em;

}



/* 日付 */

.plv-single-article__date {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 15px;

    color: #938673;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 12px;   /* 11px → 12px */

    letter-spacing: 0.06em;
}


.plv-single-article__updated {
    display: flex;
    gap: 6px;

    color: #a1845b;
}



/* =========================================================
   EYECATCH
   ========================================================= */

.plv-single-article__eyecatch {
    width: calc(100% - 80px);
    max-width: 1040px;

    margin: 0 auto 52px;

    overflow: hidden;
}


.plv-single-article__eyecatch img {
    display: block;

    width: 100%;
    height: auto;

    margin: 0;
}



/* =========================================================
   ARTICLE CONTENT
   本文
   ========================================================= */

.plv-single-article__content {
    width: calc(100% - 80px);
    max-width: 760px;

    margin: 0 auto;

    color: #333;

    font-family:
        "Yu Mincho",
        "Hiragino Mincho ProN",
        serif;

    font-size: 16px;

    line-height: 2;

    letter-spacing: 0.025em;
}



/* 本文段落 */

.plv-single-article__content p {
    margin: 0 0 1.8em;
}



/* H2 */

.plv-single-article__content h2 {
    margin: 3.1em 0 1.25em;
    padding: 0 0 13px;

    border-bottom: 1px solid #c8a76d;

    color: #173448;

    font-size: 25px;
    font-weight: 400;

    line-height: 1.6;

    letter-spacing: 0.045em;
}



/* H3 */

.plv-single-article__content h3 {
    margin: 2.5em 0 1em;

    color: #2b2b2b;

    font-size: 20px;
    font-weight: 600;

    line-height: 1.65;
}



/* H4 */

.plv-single-article__content h4 {
    margin: 2em 0 0.8em;

    font-size: 17px;

    line-height: 1.65;
}



/* 本文画像 */

.plv-single-article__content img {
    max-width: 100%;
    height: auto;
}



/* リンク */

.plv-single-article__content a {
    color: #8e6933;
}



/* 引用 */

.plv-single-article__content blockquote {
    margin: 2.2em 0;
    padding: 22px 26px;

    border-left: 3px solid #b58a45;

    background: #f8f6f1;

    color: #555;
}



/* リスト */

.plv-single-article__content ul,
.plv-single-article__content ol {
    margin: 1.5em 0 2em;

    padding-left: 1.6em;
}


.plv-single-article__content li {
    margin-bottom: 0.65em;
}



/* =========================================================
   CATEGORY RETURN
   ========================================================= */

.plv-single-category-return {
    width: calc(100% - 80px);
    max-width: 760px;

    margin: 64px auto 0;
    padding: 26px 0;

    border-top: 1px solid #e5e0d8;
    border-bottom: 1px solid #e5e0d8;
}


.plv-single-category-return > p {
    margin: 0 0 14px;

    color: #9a7a4b;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 11px;   /* 10px → 11px */

    letter-spacing: 0.12em;
}


.plv-single-category-return__links {
    display: flex;
    flex-wrap: wrap;

    gap: 9px;
}


.plv-single-category-return__links a {
    padding: 9px 14px;

    border: 1px solid #d6c9b4;

    color: #695536;
    text-decoration: none;

    font-family:
        "Yu Mincho",
        "Hiragino Mincho ProN",
        serif;

    font-size: 13px;   /* 12px → 13px */
}



/* =========================================================
   PREV / NEXT
   ========================================================= */

.plv-single-post-nav {
    width: calc(100% - 80px);
    max-width: 920px;

    margin: 54px auto 0;

    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 14px;
}


.plv-single-post-nav__prev,
.plv-single-post-nav__next {
    min-width: 0;
}


.plv-single-post-nav a {
    min-height: 110px;

    padding: 21px 22px;

    display: flex;
    flex-direction: column;

    border: 1px solid #ded8cf;

    background: #faf9f6;

    color: #222;
    text-decoration: none;
}


.plv-single-post-nav__next {
    text-align: right;
}


.plv-single-post-nav__label {
    margin-bottom: 9px;

    color: #b58a45;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 11px;   /* 10px → 11px */

    letter-spacing: 0.12em;
}


.plv-single-post-nav__title {
    font-family:
        "Yu Mincho",
        "Hiragino Mincho ProN",
        serif;

    font-size: 15px;   /* 13px → 15px */

    line-height: 1.7;
}



/* =========================================================
   BLOG RETURN
   ========================================================= */

.plv-single-blog-return {
    padding: 40px 20px 78px;

    text-align: center;
}


.plv-single-blog-return a {
    width: 260px;
    height: 48px;

    margin: 0 auto;
    padding: 0 24px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    background: #10283a;

    color: #ffffff;
    text-decoration: none;

    font-family:
        "Yu Mincho",
        "Hiragino Mincho ProN",
        serif;

    font-size: 13px;

    letter-spacing: 0.07em;

    transition: background 0.25s ease;
}


.plv-single-blog-return a:hover {
    background: #24445b;

    color: #ffffff;
}

/* =========================================================
   SINGLE POST
   SMARTPHONE
   767px以下
   ========================================================= */

@media screen and (max-width: 767px) {


    /* =====================================================
       Cocoon / Grayish スマホ標準ヘッダーを非表示
       ===================================================== */

    body.single-post .mobile-header-menu-buttons,
    body.single-post .mobile-menu-buttons,
    body.single-post .navi-menu-button,
    body.single-post .search-menu-button {
        display: none !important;
    }


    /* =====================================================
       HEADER
       ===================================================== */

    .plv-header {
        height: auto;
    }


    .plv-header__inner {
        width: calc(100% - 24px);
        height: auto;

        padding: 13px 0 11px;

        flex-direction: column;

        justify-content: center;
        align-items: center;

        gap: 10px;
    }


    .plv-header__brand {
        flex-direction: column;

        align-items: center;
        justify-content: center;

        gap: 3px;

        text-align: center;
    }


    .plv-header__sub {
        display: block !important;

        font-size: 11px;

        line-height: 1.4;

        letter-spacing: 0.03em;

        white-space: nowrap;
    }


    .plv-header__name {
        display: block;

        font-size: 16px;

        line-height: 1.4;

        letter-spacing: 0.12em;

        white-space: nowrap;
    }


    .plv-header__nav {
        width: 100%;

        justify-content: center;

        flex-wrap: nowrap;

        gap: 11px;
    }


    .plv-header__nav a {
        font-size: 11px;

        letter-spacing: 0;

        white-space: nowrap;
    }



    /* =====================================================
       BREADCRUMB
       ===================================================== */

    .plv-single-breadcrumb__inner {
        width: calc(100% - 36px);

        padding: 12px 0;

        gap: 6px;

        font-size: 10px;

        line-height: 1.5;
    }



    /* =====================================================
       ARTICLE HEADER
       ===================================================== */

    .plv-single-article__header {
        padding: 38px 20px 26px;
    }


    .plv-single-article__header-inner {
        max-width: none;
    }


    /* カテゴリー */

    .plv-single-article__categories {
        margin-bottom: 14px;

        gap: 6px;
    }


    .plv-single-article__categories a {
        padding: 4px 8px;

        font-size: 10px;
    }


    /* タイトル */

    .plv-single-article__title {
        margin-bottom: 16px;

        font-size: 27px;

        line-height: 1.55;

        letter-spacing: 0.025em;
    }


    /* 日付 */

    .plv-single-article__date {
        gap: 10px;

        font-size: 10px;
    }



    /* =====================================================
       EYECATCH
       ===================================================== */

    .plv-single-article__eyecatch {
        width: 100%;

        margin: 0 auto 36px;
    }


    .plv-single-article__eyecatch img {
        width: 100%;

        height: auto;
    }



    /* =====================================================
       ARTICLE CONTENT
       ===================================================== */

    .plv-single-article__content {
        width: calc(100% - 40px);
        max-width: none;

        font-size: 15px;

        line-height: 1.95;

        letter-spacing: 0.015em;
    }


    .plv-single-article__content p {
        margin-bottom: 1.65em;
    }


    /* H2 */

    .plv-single-article__content h2 {
        margin: 2.7em 0 1.1em;

        padding-bottom: 10px;

        font-size: 21px;

        line-height: 1.6;
    }


    /* H3 */

    .plv-single-article__content h3 {
        margin: 2.2em 0 0.9em;

        font-size: 18px;

        line-height: 1.6;
    }


    /* H4 */

    .plv-single-article__content h4 {
        font-size: 16px;
    }


    /* 引用 */

    .plv-single-article__content blockquote {
        margin: 1.8em 0;

        padding: 17px 18px;

        font-size: 14px;
    }


    /* リスト */

    .plv-single-article__content ul,
    .plv-single-article__content ol {
        padding-left: 1.4em;
    }



    /* =====================================================
       CATEGORY RETURN
       ===================================================== */

    .plv-single-category-return {
        width: calc(100% - 40px);

        margin-top: 48px;

        padding: 22px 0;
    }


    .plv-single-category-return__links {
        gap: 7px;
    }


    .plv-single-category-return__links a {
        padding: 8px 11px;

        font-size: 11px;
    }



    /* =====================================================
       PREV / NEXT
       ===================================================== */

    .plv-single-post-nav {
        width: calc(100% - 40px);

        margin-top: 38px;

        grid-template-columns: 1fr;

        gap: 10px;
    }


    .plv-single-post-nav a {
        min-height: 0;

        padding: 17px 18px;
    }


    .plv-single-post-nav__next {
        text-align: left;
    }


    .plv-single-post-nav__label {
        margin-bottom: 7px;

        font-size: 10px;
    }


    .plv-single-post-nav__title {
        font-size: 14px;

        line-height: 1.65;
    }



    /* =====================================================
       BLOG RETURN
       ===================================================== */

    .plv-single-blog-return {
        padding: 32px 20px 58px;
    }


    .plv-single-blog-return a {
        width: 100%;
        max-width: 280px;

        height: 48px;

        font-size: 12px;
    }

}