/* ブログ詳細のカスタムブロック（c-front-alumi custom-post-public 相当・セレクタのみ pre-pkg 用） */
#pp-custom-post-root.pp-custom-post-root {
    max-width: 860px;
    margin: 0 auto 3rem;
    /* padding-left: 20px; */
    /* padding-right: 20px; */
}

#pp-custom-post-root.pp-custom-post-root section {
    padding: 10px 0;
}

#pp-custom-post-root.pp-custom-post-root section h2 {
    font-size: 1.5rem;
    margin: 0;
    line-height: initial;
    border-left: 7px solid var(--pp-primary, #334155);
    padding-left: 16px;
}

#pp-custom-post-root.pp-custom-post-root section h3 {
    font-size: 1.5rem;
    margin: 0;
    line-height: initial;
}

#pp-custom-post-root.pp-custom-post-root section span.content {
    white-space: pre-wrap;
    display: inline-block;
    width: 100%;
}

#pp-custom-post-root.pp-custom-post-root section.image div {
    width: 100%;
    display: grid;
    justify-content: center;
    gap: 5px;
}

#pp-custom-post-root.pp-custom-post-root section.image div img {
    width: 100%;
    height: auto;
}

#pp-custom-post-root.pp-custom-post-root .two-col div {
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

#pp-custom-post-root.pp-custom-post-root .text-container {
    display: flex;
    flex-direction: column;
}

#pp-custom-post-root.pp-custom-post-root .text-container .content {
    padding-left: 0;
    padding-right: 0;
}

#pp-custom-post-root.pp-custom-post-root .two-col .image-container {
    display: flex;
    flex-direction: column;
    gap: 5px;
    justify-content: flex-start;
}

#pp-custom-post-root.pp-custom-post-root .two-col .image-container span {
    text-align: center;
}

#pp-custom-post-root.pp-custom-post-root .two-col .image-container img {
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

#pp-custom-post-root.pp-custom-post-root .two-col .image-container .img-vertical {
    aspect-ratio: 2 / 3;
}

#pp-custom-post-root.pp-custom-post-root section.one-col div {
    display: block;
}

#pp-custom-post-root.pp-custom-post-root section.one-col .image-container img {
    width: 100%;
    aspect-ratio: 5 / 2;
    object-fit: cover;
    display: block;
}

@media (max-width: 768px) {
    /* スマホ時、カスタム欄の内容（画像・テキスト）が画面端に張り付かないよう左右に余白を付ける */
    #pp-custom-post-root.pp-custom-post-root {
        padding-left: 40px;
        padding-right: 40px;
    }

    #pp-custom-post-root.pp-custom-post-root section.image div {
        grid-template-columns: 1fr;
    }

    #pp-custom-post-root.pp-custom-post-root .text-container {
        flex-wrap: wrap;
        flex-direction: row;
    }

    #pp-custom-post-root.pp-custom-post-root .text-container .content {
        width: 100%;
        margin-bottom: 20px;
    }
}
