@charset "UTF-8";
/*Variable
－－－－－－－*/
/*
ブレークポイント

基本  1920px
ipad 1050px
sp   767px;

コンテンツ幅1000px

*/
/* 2, Contents */
.l-container {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 767px) {
  .l-container {
    width: 100%;
    padding: 0 20px;
  }
}

.wp-child-theme-tanabe2026 {
  /* slick 共通 */
}
.wp-child-theme-tanabe2026 .header {
  position: static;
}
.wp-child-theme-tanabe2026 .header-bar {
  position: relative !important;
  top: 0;
  left: 0;
  height: 92px;
  background-color: #fff !important;
}
@media screen and (max-width: 1200px) {
  .wp-child-theme-tanabe2026 .header-bar {
    position: -webkit-sticky !important;
    position: sticky !important;
    height: 70px;
  }
}
.wp-child-theme-tanabe2026 .header-bar-inner {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding-inline: 20px;
}
.wp-child-theme-tanabe2026.header_fix #site-header {
  height: 92px;
  background-color: rgba(255, 255, 255, 0.7) !important;
  color: #111;
}
@media screen and (max-width: 1200px) {
  .wp-child-theme-tanabe2026.header_fix #site-header {
    height: 70px;
  }
}
.wp-child-theme-tanabe2026 .logo-image {
  width: 250px;
}
@media screen and (max-width: 1200px) {
  .wp-child-theme-tanabe2026 .logo-image {
    width: 180px;
  }
}
@media screen and (max-width: 767px) {
  .wp-child-theme-tanabe2026 .logo-image {
    width: 158px;
    margin-left: 5px;
  }
}
.wp-child-theme-tanabe2026 .global-nav {
  background-color: #fff;
}
.wp-child-theme-tanabe2026 .global-nav > ul > li.menu-item-4842 {
  margin-left: 14px;
}
@media screen and (max-width: 1200px) {
  .wp-child-theme-tanabe2026 .global-nav > ul > li.menu-item-4842 {
    margin-left: 0;
  }
  .wp-child-theme-tanabe2026 .global-nav > ul > li.menu-item-4842 a:before {
    top: calc(50% - 11px);
  }
}
.wp-child-theme-tanabe2026 .global-nav > ul > li > a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 92px;
  color: #111;
  line-height: 1;
  font-size: 14px;
  padding-inline: 14px;
}
@media screen and (max-width: 1200px) {
  .wp-child-theme-tanabe2026 .global-nav > ul > li > a {
    height: 50px;
  }
}
@media screen and (max-width: 1200px) {
  .wp-child-theme-tanabe2026 .header-bar-fixed .global-nav {
    top: 70px;
    left: 0;
  }
}
.wp-child-theme-tanabe2026 .global-nav > ul > li > a:before {
  top: calc(50% - 6px);
}
.wp-child-theme-tanabe2026 .global-nav .menu-item-has-children > a span::before {
  top: 0;
}
@media screen and (max-width: 1200px) {
  .wp-child-theme-tanabe2026 .global-nav > ul > li > a::after {
    display: none;
  }
}
.wp-child-theme-tanabe2026 .global-nav > ul > li.menu-contact > a {
  padding-inline: 20px;
  background-color: #062363 !important;
  color: #fff;
}
.wp-child-theme-tanabe2026 .global-nav > ul > li.menu-contact > a::after {
  display: none;
}
.wp-child-theme-tanabe2026 .global-nav > ul > li.menu-docreq > a {
  padding-inline: 20px;
  background-color: #2e6580 !important;
  color: #fff;
}
.wp-child-theme-tanabe2026 .global-nav > ul > li.menu-docreq > a::after {
  display: none;
}
.wp-child-theme-tanabe2026 .global-nav .sub-menu {
  left: auto;
  right: 0;
}
@media screen and (max-width: 1200px) {
  .wp-child-theme-tanabe2026 .global-nav-button {
    width: 70px;
    height: 70px;
  }
}
.wp-child-theme-tanabe2026 .slick-prev {
  left: 10px;
  z-index: 999;
}
.wp-child-theme-tanabe2026 .slick-prev::before {
  display: none;
}
.wp-child-theme-tanabe2026 .slick-prev::after {
  content: "";
  position: absolute;
  top: calc(50% - 12px);
  left: 10px;
  width: 24px;
  height: 24px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(-135deg);
}
.wp-child-theme-tanabe2026 .slick-next {
  right: 10px;
}
.wp-child-theme-tanabe2026 .slick-next::before {
  display: none;
}
.wp-child-theme-tanabe2026 .slick-next::after {
  content: "";
  position: absolute;
  top: calc(50% - 12px);
  right: 10px;
  width: 24px;
  height: 24px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
}

