@charset "utf-8";
/*
Theme Name: 株式会社榎本林業
Theme URI: https://www.superlog8.com/
Description: 株式会社榎本林業のテーマです
*/

/* 見出し */
.section-title {
  font-size: clamp(18px, 2.5vw, 30px);
  margin-bottom: 2rem;
}

/* 共通リスト */
.list {
  display: grid;
  gap: 2rem;
}

/* 記事一覧3列 */
.article_list {
  grid-template-columns: repeat(3, 1fr);
  margin-bottom: 9rem;
}

@media (max-width: 980px) {
  .article_list {
    grid-template-columns: repeat(2, 1fr);
    margin-bottom: 4.5rem;
  }
}

@media (max-width: 600px) {
  .article_list {
    /*grid-template-columns: 1fr;*/
  }
}

/* 各アイテム */
.list_item {
  display: flex;
  flex-direction: column;
}

/* 画像 */
.list_item div.img-box {
  width: 100%;
  aspect-ratio: 4/3;
  overflow: hidden;
  margin-bottom: 1.5rem;
  background: #FAFAFA;
  /* 画像下余白増加 */
}

.list_item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* カテゴリータグ */
.category_tag {
  display: inline-block;
  font-size: 15px;
  /* 少し大きめ */
  color: #fff;
  padding: 0.3rem 0.6rem;
  margin-bottom: 0.8rem;
  /* タイトルとの間隔 */
  line-height: 1.4;
}

/* タイトル */
.list_item h3 {
  font-size: clamp(14px, 2vw, 18px);
  margin: 0.8rem 0 1.2rem 0;
  /* 上下余白広め */
  line-height: 1.5;
}

/* 日付 */
.list_item time {
  font-size: 14px;
  /* 少し大きめに変更 */
  color: #666;
  line-height: 1.4;
  display: block;
  text-align: right;
}

.list_item time em {
  font-style: normal;
  font-family: Arial, Helvetica, sans-serif;
}

/* リンク下線なし */
.list_item a {
  text-decoration: none;
}

/* デフォルト 3列 */
.article_list .list_item:nth-child(n+4) {
  margin-top: 3rem;
}

/* 2列（幅900px以下）の場合 3番目以降に余白 */
@media (max-width: 900px) {
  .article_list .list_item:nth-child(n+3) {
    margin-top: 3rem;
  }

  .category_tag {
    font-size: 13px;
    /* 少し大きめ */
  }
}

/* 1列（幅600px以下）の場合 2番目以降に余白 */
@media (max-width: 600px) {
  .article_list .list_item:nth-child(n+2) {
    margin-top: 0;
  }
}




/* index.cssと同じだが一部フォントサイズ、ブロック間隔調整 */
.works_list {
	display: flex;
	flex-wrap: wrap;
	gap: 6rem;       /* 横・縦の間隔を6remに調整 */
	row-gap: 6rem;   /* 縦の間隔も6remに統一 */
	position: relative;
	margin-bottom: 6rem;
}

/* 個別ボックス */
.works_list .works_box {
	flex: 0 0 calc((100% - 2*6rem)/3); /* 横間隔6remに合わせて幅を再計算 */
	max-width: calc((100% - 2*6rem)/3);
	display: flex;
	flex-direction: column;
	position: relative;
	padding-bottom: 4.5rem;
}

/* ボックス間の縦線（gap中央） */
.works_list .works_box:not(:nth-child(3n))::after {
	content: "";
	position: absolute;
	top: 0;
	right: -3rem;      /* gapの半分に調整 */
	width: 1px;
	height: 100%;
	background: #d9d9d9;
}


/* 画像ラップ */
.works_box .img-wrap {
	width: 100%;
	padding-bottom: 75%;
	/* 高さ比率4:3 */
	position: relative;
	overflow: hidden;
	margin-bottom: 2.5rem;
}

.works_box .img-wrap img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* テキスト */
.works_box .text {}

.works_box .text .area_type {
	margin-bottom: 1rem;
}

.works_box .text .area_type small {
	margin-right: 1rem;
}

.works_box .text .area_type span a {
	padding: 0.5rem 0.75rem;
	border-radius: 3px;
	color: #FFF;
	font-size: clamp(12px, 1vw, 12px);
	line-height: 1;
	background: #415c07;
}

.works_box .text h3 {
	font-size: clamp(16px, 1.4vw, 18px);
	margin: 0;
	line-height: 1.6;
	color: #333;
	margin-bottom: 1.5rem;
}

.works_box .text h3 a:hover {
	text-decoration:underline;
}

.works_box .text p {
	color: #333;
	margin-bottom: 1.5rem;
	line-height: 2;
}

.works_box .text>span {
	line-height: 1.6;
	font-size: clamp(12px, 1vw, 14px);
}

.works_box .text>span a:hover {
	text-decoration:underline;
}

/* レスポンシブ */
@media (max-width: 1024px) {
}

@media (max-width: 480px) {
	.works_list {
		flex-direction: column;
	}

	.works_list .works_box {
		flex: 0 0 100%;
		max-width: 100%;
		padding-bottom:0;
	}

	.works_list .works_box::after {
		display: none;
		/* 1列なら縦線不要 */
	}
}

