@charset "UTF-8";
/* =========================================================
   敷地配置（Landplan）ページ専用スタイル
   PDF（アルファステイツ今市中央通り_デザインページ 2P）準拠
   ・航空写真：フルブリード
   ・敷地配置図：ダークネイビー背景（bg_blue.webp）
   ・以降のコンテンツ：白背景
   ========================================================= */

/* ---- タイトルエリア（ダークテーマ） ---- */
#landplan .title-area {
    background: #07122c url('../images/top/bg_blue.webp') no-repeat center top;
    background-size: cover;
}

#landplan img {
    width: 100%;
    height: auto;
    display: block;
}

/* ---- 航空写真（ウィンドウ端から端まで・縦横比そのまま） ---- */
.lp-panorama {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    line-height: 0;
}

/* ---- 敷地配置図（ダークネイビー背景） ---- */
#landplan .p-landplan {
    background-color: #07122c;
    background-image:
        linear-gradient(180deg, rgba(7, 18, 44, 0.35) 0%, rgba(7, 18, 44, 0.15) 50%, rgba(7, 18, 44, 0.5) 100%),
        url('../images/top/bg_blue.webp');
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    padding: 70px 0 90px;
    overflow: hidden;
}
.lp-siteplan {
    line-height: 0;
}

/* =========================================================
   白背景コンテンツエリア
   ========================================================= */
.lp-white {
    background: #fff;
    color: #333;
    padding: 80px 0 100px;
}

/* ---- リード ---- */
.lp-lead {
    text-align: center;
    margin-bottom: 70px;
}
.lp-catch {
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    font-size: 30px;
    letter-spacing: 0.12em;
    line-height: 1.6;
    color: #fff;
    margin-bottom: 28px;
}
.lp-lead-txt {
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 2.2;
    letter-spacing: 0.06em;
    color: #fff;
}

/* ---- 番号バッジ（①〜⑤） ---- */
.lp-num {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    background: #fff;
    color: #171C61;
    font-family: 'Cinzel', serif;
    font-size: 14px;
    font-weight: 600;
    border-radius: 2px;
}

/* ---- 特徴グリッド（6項目・3カラム） ---- */
.lp-features {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 30px 2.5%;
    margin: 0 0 90px;
    padding: 0;
}
.lp-feature {
    width: 31.66%;
    background: #fff;
    border: 1px solid #e0e0e0;
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
}
.lp-feature__head {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    background: #171C61;
    padding: 12px 16px;
    min-height: 58px;
}
.lp-feature__ttl {
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.4;
    letter-spacing: 0.04em;
    color: #fff;
}
/* 画像（小さめ）とテキストを横並び */
.lp-feature__img {
    flex: 0 0 30%;
    max-width: 30%;
    line-height: 0;
    padding: 16px 0 16px 16px;
    align-self: flex-start;
}
.lp-feature__txt {
    flex: 1;
    font-size: 13.5px;
    line-height: 1.35;
    letter-spacing: 0.04em;
    color: #444;
    text-align: left;
    padding: 16px;
}
.lp-note {
    display: block;
    margin-top: 8px;
    font-size: 11px;
    line-height: 1.6;
    color: #999;
}

/* ---- 備蓄倉庫＋防災（一体型・#171C61の枠で囲む） ---- */
.lp-stock {
    border: 1px solid #171C61;
    padding: 32px 36px 36px;
    margin-bottom: 80px;
}
/* 見出しバー：lp-feature__head と同じ配色 */
.lp-stock__head {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: #171C61;
    padding: 14px 16px;
    /* 親(.lp-stock)のpadding分を相殺して罫線に密着 */
    margin: -32px -36px 26px;
}
.lp-stock__ttl {
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    font-size: 22px;
    letter-spacing: 0.12em;
    color: #fff;
}
.lp-stock__lead {
    font-family: 'Noto Serif JP', serif;
    font-size: 17px;
    letter-spacing: 0.06em;
    color: #333;
    margin-bottom: 20px;
}
/* lead＋body をまとめたテキストブロックと画像を横並び */
.lp-stock__row {
    display: flex;
    align-items: flex-start;
    gap: 36px;
    margin-bottom: 44px;
}
.lp-stock__text {
    flex: 1;
}
.lp-stock__list {
    flex: 1;
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0.04em;
    color: #444;
}
.lp-stock__img {
    flex: 0 0 34%;
    max-width: 34%;
    line-height: 0;
}

