/* ============================================================
   en/common/css/prev.css
   英語版 物件詳細ページ (en/templates/prev.latte) 用ページ専用CSS
   2026-09: 日本語版 (common/css/prev2026.min.css) のデザインを基準に
            1000px幅 (body幅は home.css が制御) に合わせて1ファイルへ統合。
   共通レイアウト (reset/basic/home/multiMemu/modal) は別途読み込み。
   ============================================================ */

/* ===== コンテナ ===== */
article#prevResult {
    display: block;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto 20px;
    padding: 0 10px;
    box-sizing: border-box;
}

#globalRight > nav#breadcrumbs {
    margin: 0 0 12px;
    width: 100%;
    display: block;
}

#globalRight > nav#breadcrumbs ul {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
    margin: 0;
    padding: 8px 10px;
    border: 1px solid #cce0d1;
    background: linear-gradient(to bottom, #f5faf5, #e9f2eb);
    border-radius: 4px;
    box-sizing: border-box;
}

#globalRight > nav#breadcrumbs li {
    display: flex;
    align-items: center;
    list-style: none;
    color: #4a7a5a;
    font-size: 0.85rem;
    line-height: 1.4;
}

#globalRight > nav#breadcrumbs li::after {
    content: ">";
    margin: 0 8px;
    color: #8da697;
    font-weight: 700;
}

#globalRight > nav#breadcrumbs li:last-child::after {
    content: "";
    margin: 0;
}

#globalRight > nav#breadcrumbs a {
    color: #2d5f43;
    text-decoration: none;
    font-weight: 600;
}

#globalRight > nav#breadcrumbs li:last-child a {
    color: #1b4e37;
    font-weight: 700;
}

/* ===== 見出し ===== */
article#prevResult h2.section-title {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    min-height: 44px;
    margin: 10px 0 14px;
    padding: 8px 12px;
    background: #62a478;
    border-radius: 4px;
    color: #fff;
    font-size: 1.1rem;
    line-height: 1.35;
    text-indent: 0 !important;
    white-space: normal;
    overflow-wrap: anywhere;
    box-sizing: border-box;
}

article#prevResult h2.section-title .section-title-icon {
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    fill: currentColor;
    display: block;
}

article#prevResult h2.section-title span {
    display: inline-block;
}

article#prevResult h1.prev-title {
    font-size: 1.5rem;
    margin: 10px 0;
    padding-bottom: 8px;
    border-bottom: 2px solid #62a478;
}

article#prevResult h1.prev-title small {
    display: block;
    font-size: 0.9rem;
    color: #888;
    font-weight: 400;
}

/* セクション見出し（CSS版: 画像背景を廃止） */
article#prevResult .sec-head {
    height: auto;
    margin: 22px 0 12px;
    padding: 8px 14px;
    text-indent: 0;
    background: #62a478;
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
    border-radius: 4px;
}

/* ===== ヒーロー写真 ===== */
article#prevResult .hero {
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-sizing: border-box;
    overflow: hidden;
}

article#prevResult .hero img {
    width: 100%;
    height: auto;
    display: block;
    border: 0;
    border-radius: 0;
    object-fit: cover;
    background: #eaf1eb;
}

article#prevResult .hero-contact {
    display: flex;
    margin-top: 10px;
}

article#prevResult .hero-contact a {
    display: block;
    width: 100%;
    padding: 11px 14px;
    background: #fff;
    border: 1px solid #62a478;
    color: #145731;
    text-decoration: none;
    font-weight: 700;
    border-radius: 4px;
    text-align: center;
    box-sizing: border-box;
}

article#prevResult .hero-contact a:hover {
    background: #62a478;
    color: #fff;
}

/* ===== 基本情報 ===== */
article#prevResult .base-info {
    margin: 2rem 0 3rem 0;
    border: 1px solid #62a478;
    position: relative;
}

article#prevResult .base-info dl {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    font-size: 1rem;
}