.l-header {
  width: 100%;
  background-color: #fff;
  height: 92px;
}
.l-header__logo {
  flex: 0 0 auto;
  margin: 0 38px 0 0;
  line-height: 1;
}
.l-header__logo-link {
  display: block;
}
.l-header__logo img {
  display: block;
  width: 250px;
}
.l-header__nav {
  flex: 1 1 auto;
}
.l-header__nav-list {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 32px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.l-header__nav-item {
  font-size: 14px;
  line-height: 1;
  white-space: nowrap;
}
.l-header__actions {
  display: flex;
  flex: 0 0 auto;
  align-self: stretch;
  margin-left: 30px;
}
.l-header__action {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 19px;
  color: #fff;
  font-size: 14px;
  line-height: 1;
  white-space: nowrap;
}
.l-header__action--document {
  background-color: #2d6f8a;
}
.l-header__action--contact {
  background-color: #002a70;
}

.c-section-heading {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  text-align: center;
}
.c-section-heading::before, .c-section-heading::after {
  content: "";
  position: absolute;
  top: 16px;
  width: 50px;
  height: 1px;
  background-color: #777;
}
.c-section-heading::before {
  right: calc(100% + 20px);
}
.c-section-heading::after {
  left: calc(100% + 20px);
}
.c-section-heading__title {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.3;
  letter-spacing: -0.02em;
}
.c-section-heading__subtitle {
  margin-top: 8px;
  font-size: 12px;
  font-weight: normal;
  line-height: 1;
  letter-spacing: -0.01em;
}
.c-section-heading--light {
  color: #fff;
}
.c-section-heading--light::before, .c-section-heading--light::after {
  background-color: #fff;
}

.l-footer {
  padding: 62px 0 0;
  background-color: #e9e9e9;
}
.l-footer__nav-block {
  width: 100%;
  margin: 0 auto;
}
.l-footer__home {
  display: block;
  padding: 0 15px 12px;
  border-bottom: 1px solid #707070;
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
}
.l-footer__nav {
  display: grid;
  grid-template-columns: 1.35fr 0.9fr 1.25fr 1.4fr 1.25fr;
  gap: 38px;
  padding: 28px 15px 0;
}
@media screen and (max-width: 767px) {
  .l-footer__nav {
    grid-template-columns: 1fr 1fr;
    gap: 38px;
    padding: 28px 15px 0;
  }
}
.l-footer__nav-column {
  font-size: 14px;
  line-height: 1.7;
}
.l-footer__nav-heading {
  display: block;
  margin-bottom: 14px;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.2;
}
.l-footer__nav-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.l-footer__nav-list > li + li {
  margin-top: 10px;
}
.l-footer__nav-list a {
  position: relative;
  display: inline-block;
  padding-left: 14px;
}
.l-footer__nav-list a::before {
  content: "-";
  position: absolute;
  left: 0;
  top: 0;
}
.l-footer__nav-list--child {
  margin-top: 10px;
  padding-left: 14px;
}
.l-footer__nav-list--child a {
  padding-left: 18px;
}
.l-footer__nav-list--child a::before {
  content: "└";
}
.l-footer__nav-cta {
  margin-top: 58px;
}
.l-footer__office {
  width: 100%;
  margin: 100px auto 0;
}
.l-footer__office-title {
  padding: 0 15px 12px;
  border-bottom: 1px solid #707070;
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
}
.l-footer__office-content {
  display: grid;
  grid-template-columns: 1fr 390px;
  gap: 50px;
  align-items: start;
  padding: 24px 15px 0;
}
@media screen and (max-width: 1200px) {
  .l-footer__office-content {
    grid-template-columns: 1fr 250px;
    gap: 40px;
  }
}
@media screen and (max-width: 1050px) {
  .l-footer__office-content {
    grid-template-columns: 1fr;
  }
}
.l-footer__tel {
  font-size: 28px;
  font-weight: bold;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .l-footer__tel {
    font-size: 20px;
  }
}
.l-footer__locations {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 42px;
  margin-top: 28px;
  font-size: 14px;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .l-footer__locations {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}
.l-footer__location-name {
  margin-bottom: 12px;
  font-weight: bold;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .l-footer__location p {
    font-size: 14px;
  }
}
.l-footer__showroom {
  display: block;
}
.l-footer__showroom img {
  display: block;
  width: 100%;
}
@media screen and (max-width: 1050px) {
  .l-footer__showroom img {
    width: 500px;
    margin: auto;
  }
}
.l-footer__sns {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}
@media screen and (max-width: 767px) {
  .l-footer__sns {
    margin: 20px 0 0;
  }
}
.l-footer__sns a {
  display: block;
  width: 40px;
}
.l-footer__sns img {
  display: block;
  width: 100%;
}
.l-footer .footer-bar01 {
  margin-top: 60px;
  padding-bottom: 14px;
  background-color: transparent;
}
@media screen and (max-width: 767px) {
  .l-footer .footer-bar01 {
    margin-top: 30px;
  }
}
.l-footer .footer-bar01 .copyright {
  text-align: center;
  font-size: 14px;
  line-height: 1;
  color: #707070;
  background-color: transparent;
}

/* =========================================
   スマホメニューの階層デザイン（すべて左寄せ＆インデント）
   ========================================= */
@media only screen and (max-width: 1200px) {
    /* ① サブメニューが右に飛び出すのを防ぐ */
    .wp-child-theme-tanabe2026 .global-nav li.menu-item-has-children > ul.sub-menu {
        position: static !important;
        left: auto !important;
        top: auto !important;
        transform: none !important;
        width: 100% !important;
        box-shadow: none !important;
        background-color: rgba(0, 0, 0, 0.15) !important;
    }

    /* ② 親メニュー（一番上の階層）も含めてすべて左寄せにする */
    .wp-child-theme-tanabe2026 .global-nav ul#menu-gnavi > li > a,
    .wp-child-theme-tanabe2026 .global-nav ul.sub-menu a {
        justify-content: flex-start !important;
        text-align: left !important;
        padding-left: 20px !important;
    }

    /* ③ 子メニュー（1階層目）のインデントとハイフン */
    .wp-child-theme-tanabe2026 .global-nav ul.sub-menu a {
        position: relative !important;
        padding-left: 2.5em !important; 
    }
    .wp-child-theme-tanabe2026 .global-nav ul.sub-menu a::before {
        content: "−" !important;
        position: absolute !important;
        left: 1.2em !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
    }

    /* ④ 孫メニュー（2階層目）のインデントと枝葉マーク */
    .wp-child-theme-tanabe2026 .global-nav ul.sub-menu ul.sub-menu a {
        padding-left: 3.5em !important; 
        font-size: 0.9em !important; 
    }
    .wp-child-theme-tanabe2026 .global-nav ul.sub-menu ul.sub-menu a::before {
        content: "└" !important; 
        left: 2.2em !important;
    }
}

/* 通常の固定ページのコンテンツ上部の余白をリセット（PC・スマホ共通） */
.page-template-default .post-content {
    padding-top: 0 !important;
}

/* コンテンツの一番上にある要素（h2見出しなど）が持っている上の余白も消す */
.page-template-default .post-content > *:first-child {
    margin-top: 0 !important;
}



/* ▼ ブログページネーションをグリッドのマスから出して一番下に配置 ▼ */
#mainconkizi .kizi #main .wrap_pagenavi {
    grid-column: 1 / -1 !important;
    margin-top: 30px !important;
    /* 💡変更：Flexboxを使って強制的にど真ん中に配置する */
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
}

/* プラグイン(WP-PageNavi)独自の回り込みや偏りを完全にリセット */
#mainconkizi .kizi #main .wrap_pagenavi .wp-pagenavi {
    float: none !important;
    margin: 0 !important;
    text-align: center !important;
}

