/* 横幅100%、高さは内容に応じて可変。PCでも最大限広げる */
.ad640-wrap {
    display: block;
    width: 100%;
    max-width: 100%;
    text-decoration: none;
    color: inherit;
}

.ad640-inner {
    display: flex;
    width: 100%;
    min-height: 80px;       /* 最低確保（任意） */
    box-sizing: border-box;
    padding: 6px 8px;
    gap: 10px;
}

/* 左の画像ブロック（比率 2 : 8） */
.ad640-image {
    flex: 0 0 20%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ad640-image img {
    width: 100%;
    height: auto;
    max-height: 200px;
    object-fit: contain;
}

/* 右のテキストブロック（高さ可変） */
.ad640-text {
    flex: 1 1 80%;
    font-size: 20px;         /* 大きめ */
    line-height: 1.5;
    display: block;
    word-break: break-word;
    white-space: normal;
}

/* PC向け（768px以上） */
@media screen and (min-width: 768px) {

    /* 全体の最低高さを少し増やす（見やすくする） */
    .ad640-inner {
        min-height: 120px;
        padding: 12px 16px;
    }

    /* テキストを上下中央寄せ */
    .ad640-text {
        display: flex;
        align-items: center;     /* ← 縦中央寄せ */
        justify-content: flex-start;
        font-size: 26px;         /* ← PCだけ大きく */
        line-height: 1.6;
        white-space: normal;
    }

    /* 画像も縦中央揃えのまま */
    .ad640-image img {
        max-height: 140px;       /* PCでは画像を大きめに */
    }
}