article#prevResult .base-info dl dt {
    width: 12rem;
    box-sizing: border-box;
    padding: .5rem .8rem;
    font-weight: 700;
    border-bottom: 1px solid #eee;
}

article#prevResult .base-info dl dd {
    width: calc(100% - 12rem);
    box-sizing: border-box;
    padding: .5rem .8rem;
    border-bottom: 1px solid #eee;
}

/* ===== モバイルアイコン帯（横スクロール） ===== */
article#prevResult .mobileIcon {
    width: 100%;
}

article#prevResult .mobileIcon ul.cssSlide {
    height: auto;
    display: flex;
    overflow-x: auto;
    list-style: none;
    margin: 0;
    padding: 8px 0 0;
    gap: 10px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}

article#prevResult .mobileIcon ul.cssSlide>li {
    flex: 0 0 32%;
    max-width: 32%;
    min-width: 32%;
    min-height: 110px;
    font-weight: 700;
    margin: 0;
    padding: 10px 8px;
    background-color: #fff;
    border: 1px solid #d9e3d7;
    text-align: center;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
}

article#prevResult .mobileIcon ul.cssSlide>li>div {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    width: 100%;
    font-size: 0.82rem;
    line-height: 1.3;
}

article#prevResult .mobileIcon ul.cssSlide>li img {
    display: block;
    width: 52px;
    height: 52px;
    object-fit: contain;
    margin: 0 auto;
}

/* ===== プール情報 ===== */
article#prevResult #extraData2 .length .pool {
    font-size: 1.1rem;
    font-weight: 700;
    padding: 10px;
    background: rgba(255, 255, 230, 1);
    border: 1px solid #62a478;
}

article#prevResult #Stage_PoolBG1 {
    border: 2px solid;
}

/* ===== 賃料テーブル（日本語版 prev2026.min.css と同一 + flex-wrap） ===== */
article#prevResult .rent {
    width: 100%;
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
}

article#prevResult .rent li {
    width: 20%;
    box-sizing: border-box;
}

article#prevResult .rent li dl {
    margin: 0;
    font-size: 2rem;
}

article#prevResult .rent li dl dt,
article#prevResult .rent li dl dd {
    width: 100%;
    box-sizing: border-box;
    padding: .8rem;
    margin: 0;
    text-align: center;
    overflow: hidden;
    white-space: nowrap;
    font-size: 1rem;
    height: 2.5rem;
    border-top: 1px solid #62a478;
    border-left: 1px solid #62a478;
    border-bottom: 1px solid #62a478;
}

article#prevResult .rent li dl dt {
    background: rgba(255, 255, 230, 1);
    font-weight: 700;
}

article#prevResult .rent li dl dd {
    font-weight: 700;
    color: red;
}

article#prevResult .rent li:last-child dl dt,
article#prevResult .rent li:last-child dl dd {
    border-right: 1px solid #62a478;
}

/* ===== 特別プロモーション ===== */
article#prevResult .promo-box {
    margin: 20px 0;
    padding: 12px;
    border: 1px solid #ff3c00;
    background: #fff8f5;
}

article#prevResult .promo-box .promo-label {
    font-size: 1.1rem;
    color: #ff3c00;
    font-weight: bold;
}

article#prevResult .promo-box pre {
    margin: 8px 0 0;
    font-size: 1rem;
    line-height: 1.3;
    overflow: auto;
    white-space: pre-wrap;
    word-break: break-word;
}

/* ===== 建物施設 / 個別施設（EDGEアニメーション） =====
   4つを同一サイズ(180px)で1列に中央揃え。
   EDGEステージはJS側で228x190px固定のため、180px幅に合わせて
   一律 transform:scale(0.79) で縮小する（全セル同一サイズ）。 */
article#prevResult .building-facility,
article#prevResult .individual-facility {
    width: 100%;
    padding: 30px 0;
    overflow: hidden;
    display: flex;
    justify-content: center;
    gap: 10px;
    align-items: start;
}