/* =========================================
   ブログ一覧：PC・スマホ共通カード型レイアウト
   ========================================= */

/* ▼ 1. PC版は3列のグリッドにする ▼ */
#mainconkizi .kizi #main {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important; /* PCは3列 */
    gap: 30px 20px !important; /* カード間の縦・横の隙間 */
}

/* 各カードの基本設定（高さを揃える） */
#mainconkizi .kizi #main .post {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #e5e5e5; /* 薄い枠線 */
    background-color: #fff;
}

/* テーマ特有の回り込み(float)を完全解除 */
#mainconkizi .kizi #main .post .clearfix {
    float: none !important;
    width: 100% !important;
}
#mainconkizi .kizi #main .post::before, #mainconkizi .kizi #main .post::after,
#mainconkizi .kizi #main .post .clearfix::before, #mainconkizi .kizi #main .post .clearfix::after {
    display: none !important;
}

/* ▼ 2. 画像エリアの調整 ▼ */
#mainconkizi .kizi #main .post .pb20 {
    margin-bottom: 15px !important;
    padding: 0 !important;
}
#mainconkizi .kizi #main .post .pb20 img {
    width: 100% !important;
    /* 💡変更：高さを揃えて綺麗にトリミングする設定 */
    aspect-ratio: 4 / 3 !important; /* 画像の比率（横/縦）。16 / 9 などに変更可能 */
    object-fit: cover !important;   /* はみ出した部分を自動でカット */
    display: block;
}

