@media print {
    /* ▼▼▼ 基本設定 ▼▼▼ */
    .print { display: block; }
    .printBtn, .notPrint, #propTitle, #contactBtns, footer, #upBtn, .navbar { display: none !important; }

    * { box-sizing: border-box; }

    @page {
        size: A4 landscape;
        margin: 0mm; 
    }

    html, body {
        width: 100%;
        height: 100%; 
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden; 
        color: #333333 !important;
        font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    }

    .printArea {
        -webkit-print-color-adjust: exact;
        display: block !important;
        width: 100%;
        height: 100%;
        background-color: white !important;
        position: static;
        z-index: auto;
        padding: 20px;          /* 上下左右に20pxの内側余白を追加 */
        box-sizing: border-box; /* パディングを要素の幅・高さに含める設定（レイアウト崩れ防止） */
    }

    /* 画像やQRコードが枠からはみ出さないようにする汎用的な設定 */
    img, .qr-code-image { /* .qr-code-image はQRコードのクラス名に合わせてください */
      max-width: 100%;
      height: auto;
    }

    /* ▼▼▼ 1. ヘッダー ▼▼▼ */
    .header-main {
        background-color: #ffffff;
        display: flex;
        gap: 0.5rem;
        align-items: center;
        padding: 5px 10px;
        border: none; 
        color: #333333;
        height: 70px; 
    }

    .header-main-info {
        display: flex;
        flex: 1;
        flex-direction: column;
        justify-content: center;
    }

    .header-main-info__category-rent, 
    .header-main-info__category-sell {
        display: flex;
        flex-direction: row; 
        align-items: center;
        justify-content: flex-start;
        gap: 10px; 
        margin: 0 0 5px 0;
        padding: 0;
        background-color: transparent; 
        color: #333333;
        width: auto;
        min-width: 0;
    }

    .header-main-info__category-rent span:first-child {
        display: inline-block;
        background-color: #ff3333;
        color: white;
        padding: 4px 15px;
        border-radius: 20px;   
        font-weight: bold;
        font-size: 20px; 
        line-height: 1.2;
    }

    .header-main-info__category-sell span:first-child {
        display: inline-block;
        background-color: #ff9f1a;
        color: white;
        padding: 4px 15px;
        border-radius: 20px;
        font-weight: bold;
        font-size: 20px;
        line-height: 1.2;
    }

    .header-main-info__category-rent span:nth-child(2),
    .header-main-info__category-sell span:nth-child(2) {
        background-color: transparent;
        color: #333333;
        font-size: 20px;       
        font-weight: bold;
        line-height: 1.2;
    }

    .header-main-info__details {
        display: flex;
        flex-direction: row; 
        align-items: baseline;
        gap: 15px;
    }

    .prop-name { font-size: 22px; font-weight: bold; color: #000; }
    .prop-address { font-size: 16px; }


    /* ▼▼▼ 2. メインボディ ▼▼▼ */
    .body-info {
        display: flex;
        border: none;
        height: 600px;
        overflow: hidden;
    }

    /* --- 写真エリア (左側: 7割) --- */
    .body-info--main-details {
        flex: 7;
        height: 100%;
        display: flex;
        flex-direction: column;
    }

    /* ★写真6枚レイアウトのスタイル（ここを戻しました） */
    .body-info--images {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        height: 100%; 
    }

    .body-info--images div {
        width: 33.333%; /* 横3列 */
        height: 50%;    /* 縦2行 */
        border: 1px solid #fff;
    }

    .body-info--images div img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    /* --- 詳細リストエリア (右側: 3割) --- */
    .body-info--right-column {
        flex: 3; 
        display: flex;
        flex-direction: column;
        border-left: none;
        gap: 0 !important;
        padding: 0;
        height: 100%; 
        color: #333333; 
    }

    .body-info--details {
        flex: 1;
        display: flex;
        flex-direction: column;
        gap: 0 !important;
        padding: 0;
    }

    .body-info--details section {
        display: flex;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important; 
        flex: 1; 
        align-items: center; 
    }

    .body-info--details section div {
        padding: 0 5px;
        font-size: 18px; 
        font-weight: 600; 
        line-height: 1.1;
    }
    
    .body-info--row__title {
        background-color: #e3f2fd;
        width: 30%; 
        font-weight: bold;
        color: #0277bd;
        height: 100%; 
        display: flex;
        align-items: center; 
    }

    .body-info--row__info {
        width: 70%;
        background-color: white !important;
        color: #333333 !important;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: flex-start; 
    }
    
    .body-info--row__info[style*="right"] {
        justify-content: flex-end;
        padding-right: 10px; 
    }

    /* QRコード */
    .body-info--qr-section {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-end; 
        padding: 5px 10px;
        background-color: #fff;
    }
    .body-info--qr-section img {
        width: 70px; height: 70px; object-fit: contain;
    }
    .body-info--qr-section .qr-label {
        font-size: 12px; font-weight: bold; color: #333333; margin-bottom: 2px; text-align: right;
    }

    /* ▼▼▼ 3. フッター ▼▼▼ */
    .footer-info {
        border: none;
        border-top: 2px solid #2884c4; 
        width: 100%;
        height: 100px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        background-color: white !important;
        margin-top: 15px;
        padding: 5px 20px;
        overflow: hidden;
        color: #333333;
    }

    .footer-left-part { display: flex; align-items: center; }
    .footer-logo { display: flex; align-items: center; margin-right: 15px; }
    .footer-logo img { height: 50px; width: auto; object-fit: contain; }

    .footer-company-group { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
    .footer-catchphrase { font-size: 11px; color: #555555; font-weight: bold; margin-bottom: -5px; white-space: nowrap; }
    .footer-company-name { font-size: 34px !important; font-weight: 800 !important; color: #000000 !important; white-space: nowrap; line-height: 1.2; }

    .footer-text-container { display: flex; justify-content: center; align-items: center; gap: 20px; color: #333333; font-weight: bold; }
    .footer-contact { display: flex; flex-direction: column; align-items: flex-start; font-size: 10px; line-height: 1.3; border-right: 1px solid #ccc; padding-right: 20px; }
    .main-contact { font-size: 15px; font-weight: 900; color: #000000; margin-bottom: 2px; }

    .footer-biz { display: flex; flex-direction: column; align-items: flex-start; font-size: 11px; line-height: 1.4; }
    .triangle { color: #40c48c; font-size: 9px; margin: 0 5px; vertical-align: middle; }
    .footer-label { display: inline-block; width: 50px; text-align: right; color: #2884c4; }

    .footer-qr { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; }
    .footer-qr-label { font-size: 12px; font-weight: bold; color: #333333; margin-bottom: 3px; line-height: 1; }
    .footer-qr img { height: 75%; width: auto; object-fit: contain; }

    .map-info { display: none; }
}