/* ---- 防災・安心設備（2カラム） ---- */
.lp-bousai {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 24px 4%;
    margin: 0;
    padding: 0;
}
.lp-bousai__item {
    width: 48%;
}
.lp-bousai__head {
    display: flex;
    align-items: center;
    gap: 14px;
    background: #000;
    padding: 12px 18px;
    margin-bottom: 14px;
}
.lp-bousai__icon {
    flex: 0 0 auto;
    width: 30px;
    line-height: 0;
}
.lp-bousai__icon img {
    width: 100%;
    height: auto;
}
.lp-bousai__ttl {
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    font-size: 17px;
    letter-spacing: 0.05em;
    color: #fff;
}
.lp-bousai__txt {
    font-size: 13.5px;
    line-height: 1.9;
    letter-spacing: 0.04em;
    color: #444;
    text-align: left;
    padding: 0 4px;
}

/* ---- セキュリティ（2カラム） ---- */
.lp-security {
    display: flex;
    gap: 4%;
}
.lp-security__col {
    width: 48%;
    border: 1px solid #171C61;
    padding: 30px 30px 34px;
}
.lp-security__ttl {
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    font-size: 19px;
    letter-spacing: 0.05em;
    line-height: 1.5;
    background: #171C61;
    color: #fff;
    padding: 12px 16px;
    /* 親(.lp-security__col)のpadding分を相殺して罫線に密着 */
    margin: -30px -30px 20px;
}
.lp-security__sub {
    font-family: 'Cinzel', 'Noto Serif JP', serif;
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0.04em;
    color: #171C61;
    margin-bottom: 12px;
}
.lp-security__txt {
    font-size: 13.5px;
    line-height: 1.9;
    letter-spacing: 0.04em;
    color: #444;
    text-align: left;
    margin-bottom: 20px;
}
.lp-security__img {
    line-height: 0;
}
.lp-security__note {
    margin-top: 14px;
    font-size: 11px;
    line-height: 1.6;
    letter-spacing: 0.02em;
    color: #999;
    text-align: left;
}

/* =========================================================
   SP（〜810px）
   ========================================================= */
@media screen and (max-width: 810px) {
    #landplan .p-landplan {
        padding: 36px 0 44px;
    }
    .lp-white {
        padding: 40px 0 60px;
    }

    .lp-lead {
        margin-bottom: 50px;
    }
    .lp-catch {
        font-size: 21px;
        margin-bottom: 20px;
    }
    .lp-lead-txt {
        font-size: 14px;
        line-height: 2;
        text-align: left;
    }

    /* 特徴グリッド：2カラム */
    .lp-features {
        gap: 20px 4%;
        margin-bottom: 60px;
    }
    .lp-feature {
        width: 48%;
    }
    .lp-feature__head {
        padding: 10px 12px;
        min-height: 52px;
    }
    .lp-feature__ttl {
        font-size: 13.5px;
    }
    /* SPは画像とテキストを縦並びに */
    .lp-feature__img {
        flex: 0 0 100%;
        max-width: 100%;
        padding: 12px 12px 0;
    }
    .lp-feature__txt {
        flex: 0 0 100%;
        font-size: 12.5px;
        line-height: 1.35;
        padding: 12px;
    }

    /* 備蓄倉庫：縦積み */
    .lp-stock {
        padding: 22px 18px 26px;
        margin-bottom: 56px;
    }
    .lp-stock__head {
        padding: 12px 14px;
        margin: -22px -18px 22px;
    }
    .lp-stock__ttl {
        font-size: 19px;
    }
    .lp-stock__lead {
        font-size: 15px;
        margin-bottom: 16px;
    }
    .lp-stock__row {
        display: block;
        margin-bottom: 32px;
    }
    .lp-stock__list {
        font-size: 13.5px;
    }
    .lp-stock__img {
        max-width: 100%;
        margin-top: 22px;
    }

    /* 防災：1カラム */
    .lp-bousai {
        display: block;
    }
    .lp-bousai__item {
        width: 100%;
        margin-bottom: 24px;
    }
    .lp-bousai__item:last-child {
        margin-bottom: 0;
    }

    /* セキュリティ：縦積み */
    .lp-security {
        display: block;
    }
    .lp-security__col {
        width: 100%;
        padding: 22px 18px 26px;
    }
    .lp-security__col:first-child {
        margin-bottom: 40px;
    }
    .lp-security__ttl {
        font-size: 17px;
        margin: -22px -18px 20px;
    }
}