/* ▼ 3. テキストエリアの調整 ▼ */
#mainconkizi .kizi #main .post .mb10 {
    padding: 0 15px 15px !important; /* カード内側の余白 */
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

/* 青帯を消して、日付をタイトルの上に */
#mainconkizi .kizi #main .post .mBttl {
    background-color: transparent !important;
    color: #333333 !important;
    font-size: 16px !important; /* PC用文字サイズ */
    line-height: 1.5 !important;
    padding: 0 !important;
    margin: 0 0 10px 0 !important;
    display: flex !important;
    flex-direction: column !important;
}
#mainconkizi .kizi #main .post .mBttl span {
    order: -1 !important; /* 日付を上に */
    color: #888888 !important;
    font-size: 12px !important;
    margin-bottom: 5px !important;
    padding: 0 !important;
}

/* 💡変更：抜粋文（本文）と「詳細を見る」ボタンをPC・スマホ共通で完全に非表示 */
#mainconkizi .kizi #main .post .blogbloc,
#mainconkizi .kizi #main .post .bloglink {
    display: none !important;
}

/* ▼ 4. スマホ版（680px以下）は2列にする ▼ */
@media screen and (max-width: 680px) {
    #mainconkizi .kizi #main {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important; /* スマホは2列 */
        gap: 15px 10px !important;
    }
    #mainconkizi .kizi #main .post .mBttl {
        font-size: 13px !important; /* スマホ用文字サイズに縮小 */
    }
    #mainconkizi .kizi #main .post .mb10 {
        padding: 0 10px 10px !important;
    }
}


/* =========================================
   ▼ 追加：詳細ページ（記事本文）のレイアウト修正 ▼
   ========================================= */

/* 1. 詳細ページでは全体の3列グリッド化を解除して縦並びに戻す */
body.single #mainconkizi .kizi #main {
    display: block !important;
}

/* 2. タイトルの青帯を解除し、目標デザイン（白背景・黒文字）に合わせる */
body.single #mainconkizi .kizi #main > h1.mBttl {
    background-color: transparent !important; /* 青背景をなくす */
    color: #333333 !important; /* 文字色を黒に */
    padding: 0 !important;
    margin: 0 0 30px 0 !important;
    font-size: 26px !important; /* 丸山工務店のようにタイトルを大きく */
    font-weight: bold !important;
    line-height: 1.5 !important;
    clear: both !important;
    
    /* Flexboxを使って日付をタイトルの上に移動 */
    display: flex !important;
    flex-direction: column !important;
}

/* 3. 日付のデザインと配置 */
body.single #mainconkizi .kizi #main > h1.mBttl span {
    order: -1 !important; /* 強制的にタイトルの上へ */
    color: #666666 !important;
    font-size: 14px !important;
    padding: 0 !important;
    margin-bottom: 12px !important;
    font-weight: normal !important;
}