article#prevResult .building-facility>div,
article#prevResult .individual-facility>div {
    width: 180px !important;
    height: 150px;
    overflow: hidden;
    border: 1px solid #00008b;
    text-align: center;
    box-sizing: border-box;
    position: relative;
}

/* EDGEステージ: JS側で width:228px; height:190px がインライン設定されるため、
   CSS で !important により 180x150px に上書きする。
   (transform:scale はテキスト位置をずらすため不使用) */
article#prevResult .building-facility>div #Stage,
article#prevResult .individual-facility>div #Stage {
    width: 180px !important;
    height: 150px !important;
}


/* コンパス（方位）: インラインSVG（enCompassSvg()）で描画。
   盤面のみ回転し、針は常に上（北）を指す。 */
article#prevResult .compassRoom {
    text-align: center;
}

article#prevResult .compassRoom .compassBody {
    width: 150px;
    height: 150px;
    margin: -145px auto;
}

article#prevResult .compassRoom .compassBody .en-compass {
    display: block;
    width: 150px;
    height: 150px;
}
article#prevResult .individual-facility .text,
article#prevResult .building-facility .text,
article#prevResult .individual-facility .text4,
article#prevResult .building-facility .text4,
article#prevResult .building-facility .text2 {
    z-index: 2;
    position: relative;
    text-align: center;
    font-weight: 500;
    padding-top: 3px;
}

/* ===== 部屋設備（フラグ） ===== */
article#prevResult .fac-items {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px;
}

article#prevResult .fac-items span {
    padding: 4px 12px;
    font-size: 0.85rem;
    border-radius: 4px;
    background: #e8f0e8;
    color: #3a6b3a;
    border: 1px solid #c0d8c0;
}

article#prevResult .fac-items span.off {
    background: #f0f0f0;
    color: #bbb;
    border-color: #ddd;
}

/* ===== 施設一覧（24番目分割） ===== */
article#prevResult .facility {
    margin: 20px 0;
}

article#prevResult .facility h3 {
    padding-left: 2rem;
    margin: 16px 0 8px;
    font-size: 1.1rem;
    color: #3a6b3a;
}

article#prevResult .facility dl {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 1rem 0 2rem 0;
}

article#prevResult .facility dl dt {
    width: 25%;
    padding: 10px;
    box-sizing: border-box;
    border-top: 1px solid #62a478;
}

article#prevResult .facility dl dt:nth-child(3n+1) {
    border-left: 1px solid #62a478;
}

article#prevResult .facility dl dd {
    padding: 5px;
    margin: 0;
    border-left: 1px solid #62a478;
    border-top: 1px solid #62a478;
    border-right: 1px solid #62a478;
    width: 5%;
    background: #fff;
    box-sizing: border-box;
    text-align: center;
    font-size: 1.5rem;
}

article#prevResult .facility dl dd:nth-last-child(-n+6),
article#prevResult .facility dl dt:nth-last-child(-n+6) {
    border-bottom: 1px solid #62a478;
}

article#prevResult .facility>dl>dd:nth-of-type(6n+1),
article#prevResult .facility>dl>dd:nth-of-type(6n+2),
article#prevResult .facility>dl>dd:nth-of-type(6n+3),
article#prevResult .facility>dl>dt:nth-of-type(6n+1),
article#prevResult .facility>dl>dt:nth-of-type(6n+2),
article#prevResult .facility>dl>dt:nth-of-type(6n+3) {
    background: rgba(255, 255, 230, 1);
}

/* ===== 写真 ===== */
article#prevResult .photos {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 3.5rem;
}

article#prevResult .photos .photo {
    max-width: 50%;
    width: 32%;
    margin-bottom: .5rem;
    box-sizing: border-box;
}

article#prevResult .photos .photo a {
    display: block;
    overflow: hidden;
}

article#prevResult .photos img {
    border: 1px solid #a9a9a9;
    width: 100%;
    height: auto;
    display: block;
}

