@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/* ==========================================================================
   家物語 (iemonogatari.com) - Cocoon子テーマ カスタムCSS v2
   Cocoonの実際のクラス名に合わせて修正
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;700&family=Noto+Sans+JP:wght@400;500;700&display=swap');

:root {
    --im-white:  #FFFFFF;
    --im-ink:    #1A1A1A;
    --im-sub:    #6B6B6B;
    --im-line:   #E8E8E8;
    --im-dark:   #111111;
    --im-bg:     #FAFAFA;
    --font-serif: "Noto Serif JP", "Georgia", serif;
    --font-sans:  "Noto Sans JP", sans-serif;
}

body {
    font-family: var(--font-sans) !important;
    color: var(--im-ink) !important;
    background: var(--im-bg) !important;
    -webkit-font-smoothing: antialiased;
}

/* ========== ヘッダー ========== */
#header {
    background: var(--im-white) !important;
    box-shadow: none !important;
    border-bottom: 1px solid var(--im-line) !important;
    padding: 0 !important;
    min-height: auto !important;
}

/* ヘッダーインナー余白リセット */
#header .header-in {
    padding: 20px 24px !important;
    min-height: auto !important;
}

/* サイトタイトル */
#site-name-text,
.site-name-text {
    font-family: var(--font-serif) !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    letter-spacing: 0.14em !important;
    color: var(--im-ink) !important;
}

#site-name-text a,
.site-name-text a {
    color: var(--im-ink) !important;
    text-decoration: none !important;
}

/* キャッチフレーズ */
#site-catch {
    font-size: 11px !important;
    letter-spacing: 0.12em !important;
    color: var(--im-sub) !important;
    font-family: var(--font-sans) !important;
}

/* ヘッダー画像エリアを非表示(テキストロゴのみにする) */
#header-image-area {
    display: none !important;
}

/* ナビゲーション */
#navi {
    background: var(--im-white) !important;
    border-top: 1px solid var(--im-line) !important;
}

#navi .navi-in > ul > li > a {
    font-family: var(--font-sans) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em !important;
    color: var(--im-ink) !important;
    background: transparent !important;
    padding: 12px 16px !important;
}

#navi .navi-in > ul > li > a:hover {
    color: var(--im-sub) !important;
    background: transparent !important;
}

/* ========== トップページ・アーカイブ: 記事一覧 ========== */

/* PV数(本日・週・月)を非表示 */
.admin-pv {
    display: none !important;
}

/* カードラッパー: リスト型に変換 */
a.entry-card-wrap.a-wrap {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    background: var(--im-white) !important;
    border: none !important;
    border-bottom: 1px solid var(--im-line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 32px 0 !important;
    margin: 0 !important;
    gap: 24px;
    transition: opacity 0.2s ease;
}

a.entry-card-wrap.a-wrap:hover {
    background: var(--im-white) !important;
    box-shadow: none !important;
    transform: none !important;
    opacity: 0.7;
}

/* サムネイル: 右側に固定サイズ */
figure.entry-card-thumb.card-thumb {
    order: 2 !important;
    flex: 0 0 180px !important;
    width: 180px !important;
    margin: 0 !important;
    padding: 0 !important;
}

figure.entry-card-thumb.card-thumb img {
    width: 180px !important;
    height: 120px !important;
    object-fit: cover !important;
    border-radius: 0 !important;
    display: block !important;
}

/* コンテンツ: 左側 */
.entry-card-content.card-content {
    order: 1 !important;
    flex: 1 !important;
    padding: 0 !important;
}

/* カードタイトル */
.entry-card-title.card-title {
    font-family: var(--font-serif) !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
    color: var(--im-ink) !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
}

/* 抜粋 */
.entry-card-snippet.card-snippet {
    font-size: 13px !important;
    line-height: 1.8 !important;
    color: var(--im-sub) !important;
    margin: 0 0 10px !important;
}

/* 投稿日 */
.post-date,
.entry-date {
    font-size: 11px !important;
    letter-spacing: 0.06em !important;
    color: var(--im-sub) !important;
    font-family: var(--font-sans) !important;
}

/* カテゴリラベル */
.cat-label {
    background: transparent !important;
    color: var(--im-sub) !important;
    border: 1px solid var(--im-line) !important;
    font-size: 10px !important;
    letter-spacing: 0.06em !important;
    border-radius: 0 !important;
    padding: 2px 8px !important;
}

/* ========== 記事ページ (single) ========== */

/* サイドバーを非表示 */
.single #sidebar {
    display: none !important;
}

.single .contents-wrap {
    display: block !important;
}

/* メインカラム幅 */
.single #main {
    width: 100% !important;
    max-width: 720px !important;
    margin: 0 auto !important;
    padding: 60px 24px 100px !important;
    float: none !important;
}