/* ▼ 4. スマホ版（680px以下）のタイトルサイズ微調整 ▼ */
@media screen and (max-width: 680px) {
    body.single #mainconkizi .kizi #main > h1.mBttl {
        font-size: 20px !important;
    }
}

/* =========================================
   OBアフターブログ一覧：PC・スマホ共通カード型レイアウト
   ========================================= */

/* ▼ 1. PC版は3列のグリッドにする ▼ */
ul#archiveList {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 30px 20px !important;
    padding: 0 !important; /* ulのデフォルト余白を消す */
    margin: 0 0 40px 0 !important;
    list-style: none !important; /* リストのポッチを消す */
}

/* 各カードの基本設定（高さを揃える） */
ul#archiveList > li {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #e5e5e5; /* 薄い枠線 */
    background-color: #fff;
}

/* テーマ特有の回り込み(float)を完全解除 */
ul#archiveList > li .clearfix {
    float: none !important;
    width: 100% !important;
}
ul#archiveList > li::before, ul#archiveList > li::after,
ul#archiveList > li .clearfix::before, ul#archiveList > li .clearfix::after {
    display: none !important;
}

/* ▼ 2. 画像エリアの調整 ▼ */
ul#archiveList > li .pb20 {
    margin-bottom: 15px !important;
    padding: 0 !important;
}
ul#archiveList > li .pb20 img {
    width: 100% !important;
    aspect-ratio: 4 / 3 !important; /* 施工事例と同じ比率で揃える */
    object-fit: cover !important;
    display: block;
}

/* ▼ 3. テキストエリアの調整 ▼ */
ul#archiveList > li .text-area {
    padding: 0 15px 15px !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

/* タイトルと日付の調整 */
ul#archiveList > li .title {
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
    line-height: 1.5 !important;
}
ul#archiveList > li .title a {
    display: flex !important;
    flex-direction: column !important; /* 日付をタイトルの上に持ってくる準備 */
    color: #333333 !important;
    text-decoration: none !important;
}
ul#archiveList > li .title a span {
    order: -1 !important; /* 日付を上に */
    color: #888888 !important;
    font-size: 12px !important;
    margin-bottom: 5px !important;
    font-weight: normal !important;
}
ul#archiveList > li .title a strong {
    font-size: 16px !important; /* PC用文字サイズ */
    font-weight: bold !important;
}

/* 抜粋文とボタンを完全に非表示 */
ul#archiveList > li .blogbloc,
ul#archiveList > li .more {
    display: none !important;
}

/* ▼ 4. スマホ版（680px以下）は2列にする ▼ */
@media screen and (max-width: 680px) {
    ul#archiveList {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 15px 10px !important;
    }
    ul#archiveList > li .title a strong {
        font-size: 13px !important; /* スマホ用文字サイズに縮小 */
    }
    ul#archiveList > li .text-area {
        padding: 0 10px 10px !important;
    }
}

/* ▼ 5. ページネーションの中央寄せ ▼ */
.wrap_pagenavi {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
}
.wrap_pagenavi .wp-pagenavi {
    float: none !important;
    margin: 0 !important;
    text-align: center !important;
}


/* =========================================
   不動産一覧：PC版（横長カード型）※完全に独立
   ========================================= */
ul#archiveList.fudousan-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 40px !important;
    padding: 0 !important;
    list-style: none !important;
}

ul#archiveList.fudousan-list > li {
    display: grid !important;
    grid-template-columns: 320px 1fr !important; /* 左に画像、右にテキスト */
    gap: 15px 30px !important;
    
    background-color: #fff !important;
    border: 12px solid #e2e2e2 !important; /* 太いグレー枠 */
    padding: 25px !important;
    margin: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* 1. タイトル */
ul#archiveList.fudousan-list > li .title {
    grid-column: 1 / -1 !important;
    font-size: 22px !important;
    font-weight: bold !important;
    margin: 0 !important;
    padding-bottom: 15px !important;
    border-bottom: 1px solid #ddd !important;
}
ul#archiveList.fudousan-list > li .title a {
    color: #000 !important;
    text-decoration: none !important;
}

/* ラベル類 */
ul#archiveList.fudousan-list > li .kanbai-label,
ul#archiveList.fudousan-list > li .f-label,
ul#archiveList.fudousan-list > li .n-label {
    grid-column: 1 / -1 !important;
}