article#prevResult .photos .photo1 {
    width: 464px;
    max-width: 100%;
    height: 256px;
    margin-bottom: .5rem;
}

article#prevResult .photo iframe,
article#prevResult .photo1 iframe {
    border-style: none;
}

/* 360° 写真（PC: グリッド / モバイル: 横スクロール） */
article#prevResult .photo362 {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0 0 12px 0;
}

article#prevResult .photo362 .photo360 {
    width: 479px;
    max-width: 100%;
}

article#prevResult .photo362 .photo360 iframe {
    width: 100%;
    height: 232px;
}

article#prevResult .photo362 .photo360 p {
    margin: 0;
    padding: 4px 8px;
    text-align: right;
}

article#prevResult .photo362 .photo360 p a {
    color: #62a478;
    font-weight: 700;
}

/* ===== 動画 ===== */
article#prevResult .movie-wrap {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    margin: 10px 0 20px;
    border: 1px solid #62a478;
}

article#prevResult .movie-wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* ===== リンク ===== */
article#prevResult .other-room-link {
    display: inline-block;
    margin: 10px 0;
    padding: 10px 18px;
    background: #fff;
    border: 2px solid #62a478;
    color: #3a6b3a;
    font-weight: 700;
    text-decoration: none;
    border-radius: 4px;
}

article#prevResult .other-room-link:hover {
    background: #62a478;
    color: #fff;
}

/* ===== 料金 ===== */
article#prevResult .cost-box {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px 20px;
    padding: 12px;
    border: 1px solid #62a478;
    background: rgba(255, 255, 230, 1);
    font-size: 1rem;
}

article#prevResult .cost-box .cost-item {
    display: flex;
    justify-content: space-between;
}

article#prevResult .cost-box .cost-item b {
    color: #c24200;
}

/* ===== 見どころ ===== */
article#prevResult .rec-text {
    padding: 12px;
    border: 1px solid #62a478;
    background: #fffef5;
}

article#prevResult .rec-text h4 {
    margin: 0 0 6px;
    color: #c24200;
}

article#prevResult .rec-text p {
    margin: 0 0 10px;
    line-height: 1.7;
}

/* ===== Map ===== */
article#prevResult .map-box {
    width: 100%;
    height: 450px;
    border: 1px solid #62a478;
}

article#prevResult .map-box iframe {
    width: 100%;
    height: 100%;
    border: 0;
}

/* ===== お問い合わせ CTA ===== */
article#prevResult .contact-cta {
    text-align: center;
    padding: 20px;
    margin-top: 20px;
}

article#prevResult .contact-cta a {
    display: inline-block;
    padding: 14px 40px;
    background: #1f864c;
    color: #fff;
    text-decoration: none;
    font-size: 1.1rem;
    font-weight: 700;
    border-radius: 6px;
}

article#prevResult .contact-cta a:hover {
    background: #145731;
}

/* ===== Top section: hero + base-info ===== */
article#prevResult .top-section {
    display: block;
}

/* ===== PC（701px以上） ===== */
@media screen and (min-width: 701px) {
    article#prevResult .top-section {
        display: flex;
        gap: 16px;
        align-items: flex-start;
    }

    article#prevResult .top-section .media-column {
        flex: 0 0 38%;
        max-width: 38%;
        min-width: 0;
    }

    article#prevResult .top-section .base-info {
        flex: 1;
        min-width: 0;
        margin: 0;
    }

    /* 日本語版と同様、PCではモバイルアイコン帯を非表示（EDGEアニメで代替） */
    article#prevResult .mobileIcon {
        display: none;
    }
}

/* ===== モバイル（740px以下） =====
   日本語版 (prev2026.min.css @media max-width:740px) のデザインを基準に整合 */
