/* =========================================
   style.css — 全置換用（表の色分けとカード両立）
   - th- 系の背景色は thead/tbody の th/td 両方に確実に適用
   - sticky-col は背景透明化し、個別クラスで色付け
   - 会社名セルのみの固有色は行/列切替で維持
   ========================================= */

/* 横スクロールテーブル（デスクトップ用） */
.table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.table-min { min-width: 980px; }

/* thead の th を固定（上部に常に表示） */
.table-sticky thead th {
	position: sticky;
	top: 0;
	z-index: 1100;
	vertical-align: middle;
}

/* 先頭列固定（左側に固定）: 背景は透明（個別クラスで着色する） */
.table-sticky th.sticky-col,
.table-sticky td.sticky-col {
	position: sticky;
	left: 0;
	z-index: 1000;
	background: transparent;
	text-align: center;
}

/* ハイライト（最良セル） */
.cell-best { border-radius: .35rem; padding: 0.08rem; background-color: #ffdddd !important;}

/* レスポンシブ切替 */
@media (min-width: 768px) { .mobile-only { display: none !important; } }
@media (max-width: 767.98px) { .desktop-only { display: none !important; } }

/* ----------------------------
   モバイルカード（カード本体） — 見やすさ強化
   ---------------------------- */
.company-card {
  border: 1px solid #dee2e6;
  border-radius: .5rem;
  padding: .75rem;
  margin-bottom: 1rem;
  background: #fff;
  box-shadow: 0 1px 0 rgba(0,0,0,0.03);
}
.company-card h6 {
  margin: 0 0 .6rem 0;
  padding: .25rem .5rem;
  border-radius: .25rem;
  display: inline-block;
  font-size: 1rem;
  font-weight: 700;
}

/* カード内行 */
.company-card .row-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .45rem 0;
  border-bottom: 1px dashed #eee;
}
.company-card .row-item:last-child { border-bottom: 0; }