/* 2. 画像エリア */
ul#archiveList.fudousan-list > li .box1 {
    grid-column: 1 / 2 !important;
    margin: 0 !important;
    width: 100% !important;
}
ul#archiveList.fudousan-list > li .box1 a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}
ul#archiveList.fudousan-list > li .box1 img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: cover !important;
}

/* 3. テキスト(表)エリア */
ul#archiveList.fudousan-list > li .box2 {
    grid-column: 2 / 3 !important;
    margin: 0 !important;
    width: 100% !important;
}
ul#archiveList.fudousan-list > li .box2 .desc {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    width: 100% !important;
}
ul#archiveList.fudousan-list > li .box2 table {
    width: 100% !important;
    border: none !important;
    margin-bottom: auto !important;
    table-layout: fixed !important;
}
ul#archiveList.fudousan-list > li .box2 table th,
ul#archiveList.fudousan-list > li .box2 table td {
    border: none !important;
    background: transparent !important;
    padding: 8px 0 !important;
    text-align: left !important;
    font-size: 15px !important;
    color: #333 !important;
    line-height: 1.6 !important;
}
ul#archiveList.fudousan-list > li .box2 table th {
    width: 80px !important;
    font-weight: normal !important;
}
ul#archiveList.fudousan-list > li .box2 table tr:last-child th,
ul#archiveList.fudousan-list > li .box2 table tr:last-child td {
    color: #2e6580 !important;
    font-weight: bold !important;
}
ul#archiveList.fudousan-list > li .box2 table tr:last-child td {
    font-size: 18px !important;
}

/* 4. 「詳しく見る」ボタン */
ul#archiveList.fudousan-list > li .box2 .more {
    display: block !important;
    width: 100% !important;
    text-align: right !important;
    margin: 20px 0 0 0 !important; 
}
ul#archiveList.fudousan-list > li .box2 .more a {
    display: inline-block !important;
    min-width: 260px !important;
    background-color: #2e6580 !important;
    color: #fff !important;
    padding: 15px 40px !important;
    text-align: center !important;
    font-size: 15px !important;
    text-decoration: none !important;
    position: relative !important;
    transition: background-color 0.3s ease !important;
    border-radius: 0 !important;
    line-height: 1.5 !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
}
ul#archiveList.fudousan-list > li .box2 .more a:hover {
    background-color: #6d9db4 !important;
}
ul#archiveList.fudousan-list > li .box2 .more a::after {
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    right: 20px !important;
    transform: translateY(-50%) rotate(45deg) !important;
    width: 6px !important;
    height: 6px !important;
    border-width: 2px 2px 0 0 !important;
    border-style: solid !important;
    border-color: #fff !important;
}

/* =========================================
   不動産一覧：スマホ版（ポータルサイト風）※完全に独立
   ========================================= */
@media screen and (max-width: 680px) {
    ul#archiveList.fudousan-list {
        gap: 15px !important;
    }
    ul#archiveList.fudousan-list > li {
        grid-template-columns: 120px 1fr !important;
        gap: 10px 15px !important;
        border: 1px solid #ddd !important;
        border-radius: 6px !important;
        padding: 12px !important;
    }
    ul#archiveList.fudousan-list > li .title {
        font-size: 15px !important;
        margin: 0 0 5px 0 !important;
        padding-bottom: 8px !important;
    }
    ul#archiveList.fudousan-list > li .box1 img {
        aspect-ratio: 1 / 1 !important;
        border-radius: 4px !important;
    }
    ul#archiveList.fudousan-list > li .box2 table th,
    ul#archiveList.fudousan-list > li .box2 table td {
        padding: 2px 0 !important;
        font-size: 11px !important;
    }
    ul#archiveList.fudousan-list > li .box2 table th {
        width: 50px !important;
    }
    ul#archiveList.fudousan-list > li .box2 table tr:last-child td {
        color: #e00000 !important;
        font-size: 13px !important;
    }
    ul#archiveList.fudousan-list > li .box2 .more {
        display: none !important;
    }
}

/* =========================================
   モデルハウス一覧：PC版（横長カード型）
   ========================================= */
