.has-main-color {
    color: var(--color-key);
}

.single-meta{
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

.single-meta a{
    color: var(--color-key);
}

.single-meta h1 {
    width: 100%;
    font-size: min(24px + 8 * (100 * var(--vw) - 400px) / 1200, 32px);
    border-bottom: 1px dotted #333;
    margin: 0 0 2rem 0;
    padding: 0.5rem 0;
    font-weight: 600;
    color: #45423F;
}

.p-single-article {
    width: calc(100% - var(--gutter) * 2);
    max-width: 1140px;
    margin: 3rem auto 6rem auto;
}

.p-single-article h2.wp-block-heading {
    font-size: min(20px + 8 * (100 * var(--vw) - 400px) / 1200, 28px);
    margin: 2rem 0;
    padding-left: 1rem;
    border-left: 4px solid var(--color-key);
    color: var(--color-key);
}

.p-single-article h3.wp-block-heading {
    font-size: min(18px + 8 * (100 * var(--vw) - 400px) / 1200, 24px);
    margin: 2rem 0;
}

.p-single-article h4.wp-block-heading {
    font-size: min(17px + 8 * (100 * var(--vw) - 400px) / 1200, 22px);
    margin: 2rem 0;
}

.p-single-article h5.wp-block-heading {
    font-size: min(16px + 8 * (100 * var(--vw) - 400px) / 1200, 20px);
    margin: 2rem 0;
}

.p-single-article h6.wp-block-heading {
    font-size: min(16px + 8 * (100 * var(--vw) - 400px) / 1200, 18px);
    margin: 2rem 0;
}

.p-single-article p.wp-block-paragraph{
    margin: 0 0 1.5rem;
}

.p-single-article figure{
    margin: 2rem auto;
}

.p-single-article  .post-info {
    width: 85%;
    max-width: 750px;
    background-color: #E3F6F5;
    margin: 3rem auto;
    padding: 1.5rem 3rem;
    border-radius: 30px;
}

.p-single-article  .post-info .post-info__item{
    padding: 1.5rem 0;
    display: flex;
    align-items: center;
    gap: 15px;
}

.p-single-article  .post-info .post-info__item .post-info__ttl{
    background-color: var(--color-key);
    color: #FFF;
    padding: 5px 10px;
    border-radius: 5px;
}