/* アイキャッチ: 全幅 */
.single .eye-catch {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    margin-bottom: 48px !important;
    overflow: hidden;
}

.single .eye-catch img {
    width: 100% !important;
    height: 55vh !important;
    object-fit: cover !important;
    border-radius: 0 !important;
    display: block !important;
}

/* 記事タイトル */
.single .entry-title {
    font-family: var(--font-serif) !important;
    font-size: 28px !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
    letter-spacing: 0.04em !important;
    color: var(--im-ink) !important;
    border: none !important;
    background: none !important;
    padding: 0 !important;
    margin: 0 0 16px !important;
}

/* メタ情報 */
.single .post-date,
.single .post-update {
    font-size: 12px !important;
    color: var(--im-sub) !important;
    letter-spacing: 0.06em !important;
    display: block;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--im-line);
    margin-bottom: 40px !important;
}

/* 本文 */
.single .entry-content {
    font-family: var(--font-sans) !important;
    font-size: 16px !important;
    line-height: 1.95 !important;
    color: var(--im-ink) !important;
}

.single .entry-content p {
    margin-bottom: 1.8em !important;
}

/* 本文 h2 */
.single .entry-content h2 {
    font-family: var(--font-serif) !important;
    font-size: 21px !important;
    font-weight: 700 !important;
    color: var(--im-ink) !important;
    border-left: none !important;
    border-bottom: 1px solid var(--im-ink) !important;
    background: none !important;
    padding: 0 0 10px !important;
    margin: 2.4em 0 1em !important;
}

/* 本文 h3 */
.single .entry-content h3 {
    font-family: var(--font-serif) !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: var(--im-ink) !important;
    border: none !important;
    background: none !important;
    padding: 0 !important;
    margin: 2em 0 0.8em !important;
}

/* 物件概要テーブル */
.single .entry-content table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: 14px !important;
    margin: 2em 0 !important;
    border: none !important;
}

.single .entry-content th,
.single .entry-content td {
    padding: 12px 14px !important;
    border: none !important;
    border-bottom: 1px solid var(--im-line) !important;
    text-align: left !important;
    background: none !important;
}

.single .entry-content th {
    font-weight: 500 !important;
    color: var(--im-sub) !important;
    width: 36% !important;
}

/* CTAボタン(.im-ctaクラスをカスタムHTMLブロックで使用) */
.single .entry-content .im-cta {
    display: block !important;
    text-align: center !important;
    background: var(--im-ink) !important;
    color: var(--im-white) !important;
    text-decoration: none !important;
    font-family: var(--font-sans) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    padding: 18px 32px !important;
    margin: 3em 0 !important;
    border-radius: 0 !important;
    transition: opacity 0.2s ease;
}

.single .entry-content .im-cta:hover {
    opacity: 0.8 !important;
}

/* フィクション・PR表記(.im-noticeクラス) */
.single .entry-content .im-notice {
    font-size: 12px !important;
    color: var(--im-sub) !important;
    border-top: 1px solid var(--im-line) !important;
    border-bottom: 1px solid var(--im-line) !important;
    padding: 14px 0 !important;
    margin: 3em 0 !important;
    line-height: 1.8 !important;
    background: none !important;
}

/* ========== フッター ========== */
#footer {
    background: var(--im-dark) !important;
    border-top: none !important;
    padding: 40px 24px !important;
    margin-top: 0 !important;
}

#footer,
#footer a {
    color: #666666 !important;
    font-size: 12px !important;
    letter-spacing: 0.06em !important;
    font-family: var(--font-sans) !important;
}

#footer a:hover {
    color: var(--im-white) !important;
}

/* フッターウィジェットエリア非表示 */
#footer-widget-area,
.footer-widget-area {
    display: none !important;
}

/* コピーライト */
.footer-copyright {
    text-align: center !important;
    padding: 0 !important;
    background: transparent !important;
    color: #555555 !important;
}

/* ========== レスポンシブ ========== */
@media (max-width: 680px) {
    a.entry-card-wrap.a-wrap {
        flex-direction: column !important;
        gap: 16px !important;
    }

    figure.entry-card-thumb.card-thumb {
        order: -1 !important;
        flex: none !important;
        width: 100% !important;
    }

    figure.entry-card-thumb.card-thumb img {
        width: 100% !important;
        height: 200px !important;
    }

    .single .entry-title {
        font-size: 22px !important;
    }

    .single .eye-catch img {
        height: 38vh !important;
    }

    .single #main {
        padding: 40px 16px 80px !important;
    }
}

/* ========== アクセシビリティ ========== */
a:focus-visible {
    outline: 2px solid var(--im-ink);
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    * { transition: none !important; }
}

/* コメント欄を非表示 */
#comments,
.comments-area,
.comment-respond {
    display: none !important;
}