/* ---------- 物件リスト全体 ---------- */
.fudosan-entry-content .fudosan-content__list-wrap {
    list-style: none;
    margin: 0 0 7.5rem 0;
    padding: 0;
}

/* ---------- 各物件カード ---------- */
.fudosan-entry-content .fudosan-content__list.fudosan-card {
    padding: 4.5rem 3rem;               /* カード内余白 */
    border-bottom: 0.1rem solid #ddd;
    margin-bottom: 3rem;         /* カード間隔 */
    background-color: #fff;
}

.fudosan-entry-content .fudosan-content__list.fudosan-card:last-child {
	margin-bottom:0;
}

/* ---------- カード内部（画像とテキスト） ---------- */
.fudosan-entry-content .fudosan-card__body.flex-box {
    display: flex;
    gap: 2rem; /* 画像とテキストの間隔 */
    align-items: flex-start;
}

/* ---------- 左側画像 ---------- */
.fudosan-entry-content .img-box {
    flex: 0 0 280px; /* 幅固定 */
    height: 200px;   /* 高さ固定 */
    overflow: hidden;
    border-radius: 0.5rem;
}
.fudosan-entry-content .img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* ---------- 右側テキスト ---------- */
.fudosan-entry-content .text-box {
    flex: 1;
    display: flex;
    flex-direction: column;
	width:100%;
}

.fudosan-entry-content .title_box {
    display: flex;
    align-items: center; /* 上下中央揃え */
    gap: 0.8rem;        /* タームとタイトルの間隔 */
    margin-bottom: 3rem; /* 下の余白 */
    flex-wrap: wrap;    /* 幅が狭い場合は折り返す */
	padding-bottom:1.5rem;
	border-bottom:1px solid #415c07;
}

.fudosan-entry-content .title_box .fudosan-term a {
    text-decoration: none;
    color: #FFF;      /* タームリンクの色 */
    font-weight: 500;
	background:#415c07;
	padding:0.25rem 0.5rem;
	font-size:14px;
	border-radius:3px;
}

.fudosan-entry-content .title_box .fudosan-term a:hover {
    text-decoration: underline;
}

.fudosan-entry-content .title_box h3 {
    margin: 0 0 0 0.5rem;
	font-size:clamp(16px, 1.4vw, 18px);
}


/* テーブル全体 */
.fudosan-entry-content .text-box table.spec_table-fudosan {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 3rem; /* テーブル下を広めに 24px相当 */
}

/* テーブルセル */
.fudosan-entry-content .text-box table.spec_table-fudosan th,
.fudosan-entry-content .text-box table.spec_table-fudosan td {
    padding: 0.75rem 1rem; /* 10px 13px相当 */
    border:none;
    border-bottom: 0.1rem solid #ddd;
    text-align: left;
}

/* テーブル行の間隔 */
.fudosan-entry-content .text-box table.spec_table-fudosan tr + tr td,
.fudosan-entry-content .text-box table.spec_table-fudosan tr + tr th {
    padding-top: 0.8rem; /* 行間隔 */
}

/* 右寄せ */
.fudosan-entry-content .fudosan-content__link {
    margin-top: auto;
    text-align: right;
}

/* ボタン本体 */
.fudosan-entry-content .fudosan-content__link a {
    display: inline-block;
    padding: 0.85rem 4.5rem 0.75rem 4.5rem;
    background: #415c07;
    color: #fff;
    border: 1px solid #415c07;
    border-radius: 60px;
    text-decoration: none;
    font-weight: 500;
    position: relative;
    overflow: hidden;
    transition: color .5s ease, border .5s ease;line-height: 1;
}

/* 左→右に広がる白背景 */
.fudosan-entry-content .fudosan-content__link a::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform .5s ease;
    z-index: 0;
}

/* 文字を前面に */
.fudosan-entry-content .fudosan-content__link a span {
    position: relative;
    z-index: 1;
}

/* SVG */
.fudosan-entry-content .fudosan-content__link a svg {
    position: relative;
    z-index: 1;
    top: 0px;
    margin-left: 1rem;
    transition: color .5s ease;
}

/* hover */
.fudosan-entry-content .fudosan-content__link a:hover {
    color: #415c07;
    border: 1px solid #415c07;
}

.fudosan-entry-content .fudosan-content__link a:hover::before {
    transform: scaleX(1);
    transform-origin: left;
}

@media (max-width: 980px) {
.fudosan-entry-content .fudosan-content__list-wrap {
    margin: 0 0 4.5rem 0;
}
}

/* ---------- レスポンシブ ---------- */
@media (max-width: 48rem) { /* 768px相当 */
    .fudosan-entry-content .fudosan-card__body.flex-box {
        flex-direction: column;
    }
    .fudosan-entry-content .img-box {
        width: 100%;
        height: auto;
        margin-bottom: 1rem; /* 画像下の余白 */
    }
    .fudosan-entry-content .text-box h3 {
    }
    .fudosan-entry-content .text-box table.spec_table-fudosan {
        margin-bottom: 1.2rem; /* スマホでのテーブル下余白 */
    }
}





