/* ---------
ブログ詳細
--------- */
.blog main > *:not(iframe, .breadcrumb) {
    overflow: hidden;
}

.blog .breadcrumb {
    padding: calc(var(--wh10) * 10) var(--wh20) var(--wh20);
}

.entry-header {
    margin-bottom: var(--wh50);
}

.entry-header .entry-ttl {
    width: 100%;
    margin-bottom: var(--wh20);
}

.entry-header h1 {
    display: inline;
    font-size: calc(var(--wh10) * 2.6);
    font-weight: var(--font-extra-bold);
    line-height: 1.56;
}

.entry-header .meta {
    display: flex;
    align-items: center;
    gap: calc(var(--wh10) * 0.8);
    font-size: calc(var(--wh10) * 1.3);
    letter-spacing: 0.05em;
    margin-bottom: var(--wh30);
    position: relative;
}

.entry-header .meta::after {
    content: '';
    position: absolute;
    z-index: 2;
    top: var(--wh20);
    right: calc(-1 * var(--wh50));
    width: calc(var(--wh10) * 14);
    height: calc(var(--wh10) * 6.1);
    background: url(../img/common/illust_kumo.webp) no-repeat;
    background-size: contain;
    animation: floatX 6s ease-in-out infinite;
}

.entry-header .meta .tag-cat {
    display: flex;
    align-items: center;
    font-weight: var(--font-bold);
    letter-spacing: 0.08em;
    line-height: 1;
    padding: 2px 0.6em;
    border-radius: 9999px;
    background-color: var(--color-primary);
    color: var(--color-white);
}

.entry-header .entry-photo-wrapper {
    margin-bottom: var(--wh50);
    position: relative;
}

.entry-header .entry-photo-wrapper::before,
.entry-header .entry-photo-wrapper::after {
    content: '';
    position: absolute;
    width: 100%;
    z-index: 1;
}

.entry-header .entry-photo-wrapper::before {
    height: min(calc(var(--wh10) * 1.1), 11px);
    top: -1px;
    background: url('../img/common/deco_ph_top.webp') no-repeat top center;
    background-size: 100%;
}

.entry-header .entry-photo-wrapper::after {
    bottom: -1px;
    height: min(calc(var(--wh10) * 1.3), 13px);
    background: url('../img/common/deco_ph_bottom.webp') no-repeat bottom center;
    background-size: 100%;
}

.entry-header .entry-photo-wrapper .entry-photo {
    width: 100%;
    height: auto;
}

/* ブログ投稿画面 */
.entry-content {
    margin-bottom: var(--wh80);
}

.entry-content .has-green-color {
    color: var(--color-green);
}

.entry-content .has-orange-color {
    color: var(--color-accent);
}

.entry-content h2 {
    margin: var(--wh50) 0 var(--wh20);
    font-size: calc(var(--wh10) * 2.2);
    line-height: 1.56;
    letter-spacing: 0.1em;
}

.entry-content h2::first-letter {
    font-size: calc(var(--wh10) * 2.6);
    background: url('../img/common/icon_hozuki_l.svg') no-repeat top center;
    background-size: contain;
    padding: calc(var(--wh10) * 0.7);
    position: relative;
    color: var(--color-white);
}

.entry-content h3 {
    font-size: calc(var(--wh10) * 1.5);
    font-weight: var(--font-bold);
    line-height: 1.55;
    margin: var(--wh30) 0 var(--wh10);
}

.entry-content .wp-block-buttons {
    display: flex;
    justify-content: center;
    align-items: center;
}

.entry-content .wp-block-button {
    width: 100%;
    padding: 0;
}

.entry-content .wp-element-button:not(.btn-s .wp-element-button) {
    width: calc(100% - var(--wh20));
    font-size: calc(var(--wh10) * 1.8);
    padding: var(--wh25) var(--wh35) var(--wh25) var(--wh25);
    margin: var(--wh30) auto var(--wh60);
}

.entry-content .wp-block-button.btn-s {
    margin: 0 auto var(--wh10);
}

.btn-s .wp-element-button {
    width: auto;
    font-size: calc(var(--wh10) * 1.4);
    letter-spacing: 0.15em;
    line-height: 1.55;
    padding: 0 0 calc(var(--wh10) * 0.5) 0;
    background-image: linear-gradient(to right, rgba(30, 184, 115, 1) 2px, transparent 2px);
    background-size: 6px 2px;
    background-repeat: repeat-x;
    background-position: left bottom;
    margin: var(--wh10) 0 var(--wh30)
}

.btn-s .wp-element-button::after {
    width: var(--wh20);
    height: var(--wh20);
    min-width: var(--wh20);
    min-height: var(--wh20);
    padding-top: calc(var(--wh10) * 0.35);
    padding-left: calc(var(--wh10) * 0.25);
    font-size: calc(var(--wh10) * 0.8);
    transform: rotate(90deg) translateY(-25%);
}

.wp-block-buttons ~ .wp-block-button,
.wp-block-buttons ~ p.note {
    margin-top:  calc(var(--wh25) * -1);
}

.entry-content p.note {
    font-size: calc(var(--wh10) * 1.3);
    line-height: 1.37;
    letter-spacing: 0.1em;
}

article ~ .back-link .btn-s {
    margin: 0 0 var(--wh20);
}

.wp-element-button:not(.btn-s .wp-element-button)::after {
    min-width: var(--wh30);
    min-height: var(--wh30);
}

.wp-block-image {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0 auto var(--wh30);
}

.wp-block-image img {
    display: block;
    width: 90%;
    height: auto;
    margin: 0 auto;
    -webkit-mask-image: url('../img/common/deco_ph.svg');
    mask-image: url('../img/common/deco_ph.svg');
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}

/* ベンダープレフィックス付きのフォールバック */
@supports not (mask-image: url('#')) {
    .wp-block-image {
        position: relative;
    }
    
    .wp-block-image::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url('../img/common/deco_ph.png') no-repeat center center;
        background-size: 100% 100%;
        pointer-events: none;
        z-index: 2;
    }
}