@charset "utf-8";

#categoryImg {
	margin-bottom: 3em;
}
#categoryImg.sldOff {
	margin-bottom: 1.5em;
}
body.index h1 span {
	font-size: 1.8rem;
}
#indexList .listTtl {
	border: none;
	font-size: 2.0rem;
	font-weight: 600;

}

h2 {
	background: #ebebeb;
	font-size: 1.8rem;
	padding: .6em 1em;
	display: flex;
	gap:10px;
	align-items: center;
	margin: 3em 0 1em;
}
h2:before {
	content: "■";
	color: #999;
	font-size: 1.2rem;
}

.bx-wrapper .bx-pager {
	bottom: -32px;
}
.inIn {
	padding:0 34px;
}
.splitWrap{
	display: grid;
	grid-template-columns: 1fr 1fr; /* 1:1の比率で分割 */
	align-items: start;
	gap: 10px;
	margin: 2em 0 4em;
}
.splitWrap > div ,
.splitWrap > p {
	width: auto;
}
.splitWrap .lead {
	padding: 0;
}
.lead a {
	text-decoration: underline;
}
.imgSet {
	text-align: center;
}
.imgSet img {
	border: 1px solid #e7e7e7;
}
.imgSet .txt {
	font-size: 1.3rem;
	margin-top:1.7em;
	font-weight: 500;
}
.imgSet .txt span:after {
	content: " 〉";
	font-weight:500;
	margin-left:.5em;
	color: #00aeeb;
}

.txtLink {
	border: 1px solid #999;
	width: 358px;
	padding: .6em .8em;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.txtLink a {
	color: #0c3178;
	line-height: 1.4;
	font-size: 1.4rem;
}
.txtLink:after {
	content: "〉";
}
.lead {
	padding: 1em 0;
	line-height: 1.6;
}
.lead:has(+ .txtLink) {
    margin-bottom: 1em;
}
#indexList .indexName.narrow {
	margin-top: unset;
	margin-bottom: 1em;
	letter-spacing: -1px;
}
#indexList .indexName > span:after ,
#indexList .indexName a > span:after {
	content: " 〉";
	font-weight:500;
	margin-left:.5em;
	color: #00aeeb;
}
#indexList .overview {
	font-size: 1.6rem;
	line-height: 1.5;
	text-align: left;
}
#indexList .overview .caution {
	font-size: 1.3rem;
	line-height: 1.4;
	display: block;
}

/* 1. 親のコンテナ（4カラムの土台を作る） */
#indexList ul.itemList {
  display: grid ;
  grid-template-columns: repeat(3, 1fr);
  /* 画像・タイトル・説明文の3行分を1セットとして定義 */
  grid-template-rows: repeat(auto-fill, auto auto auto);
  gap: 0 30px;
  width: 100%;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

/* 2. 各アイテム（親のGrid定義を引き継ぐ） */
#indexList ul.itemList li {
  display: grid !important;
  grid-template-rows: subgrid !important;
  grid-row: span 3 !important; /* 3行分を占有 */
	padding-bottom: 3em;
  
  /* 固定幅やマージンが原因で横にはみ出すのを防ぐ */
  width: auto !important;
  margin: 0 !important;
  float: none !important; /* もし float が残っていれば解除 */
}

/* 3. タイトルと説明文を包むボックス（中身を露出させてGridに参加させる） */
#indexList ul.itemList .nameBox {
  display: contents !important;
}

/* 4. タイトル部分 */
#indexList ul.itemList .indexName {
	font-size: 1.6rem;
	font-weight: 600;
  grid-row: 2; /* 親(li)の中の2行目に配置 */
  height: auto !important;
  margin-bottom: 1em !important;
  display: block !important; /* Flexbox等になっていたら戻す */
  
  /* subgridにより、同じ行の隣の .indexName と自動で高さが揃います */
}

/* 5. 説明文（タイトルが揃うので開始位置が一致する） */
#indexList ul.itemList  .overview {
  grid-row: 3; /* 親(li)の中の3行目に配置 */
  margin: 0 !important;
}

/* 6. 画像（もしある場合） */
#indexList ul li > p:first-child {
  grid-row: 1;
  margin-bottom: 10px; /* 画像下の余白 */
}


#indexList ul.faqList {
	display: block;
	margin-bottom: 3em;
}
#indexList ul.faqList li {
	float: none;
	margin: 0.5em 0 1em 2em;
	text-indent: -1.5em;
	line-height: 1.6;
	width: unset;
	text-align: left;
}
#indexList ul.faqList li a {
	text-decoration: underline;
}
#indexList ul.faqList li:before{
	content: "●";
	color: #0c3178;
	font-size: 1.0rem;
	margin-right: 1em;
}

th.head {
	padding: .8em 1em;
}
.tableType01 td {
	padding: .5em;
}
.tableType01 th {
	font-weight: 400;
}

.tableType01 td p.moreS {
	font-size: .9rem;
}

#cements .tableWrap.swBlock table.tableType01.comparison img {
	width: 170px;
	height: auto;
}
#cements .tableWrap.swBlock table.tableType01.comparison th {
	padding: 1em .5em;
}

@media screen and (max-width: 767px) {
	#indexList ul li p a img {
		width: 70%!important;
	}
	h2 {
		font-size: 1.5rem !important;
	}
	.inIn {
		padding: 0 .8em;
	}
	.lead {
		font-size: 1.4rem;
	}
	#indexList ul.itemList {
    grid-template-columns: repeat(1, 1fr) !important;
    gap: 0 8px;
  }
	#indexList ul.itemList .overview {
		padding: 0 .5em;
	}
	#indexList ul.itemList .indexName {
		margin-top: 0;
	}
	.splitWrap {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	.txtLink {
		box-sizing: border-box;
		width: 100%;
	}
	#indexList ul.faqList li {
		font-size: 1.3rem;
	}
	.detailBnr img  {
		max-width: 100%;
	}
}