ul#archiveList.vevent {
    display: flex !important;
    flex-direction: column !important;
    gap: 40px !important;
    padding: 0 !important;
    list-style: none !important;
}

ul#archiveList.vevent > li {
    display: grid !important;
    grid-template-columns: 320px 1fr !important; /* 左に画像、右にテキスト */
    gap: 15px 30px !important;
    
    background-color: #fff !important;
    border: 12px solid #dde6eb !important; /* 太いグレー枠 */
    padding: 25px !important;
    margin: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* 1. タイトル */
ul#archiveList.vevent > li .title {
    grid-column: 1 / -1 !important;
    font-size: 22px !important;
    font-weight: bold !important;
    margin: 0 !important;
    padding-bottom: 15px !important;
    border-bottom: 1px solid #ddd !important;
}
ul#archiveList.vevent > li .title a {
    color: #000 !important;
    text-decoration: none !important;
}

/* 2. 画像エリア */
ul#archiveList.vevent > li .box1 {
    grid-column: 1 / 2 !important;
    margin: 0 !important;
    width: 100% !important;
}
ul#archiveList.vevent > li .box1 a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}
ul#archiveList.vevent > li .box1 img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: cover !important;
}

/* 3. テキストエリア */
ul#archiveList.vevent > li .box2 {
    grid-column: 2 / 3 !important;
    margin: 0 !important;
    width: 100% !important;
}
ul#archiveList.vevent > li .box2 .desc,
ul#archiveList.vevent > li .box2 p {
    font-size: 15px !important;
    color: #333 !important;
    line-height: 1.6 !important;
    margin: 0 0 15px 0 !important;
}

/* 4. 「詳しく見る」ボタン */
ul#archiveList.vevent > li .box2 .more {
    display: block !important;
    width: 100% !important;
    text-align: right !important;
    margin: 20px 0 0 0 !important; 
}
ul#archiveList.vevent > li .box2 .more a {
    display: inline-block !important;
    min-width: 260px !important;
    background-color: #2e6580 !important;
    color: #fff !important;
    padding: 15px 40px !important;
    text-align: center !important;
    font-size: 15px !important;
    text-decoration: none !important;
    position: relative !important;
    transition: background-color 0.3s ease !important;
    border-radius: 0 !important;
    line-height: 1.5 !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
}
ul#archiveList.vevent > li .box2 .more a:hover {
    background-color: #6d9db4 !important;
}
ul#archiveList.vevent > li .box2 .more a::after {
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    right: 20px !important;
    transform: translateY(-50%) rotate(45deg) !important;
    width: 6px !important;
    height: 6px !important;
    border-width: 2px 2px 0 0 !important;
    border-style: solid !important;
    border-color: #fff !important;
}


/* =========================================
   モデルハウス一覧：スマホ版（ポータルサイト風）
   ========================================= */
@media screen and (max-width: 680px) {
    ul#archiveList.vevent {
        gap: 15px !important;
    }
    ul#archiveList.vevent > li {
        display: grid !important;
        grid-template-columns: 120px 1fr !important; /* 左に120pxの画像、右にテキスト */
        gap: 10px 15px !important;
        border: 1px solid #ddd !important;
        border-radius: 6px !important;
        padding: 12px !important;
    }
    ul#archiveList.vevent > li .title {
        grid-column: 1 / -1 !important;
        font-size: 15px !important;
        margin: 0 0 5px 0 !important;
        padding-bottom: 8px !important;
        border-bottom: 1px solid #ddd !important;
    }
    ul#archiveList.vevent > li .box1 {
        grid-column: 1 / 2 !important;
    }
    ul#archiveList.vevent > li .box1 img {
        aspect-ratio: 1 / 1 !important; /* スマホは正方形でスッキリ見せる */
        border-radius: 4px !important;
        object-fit: cover !important;
    }
    ul#archiveList.vevent > li .box2 {
        grid-column: 2 / 3 !important;
    }
    ul#archiveList.vevent > li .box2 .desc,
    ul#archiveList.vevent > li .box2 p {
        font-size: 11px !important;
        line-height: 1.5 !important;
        margin: 0 !important;
    }
    /* スマホ版では「詳しく見る」ボタンを非表示にする場合 */
    ul#archiveList.vevent > li .box2 .more {
        display: none !important;
    }
}