@charset "utf-8";
/* =========================================================
   コラム（カスタム投稿タイプ column）専用スタイル
   - single-column.php / archive-column.php / トップの最新コラム枠
   - 既存テーマの配色(#F1F2E8 系)に合わせた軽量スタイル
   ========================================================= */

.p-column {
    max-width: 820px;
    margin: 0 auto;
    padding: 24px 16px 64px;
    line-height: 1.9;
    color: #333;
}

/* ---------- 単記事 ---------- */
.p-column__breadcrumb {
    font-size: 12px;
    color: #888;
    margin-bottom: 16px;
    display: flex;            /* style.css の a{display:block} を打ち消して横並びにする */
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}
.p-column__breadcrumb a { display: inline; color: #888; text-decoration: none; }
.p-column__breadcrumb a:hover { text-decoration: underline; }
.p-column__breadcrumb span { display: inline; }

.p-column__head { margin-bottom: 20px; }
.p-column__meta {
    font-size: 13px;
    color: #999;
    display: flex;
    flex-wrap: wrap;
    gap: 6px 14px;
    align-items: center;
    margin-bottom: 10px;
}
.p-column__author { position: relative; padding-left: 14px; }
.p-column__author::before {
    content: "";
    position: absolute; left: 0; top: 50%;
    width: 4px; height: 4px; border-radius: 50%;
    background: #bbb; transform: translateY(-50%);
}
.p-column__title {
    font-size: 26px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .02em;
}

.p-column__eyecatch { margin: 24px 0 32px; }
.p-column__eyecatch img {
    width: 100%; height: auto; border-radius: 8px; display: block;
}

/* 本文（Gutenberg 出力を整える） */
.p-column__body { font-size: 16px; }
.p-column__body h2 {
    font-size: 22px; font-weight: 700; line-height: 1.5;
    margin: 48px 0 16px; padding: 10px 0 10px 14px;
    border-left: 5px solid #8bbf3f; background: #f6f7ef;
}
.p-column__body h3 {
    font-size: 19px; font-weight: 700;
    margin: 32px 0 12px; padding-bottom: 6px;
    border-bottom: 2px solid #e4e6d8;
}
.p-column__body h4 { font-size: 17px; font-weight: 700; margin: 24px 0 10px; }
.p-column__body p { margin: 0 0 1.4em; }
.p-column__body ul,
.p-column__body ol { margin: 0 0 1.4em 1.4em; }
.p-column__body ul li { list-style: disc; margin-bottom: .4em; }
.p-column__body ol li { list-style: decimal; margin-bottom: .4em; }
.p-column__body a { color: #4a8a1f; text-decoration: underline; }
.p-column__body img { max-width: 100%; height: auto; border-radius: 6px; }
.p-column__body blockquote {
    margin: 1.6em 0; padding: 14px 18px;
    background: #f6f7ef; border-left: 4px solid #cfd5b5; color: #555;
}
.p-column__body table { width: 100%; border-collapse: collapse; margin: 1.6em 0; font-size: 15px; }
.p-column__body th,
.p-column__body td { border: 1px solid #e0e2d4; padding: 10px 12px; text-align: left; }
.p-column__body th { background: #f1f2e8; }
.p-column__body strong { font-weight: 700; }

/* 末尾CTA */
.p-column__cta {
    margin: 56px 0 24px;
    padding: 28px 24px;
    background: #F1F2E8;
    border-radius: 10px;
}
.p-column__cta-lead { font-size: 14px; color: #555; margin-bottom: 18px; }
.p-column__cta-tags-label {
    display: block; font-size: 13px; font-weight: 700; color: #4a8a1f; margin-bottom: 10px;
}
.p-column__cta-tags-list { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.p-column__cta-tags-list li { list-style: none; }
.p-column__cta-tags-list a {
    display: inline-block; font-size: 13px; text-decoration: none; color: #4a8a1f;
    background: #fff; border: 1px solid #d6dcc2; border-radius: 999px; padding: 4px 12px;
}
.p-column__cta-tags-list a:hover { background: #4a8a1f; color: #fff; }
.p-column__cta-button {
    display: block; text-align: center; text-decoration: none;
    background: #8bbf3f; color: #fff; font-weight: 700; font-size: 15px;
    padding: 14px; border-radius: 8px;
}
.p-column__cta-button:hover { opacity: .9; }

.p-column__back { margin-top: 24px; font-size: 14px; }
.p-column__back a { color: #4a8a1f; text-decoration: none; }
.p-column__back a:hover { text-decoration: underline; }

/* ---------- 一覧（アーカイブ） ---------- */
.p-column__archive-head { text-align: center; margin-bottom: 36px; }
.p-column__archive-title { font-size: 28px; font-weight: 700; letter-spacing: .08em; }
.p-column__archive-lead { font-size: 14px; color: #777; margin-top: 10px; }

.p-column__list { display: flex; flex-direction: column; gap: 20px; }
.p-column__list-item { list-style: none; }
.p-column__card {
    display: flex; gap: 18px; text-decoration: none; color: inherit;
    background: #fff; border: 1px solid #eaecdf; border-radius: 10px; overflow: hidden;
    transition: box-shadow .2s ease;
}
.p-column__card:hover { box-shadow: 0 6px 18px rgba(0,0,0,.08); }
.p-column__card-img { flex: 0 0 200px; }
.p-column__card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.p-column__card-body { padding: 16px 18px; }
.p-column__card-date { font-size: 12px; color: #999; margin-bottom: 6px; }
.p-column__card-title { font-size: 18px; font-weight: 700; line-height: 1.5; margin-bottom: 8px; }
.p-column__card-excerpt { font-size: 13px; color: #777; line-height: 1.7; }
.p-column__empty { text-align: center; color: #999; padding: 48px 0; }

/* ---------- トップページの「最新コラム」枠 ---------- */
.p-home-column {
    margin: 48px auto;
    padding: 32px 16px;
    background: #F1F2E8;
    border-radius: 12px;
}
.p-home-column__head {
    display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 20px;
}
.p-home-column__title { font-size: 20px; font-weight: 700; letter-spacing: .06em; }
.p-home-column__more { font-size: 13px; color: #4a8a1f; text-decoration: none; }
.p-home-column__more:hover { text-decoration: underline; }
.p-home-column__list { display: flex; flex-direction: column; gap: 12px; }
.p-home-column__item { list-style: none; }
.p-home-column__link {
    display: flex; gap: 14px; align-items: center; text-decoration: none; color: inherit;
    background: #fff; border-radius: 8px; padding: 10px 14px;
}
.p-home-column__link:hover { box-shadow: 0 4px 12px rgba(0,0,0,.06); }
.p-home-column__date { font-size: 12px; color: #999; flex: 0 0 84px; }
.p-home-column__name { font-size: 14px; font-weight: 600; line-height: 1.5; }

/* ---------- レスポンシブ ---------- */
@media (max-width: 767px) {
    .p-column__title { font-size: 22px; }
    .p-column__body { font-size: 15px; }
    .p-column__card { flex-direction: column; }
    .p-column__card-img { flex: none; height: 180px; }
    .p-home-column__link { flex-direction: column; align-items: flex-start; gap: 4px; }
    .p-home-column__date { flex: none; }
}
