.target_area{margin: 7rem 0 0 0;}

/* ===== 全体構造 ===== */
.exhaust-card {
    max-width: 1000px;
    margin: 20px auto;
    background: #fff;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    color: #444;
}

/* ===== ヘッダー：垂直グラデーションと工場名の強調 ===== */
.exhaust-header {
    background: linear-gradient(180deg, #5EA292 0%, #8BC09E 100%);
    color: #fff;
    padding: 20px 30px 0 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.exhaust-header .title-group { display: flex; align-items: center; gap: 6px; }
.exhaust-header .title { font-size: 2.1rem; font-weight: bold; font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;font-weight: 700;}
.exhaust-header .plant-info { text-align: right; line-height: 1.2; }
.exhaust-header .plant-name {
    display: block;
    font-size: 1.5rem;
    letter-spacing: 0.05em;
    margin-bottom: 2px;
}
.exhaust-header .plant-info span:not(.plant-name) { 
    font-size: 0.75rem; 
    opacity: 0.9;
    display: block;
    text-align: center
}

/* ===== カラムヘッダー ===== */
.header-row {
    display: grid;
    grid-template-columns: 240px 1fr 1fr 1fr;
    padding: 15px 0;
    align-items: center;
    border-bottom: 1.5px solid #d8e5e0;
}
.furnace-col { display: flex; align-items: center; justify-content: center; gap: 10px; }
.furnace-box {
    border: 1.5px solid #4D8C81;
    color: #4D8C81;
    padding: 3px 18px;
    font-size: 1.4rem;
    font-weight: bold;
}
.furnace-box.base { background: #4D8C81; color: #fff; }
.status-text { font-size: 1.2rem; font-weight: bold; color: #4D8C81; }

/* ===== データ行：数値のズレ解消設定 ===== */
.data-row {
    display: grid;
    grid-template-columns: 240px 1fr 1fr 1fr;
    border-bottom: 1.5px solid #529991;
}
.row-label {
    background: #4D8C81;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    font-weight: bold;
    margin: 12px 15px;
    border-radius: 4px;
    height: 48px;
}
.cell {
    padding: 10px;
    border-left: 1.5px solid #d8e5e0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.val-container {
    display: inline-flex;
    align-items: baseline;
    justify-content: center;
}
.v-num { font-size: 2rem; font-weight: 500; color: #555; line-height: 1; }
.v-unit { font-size: 1rem;color: #54968C;font-weight: bold;margin-left: 6px}
.cell-base .v-num, .cell-base .v-unit { color: #5c9c8b; }
.v-stop { font-size: 2.2rem; color: #aaa; letter-spacing: 2px; }
.v-adjust { font-size: 2rem; color: #555; }
.date-text { font-size: 0.85rem; color: #999; font-weight: 700 }
.date-unit  { color: #54968C;font-weight: bold;}

/* ===== 蒸気タービン：左上テキスト・右下数値のレイアウト ===== */
.power-panel {
    display: flex;
    align-items: stretch;
    border-bottom: 1.5px solid #529991
}
.power-label {
    background: #dec161;
    color: #fff;
    width: 210px;
    margin: 12px 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    font-size: 1.1rem;
    font-weight: bold;
    flex-shrink: 0;
    height: 48px
}
.power-flex {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 20px;
    height: 65px
}
.power-item {
    display: flex;
    flex-direction: column; /* 垂直方向に並べる */
    justify-content: center;
    min-width: 270px;
}
.power-item .sub {
    color: #dec161;
    font-size: 1.1rem;
    font-weight: bold;
    white-space: nowrap;
    align-self: flex-start; /* 左上へ寄せる */
    margin-bottom: -5px;
}
.power-val-group {
    display: flex;
    align-items: baseline;
    align-self: flex-end; /* 右下へ寄せる */
}
.power-item .val {
    font-size: 2rem;
    font-weight: 500;
    color: #555;
    line-height: 1;
}
.power-item .unit {
    font-size: 1.4rem;
    color: #dec161;
    font-weight: bold;
    margin-left: 8px;
}
.slash {
    font-size: 4rem;
    color: #dec161;
    font-weight: 100;
    margin: 10px 40px 0;
    transform: skewX(-15deg);
}
.update-footer { text-align: right; padding: 10px 20px; font-size: 0.8rem; color: #999; }


/* ===== スマホ時は横スクロール許可 ===== */
@media (max-width: 768px) {

    .exhaust-card {
        min-width: 1000px; /* PCレイアウト幅を維持 */
    }

    .exhaust-card-wrapper {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch; /* iOSで滑らかに */
    }

}