@media screen and (max-width: 740px) {

    article#prevResult h2.section-title {
        display: flex !important;
        align-items: center;
        justify-content: flex-start;
        gap: 8px;
        width: 100%;
        max-width: 100%;
        min-height: 44px;
        overflow: hidden;
        white-space: nowrap;
    }

    article#prevResult h2.section-title .section-title-icon {
        flex: 0 0 18px;
        width: 18px;
        height: 18px;
    }

    article#prevResult h2.section-title span {
        display: inline-block;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* --- .pc クラス: PC専用要素をモバイルで非表示 --- */
    article#prevResult .pc {
        display: none !important;
    }

    /* --- セクション見出し: 日本語版 .header 仕様 --- */
    article#prevResult .sec-head {
        background: #62a478;
        color: #fff;
        text-shadow: 1px 1px 2px rgba(0,0,0,.3);
        padding: .25em;
        width: 100%;
        font-weight: 700;
        margin: 1.5em 0;
        text-align: center;
        height: 4.5rem;
        line-height: 3rem;
        overflow: hidden;
        white-space: nowrap;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 0;
        font-size: 1.2rem;
    }

    /* --- h1.header / h1.prev-title: 日本語版 .base_info h1 仕様 --- */
    article#prevResult h2.section-title {
        background: #62a478;
        color: #fff;
        text-align: left;
        font-weight: 700;
        margin: 12px 0;
        min-height: 44px;
        height: auto;
        line-height: 1.35;
        overflow: visible;
        white-space: normal;
        display: block;
        width: 100%;
        border-bottom: none;
        font-size: 1.1rem;
        text-indent: 0 !important;
        padding: 8px 12px;
        box-sizing: border-box;
    }

    article#prevResult h1.prev-title {
        background: #009e8f;
        color: #fff;
        text-align: center;
        font-weight: 700;
        margin: 0 0 1rem;
        padding: .5rem 0 1rem;
        border-bottom: none;
        font-size: 1.5rem;
    }

    /* --- base_info: 縦積み + mobilemode 折りたたみ --- */
    article#prevResult .base-info {
        width: 100%;
        margin: 12px 0 18px;
        border: 1px solid #a9c6b1;
        background: #ecf3ee;
        position: relative;
        box-sizing: border-box;
    }

    article#prevResult .base-info .mobilemode {
        position: relative;
        min-height: 58px;
        overflow: hidden;
        transition: .2s ease;
        background: linear-gradient(#edf5ee, #e3efe7);
        cursor: pointer;
    }

    article#prevResult .base-info .mobilemode::before {
        content: "See more Detail";
        display: block;
        padding: 14px 52px 14px 16px;
        color: #1b5f46;
        font-weight: 700;
        font-size: 1.1rem;
        line-height: 1.3;
        box-sizing: border-box;
    }

    article#prevResult .base-info .mobilemode.expanded::before {
        content: "Basic information";
    }

    article#prevResult .base-info .mobilemode dl {
        display: none;
        width: 100%;
        margin: 0;
        background: #fff;
        border-top: 1px solid #cfe0d1;
    }

    article#prevResult .base-info .mobilemode.expanded dl {
        display: block;
    }

    article#prevResult .base-info dl {
        display: block;
        width: 100%;
    }

    article#prevResult .base-info dl dt {
        width: 100%;
        padding: 10px 15px 0;
        border-bottom: none;
        font-weight: 700;
        box-sizing: border-box;
    }

    article#prevResult .base-info dl dd {
        width: 100%;
        padding: 3px 15px 12px;
        border-bottom: 1px solid #dfe8df;
        font-weight: 700;
        box-sizing: border-box;
    }

    /* mobilemode トグルボタン (+/−) */
    article#prevResult .base-info .mobileicon2,
    article#prevResult .base-info .mobileicon3 {
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        right: 12px;
        top: 12px;
        width: 28px;
        height: 28px;
        border-radius: 50%;
        background: #62a478;
        color: #fff;
        font-size: 1.6rem;
        font-weight: 700;
        z-index: 1;
        cursor: pointer;
        line-height: 1;
        user-select: none;
        box-sizing: border-box;
    }

    article#prevResult .base-info .mobileicon3 {
        display: none;
    }

    article#prevResult .base-info .mobilemode:not(.expanded) .mobileicon2 {
        display: flex;
    }

    article#prevResult .base-info .mobilemode:not(.expanded) .mobileicon3 {
        display: none;
    }

    article#prevResult .base-info .mobilemode.expanded .mobileicon2 {
        display: none;
    }

    article#prevResult .base-info .mobilemode.expanded .mobileicon3 {
        display: flex;
    }

    article#prevResult .top-section .media-column {
        width: 100%;
        max-width: none;
        margin-bottom: 16px;
    }

    /* --- rent: 日本語版モバイル仕様 --- */
    article#prevResult .rent {
        display: flex;
        flex-direction: column;
        width: 100%;
        margin: 0;
        gap: 10px;
    }

    article#prevResult .rent li {
        width: 100%;
        color: #333;
    }

    article#prevResult .rent li dl {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 6px 12px;
        padding: 12px 14px 14px;
        margin: 0;
        background: #fff;
        border: 1px solid #cddbcf;
        box-sizing: border-box;
    }

    article#prevResult .rent li dl dt.roomtype,
    article#prevResult .rent li dl dd.sqm {
        width: auto;
        padding: 0;
        font-size: 1.1rem;
        font-weight: 700;
        line-height: 1.4;
        text-align: left;
        height: auto;
        border: none;
        background: none;
    }

    article#prevResult .rent li dl dd.sqm {
        text-align: right;
        color: #333;
    }

    article#prevResult .rent li dl dd.rentalprice {
        grid-column: 1 / -1;
        width: 100%;
        padding: 0;
        margin: 0;
        font-size: 2rem;
        line-height: 1.1;
        font-weight: 700;
        text-align: left;
        color: #d4232a;
        border: none;
        background: none;
    }

    article#prevResult .rent li.nomobile {
        display: none;
    }

    /* --- EDGEアニメ: モバイル非表示 --- */
    article#prevResult .building-facility,
    article#prevResult .individual-facility {
        display: none;
    }

    /* --- costs: 日本語版仕様 --- */
    article#prevResult .cost-box {
        grid-template-columns: 1fr;
        width: 90%;
        margin: 0 auto;
        font-size: 1.6rem;
    }

    article#prevResult .cost-box .cost-item span {
        width: 12rem;
        flex-shrink: 0;
    }

    /* --- photos: 日本語版仕様 --- */
    article#prevResult .photos {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 8px;
    }

    article#prevResult .photos .photo {
        width: calc(50% - 4px);
        max-width: none;
        margin-bottom: .5rem;
        flex: 0 0 calc(50% - 4px);
    }

    /* --- 360° 写真: 横スクロール --- */
    article#prevResult .photo362 {
        flex-wrap: nowrap;
        overflow-x: scroll;
        -webkit-overflow-scrolling: touch;
        padding: 0 0 12px 8px;
    }

    article#prevResult .photo362 .photo360 {
        flex: 0 0 auto;
        width: 479px;
        padding-right: 3rem;
    }

    article#prevResult .photo362 .photo360 iframe {
        width: 464px;
        height: 232px;
    }

    /* --- 施設一覧: 日本語版モバイル仕様（2列・値非表示・○は青背景） --- */
    article#prevResult .facility dl {
        justify-content: space-evenly;
    }

    article#prevResult .facility dl dt {
        width: 45%;
        padding: 10px;
        border: 1px solid #ccc;
        margin-bottom: 1rem;
        text-align: center;
        color: #999;
        border-top: 1px solid #ccc;
    }

    article#prevResult .facility dl dt.on {
        background-color: #add8e6;
        color: #333;
        font-weight: 700;
    }

    article#prevResult .facility dl dd {
        display: none;
    }

    /* --- fac-items (Room/Building Facilities): 日本語版 check2/mFacility 仕様 --- */
    article#prevResult .fac-items {
        display: inline-flex;
        flex-wrap: wrap;
        gap: 0;
        padding: 0;
        width: 100%;
    }

    article#prevResult .fac-items span {
        font-size: 3.7vw;
        width: 32%;
        padding: 1% 0;
        margin: 0 .5% 2% .5%;
        text-align: center;
        border-radius: 0;
        background: #f0f8ff;
        color: #333;
        border: 1px dotted #add8e6;
        box-sizing: border-box;
    }

    article#prevResult .fac-items span.off {
        background: #f0f0f0;
        color: #bbb;
        border-color: #ddd;
    }

    /* --- other-room-link: 日本語版 .otherRoom 仕様 --- */
    article#prevResult .other-room-link {
        display: inline-block;
        padding: .5em .75em;
        color: #fd9535;
        border-radius: 4px;
        border: 2px solid #d27d00;
        background: #fff;
        font-weight: 700;
        text-decoration: none;
        float: right;
        margin: 10px 0;
    }

    article#prevResult .other-room-link:hover {
        background: #fd9535;
        color: #fff;
    }

    /* --- contact-cta: 日本語版 .btn 仕様 --- */
    article#prevResult .contact-cta {
        text-align: center;
        padding: 20px 0;
        margin-top: 20px;
    }

    article#prevResult .contact-cta a {
        display: block;
        background: #ffc;
        color: #009;
        font-size: 20px;
        padding: 10px 40px;
        width: 50%;
        text-align: center;
        margin: 0 auto;
        font-weight: 700;
        text-decoration: none;
        border-radius: .8rem;
    }

    article#prevResult .contact-cta a:hover {
        background: #ffbb00;
    }

    /* Inquiry stays below the image and remains easy to tap. */
    article#prevResult .hero-contact {
        margin-top: 8px;
    }

    article#prevResult .hero-contact a {
        display: block;
        width: 100%;
        min-height: 48px;
        line-height: 1.4;
        color: #145731;
        background-color: #ffc;
        font-weight: 700;
        font-size: 1rem;
        text-decoration: none;
        padding: 12px 16px;
        border: 1px solid #62a478;
        border-radius: 6px;
        box-sizing: border-box;
        text-align: center;
    }

    article#prevResult .hero-contact a:hover {
        background: #ffbb00;
    }

    /* --- rec-text: 日本語版 .recommend 仕様 --- */
    article#prevResult .rec-text {
        width: 95%;
        margin: 0 auto;
        padding: 0;
        border: none;
        background: none;
    }

    article#prevResult .rec-text h4 {
        font-weight: 700;
        font-size: 2rem;
        margin: 10px 0 5px;
        color: #333;
    }

    article#prevResult .rec-text p {
        padding: 10px;
        font-size: 1.7rem;
        line-height: 2.2rem;
        text-align: justify;
        margin: 0;
    }

    /* --- map-box: モバイルで高さ調整 --- */
    article#prevResult .map-box {
        height: 300px;
    }

    /* --- mobileIcon: 日本語版仕様 --- */
    article#prevResult .mobileIcon {
        width: 100%;
    }

    article#prevResult .mobileIcon ul.cssSlide {
        height: 150px;
        display: flex;
        overflow-x: scroll;
        -webkit-overflow-scrolling: touch;
        -webkit-transform: translateZ(0);
    }

    article#prevResult .mobileIcon ul.cssSlide>li {
        max-width: 12rem;
        min-width: 12rem;
        font-weight: 700;
        font-size: 2.8vw;
        margin: 0 10px;
        padding: 10px;
        background-color: #fff;
        border: 1px solid #ccc;
    }

    /* --- promo-box: モバイル調整 --- */
    article#prevResult .promo-box {
        margin: 10px 0;
        padding: 10px;
    }

    article#prevResult .promo-box pre {
        font-size: 0.9rem;
    }
}