/* =========================================
   葛木3棟見学会 LP専用スタイル（最終版調整）
========================================= */

.kzk-lp-container { background-color: #fff; color: #333; line-height: 1.8; font-family: "Noto Sans JP", sans-serif; }
.kzk-lp-container .serif { font-family: "Noto Serif JP", serif; font-size: 2.0rem;}
.kzk-inner { max-width: 950px; margin: 0 auto; padding: 0 20px; }
.kzk-section { padding: 80px 0; }
.kzk-bg-gray { background-color: #f9f9f7; }

/* 3棟カードレイアウト */
.kzk-house-flex-container { display: flex; gap: 25px; justify-content: center; }
.kzk-house-card { flex: 1; background: #fff; border: 1px solid #eaeaea; display: flex; flex-direction: column; box-shadow: 0 5px 20px rgba(0,0,0,0.04); transition: 0.3s; }
.kzk-card-top { position: relative; height: 240px; overflow: hidden; }
.kzk-house-main-img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; }
.kzk-logo-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.15); display: flex; align-items: center; justify-content: center; }
.kzk-logo-img { max-width: 200px; max-height: 160px; object-fit: contain; }

/* カードテキスト部分 */
.kzk-card-content { padding: 30px 20px; flex-grow: 1; display: flex; flex-direction: column; }
.kzk-house-name { font-size: 2.6rem; margin-bottom: 15px; line-height: 1.3; }
.kzk-house-name span { display: block; font-size: 0.8rem; color: #888; font-weight: normal; margin-top: 5px; font-family: "Noto Sans JP", sans-serif; }
.kzk-house-desc { font-size: 0.9rem; margin-bottom: 30px; color: #444; line-height: 1.7; }

/* 詳細ボタン（Coming Soon対応） */
.kzk-btn-wrap { margin-top: auto; }
.kzk-detail-btn {
    display: block;
    background: #c5a059;
    color: #fff !important;
    text-align: center;
    padding: 18px 10px;
    text-decoration: none !important;
    font-weight: bold;
    font-size: 1rem;
    border-radius: 4px;
    letter-spacing: 0.05em;
}
/* Coming Soon用のグレーアウト設定 */
.kzk-detail-btn.is-coming-soon {
    background: #bbb !important;
    color: #fff !important;
    cursor: default;
    opacity: 0.8;
}

/* 予約状況テーブル */
.kzk-section-title { text-align: center; margin-bottom: 40px; font-size: 1.8rem; }
.kzk-table-wrapper { max-width: 400px; margin: 0 auto; background: #fff; padding: 25px; border-radius: 5px; box-shadow: 0 5px 15px rgba(0,0,0,0.03); }
.kzk-status-table { width: 100%; border-collapse: collapse; text-align: center; }
.kzk-status-table th, .kzk-status-table td { border: 1px solid #ddd; padding: 8px 5px; }
.kzk-status-table th { background: #f4f4f4; font-size: 0.95rem; }
.kzk-status-table th span { font-size: 0.75rem; display: block; color: #666;}
.kzk-table-caption { font-size: 0.85rem; margin-top: 15px; text-align: center; color: #555;}
.kzk-red { color: #e91e1e; font-weight: bold; }

/* 特典キャンペーンボックス */
.kzk-campaign-box { border: 2px solid #c5a059; padding: 60px 30px; text-align: center; background: #fff; }
.kzk-gift-flex { display: flex; align-items: stretch; justify-content: center; gap: 20px; margin: 30px 0 40px; }
.kzk-gift-card { background: #fdfcf8; padding: 25px 20px; border: 1px solid #eee; flex: 1; max-width: 320px; display: flex; flex-direction: column; }
.kzk-gift-label { font-size: 0.8rem; color: #c5a059; font-weight: bold; margin-bottom: 15px; min-height: 2.4em; display: flex; align-items: center; justify-content: center; }
.kzk-gift-main { font-size: 1.6rem; font-weight: bold; color: #333; margin-top: auto;}
.kzk-gift-main span { font-size: 1rem; }
.kzk-gift-plus { font-size: 2.5rem; color: #c5a059; align-self: center; font-weight: lighter;}

/* 特典ビジュアルエリア（画像・テキスト用） */
.kzk-gift-visual-area { 
    margin-bottom: 20px;
    padding: 15px 10px;
    border: 1px dashed #d1d1d1;
    background: #fff;
    min-height: 110px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.kzk-gift-visual-area img { max-width: 100%; height: auto; }
.kzk-gift-selection-list { list-style: none; padding: 0; margin: 0; font-size: 0.85rem; text-align: left; color: #666; line-height: 1.8;}
.kzk-gift-selection-text { font-size: 0.9rem; color: #666; line-height: 1.6;}

/* 条件・CTA */
.kzk-condition-area { text-align: left; max-width: 750px; margin: 0 auto 40px; background: #f9f9f9; padding: 35px; border-radius: 4px;}
.kzk-condition-title { font-weight: bold; border-left: 4px solid #c5a059; padding-left: 12px; margin-bottom: 20px; font-size: 1.1rem;}
.kzk-condition-list { list-style: none; padding: 0; font-size: 0.9rem; color: #444; line-height: 1.8;}
.kzk-condition-list li { margin-bottom: 10px; text-indent: -1.7em; padding-left: 1.7em; }
.kzk-condition-note { font-size: 0.8rem; color: #888; margin-top: 20px; border-top: 1px dashed #ccc; padding-top: 15px; }
.kzk-cta-wrap { text-align: center; }
.kzk-cta-btn { display: inline-block; background: #c5a059; color: #fff !important; text-decoration: none !important; padding: 20px 80px; font-weight: bold; font-size: 1.2rem; border-radius: 4px; transition: 0.3s; box-shadow: 0 6px 20px rgba(197, 160, 89, 0.3); }

/* 特典アイコンのスタイル追加 */
.kzk-gift-icon {
    width: 50px;
    height: 50px;
    margin-right: 15px;
    flex-shrink: 0; /* アイコンが潰れないように固定 */
}
.kzk-gift-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

/* ビジュアルエリアの微調整（横並びにする） */
.kzk-gift-visual-area { 
    margin-bottom: 20px;
    padding: 15px 15px;
    border: 1px dashed #d1d1d1;
    background: #fff;
    min-height: 110px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: left; /* テキストを左寄せにしてアイコンと馴染ませる */
}

/* スマホ時はアイコンを上にするか中央寄せにする */
@media screen and (max-width: 600px) {
    .kzk-gift-visual-area {
        flex-direction: column;
        text-align: center;
    }
    .kzk-gift-icon {
        margin-right: 0;
        margin-bottom: 10px;
    }
}

/* その他の既存スタイルはそのまま維持してください */
/* スマホ対応 */
@media screen and (max-width: 900px) {
    .kzk-house-flex-container { flex-direction: column; }
    .kzk-gift-flex { flex-direction: column; align-items: center; }
    .kzk-gift-card { width: 100%; max-width: 100%; }
    .kzk-cta-btn { width: 100%; padding: 20px 0; box-sizing: border-box;}
}