/* ラベル（左寄せ、伸張） */
.company-card .row-item .row-label {
  flex: 1 1 auto;
  text-align: left;
  font-size: .95rem;
  color: #333;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 値（右寄せ、固定幅） */
.company-card .row-item .row-value {
  flex: 0 0 7rem;
  text-align: right;
  font-weight: 600;
  font-size: .95rem;
  display: inline-block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 値に cell-best が付いた場合のカード内スタイル */
.company-card .row-item .row-value.cell-best {
  outline: 2px solid rgba(25,135,84,.65);
  border-radius: .3rem;
  padding: .08rem .3rem;
  background: rgba(25,135,84,0.03);
}

/* ----------------------------
   共通ヘッダスタイル：th- 系クラスを thead/tbody 問わず拾う
   ---------------------------- */
.table-sticky th[class*="th-"],
.table-sticky td[class*="th-"],
th[class*="th-"],
td[class*="th-"] {
	padding: 0.6rem;
	border-bottom: 1px solid #e9ecef;
	text-align: center;
	vertical-align: middle;
	background-clip: padding-box;
}

/* ----------------------------
   ヘッダ／列色（個別指定） — thead / tbody / td を明示的に指定
   各ルールは !important で確実に反映させる
   ---------------------------- */

/* 金銭 */
th.thgrp-deduction, td.thgrp-deduction, thead th.thgrp-deduction { background-color:#f3f7ff !important; }
th.th-deduct-child, td.th-deduct-child, tbody th.th-deduct-child { background-color:#f8fbff !important; }
th.th-deduct-general, td.th-deduct-general, tbody th.th-deduct-general { background-color:#f8fbff !important; }

th.thgrp-green, td.thgrp-green, thead th.thgrp-green { background-color:#e9f7ef !important; }
th.th-green-div, td.th-green-div, tbody th.th-green-div { background-color:#f0fbf4 !important; }
th.th-green-reb, td.th-green-reb, tbody th.th-green-reb { background-color:#f0fbf4 !important; }

th.thgrp-gift, td.thgrp-gift, thead th.thgrp-gift { background-color:#fff7e6 !important; }

th.thgrp-fee, td.thgrp-fee, thead th.thgrp-fee { background-color:#f9f0ff !important; }
th.th-fee-zeh, td.th-fee-zeh, tbody th.th-fee-zeh { background-color:#fbf7ff !important; }
th.th-fee-longlife, td.th-fee-longlife, tbody th.th-fee-longlife { background-color:#fbf7ff !important; }

/* 住宅性能 */
th.thgrp-longlife, td.thgrp-longlife, thead th.thgrp-longlife { background-color:#f5f9ff !important; }
th.th-insulation, td.th-insulation, tbody th.th-insulation { background-color:#fbfeff !important; }
th.th-primary-energy, td.th-primary-energy, tbody th.th-primary-energy { background-color:#fbfffb !important; }

th.thgrp-energy, td.thgrp-energy, thead th.thgrp-energy { background-color:#f2fbf6 !important; }

th.thgrp-quake, td.thgrp-quake, thead th.thgrp-quake { background-color:#fff8ec !important; }
th.th-quake, td.th-quake, tbody th.th-quake { background-color:#fffdf8 !important; }
th.th-seismic-control, td.th-seismic-control, tbody th.th-seismic-control { background-color:#fffdf8 !important; }

th.thgrp-cost, td.thgrp-cost, thead th.thgrp-cost { background-color:#fbf6ff !important; }
th.th-cost-make, td.th-cost-make, tbody th.th-cost-make { background-color:#fbf7ff !important; }
th.th-cost-price, td.th-cost-price, tbody th.th-cost-price { background-color:#fbf7ff !important; }

/* 保証・点検 */
th.thgrp-inspection, td.thgrp-inspection, thead th.thgrp-inspection { background-color:#eef7ff !important; }
th.th-chk-3m, td.th-chk-3m, tbody th.th-chk-3m { background-color:#fbfeff !important; }
th.th-chk-6m, td.th-chk-6m, tbody th.th-chk-6m { background-color:#fbfeff !important; }
th.th-chk-2y, td.th-chk-2y, tbody th.th-chk-2y { background-color:#fbfeff !important; }
th.th-chk-5y, td.th-chk-5y, tbody th.th-chk-5y { background-color:#fbfeff !important; }
th.th-chk-10y, td.th-chk-10y, tbody th.th-chk-10y { background-color:#fbfeff !important; }

th.th-guarantee-paid, td.th-guarantee-paid, thead th.th-guarantee-paid { background-color:#fff8f0 !important; }
th.th-note, td.th-note, thead th.th-note { background-color:#ffffff !important; }

/* ----------------------------
   会社名セルのみの固有色（行/列切替対応）
   - 行表示: tbody の先頭 th に th-company + company-<slug>
   - 列表示: thead の th に company-<slug>
   - モバイル: .company-card.company-<slug> の h6
   ---------------------------- */
.table-sticky th.th-company.company-earnest-one,
.table-sticky thead th.company-earnest-one,
.company-card.company-earnest-one h6 { background-color: #eef6ff !important; }

.table-sticky th.th-company.company-iida-sangyo,
.table-sticky thead th.company-iida-sangyo,
.company-card.company-iida-sangyo h6 { background-color: #fff7e6 !important; }

.table-sticky th.th-company.company-aidi-home,
.table-sticky thead th.company-aidi-home,
.company-card.company-aidi-home h6 { background-color: #f0fff4 !important; }

.table-sticky th.th-company.company-takuto-home,
.table-sticky thead th.company-takuto-home,
.company-card.company-takuto-home h6 { background-color: #fff3ea !important; }

.table-sticky th.th-company.company-toei-jutaku,
.table-sticky thead th.company-toei-jutaku,
.company-card.company-toei-jutaku h6 { background-color: #f7f0ff !important; }

.table-sticky th.th-company.company-ikken-kensetsu,
.table-sticky thead th.company-ikken-kensetsu,
.company-card.company-ikken-kensetsu h6 { background-color: #fff6f8 !important; }

.table-sticky th.th-company.company-hawk-one,
.table-sticky thead th.company-hawk-one,
.company-card.company-hawk-one h6 { background-color: #eef8ff !important; }

.table-sticky th.th-company.company-kei-ai-star,
.table-sticky thead th.company-kei-ai-star,
.company-card.company-kei-ai-star h6 { background-color: #f6fff8 !important; }

/* ----------------------------
   z-index 微調整（thead を先に表示）
   ---------------------------- */
.table-sticky thead th { z-index: 1200 !important; }
.table-sticky th.sticky-col { z-index: 1100 !important; }


/* ----------------------------
   WordPressからの引き継ぎ
   ---------------------------- */

header {
	text-align: center;
	background-color: blue;
	color: white;
	padding: 0.5em;
	margin-bottom: 1em;
}

footer {
	background-color: blue;
	color: white;
	text-align: center;
}

footer a{color:white;}

/* Responsive YouTube: PC は最大幅 1020px、スマホは幅100%（16:9 保持） */
.youtube {
	position: relative;
	width: 100%;
	max-width: 1020px;
	height: 0;
	padding-bottom: 56.25%; /* 16:9 */
	margin: 0 auto;
	overflow: hidden;
}
.youtube iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

*{margin:0;padding:0;}

a{color:mediumblue;}
.return-top {padding: 1em;}

ul li{list-style:none;}

dt{
	padding-left:0;
	border-left:none;
}
dd{
	font-size:1em;
	line-height: 1.8em;
	border-left:none;
}

/** 中央寄せ **/
.center {
  text-align: center;
}

/** フロートのクリア **/
.clear{clear:both;}

/** 画像リンク **/
a img:hover{ opacity:0.8;}

/** テキスト **/
div p:last-child{margin-bottom:0;}

/** 見出し調整 **/
h1{font-weight:bold;}
h1.entry-title {font-size: 1.7rem;}
h2{
	font-size: 1.7rem !important;
	color: white !important;
	background-color: royalblue !important;
	padding:0.5em !important;
	border-top: double 8px white !important;
	border-bottom: double 8px white !important;
}
h2:first-child{margin-top:1em;}

h3 {
	font-size: 1.6rem;
	line-height: 1.4em;
	font-weight:bold;
	margin-bottom: 0.5em;
}

h4{
	font-weight:bold;
	margin-bottom:0.5em;
}

h5{
	font-size:1.25em;
  margin-bottom: 0em;
	font-weight: bold;
}


/** 左側に縦線の見出し **/
h6 {
	font-size:1.25rem;
	color: #494949;
	font-weight: bold;
	padding: 0.25em 0;
	text-indent:0.5em;
	border-left: solid 5px RED;
}

/** POINT付きの見出し **/
.point{
	position: relative;
	line-height: 2rem;
	padding: 1em 0.75em;
	margin-top: 1em !important;
	margin-bottom: 1em !important;
	border: solid 3px #337ab7;
}
.point:after {
	position: absolute;
	font-family: "Font Awesome 5 Free",'Quicksand','Avenir','Arial',sans-serif;
	content: '\f0a7\ POINT';
	background: #337ab7;
	color: white;
	left: -3px;
	bottom: 100%;
	border-radius: 5px 5px 0 0;
	padding: 5px 7px 3px;
	line-height: 1.2em;
	letter-spacing: 0.25em;
}
.point p{margin-bottom: 0.5em;}


/** 引用文 **/
blockquote{ font-size: 1rem;}

q::before,q::after {
	content: none;}

/** ボタンの影 **/
button  {box-shadow: 1px 1px 2px 0px grey;}

/** headerロゴ **/
.siteHeader_logo img{
	width: 360px !important;
	max-height: 80px !important;
}

/*******************
ボックス 
*******************/
/** テキストボックス **/
.text{
	margin: 0.5rem 0.5rem 1rem 0.5rem;
	font-size: 1em;
	line-height:2rem;
}

/***************
footer
***************/
.siteFooter{background-color:#000080; }
.section.sectionBox.siteContent_after {background-color: navy;}
.container.sectionBox.footerWidget { padding-bottom: 0.5em;}

/* footer メニュー */
.siteFooter h1.widget-title.subSection-title {color: white;}
.siteFooter li>a {color: white;}
.siteFooter a {text-decoration: none;}
.siteFooter a:hover {text-decoration: underline;}
#footer-tel{
	background-color: dodgerblue;
	border-radius: 8px;
	margin-left:  0.5em;
	margin-right: 1em;
}

/**************************/
/***************
	スマホ対応
***************/
.sp-on{display:none;}
@media screen and (max-width: 768px) {
	.subSection{
		display: none;
	}
}
@media screen and (max-width: 468px) {
	body{font-size:16px;}
	h1.entry-title{font-size: 5vw !important;}
	h2{font-size: 5vw !important;}
	h3{font-size: 5vw !important;}
	h4{font-size: 5vw !important;}
	h5{font-size: 4.5vw !important;}
	h6{font-size: 4vw !important;}
		
	.sp-on{display:block;}
	.sp-off{display:none;}

/* スマホ ページタイトル */
	.page-header_pageTitle, h1.page-header_pageTitle:first-child {
		font-size:4.5vw !important;
		line-height:1.5em !important;
	}
	.media .media-body .media-heading a{font-size:0.8em !important;}
	.table-syohiyou{font-size:0.8em !important;}
}

/* スマホ メニューボタン */
.vk-mobile-nav-menu-btn{
	width: 50px;
	height: 50px;
}
.vk-mobile-nav.vk-mobile-nav-open.vk-mobile-nav-left-in, .vk-mobile-nav.vk-mobile-nav-open.vk-mobile-nav-right-in{
	left: 5px;
}
.vk-mobile-nav {
	background-color: rgb(255 255 255 / 95%);
}
.vk-mobile-nav .vk-mobile-nav-menu-outer{
	margin-bottom:2.5em;
}


/***************
	共通設定
***************/
/* 背景色 */
.bg-aliceblue{background-color:aliceblue !important;}
.bg-bisque{background-color:bisque;}
.bg-blue{background-color:blue !important;}
.bg-azure{background-color:azure !important;}
.bg-green{background-color:green !important;}
.bg-gray{background-color:gray !important;}
.bg-light-gray{background-color:lightgray !important;}
.bg-light-cyan{background-color:lightcyan !important;}
.bg-lightpink{background-color:lightpink !important;}
.bg-lightyellow{background-color: lightyellow !important;}
.bg-antiquewhite{background-color: antiquewhite !important;}
.bg-lightpink{background-color: lightpink;}

/*************************/
/* 文字色 */
.fc-wh{color:white !important;}
.fc-white{color:white !important;}
.fc-black{color:black !important;}
.fc-red{color:red !important;}
.fc-violet{color:violet !important;}
.fc-blue{color:blue !important;}
.fc-green{color:green !important;}
.fc-gray{color:gray !important;}
.fc-orange{color:orange !important;}
.fc-yellow{color:yellow !important;}
.fc-hpink{color:hotpink;}
/*************************/
/* 文字サイズ */
.fs-40em{font-size:4em !important;}
.fs-30em{font-size:3em !important;}
.fs-25em{font-size:2.5em !important;}
.fs-20em{font-size:2em !important;}
.fs-18em{font-size:1.8em !important;}
.fs-15em{font-size:1.5em !important;}
.fs-13em{font-size:1.3em !important;}
.fs-12em{font-size:1.2em !important;}
.fs-11em{font-size:1.1em !important;}
.fs-1em{font-size:1em !important;}
.fs-09em{font-size:0.9em !important;}
.fs-08em{font-size:0.8em !important;}
.fs-05em{font-size:0.5em !important;}

.fs-40rem{font-size:4rem !important;}
.fs-30rem{font-size:3rem !important;}
.fs-25rem{font-size:2.5rem !important;}
.fs-20rem{font-size:2rem !important;}
.fs-18rem{font-size:1.8rem !important;}
.fs-15rem{font-size:1.5rem !important;}
.fs-13rem{font-size:1.3rem !important;}
.fs-12rem{font-size:1.2rem !important;}
.fs-11rem{font-size:1.1rem !important;}
.fs-1rem{font-size:1rem !important;}
.fs-08rem{font-size:0.8rem !important;}
.fs-05rem{font-size:0.5rem !important;}

/*************************/
/* 文字強調 */
.fw-bold{font-weight:bold !important;}
.fw-normal{font-weight:normal !important;}

/*************************/
/* 文字マーカー */
.mark-yellow{background:linear-gradient(transparent 75%, yellow 0%);}
.mark-orange{background:linear-gradient(transparent 75%, orange 0%);}
.mark-pink{background:linear-gradient(transparent 75%, pink 0%);}
.mark-red{background:linear-gradient(transparent 75%, red 0%);}

/*************************/
/* with */
.w-90{width:90%}
.w-80{width:80%}
.w-50{width:50%}
.w-25{width:25%}

/*************************/
/* margin */
.mx-05{ margin-left: 0.5em !important; margin-right: 0.5em !important;}
.mx-1{ margin-left: 1em !important; margin-right: 1em !important;}
.mx-2{ margin-left: 2em !important; margin-right: 2em !important;}

/*************************/
