@charset "shift_jis";

/* ==========================================================
   西湘展示場 PC用CSS
   命名規則: heat_saishou- プレフィックス
   想定: 960px以上のPC環境
   ========================================================== */
/* ---------- セクション ---------- */
.heat_saishou-section {
	padding-top: 40px;
	padding-bottom: 40px;
	box-sizing: border-box;
}

.heat_saishou-section-large {
	padding-top: 70px;
	padding-bottom: 70px;
}

.heat_saishou-section-xlarge {
	padding-top: 140px;
	padding-bottom: 140px;
}

.heat_saishou-section-small {
	padding-top: 20px;
	padding-bottom: 20px;
}

.heat_saishou-section-muted {
	background-color: #f8f8f8;
}

.heat_saishou-pb-0 {
	padding-bottom: 0;
}

/* ---------- コンテナ ---------- */
.heat_saishou-container {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 15px;
	padding-right: 15px;
	box-sizing: border-box;
}

.heat_saishou-container-large {
	max-width: 1400px;
}

/* ---------- グリッド ---------- */
.heat_saishou-grid {
	display: flex;
	flex-wrap: wrap;
	margin-left: -30px;
}

.heat_saishou-grid>* {
	padding-left: 30px;
	box-sizing: border-box;
	width: 100%;
}

.heat_saishou-grid+.heat_saishou-grid {
	margin-top: 30px;
}

.heat_saishou-grid-hero {
	align-items: center;
}

.heat_saishou-grid-small {
	margin-left: -15px;
}

.heat_saishou-grid-small>* {
	padding-left: 15px;
}

.heat_saishou-grid-medium {
	margin-left: -40px;
}

.heat_saishou-grid-medium>* {
	padding-left: 40px;
}

.heat_saishou-grid-collapse {
	margin-left: 0;
}

.heat_saishou-grid-collapse>* {
	padding-left: 0;
}

/* ---------- カラム幅 ---------- */
.heat_saishou-col-1-3 {
	width: 33.333%;
}

.heat_saishou-col-2-3 {
	width: 66.666%;
}

.heat_saishou-col-full {
	width: 100%;
}

.heat_saishou-col-tour {
	flex: 1;
	width: auto;
}

/* ---------- 4カードグリッド ---------- */
.heat_saishou-grid-cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 30px;
}

/* ---------- マージン ---------- */
.heat_saishou-mt {
	margin-top: 20px;
}

.heat_saishou-mt-small {
	margin-top: 10px;
}

/* ---------- テキスト ---------- */
.heat_saishou-text-center {
	text-align: center;
}

/* ---------- 見出し ---------- */
.heat_saishou-h1 {
	font-size: 2.625rem;
	line-height: 1.2;
	font-weight: normal;
	margin: 0 0 20px 0;
	color: #2D2E33;
}

.heat_saishou-h4 {
	font-size: 1.25rem;
	line-height: 1.4;
	font-weight: bold;
	margin: 0;
}

.heat_saishou-h5 {
	font-size: 1rem;
	line-height: 1.4;
	font-weight: bold;
	margin: 0;
}

/* セクション1のサブタイトル（元インライン指定の再現） */
.heat_saishou-subtitle {
	color: #000000;
	font-family: メイリオ, 'ＭＳ Ｐゴシック', Osaka, 'ヒラギノ角ゴ Pro W3', Arial, Helvetica, sans-serif;
	font-size: 13px;
}

/* ---------- 区切り見出し ---------- */
.heat_saishou-heading-divider {
	padding-bottom: 10px;
	border-bottom: 1px solid #e5e5e5;
}

/* ---------- パネル ---------- */
.heat_saishou-panel {
	position: relative;
	box-sizing: border-box;
}

/* ---------- アクセス情報リスト ---------- */
.heat_saishou-acc-info {
	list-style: none;
	padding: 0;
	margin: 20px 0 0 0;
	font-size: 1rem;
}

.heat_saishou-acc-info li {
	margin-bottom: 15px;
	line-height: 1.6;
}

/* ---------- 画像ラッパー ---------- */
.heat_saishou-img-wrap {
	position: relative;
	width: 100%;
	overflow: hidden;
}

.heat_saishou-img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.heat_saishou-img-wrap-hero {
	aspect-ratio: 1000 / 598;
}

.heat_saishou-img-wrap-landscape {
	aspect-ratio: 2000 / 1333;
}

.heat_saishou-img-wrap-portrait {
	aspect-ratio: 1333 / 2000;
}

/* ---------- 背景画像 ---------- */
.heat_saishou-bg-cover {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	position: relative;
}

.heat_saishou-bg-zeh {
	background-image: url('../img/seisyo/seisyo_zeh.webp');
}

/* ---------- オーバーレイ ---------- */
.heat_saishou-relative {
	position: relative;
}

.heat_saishou-overlay {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

.heat_saishou-overlay-white {
	background-color: rgba(255, 255, 255, 0.27);
}

/* ---------- カード（uk-card-primary 相当） ---------- */
.heat_saishou-card {
	background-color: #2D2E33;
	color: #fff;
	padding: 30px;
	box-sizing: border-box;
	height: 100%;
}

.heat_saishou-card-title {
	font-size: 1.5rem;
	font-weight: normal;
	margin: 0;
	color: #fff;
}

.heat_saishou-heading-line {
	display: flex;
	align-items: center;
	white-space: nowrap;
}

.heat_saishou-heading-line::after {
	content: '';
	flex: 1;
	margin-left: 15px;
	border-top: 1px solid #fff;
}

.heat_saishou-meta {
	font-size: 0.875rem;
	color: rgba(255, 255, 255, 0.7);
}

.heat_saishou-content {
	font-size: 0.9375rem;
	line-height: 1.6;
}

/* ---------- ボタン（uk-button-primary 相当） ---------- */
.heat_saishou-btn {
	display: inline-block;
	padding: 0 40px;
	height: 55px;
	line-height: 55px;
	vertical-align: middle;
	font-size: 1rem;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	border: none;
	cursor: pointer;
	box-sizing: border-box;
	transition: background-color 0.1s ease-in-out;
}

.heat_saishou-btn-primary {
	background-color: #3f3f41;
	border: 1px solid transparent;
	color: #fff;
}

.heat_saishou-btn-primary:hover {
	background-color: #fff;
	color: #3f3f41;
	border: 1px solid #3f3f41;
}

.heat_saishou-btn-large {
	/* btn のデフォルト値が large 相当のため上書きなし */
}

/* ---------- マップ ---------- */
.heat_saishou-map {
	width: 100%;
	height: 601px;
	background-color: #f0f0f0;
}
.heat_saishou-map iframe{
	width: 100%;
	height: 100%;
}

/* chiyo-pc.css  |  PC用（min-width: 960px） */
/* ==========================================
   RESET / BASE
   ========================================== */
.heat_chiyo-section {
	padding: 40px 0;
}

.heat_chiyo-section-hero {
	padding: 40px 0;
}

.heat_chiyo-section-muted {
	background-color: #f8f8f8;
}

.heat_chiyo-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 30px;
}

.heat_chiyo-container-large {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 30px;
}

.heat_chiyo-divider {
	border: none;
	border-top: 1px solid #e5e5e5;
	margin: 40px 0;
}

/* ==========================================
   HERO
   ========================================== */
.heat_chiyo-hero-grid {
	display: flex;
	align-items: center;
	gap: 40px;
}

.heat_chiyo-hero-text {
	flex: 0 0 auto;
	width: 40%;
	text-align: center;
}

.heat_chiyo-hero-sub {
	font-size: 0.875rem;
	color: #999;
	margin: 0 0 0.5rem;
}

.heat_chiyo-hero-en {
	font-size: 1rem;
	font-weight: bold;
	margin: 0 0 1rem;
}

.heat_chiyo-hero-title {
	font-size: 2.625rem;
	font-weight: bold;
	color: #003366;
	margin: 0;
	line-height: 1.3;
}

/* スライドショー */
.heat_chiyo-hero-slide {
	flex: 1;
}

.heat_chiyo-slideshow {
	position: relative;
	overflow: hidden;
	background: #000;
}

.heat_chiyo-slide-track {
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 3;
}

.heat_chiyo-slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity 0.8s ease;
}

.heat_chiyo-slide-active {
	opacity: 1;
}

.heat_chiyo-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.heat_chiyo-slidenav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(0, 0, 0, 0.35);
	color: #fff;
	border: none;
	cursor: pointer;
	font-size: 1.25rem;
	padding: 12px 16px;
	z-index: 10;
}

.heat_chiyo-slidenav-prev {
	left: 10px;
}

.heat_chiyo-slidenav-next {
	right: 10px;
}

.heat_chiyo-dotnav {
	position: absolute;
	bottom: 14px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 8px;
	z-index: 10;
}

.heat_chiyo-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	border: none;
	background: rgba(255, 255, 255, 0.5);
	cursor: pointer;
	padding: 0;
}

.heat_chiyo-dot-active {
	background: #fff;
}

/* ==========================================
   CONCEPT ROWS
   ========================================== */
.heat_chiyo-concept-row {
	display: flex;
	align-items: center;
	gap: 40px;
	margin-bottom: 40px;
}

.heat_chiyo-concept-row-reverse {
	flex-direction: row-reverse;
}

.heat_chiyo-concept-img {
	flex: 0 0 auto;
}

.heat_chiyo-concept-img-large {
	width: 75%;
}

.heat_chiyo-concept-body {
	flex: 1;
}

/* 画像デコ枠 */
.heat_chiyo-img-deco {
	display: inline-block;
	position: relative;
}

.heat_chiyo-img-deco-secondary::after {
	content: '';
	display: block;
	position: absolute;
	bottom: -8px;
	right: -8px;
	width: 100%;
	height: 100%;
	background: #e5e5e5;
	z-index: -1;
}

.heat_chiyo-img-deco-default::after {
	content: '';
	display: block;
	position: absolute;
	bottom: -8px;
	right: -8px;
	width: 100%;
	height: 100%;
	background: #e5e5e5;
	z-index: -1;
}

.heat_chiyo-img-deco img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
	position: relative;
}

.heat_chiyo-concept-heading {
	font-size: 1.25rem;
	margin: 0 0 1rem;
	line-height: 1.5;
}

.heat_chiyo-concept-text {
	font-size: 0.9375rem;
	line-height: 1.8;
	color: #444;
	margin: 0;
}

.heat_chiyo-concept-subimg {
	margin-top: 1.5rem;
	max-width: 273px;
}

.heat_chiyo-concept-subimg img {
	width: 100%;
	height: auto;
	object-fit: cover;
}

/* サブ画像2列 */
.heat_chiyo-sub-grid {
	display: flex;
	gap: 40px;
	margin-bottom: 40px;
}

.heat_chiyo-sub-item {
	flex: 1;
}

.heat_chiyo-sub-img {
	aspect-ratio: 10 / 7;
	overflow: hidden;
}

.heat_chiyo-sub-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.heat_chiyo-sub-text {
	font-size: 0.875rem;
	line-height: 1.8;
	color: #000;
	margin-top: 0.75rem;
}

/* WOW ロゴ */
.heat_chiyo-wow-logo {
	text-align: right;
	margin: 1rem 0 1.5rem;
}

.heat_chiyo-wow-logo img {
	max-width: 400px;
	height: auto;
}

/* ==========================================
   保健室がある家
   ========================================== */
.heat_chiyo-hokenroom-grid {
	display: flex;
	align-items: stretch;
	gap: 0;
	margin-bottom: 20px;
}

.heat_chiyo-hokenroom-head {
	flex: 0 0 auto;
	width: 25%;
	padding: 30px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.heat_chiyo-text-lead {
	font-size: 1.25rem;
	margin: 0 0 1rem;
	line-height: 1.5;
}

.heat_chiyo-hokenroom-title {
	font-size: 1.5rem;
	font-weight: bold;
	margin: 0;
	line-height: 1.4;
}

/* 背景画像：右側コンテンツ */
.heat_chiyo-bg-cover {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.heat_chiyo-bg-hokenroom {
	background-image: url('../img/tiyo/tiyo_safe_bg.webp');
}

.heat_chiyo-hokenroom-content {
	flex: 1;
	padding: 40px;
	display: flex;
	align-items: center;
}

/* カード */
.heat_chiyo-card {
	padding: 30px;
}

.heat_chiyo-card-default {
	background: #fff;
	color: #666;
}

.heat_chiyo-card-title {
	font-size: 1rem;
	font-weight: bold;
	margin: 0 0 1.25rem;
	line-height: 1.6;
}

.heat_chiyo-card-body {
	font-size: 0.875rem;
	line-height: 1.8;
	color: #000;
	font-weight: bold;
}

.heat_chiyo-card-body p {
	margin: 0 0 1rem;
}

.heat_chiyo-card-body p:last-child {
	margin-bottom: 0;
}

/* 保健室サブ画像 */
.heat_chiyo-hokenroom-imgs {
	display: flex;
	gap: 20px;
	margin-top: 20px;
}

.heat_chiyo-hokenroom-img-item {
	flex: 1;
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.heat_chiyo-hokenroom-img-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ==========================================
   MIRAIE
   ========================================== */
.heat_chiyo-miraie-heading {
	font-size: 1.25rem;
	font-weight: bold;
	text-align: center;
	margin: 0 0 1.5rem;
}

.heat_chiyo-miraie-logo {
	text-align: center;
	margin-bottom: 1.5rem;
}

.heat_chiyo-miraie-logo img {
	max-width: 400px;
	height: auto;
	display: block;
	margin: auto;
}

.heat_chiyo-miraie-img {
	text-align: center;
	margin-bottom: 1rem;
}

.heat_chiyo-miraie-img img {
	max-width: 806px;
	width: 100%;
	height: auto;
	display: block;
	margin: auto;
}

.heat_chiyo-miraie-note {
	font-size: 1.25rem;
	text-align: center;
	margin: 0;
}

/* ==========================================
   MAP / CTA
   ========================================== */
.heat_chiyo-visit-note {
	margin-bottom: 1.5rem;
	font-size: 0.9375rem;
	line-height: 1.8;
}

.heat_chiyo-map-wrap {
	width: 100%;
	margin-bottom: 1.5rem;
}

.heat_chiyo-map-wrap iframe {
	display: block;
	width: 100%;
	height: 600px;
	border: 0;
}

.heat_chiyo-cta-wrap {
	text-align: center;
}

/* ボタン */
.heat_chiyo-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 55px;
	font-size: 1rem;
	font-weight: bold;
	text-decoration: none;
	border: none;
	cursor: pointer;
	padding: 0 2rem;
}

.heat_chiyo-btn-primary {
	background-color: #3f3f41;
	border: 1px solid transparent;
	color: #fff;
}

.heat_chiyo-btn-primary:hover {
	background-color: #fff;
	color: #3f3f41;
	border: 1px solid #3f3f41;
}

.heat_chiyo-btn-large {
	min-width: 280px;
	height: 55px;
}

/* =============================================
   soya-pc.css  |  PC用 (min-width: 960px)
   ============================================= */


/* ---- コンテナ ---- */
.heat_soya-container {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 30px;
	padding-right: 30px;
}

.heat_soya-container-small {
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 30px;
	padding-right: 30px;
}

/* ---- セクション ---- */
.heat_soya-section {
	padding-top: 40px;
	padding-bottom: 40px;
}

.heat_soya-section-small {
	padding-top: 20px;
	padding-bottom: 20px;
}

.heat_soya-section-large {
	padding-top: 70px;
	padding-bottom: 70px;
}

.heat_soya-section-muted {
	background-color: #f8f8f8;
}

/* ---- グリッド共通 ---- */
.heat_soya-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-bottom: 30px;
	justify-content: center;
}

.heat_soya-grid:last-child {
	margin-bottom: 0;
}

.heat_soya-grid-collapse {
	gap: 0;
}

/* ---- カラム ---- */
.heat_soya-col-full {
	width: 100%;
}

.heat_soya-col-expand {
	flex: 1;
	min-width: 0;
}

.heat_soya-col-logo {
	width: 378px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.heat_soya-col-2-3 {
	width: calc(66.666% - 10px);
}

.heat_soya-col-1-3 {
	width: calc(33.333% - 10px);
}

.heat_soya-col-1-2 {
	width: calc(50% - 10px);
}

.heat_soya-col-1-4 {
	width: calc(25% - 15px);
}

/* ---- テキスト ---- */
.heat_soya-text-center {
	text-align: center;
}

.heat_soya-text-left {
	text-align: left;
}

.heat_soya-text-warning {
	color: #f0a500;
}

.heat_soya-text-meta {
	font-size: 0.8125rem;
	color: #999;
}

.heat_soya-text-lead {
	font-size: 1.125rem;
	line-height: 1.8;
}

/* ---- マージン ---- */
.heat_soya-mb {
	margin-bottom: 20px;
}

/* ---- 見出し ---- */
.heat_soya-heading-main {
	font-size: 1.25rem;
	font-weight: bold;
	text-align: center;
	padding: 40px 0;
	border-bottom: 1px solid #e5e5e5;
	margin-bottom: 20px;
}

.heat_soya-heading-sub {
	font-size: 1.5rem;
	font-weight: bold;
	text-align: center;
	padding: 10px 0;
}

.heat_soya-heading-bullet {
	font-size: 1.5rem;
	font-weight: bold;
	padding-left: 1rem;
	border-left: 5px solid #1e87f0;
	margin-bottom: 20px;
}

/* ---- ヒーロー ---- */
.heat_soya-hero {
	position: relative;
	width: 100%;
	min-height: 500px;
}

.heat_soya-hero-slide {
	position: relative;
	width: 100%;
	min-height: 500px;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.heat_soya-hero-slide--1 {
	background-image: url('../img/soya/soya_main_01.webp');
}

.heat_soya-hero-overlay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	padding: 40px;
}

.heat_soya-hero-text {
	color: #fff;
	font-size: 1.5rem;
	line-height: 1.6;
	text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
}

.heat_soya-hero-text p {
	margin: 0;
}

/* ---- テクノグリッド ---- */
.heat_soya-grid-techno {
	align-items: flex-start;
}

/* ---- パナソニック行 ---- */
.heat_soya-grid-panasonic {
	align-items: center;
	margin-top: 30px;
}

/* ---- カード ---- */
.heat_soya-card {
	background: #fff;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	margin-bottom: 0;
}

.heat_soya-card-inner {
	display: flex;
	align-items: center;
}

.heat_soya-grid-card {
	display: flex;
	gap: 0;
}

.heat_soya-card-img {
	width: 50%;
	flex-shrink: 0;
	aspect-ratio: 4/3;
	overflow: hidden;
}

.heat_soya-card-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.heat_soya-card-body {
	flex: 1;
	padding: 30px;
}

.heat_soya-card-title {
	font-size: 1.25rem;
	font-weight: bold;
	margin-top: 0;
	margin-bottom: 0.75rem;
	color: #333;
}

.heat_soya-card-content {
	font-size: 0.9375rem;
}

/* ---- ボタン ---- */
.heat_soya-btn {
	display: inline-block;
	padding: 0 2rem;
	height: 55px;
	line-height: 55px;
	font-size: 1rem;
	text-decoration: none;
	border-radius: 0;
	cursor: pointer;
	text-align: center;
}

.heat_soya-btn-primary {
	background-color: #3F3F41;
	color: #fff;
	border: 1px solid transparent;
}

.heat_soya-btn-primary:hover {
	background-color: #fff;
	color: #3F3F41;
	border: 1px solid #3F3F41;
}

/* ---- アクセスグリッド ---- */
.heat_soya-grid-access {
	align-items: flex-start;
	margin-top: 30px;
}

/* ---- マップ ---- */
.heat_soya-map-wrap {
	position: relative;
	width: 100%;
	height: 430px;
}

.heat_soya-map-wrap iframe {
	width: 100%;
	height: 100%;
	border: 0;
}

/* ---- アクセス情報 ---- */
.heat_soya-access-info {
	margin-top: 10px;
	font-size: 0.9375rem;
	line-height: 1.7;
}

.heat_soya-access-info p {
	margin: 0;
}

/* atmos-pc.css ? PC用 (min-width: 960px) */
/* ========================================
   ベースレイアウト
   ======================================== */
.heat_atmos-container {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 30px;
	padding-right: 30px;
	box-sizing: border-box;
}

.heat_atmos-container-small {
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 30px;
	padding-right: 30px;
	box-sizing: border-box;
}

.heat_atmos-grid {
	display: flex;
	flex-wrap: wrap;
	margin-left: -15px;
	margin-right: -15px;
}

.heat_atmos-grid>* {
	padding-left: 15px;
	padding-right: 15px;
	box-sizing: border-box;
}

.heat_atmos-grid-2col {
	align-items: flex-start;
}

.heat_atmos-grid-margin {
	margin-top: 30px;
}

.heat_atmos-col-full {
	width: 100%;
}

.heat_atmos-col-expand {
	flex: 1 1 0;
	min-width: 0;
}

.heat_atmos-col-large {
	width: 400px;
	flex-shrink: 0;
}

.heat_atmos-flex-middle {
	display: flex;
	align-items: center;
}

/* ========================================
   タイポグラフィ
   ======================================== */
.heat_atmos-text-center {
	text-align: center;
}

.heat_atmos-text-large {
	font-size: 1.125rem;
	line-height: 1.6;
}

.heat_atmos-text-xlarge {
	font-size: 1.5rem;
}

.heat_atmos-text-xxlarge {
	font-size: 2rem;
}

.heat_atmos-text-muted {
	color: #999;
}

.heat_atmos-text-meta {
	font-size: 0.875rem;
	color: #999;
}

.heat_atmos-h3 {
	font-size: 1.5rem;
	font-weight: bold;
	margin: 0 0 20px;
	line-height: 1.4;
}

.heat_atmos-heading-line {
	position: relative;
	padding-bottom: 10px;
	border-bottom: 1px solid #e5e5e5;
}

.heat_atmos-color-dark {
	color: #340000;
}

.heat_atmos-color-blue {
	color: #4169e1;
}

/* ========================================
   スペーシング
   ======================================== */
.heat_atmos-mt {
	margin-top: 20px;
}

.heat_atmos-mt:first-child {
	margin-top: 0;
}

/* ========================================
   セクション
   ======================================== */
.heat_atmos-section {
	padding-top: 70px;
	padding-bottom: 70px;
	background-color: #fff;
}

/* ========================================
   ヒーローエリア（背景画像）
   ======================================== */
.heat_atmos-hero {
	min-height: 500px;
	display: flex;
	align-items: center;
	padding-top: 140px;
	padding-bottom: 140px;
	box-sizing: border-box;
}

.heat_atmos-bg-cover {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.heat_atmos-bg-hero {
	background-image: url('../img/atmos/atmos_main_bg.webp');
	background-attachment: fixed;
}

.heat_atmos-hero-title {
	font-size: 2.625rem;
	color: #fff;
	text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
	margin: 0;
	line-height: 1.3;
}

.heat_atmos-title-large {
	font-size: 2.625rem;
}

.heat_atmos-hero-sub {
	color: #fff;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}

/* ========================================
   画像
   ======================================== */
.heat_atmos-img-wrap {
	overflow: hidden;
}

.heat_atmos-img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.heat_atmos-img-wrap-main {
	aspect-ratio: 1818 / 1690;
}

.heat_atmos-img-wrap-logo {
	max-width: 336px;
	margin-left: auto;
	margin-right: auto;
	aspect-ratio: 336 / 115;
}

.heat_atmos-img-wrap-logo img {
	object-fit: contain;
}

.heat_atmos-img-wrap-hotoda {
	aspect-ratio: 400 / 320;
	max-width: 400px;
}

.heat_atmos-img-wrap-wow {
	max-width: 456px;
	margin-left: auto;
	margin-right: auto;
	aspect-ratio: 456 / 200;
}

.heat_atmos-img-wrap-wow img {
	object-fit: contain;
}

.heat_atmos-img-wrap-youtube {
	aspect-ratio: 1920 / 1080;
}

/* ========================================
   ドロップキャップ風ブロック
   ======================================== */
.heat_atmos-dropcap {
	line-height: 1.8;
}

/* ========================================
   スライドショー
   ======================================== */
.heat_atmos-slideshow {
	position: relative;
}

.heat_atmos-slideshow-inner {
	position: relative;
	overflow: hidden;
}

.heat_atmos-slideshow-items {
	list-style: none;
	margin: 0;
	padding: 0;
}

.heat_atmos-slide {
	display: none;
}

.heat_atmos-slide-active {
	display: block;
}

.heat_atmos-slide-img-wrap {
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.heat_atmos-slide-img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.heat_atmos-slidenav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(255, 255, 255, 0.7);
	border: none;
	width: 36px;
	height: 36px;
	cursor: pointer;
	font-size: 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 10;
	border-radius: 2px;
}

.heat_atmos-slidenav-prev {
	left: 10px;
}

.heat_atmos-slidenav-next {
	right: 10px;
}

.heat_atmos-dotnav {
	list-style: none;
	margin: 8px 0 0;
	padding: 0;
	display: flex;
	justify-content: center;
	gap: 6px;
}

.heat_atmos-dot button {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	border: none;
	background: #ccc;
	cursor: pointer;
	padding: 0;
	display: block;
}

.heat_atmos-dot-active button {
	background: #555;
}

/* room-pc.css  |  PC用 (min-width: 960px) */
/* ============================================================
   BASE LAYOUT
   ============================================================ */
.heat_room-container {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 30px;
	padding-right: 30px;
	box-sizing: border-box;
}

.heat_room-container-large {
	max-width: 1400px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 30px;
	padding-right: 30px;
	box-sizing: border-box;
}

.heat_room-container-small {
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 30px;
	padding-right: 30px;
	box-sizing: border-box;
}

/* Grid */
.heat_room-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	align-items: flex-start;
	margin-bottom: 30px;
	justify-content: center;
}

.heat_room-grid-intro {
	align-items: flex-start;
}

.heat_room-grid-type-row {
	align-items: flex-start;
}

.heat_room-grid-card {
	gap: 0;
	align-items: center;
}

/* Columns */
.heat_room-col-full {
	width: 100%;
}

.heat_room-col-expand {
	flex: 1 1 0;
	min-width: 0;
}

.heat_room-col-3-4 {
	flex: 0 0 calc(75% - 15px);
	max-width: calc(75% - 15px);
}

.heat_room-col-1-4 {
	flex: 0 0 calc(25% - 15px);
	max-width: calc(25% - 15px);
}

/* Card inner columns */
.heat_room-col-img {
	flex: 0 0 50%;
	max-width: 50%;
}

.heat_room-col-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.heat_room-col-text {
	flex: 1 1 0;
	min-width: 0;
	padding: 30px;
	box-sizing: border-box;
}

.heat_room-flex-middle {
	align-items: center;
}

.heat_room-flex-last {
	order: 2;
}

/* ============================================================
   SECTIONS
   ============================================================ */
.heat_room-section {
	padding-top: 40px;
	padding-bottom: 40px;
}

.heat_room-section-large {
	padding-top: 70px;
	padding-bottom: 70px;
}

.heat_room-section-muted {
	background-color: #f8f8f8;
}

/* Hero */
.heat_room-section-hero {
	display: flex;
	align-items: center;
	min-height: 100vh;
	background-color: #fff;
	background-size: cover;
	background-position: bottom center;
	background-repeat: no-repeat;
	background-attachment: fixed;
}

.heat_room-bg-cover {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.heat_room-bg-hero {
	background-image: url('../img/room/room_main_bg.webp');
	background-position: bottom center;
	background-attachment: fixed;
}

.heat_room-width-full {
	width: 100%;
}

/* ============================================================
   TYPOGRAPHY
   ============================================================ */
.heat_room-text-center {
	text-align: center;
}

.heat_room-text-warning {
	color: #faa05a;
	/* UIKit uk-text-warning */
}

.heat_room-text-primary {
	color: #3F3F41;
}

.heat_room-text-muted {
	color: #b4b5ba;
}

.heat_room-text-emphasis {
	color: #333;
}

.heat_room-text-lead {
	font-size: 1.125rem;
	line-height: 1.7;
	color: #666;
}

.heat_room-text-large {
	font-size: 1.25rem;
	line-height: 1.7;
}

/* Headings */
.heat_room-heading-intro {
	font-size: 1.75rem;
	font-weight: 400;
	line-height: 1.4;
	margin-top: 0;
	margin-bottom: 1rem;
	color: #333;
}

.heat_room-heading-types {
	font-size: 1.75rem;
	font-weight: 400;
	line-height: 1.4;
	margin-top: 0;
	margin-bottom: 0.5rem;
}

/* ============================================================
   HERO IMAGES
   ============================================================ */
.heat_room-hero-logo {
	max-width: 701px;
	width: 100%;
	height: auto;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.heat_room-wow-logo {
	max-width: 410px;
	width: 100%;
	height: auto;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.heat_room-cta-logo {
	max-width: 350px;
	width: 100%;
	height: auto;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.heat_room-intro-image {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

/* ============================================================
   CARDS (type cards)
   ============================================================ */
.heat_room-card {
	background-color: #fff;
	color: #666;
}

.heat_room-card-title {
	font-size: 2.625rem;
	font-family: Georgia, 'Times New Roman', serif;
	font-weight: 400;
	line-height: 1.2;
	margin-top: 1rem;
	margin-bottom: 0;
}

.heat_room-card-meta {
	font-size: 0.875rem;
	margin-top: 0.5rem;
}

.heat_room-card-content {
	font-size: 0.9375rem;
	line-height: 1.7;
	margin-top: 1rem;
	color: #666;
}

.heat_room-card-content p {
	margin: 0;
}

/* ============================================================
   GALLERY
   ============================================================ */
.heat_room-gallery-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

.heat_room-gallery-item {
	flex: 0 0 calc(16.6667% - 17px);
	max-width: calc(16.6667% - 17px);
	box-sizing: border-box;
}

.heat_room-gallery-img-wrap {
	aspect-ratio: 744 / 1000;
	overflow: hidden;
}

.heat_room-gallery-img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.heat_room-gallery-meta {
	font-size: 0.8125rem;
	margin-top: 0.4rem;
	line-height: 1.5;
}

/* ============================================================
   UTILITIES
   ============================================================ */
.heat_room-margin {
	margin-bottom: 20px;
}

.heat_room-margin:last-child {
	margin-bottom: 0;
}

.heat_room-divider {
	border: none;
	border-top: 1px solid #e5e5e5;
	margin-top: 20px;
	margin-bottom: 20px;
}

/* lot-pc.css ? PC用 (min-width: 960px) */
/* ============================================================
   背景画像ベース
   ============================================================ */
.heat_lot-bg-cover {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.heat_lot-bg-welcome {
	background-image: url('../img/lot/lot_main_bg.webp');
	background-attachment: fixed;
}

/* ============================================================
   ヒーローセクション
   ============================================================ */
.heat_lot-section-hero {
    padding: 140px 0;
}

.heat_lot-grid-hero {
	display: flex;
	gap: 30px;
	max-width: 1400px;
	margin: 0 auto;
	align-items: center;
}

.heat_lot-card-hero {
	background: #fff;
	padding: 30px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	display: inline-block;
	width: 820px;
}

.heat_lot-card-hero .heat_lot-card-body {
	margin: 0;
}

.heat_lot-hero-title {
	font-size: 2.625rem;
	font-weight: bold;
	line-height: 1.4;
	margin: 0 0 1rem;
	color: #333;
}

.heat_lot-hero-sub {
	font-size: 1.5rem;
	font-weight: bold;
	margin: 0;
	color: #333;
}

.heat_lot-accent {
	color: #339933;
}

/* ============================================================
   IoT紹介セクション
   ============================================================ */
.heat_lot-section {
	padding: 70px 40px;
	background: #fff;
}

.heat_lot-container {
	max-width: 1200px;
	margin: 0 auto;
}

.heat_lot-container-large {
	max-width: 1400px;
}

/* ============================================================
   グリッド共通
   ============================================================ */
.heat_lot-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    width: 1200px;
    margin: auto;
}

.heat_lot-col-expand {
	flex: 1 1 0;
}

.heat_lot-col-empty {
	/* 空カラム: スペース確保用 */
}

.heat_lot-col-empty-left {
	flex: 0 0 calc(33.333% - 15px);
}

.heat_lot-col-1-3 {
	flex: 0 0 calc(33.333% - 15px);
}

.heat_lot-col-2-3 {
	flex: 0 0 calc(66.666% - 15px);
}

.heat_lot-col-full {
	flex: 0 0 100%;
}

/* カードグリッド */
.heat_lot-grid-card {
	margin-bottom: 30px;
	align-items: center;
	justify-content: center;
}

.heat_lot-grid-summary {
	margin-top: 20px;
}

/* ============================================================
   フィーチャーカード
   ============================================================ */
.heat_lot-card-feature {
	background: #fff;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	padding: 30px;
}

.heat_lot-card-inner {
	display: flex;
	align-items: center;
	gap: 30px;
}

/* 画像ラッパー */
.heat_lot-card-img-wrap {
	flex: 0 0 50%;
	aspect-ratio: 11 / 8;
	overflow: hidden;
}

.heat_lot-card-img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* 画像を右側に配置 */
.heat_lot-img-last {
	order: 2;
}

.heat_lot-card-text {
	flex: 1;
	order: 1;
}

/* ============================================================
   カードテキスト
   ============================================================ */
.heat_lot-feature-title {
	font-size: 1.25rem;
	font-weight: bold;
	margin: 0 0 0.5rem;
	color: #333;
	line-height: 1.4;
}

.heat_lot-feature-meta {
	font-size: 0.875rem;
	color: #999;
	margin: 0 0 1rem;
}

.heat_lot-feature-body {
	font-size: 0.875rem;
	color: #666;
	line-height: 1.7;
	margin: 0;
}

/* ============================================================
   まとめテキスト
   ============================================================ */
.heat_lot-summary-text {
	font-size: 1rem;
	color: #333;
	text-align: center;
	line-height: 1.7;
	margin: 0;
}

/* zeh-pc.css ? PC用 (min-width: 960px) 単独完結 */
/* ===========================
   カラー・テキストユーティリティ
   =========================== */
.heat_zeh-color-orange {
	color: #e6622f;
}

.heat_zeh-color-green {
	color: #8fc31f;
}

.heat_zeh-color-blue {
	color: #2ea7e0;
}

.heat_zeh-text-center {
	text-align: center;
}

.heat_zeh-text-right {
	text-align: right;
}

.heat_zeh-text-meta {
	color: #999;
}

.heat_zeh-text-small {
	font-size: 0.625rem;
}

.heat_zeh-text-tiny {
	font-size: 0.625rem;
}

/* ===========================
   コンテナ
   =========================== */
.heat_zeh-container {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 30px;
	padding-right: 30px;
	box-sizing: border-box;
}

/* ===========================
   セクション
   =========================== */
.heat_zeh-section {
	padding-top: 40px;
	padding-bottom: 40px;
}

.heat_zeh-section-small {
	padding-top: 20px;
	padding-bottom: 20px;
}

.heat_zeh-section-no-vpad {
	padding-top: 0;
	padding-bottom: 0;
}

/* ===========================
   グリッド（ベース）
   =========================== */
.heat_zeh-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	margin-top: 20px;
}

.heat_zeh-grid:first-child {
	margin-top: 0;
}

/* 2カラムグリッド */
.heat_zeh-grid-2col {
	align-items: center;
}

/* UA値用グリッド */
.heat_zeh-grid-ua {
	align-items: flex-start;
}

/* ===========================
   カラム
   =========================== */
.heat_zeh-col-full {
	width: 100%;
	box-sizing: border-box;
}

.heat_zeh-col-expand {
	flex: 1 1 0;
	min-width: 0;
	box-sizing: border-box;
}

.heat_zeh-col-1-3 {
	flex: 0 0 calc(33.333% - 20px);
	box-sizing: border-box;
}

.heat_zeh-col-2-3 {
	flex: 0 0 calc(66.666% - 10px);
	box-sizing: border-box;
}

/* ===========================
   マージン
   =========================== */
.heat_zeh-margin {
	margin-top: 20px;
}

.heat_zeh-mt-large {
	margin-top: 40px;
}

.heat_zeh-mt-medium {
	margin-top: 30px;
}

/* ===========================
   見出し
   =========================== */
.heat_zeh-heading-divider {
	font-size: 1.5rem;
	font-weight: bold;
	border-bottom: 2px solid #e5e5e5;
	padding-bottom: 0.5rem;
	margin: 0;
}

.heat_zeh-h3 {
	font-size: 1.25rem;
	font-weight: bold;
	margin: 0 0 0 0;
	line-height: 1.4;
}

.heat_zeh-h3-heading {
	font-size: 1.25rem;
	font-weight: bold;
	margin: 0;
	line-height: 1.4;
}

.heat_zeh-h4 {
	font-size: 1rem;
	font-weight: bold;
	margin: 0.75rem 0 0;
	line-height: 1.4;
}

/* ===========================
   本文
   =========================== */
.heat_zeh-section p,
.heat_zeh-margin p,
.heat_zeh-point-content {
	font-size: 0.875rem;
	line-height: 1.8;
	margin: 0;
}

/* ===========================
   ヒーロー
   =========================== */
.heat_zeh-hero {
	position: relative;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	padding-top: 140px;
	padding-bottom: 140px;
}

.heat_zeh-bg-hero {
	background-image: url('../img/zeh/zeh_main_bg.webp');
}

.heat_zeh-hero-overlay {
	position: absolute;
	inset: 0;
	background-color: rgba(0, 0, 0, 0.14);
}

.heat_zeh-hero-inner {
	position: relative;
	z-index: 1;
}

.heat_zeh-hero-title {
	font-size: 2.625rem;
	font-weight: bold;
	color: #fff;
	text-align: center;
	margin: 0;
	line-height: 1.2;
}

.heat_zeh-hero-sub {
	font-size: 1rem;
	color: #fff;
	text-align: center;
	margin-top: 10px;
}

/* ===========================
   背景画像ベース（共通）
   =========================== */
.heat_zeh-bg-cover {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

/* ===========================
   画像ラッパー
   =========================== */
.heat_zeh-img-wrap {
	width: 100%;
	overflow: hidden;
}

.heat_zeh-img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* zentai画像：縦横比 400:435 */
.heat_zeh-img-zentai {
	aspect-ratio: 400 / 435;
	max-width: 400px;
	margin-left: auto;
	margin-right: auto;
}

.heat_zeh-img-zentai img {
	object-fit: contain;
}

/* チャート画像：縦横比 400:351 */
.heat_zeh-img-chart {
	aspect-ratio: 400 / 351;
}

/* UA値画像：縦横比 1500:1302 */
.heat_zeh-img-ua {
	aspect-ratio: 1500 / 1302;
}

/* ロードマップ画像：縦横比 1242:353 */
.heat_zeh-img-roadmap {
	aspect-ratio: 1242 / 353;
	max-width: 100%;
}

.heat_zeh-img-roadmap img {
	object-fit: contain;
}

/* ポイント3画像：縦横比 800:245 */
.heat_zeh-img-point3 {
	aspect-ratio: 800 / 245;
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}

.heat_zeh-img-point3 img {
	object-fit: contain;
}

/* ===========================
   ポイントグリッド（断熱・省エネ・創エネ・蓄エネ）
   =========================== */
.heat_zeh-point-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

.heat_zeh-point-item {
	flex: 1 1 0;
	min-width: 0;
	box-sizing: border-box;
}

.heat_zeh-point-title {
	font-size: 1rem;
	font-weight: bold;
	margin: 0 0 10px;
	line-height: 1.4;
}

.heat_zeh-point-orange {
	color: #e6622f;
}

.heat_zeh-point-yellow {
	color: #eac721;
}

.heat_zeh-point-blue {
	color: #2ea7e0;
}

.heat_zeh-point-green {
	color: #8fc31f;
}

/* ===========================
   ZEH普及目標・実績
   =========================== */
.heat_zeh-results-title {
	font-family: メイリオ, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-size: 1rem;
	font-weight: bold;
	margin: 0;
	line-height: 1.4;
}

.heat_zeh-results-body {
	font-family: メイリオ, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-size: 0.75rem;
	margin: 0;
	padding: 0;
	line-height: 1.8;
}

/* ============================================================
   hiraya-pc.css  |  PC用スタイル (min-width: 960px)
   すべてのクラス名に heat_hiraya- プレフィックスを使用
   フォントサイズ: rem 単位
   ============================================================ */


/* ----- コンテナ ----- */
.heat_hiraya-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 30px;
}

/* ----- セクション共通 ----- */
.heat_hiraya-section {
	padding: 70px 0;
}

.heat_hiraya-section-spacer {
	padding: 20px 0;
}

.heat_hiraya-section-default {
	background: #fff;
}

.heat_hiraya-section-primary {
	background: #3F3F41;
	color: #fff;
}

/* ----- ヒーローセクション ----- */
.heat_hiraya-section-hero {
	padding: 0;
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* 背景画像（背景画像クラス） */
.heat_hiraya-bg-cover {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.heat_hiraya-bg-hero {
	background-image: url('../img/hiraya/hiraya_main_bg.webp');
}

.heat_hiraya-hero-inner {
	text-align: center;
	padding: 40px;
}

.heat_hiraya-hero-title {
	font-size: 2.625rem;
	font-weight: 700;
	color: #B4B5BA;
	/* uk-text-muted: グレー系 */
	letter-spacing: 0.1em;
	line-height: 1.3;
	/* TODO: 要確認 - 元ソースでは uk-text-muted を使用。実際の色味はサイトCSS依存 */
}

/* ----- 見出し ----- */
.heat_hiraya-heading-divider {
	font-size: 1.75rem;
	font-weight: 700;
	padding-bottom: 16px;
	border-bottom: 2px solid currentColor;
	margin-bottom: 40px;
	line-height: 1.3;
}

/* primary セクション内は白ボーダー */
.heat_hiraya-section-primary .heat_hiraya-heading-divider {
	border-bottom-color: #fff;
}

/* ----- リスト（縞模様） ----- */
.heat_hiraya-list-striped {
	list-style: none;
	padding: 0;
	margin: 0;
}

.heat_hiraya-list-item {
	padding: 20px;
}

.heat_hiraya-list-item:nth-child(odd) {
	background-color: #535354;
}


.heat_hiraya-list-item-header {
	margin-bottom: 8px;
}

.heat_hiraya-list-title {
	font-size: 1.125rem;
	font-weight: 700;
	color: #fff;
	display: block;
	margin-bottom: 6px;
}

.heat_hiraya-list-item-body {
	font-size: 0.9375rem;
	color: #fff;
	line-height: 1.75;
}

/* ----- プランセクション ----- */
.heat_hiraya-plan-heading {
	font-size: 1.25rem;
	font-weight: 700;
	margin-bottom: 30px;
	color: #333;
}

/* グリッド共通 */
.heat_hiraya-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

.heat_hiraya-grid-plan {
	align-items: flex-start;
}

.heat_hiraya-col-plan-photo {
	flex: 1 1 55%;
	min-width: 0;
}

.heat_hiraya-col-plan-info {
	flex: 1 1 40%;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

/* 画像ラッパー共通 */
.heat_hiraya-img-wrap {
	width: 100%;
	overflow: hidden;
}

.heat_hiraya-img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.heat_hiraya-img-wrap-photo {
	aspect-ratio: 16 / 11;
}

.heat_hiraya-img-wrap-floor {
	aspect-ratio: 4 / 3;
}

.heat_hiraya-img-wrap-floor img {
	object-fit: contain;
}

.heat_hiraya-plan-badge-wrap {
	text-align: center;
}

.heat_hiraya-plan-badge-wrap img {
	max-width: 300px;
	margin: 0 auto;
	object-fit: contain;
}

/* ----- ギャラリーグリッド ----- */
.heat_hiraya-grid-gallery {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.heat_hiraya-gallery-item {
	min-width: 0;
}

.heat_hiraya-gallery-img-wrap {
	position: relative;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	cursor: pointer;
}

.heat_hiraya-gallery-img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.heat_hiraya-gallery-img-wrap:hover img {
	transform: scale(1.05);
}

/* オーバーレイ */
.heat_hiraya-gallery-overlay {
	position: absolute;
	inset: 0;
	/* uk-overlay-primary 相当 */
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.heat_hiraya-gallery-img-wrap:hover .heat_hiraya-gallery-overlay {
	opacity: 1;
	background-color: rgba(63, 63, 63, .8);
}

.heat_hiraya-gallery-label {
	font-size: 1.125rem;
	font-weight: 700;
	color: #fff;
	text-align: center;
	padding: 10px;
}

/* ----- ユーティリティ ----- */
.heat_hiraya-text-center {
	text-align: center;
}

/* sdgs-pc.css ? PC用（min-width: 960px） */
/* ============================================================
   共通ベース
   ============================================================ */
.heat_sdgs-container {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 30px;
	padding-right: 30px;
}

.heat_sdgs-text-center {
	text-align: center;
}

.heat_sdgs-text-right {
	text-align: right;
}

.heat_sdgs-divider {
	border: none;
	border-top: 1px solid #e5e5e5;
	margin: 30px 0;
}

/* ============================================================
   ヒーロースライドショー
   ============================================================ */
.heat_sdgs-section-hero {
	position: relative;
}

.heat_sdgs-slideshow {
	position: relative;
	width: 100%;
	overflow: hidden;
	min-height: 300px;
}

.heat_sdgs-slideshow-items {
	list-style: none;
	margin: 0;
	padding: 0;
	position: relative;
	width: 100%;
}

.heat_sdgs-slide-item {
	width: 100%;
	min-height: 500px;
	position: relative;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	display: none;
}

.heat_sdgs-slide-item:first-child {
	display: block;
}

/* ============================================================
   SDGsヒーロー スライドショー フェード対応（PC/SP共通・追記）
   ※ sdgs-pc.css / sdgs-sp.css の後に読み込むこと
   ============================================================ */

/* スライドを重ねるため、items に高さの基準を持たせる */
.heat_sdgs-slideshow-items {
	position: relative;
}

/* 元の display:none / block を打ち消し、重ねて opacity で制御 */
.heat_sdgs-slide-item,
.heat_sdgs-slide-item:first-child {
	display: block;
	/* none を上書き */
	position: absolute;
	/* 全スライドを重ねる */
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: opacity 1s ease-in-out;
}

/* 重ねると親が高さを持たないので、先頭スライドだけ relative にして高さの基準にする */
.heat_sdgs-slide-item:first-child {
	position: relative;
}

/* JSが付与する表示中クラス */
.heat_sdgs-slide-item.is-active {
	opacity: 1;
	z-index: 2;
}

/* 背景画像 */
.heat_sdgs-bg-slide1 {
	background-image: url('../img/sdgs/sdgs_main_bg_01.webp');
}

.heat_sdgs-bg-slide2 {
	background-image: url('../img/sdgs/sdgs_main_bg_02.webp');
}

.heat_sdgs-bg-slide3 {
	background-image: url('../img/sdgs/sdgs_main_bg_03.webp');
}

.heat_sdgs-bg-slide4 {
	background-image: url('../img/sdgs/sdgs_main_bg_04.webp');
}

.heat_sdgs-bg-slide5 {
	background-image: url('../img/sdgs/sdgs_main_bg_05.webp');
}

.heat_sdgs-bg-slide6 {
	background-image: url('../img/sdgs/sdgs_main_bg_06.webp');
}

.heat_sdgs-bg-cover {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.heat_sdgs-slide-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.heat_sdgs-flex-center {
	display: flex;
	align-items: center;
	justify-content: center;
}

.heat_sdgs-slide-content {
	text-align: center;
}

.heat_sdgs-slide-content img {
	max-width: 567px;
	height: auto;
	display: block;
	margin: 0 auto 10px;
}

/* ヒーローキャプション */
.heat_sdgs-hero-caption {
	padding: 30px 20px;
	text-align: center;
}

.heat_sdgs-hero-text {
	font-size: 1.125rem;
	line-height: 1.8;
	margin: 0;
	color: #333;
}

/* ============================================================
   セクション共通
   ============================================================ */
.heat_sdgs-section {
	padding: 40px 0;
}

.heat_sdgs-section-img {
	padding: 40px 0;
}

/* ============================================================
   SDGsイメージ画像
   ============================================================ */
.heat_sdgs-img-wrap {
	max-width: 500px;
	margin: 0 auto;
}

.heat_sdgs-img-wrap img {
	width: 100%;
	height: auto;
	display: block;
}

/* ============================================================
   見出し
   ============================================================ */
.heat_sdgs-heading-divider {
	font-size: 1.25rem;
	font-weight: bold;
	line-height: 1.6;
	padding-bottom: 10px;
	border-bottom: 2px solid #e5e5e5;
	margin-bottom: 30px;
	color: #333;
}

.heat_sdgs-heading-line {
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 20px;
	color: #333;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 15px;
}

.heat_sdgs-heading-line::before,
.heat_sdgs-heading-line::after {
	content: '';
	flex: 1;
	height: 1px;
	background: #e5e5e5;
}

/* ============================================================
   取り組みテーブル
   ============================================================ */
.heat_sdgs-table-wrap {
	position: relative;
	left: -10px;
	top: 30px;
	overflow-x: auto;
}

.heat_sdgs-table {
	width: 100%;
	border-collapse: collapse;
}

.heat_sdgs-table-row {
	border-bottom: 1px solid #f0f0f0;
}

.heat_sdgs-table-icon {
	width: 110px;
	vertical-align: middle;
	padding: 10px 10px 10px 0;
}

.heat_sdgs-icon-wrap {
	width: 100px;
	aspect-ratio: 1 / 1;
}

.heat_sdgs-icon-wrap img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.heat_sdgs-table-text {
	vertical-align: middle;
	padding: 10px 10px;
}

.heat_sdgs-table-text p {
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.7;
	color: #333;
}

/* ============================================================
   グリッド共通
   ============================================================ */
.heat_sdgs-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
}

/* 活動記事グリッド */
.heat_sdgs-grid-activity {
	align-items: center;
	margin-bottom: 8px;
}

.heat_sdgs-col-1-3 {
	width: 33.3333%;
}

.heat_sdgs-col-2-3 {
	width: 66.6666%;
}

/* ============================================================
   活動記事
   ============================================================ */
.heat_sdgs-activity-label {
	margin-bottom: 20px;
}

.heat_sdgs-activity-label p {
	margin: 0;
	font-size: 0.875rem;
	color: #333;
}

.heat_sdgs-activity-img {
	padding: 8px;
}

.heat_sdgs-activity-img a {
	display: block;
}

.heat_sdgs-activity-img img {
	width: 200px;
	aspect-ratio: 200 / 120;
	object-fit: cover;
	display: inline-block;
}

.heat_sdgs-activity-meta {
	padding: 8px 15px;
}

.heat_sdgs-activity-meta p {
	margin: 0 0 4px;
	font-size: 0.875rem;
	color: #666;
	line-height: 1.6;
}

.heat_sdgs-activity-closing {
	margin-top: 10px;
}

.heat_sdgs-activity-closing p {
	font-size: 0.875rem;
	color: #333;
	line-height: 1.7;
	margin: 0;
}

@charset "UTF-8";

/* =========================================
   check-pc.css (PC: 960px以上)
   ========================================= */
/* ---------- 共通レイアウト ---------- */
.heat_check-container {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 30px;
	padding-right: 30px;
	box-sizing: border-box;
}

.heat_check-section {
	padding-top: 40px;
	padding-bottom: 40px;
}

.heat_check-section-large {
	padding-top: 70px;
	padding-bottom: 70px;
}

.heat_check-section-muted {
	background-color: #f8f8f8;
}

.heat_check-relative {
	position: relative;
}

.heat_check-text-center {
	text-align: center;
}

.heat_check-mt {
	margin-top: 30px;
}

.heat_check-mt-large {
	margin-top: 40px;
}

.heat_check-mb {
	margin-bottom: 20px;
}

/* ---------- 背景画像 (ベース) ---------- */
.heat_check-bg-cover {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.heat_check-bg-hero {
	background-image: linear-gradient(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5)), url(../img/check/check_main_bg.webp);
    background-color: #fff;
    background-size: cover;
}
/* ---------- Hero Section ---------- */
.heat_check-hero {
	position: relative;
	min-height: calc(60vh - 20px);
	display: flex;
	align-items: center;
	padding-top: 40px;
	padding-bottom: 40px;
	box-sizing: border-box;
}

.heat_check-hero-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0);
	pointer-events: none;
}

.heat_check-hero-inner {
	position: relative;
	z-index: 2;
}

.heat_check-hero-title {
	font-size: 1.875rem;
	font-weight: bold;
	line-height: 1.4;
	text-align: left;
	margin: 0;
	max-width: 600px;
	color: #333;
}

/* ---------- 見出し ---------- */
.heat_check-h2 {
	font-size: 1.875rem;
	font-weight: 400;
	line-height: 1.4;
	margin: 0;
	color: #333;
}

.heat_check-h3 {
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 1.4;
	margin: 0 0 20px 0;
	color: #333;
}

.heat_check-h4 {
	font-size: 1.25rem;
	font-weight: 400;
	line-height: 1.4;
	margin: 20px 0 0 0;
	color: #333;
}

.heat_check-h5 {
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.4;
	margin: 0;
	color: #333;
}

.heat_check-heading-divider {
	padding-bottom: 10px;
	border-bottom: 1px solid #e5e5e5;
}

/* ---------- テキスト ---------- */
.heat_check-text-block {
	font-size: 0.875rem;
	line-height: 1.5;
	color: #666;
}

.heat_check-text-block p {
	margin: 0 0 15px 0;
}

.heat_check-lead {
	font-size: 1.25rem;
	line-height: 1.5;
	margin-top: 20px;
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	color: #333;
}

.heat_check-lead p {
	margin: 0;
}

.heat_check-meta {
	font-size: 0.875rem;
	color: #999;
	margin-top: 10px;
}

/* ---------- Grid (ベース) ---------- */
.heat_check-grid {
	display: flex;
	flex-wrap: wrap;
	margin-left: -30px;
}

.heat_check-grid>[class*="heat_check-col"] {
	padding-left: 30px;
	box-sizing: border-box;
	width: 100%;
}

.heat_check-grid-2col>.heat_check-col-2-3 {
	width: 66.6667%;
}

.heat_check-grid-2col>.heat_check-col-1-3 {
	width: 33.3333%;
}

.heat_check-grid-3col>.heat_check-feature-item {
	width: 33.3333%;
	padding-left: 30px;
	box-sizing: border-box;
	margin-top: 0;
}

.heat_check-grid-3col {
	display: flex;
	flex-wrap: wrap;
	margin-left: -30px;
}

.heat_check-col-full {
	width: 100%;
}

/* ---------- 画像ラッパー ---------- */
.heat_check-img-wrap {
	position: relative;
	width: 100%;
	overflow: hidden;
}

.heat_check-img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.heat_check-img-ratio-3-2 {
	aspect-ratio: 3 / 2;
}

.heat_check-img-ratio-16-9 {
	aspect-ratio: 16 / 9;
}

.heat_check-img-jio {
	aspect-ratio: auto;
	max-width: 389px;
}

.heat_check-img-jio img {
	height: auto;
	object-fit: contain;
}

/* ---------- 区切り線 / アイコン ---------- */
.heat_check-divider-small {
	width: 50px;
	height: 0;
	border: 0;
	border-top: 1px solid #e5e5e5;
	margin: 0 auto 20px auto;
}

.heat_check-icon-wrap {
	margin-top: 20px;
}

.heat_check-icon-home {
	display: inline-block;
	width: 60px;
	height: 60px;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none' stroke='%23000' stroke-width='1.1'><polygon points='18.65,11.35 10,2.71 1.35,11.35 1.65,11.65 3,11.65 3,18 8,18 8,12 12,12 12,18 17,18 17,11.65 18.35,11.65 '/></svg>");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

/* ---------- Feature Item (3カード) ---------- */
.heat_check-feature-item {
	background: transparent;
}

.heat_check-feature-content {
	font-size: 0.875rem;
	line-height: 1.6;
	margin-top: 15px;
	color: #666;
}

.heat_check-feature-content p {
	margin: 0;
}

/* ---------- 家の図 ---------- */
.heat_check-house-diagram {
	margin-top: 30px;
}

.heat_check-house-diagram img {
	max-width: 725px;
	width: 100%;
	height: auto;
	display: inline-block;
}

/* ---------- カードグリッド (屋根/床/キッチン等) ---------- */
.heat_check-card-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-top: 30px;
}

.heat_check-card {
	background-color: #2D2E33;
	color: #fff;
	padding: 30px;
	flex: 1 1 calc(33.3333% - 14px);
	box-sizing: border-box;
}

.heat_check-card-title {
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 1.4;
	margin: 0 0 15px 0;
	color: #fff;
}

.heat_check-card-content {
	font-size: 1.25rem;
	line-height: 1.5;
}

.heat_check-card-content p {
	margin: 0 0 10px 0;
}

.heat_check-card-content p:last-child {
	margin-bottom: 0;
}

/* ---------- TEL ---------- */
.heat_check-tel-block {
	margin-top: 20px;
	font-size: 1.5rem;
	color: #333;
}

.heat_check-tel-block p {
	margin: 0;
}

.heat_check-tel-number {
	color: #6c6d74;
	font-family: 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic';
	font-size: 2rem;
}

/* ---------- PC用 改行制御 ---------- */
.heat_check-br-pc {
	display: inline;
}

/* ========================================
   consult-pc.css (PC: 960px以上)
   ======================================== */
/* Reset & Base */
.heat_consult-hero,
.heat_consult-section {
	box-sizing: border-box;
}

.heat_consult-hero *,
.heat_consult-section * {
	box-sizing: border-box;
}

/* ========================================
   Hero Section
   ======================================== */
.heat_consult-hero {
	position: relative;
	padding: 150px 0 70px;
	background-color: #fff;
	color: #fff;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	background-attachment: fixed;
}

.heat_consult-bg-cover {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.heat_consult-bg-hero {
	background-image: url('../img/consult/consult_main_bg.webp');
}

.heat_consult-hero-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 0.34);
}

.heat_consult-relative {
	position: relative;
}

.heat_consult-hero-inner {
	text-align: center;
}

.heat_consult-hero-title {
	margin: 0;
	color: #fff;
	font-size: 2.625rem;
	font-weight: normal;
	line-height: 1.4;
	text-align: center;
}

.heat_consult-hero-subtitle {
	margin-top: 20px;
	color: #fff;
	font-size: 1rem;
	text-align: center;
}

/* ========================================
   Container
   ======================================== */
.heat_consult-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 15px;
}

/* ========================================
   Section
   ======================================== */
.heat_consult-section {
	padding: 40px 0;
	background-color: #fff;
}

/* ========================================
   Panel
   ======================================== */
.heat_consult-panel {
	width: 100%;
}

/* ========================================
   Headings
   ======================================== */
.heat_consult-h3 {
	margin: 0 0 20px 0;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1.4;
	color: #333;
}

.heat_consult-heading-divider {
	padding-bottom: 10px;
	border-bottom: 1px solid #e5e5e5;
	margin-bottom: 30px;
}

/* ========================================
   Text
   ======================================== */
.heat_consult-text {
	font-size: 1rem;
	line-height: 1.7;
	color: #666;
}

.heat_consult-list-text {
	margin: 0;
	line-height: 30px;
	font-size: 1rem;
	color: #666;
}

.heat_consult-accent {
	color: #e44e56;
}

/* ========================================
   Grid
   ======================================== */
.heat_consult-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	align-items: center;
}

.heat_consult-grid-examples {
	margin-top: 20px;
}

.heat_consult-grid-family {
	margin-top: 20px;
}

.heat_consult-col {
	flex: 1 1 0;
	min-width: 0;
}

.heat_consult-col-half {
	flex: 0 0 calc(50% - 20px);
}

.heat_consult-col-quarter {
	flex: 0 0 calc(25% - 30px);
}

/* ========================================
   Images
   ======================================== */
.heat_consult-img-wrap {
	width: 200px;
	margin: 0 auto 20px auto;
	overflow: hidden;
}

.heat_consult-img-wide {
	aspect-ratio: 200 / 150;
}

.heat_consult-img-tall {
	aspect-ratio: 200 / 300;
}

.heat_consult-img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* ========================================
   Button
   ======================================== */
.heat_consult-btn-wrap {
	margin-top: 40px;
	text-align: center;
}

.heat_consult-btn {
	display: inline-block;
	width: 100%;
	padding: 0 30px;
	height: 40px;
	line-height: 40px;
	text-align: center;
	text-decoration: none;
	border: 1px solid transparent;
	font-size: 0.875rem;
	cursor: pointer;
	transition: all 0.1s ease-in-out;
	box-sizing: border-box;
}

.heat_consult-btn-primary {
	background-color: #3F3F41;
	color: #fff;
	border: 1px solid transparent;
}

.heat_consult-btn-primary:hover {
	background-color: #fff;
	color: #3F3F41;
	border: 1px solid #3F3F41;
}

.heat_consult-btn-large {
	height: 55px;
	line-height: 55px;
	font-size: 1rem;
	padding: 0 40px;
}

/* ===== wallstat-pc.css (PC: 960px以上想定) ===== */
/* ベース */
.heat_wallstat-section-default {
	background-color: #fff;
	color: #666;
}

.heat_wallstat-section {
	box-sizing: border-box;
	padding-top: 40px;
	padding-bottom: 40px;
}

.heat_wallstat-section-large {
	padding-top: 70px;
	padding-bottom: 70px;
}

/* 背景画像（共通ベース） */
.heat_wallstat-bg-cover {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	background-attachment: fixed;
}

/* 修飾クラス: background-imageのみ */
.heat_wallstat-bg-hero {
	background-image: url('../img/wallstat/wallstat_main_bg.webp');
}

/* container */
.heat_wallstat-container {
	box-sizing: border-box;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 30px;
	padding-right: 30px;
}

.heat_wallstat-container-large {
	max-width: 1400px;
}

/* grid */
.heat_wallstat-grid {
	display: flex;
	flex-wrap: wrap;
	margin-left: -30px;
	justify-content: center;
}

.heat_wallstat-grid>* {
	padding-left: 30px;
	box-sizing: border-box;
}

.heat_wallstat-grid-margin {
	margin-top: 30px;
}

/* グリッドカラム */
.heat_wallstat-col-full {
	width: 100%;
}

.heat_wallstat-col-1-3 {
	width: 33.333%;
}

.heat_wallstat-col-2-3 {
	width: 66.666%;
}

.heat_wallstat-col-expand {
	flex: 1;
	min-width: 1px;
}

.heat_wallstat-col-half {
	width: 50%;
}

/* カード内グリッド */
.heat_wallstat-grid-card {
	display: flex;
	flex-wrap: wrap;
	margin-left: -30px;
	align-items: center;
}

.heat_wallstat-grid-card>* {
	padding-left: 30px;
	box-sizing: border-box;
}

.heat_wallstat-flex-middle {
	align-items: center;
}

.heat_wallstat-flex-last {
	order: 99;
}

.heat_wallstat-card-text {
	flex: 1;
	min-width: 1px;
}

/* card */
.heat_wallstat-card {
	position: relative;
	box-sizing: border-box;
	transition: box-shadow 0.1s ease-in-out;
}

.heat_wallstat-card-default {
	background-color: #fff;
	color: #666;
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
	border-radius: 0;
}

.heat_wallstat-card-body {
	padding: 30px;
}

/* margin */
.heat_wallstat-margin {
	margin-top: 20px;
}

.heat_wallstat-margin-top {
	margin-top: 20px;
}

/* panel */
.heat_wallstat-panel {
	position: relative;
	box-sizing: border-box;
}

.heat_wallstat-content>p {
	margin: 0 0 15px 0;
	line-height: 1.5;
	font-size: 1rem;
}

.heat_wallstat-content>p:last-child {
	margin-bottom: 0;
}

.heat_wallstat-content ul {
	padding-left: 30px;
	margin: 0 0 15px 0;
}

.heat_wallstat-content ul li {
	margin-bottom: 5px;
	line-height: 1.5;
	font-size: 1rem;
}

/* テキスト */
.heat_wallstat-text-center {
	text-align: center;
}

.heat_wallstat-text-xxlarge {
	font-size: 2.625rem;
	line-height: 1.2;
	display: inline-block;
}

.heat_wallstat-text-xlarge {
	font-size: 1.5rem;
	line-height: 1.3;
	display: inline-block;
}

.heat_wallstat-text-green {
	color: #339933;
}

.heat_wallstat-text-lead {
	font-size: 1.25rem;
	line-height: 1.5;
	color: #333;
}

.heat_wallstat-text-lead p {
	margin: 0;
}

/* カードタイトル */
.heat_wallstat-card-title {
	font-size: 1.5rem;
	line-height: 1.4;
	color: #333;
	font-weight: bold;
	margin: 0 0 15px 0;
}

/* 画像 */
.heat_wallstat-image {
	max-width: 100%;
	height: auto;
	display: block;
	box-sizing: border-box;
}

.heat_wallstat-image-small {
	width: 100px;
	height: 100px;
	object-fit: contain;
	margin: 0 auto;
}

/* リンク */
.heat_wallstat-link {
	color: #1e87f0;
	text-decoration: none;
	display: inline-block;
}

.heat_wallstat-link:hover {
	text-decoration: underline;
}

/* 強調 */
strong {
	font-weight: bold;
}

/* reference-pc.css ? PC用 (min-width: 960px) 単独完結 */
/* =====================
   共通ベース
   ===================== */
.heat_reference-section-default {
	background-color: #fff;
}

.heat_reference-section {
	padding-top: 40px;
	padding-bottom: 40px;
}

.heat_reference-section-large {
	padding-top: 70px;
	padding-bottom: 70px;
}

.heat_reference-pt-remove {
	padding-top: 0;
}

.heat_reference-container {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 30px;
	padding-right: 30px;
}

.heat_reference-grid {
	margin-bottom: 30px;
}

.heat_reference-col-full {
	width: 100%;
}

.heat_reference-text-center {
	text-align: center;
}

/* =====================
   ヒーローセクション
   ===================== */
.heat_reference-bg-cover {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	background-attachment: fixed;
}

.heat_reference-bg-hero {
	background-image: url('../img/reference/reference_main_bg.webp');
	padding: 200px 0 100px;
	margin-bottom: 60px;
}

.heat_reference-hero-title {
	font-size: 2.625rem;
	color: #3F3F41;
	text-align: center;
	margin: 0;
	font-weight: bold;
	line-height: 1.4;
}

/* =====================
   見出し
   ===================== */
.heat_reference-heading-en {
	font-size: 2.625rem;
	text-align: center;
	margin-top: 0;
	margin-bottom: 0;
	font-weight: bold;
	color: #333;
	line-height: 1.3;
}

.heat_reference-subtext {
	margin-top: 10px;
	margin-bottom: 20px;
	font-size: 0.875rem;
	color: #666;
}

.heat_reference-subtext p {
	margin: 0;
}

/* =====================
   カード共通
   ===================== */
.heat_reference-card {
	display: block;
	background-color: #fff;
	color: #666;
	padding: 30px;
	text-decoration: none;
	transition: box-shadow 0.2s ease;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	height: 100%;
	box-sizing: border-box;
}

.heat_reference-card:hover {
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}

.heat_reference-card-link {
	/* リンクカード共通 */
}

.heat_reference-card-center {
	max-width: 500px;
	margin-left: auto;
	margin-right: auto;
}

.heat_reference-card-title {
	font-size: 1.5rem;
	color: #333;
	margin-top: 0;
	margin-bottom: 0;
	line-height: 1.4;
}

.heat_reference-card-content {
	font-size: 0.875rem;
	color: #666;
	margin-top: 10px;
	line-height: 1.6;
}

.heat_reference-card-content p {
	margin: 0;
}

.heat_reference-card-meta {
	font-size: 0.75rem;
	color: #999;
	margin-top: 8px;
}

/* =====================
   カードグリッド
   ===================== */
.heat_reference-card-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

/* STYLEセクション: 3カラム */
.heat_reference-card-grid-3>div {
	width: calc((100% - 40px) / 3);
	box-sizing: border-box;
}

/* IMAGEセクション: 6カラム */
.heat_reference-card-grid-6>div {
	width: calc((100% - 100px) / 6);
	box-sizing: border-box;
}

/* SPECセクション: 1カラム中央寄せ */
.heat_reference-card-grid-1 {
	justify-content: center;
}

.heat_reference-card-grid-1>div {
	width: 100%;
	max-width: 500px;
	box-sizing: border-box;
}

/* =====================
   画像ラッパー
   ===================== */
.heat_reference-img-wrap {
	aspect-ratio: 4 / 3;
	overflow: hidden;
	margin-top: 15px;
}

.heat_reference-img-wrap-tall {
	aspect-ratio: 1 / 2;
}

.heat_reference-img-wrap-wide {
	aspect-ratio: 16 / 9;
}

.heat_reference-img-wrap img,
.heat_reference-img-wrap-tall img,
.heat_reference-img-wrap-wide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* =============================================
   cg-pc.css  |  PC用 (min-width: 960px)
   prefix: heat_cg-
   ============================================= */
/* ----- コンテナ ----- */
.heat_cg-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 30px;
}

/* ----- セクション ----- */
.heat_cg-section {
	padding: 40px 0;
}

.heat_cg-section-small {
	padding: 20px 0;
}

.heat_cg-pb-remove {
	padding-bottom: 0;
}

/* ----- 行・カラム ----- */
.heat_cg-row {
	margin-bottom: 20px;
}

.heat_cg-row:last-child {
	margin-bottom: 0;
}

.heat_cg-col-full {
	width: 100%;
}

/* ----- ページタイトル (h1 → p) ----- */
.heat_cg-page-title {
	font-size: 2.625rem;
	font-weight: bold;
	color: #333;
	margin: 0 0 10px;
	line-height: 1.3;
	padding-top: 100px;
}

/* ----- リード文 ----- */
.heat_cg-lead {
	font-size: 1.25rem;
	color: #333;
	margin: 0;
}

/* ----- サブナビ ----- */
.heat_cg-subnav {
	list-style: none;
	margin: 0 0 10px;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 6px 0;
}

.heat_cg-subnav-divider .heat_cg-subnav-item+.heat_cg-subnav-item::before {
	content: "|";
	margin: 0 8px;
	color: #999;
}

.heat_cg-subnav-item {
	display: flex;
	align-items: center;
}

.heat_cg-subnav-link {
	color: #7F8182;
	text-decoration: none;
	font-size: 0.875rem;
}

.heat_cg-subnav-link:hover {
	text-decoration: underline;
}

.heat_cg-subnav-link.heat_cg-subnav-active {
	color: #333;
	font-weight: bold;
	pointer-events: none;
}

/* ----- 注記テキスト ----- */
.heat_cg-note {
	font-size: 0.875rem;
	color: #666;
	margin: 0;
}

/* ----- テキスト中央揃え ----- */
.heat_cg-text-center {
	text-align: center;
}

/* ----- ギャラリーラッパー ----- */
.heat_cg-gallery-wrap {
	margin-bottom: 30px;
}

.heat_cg-gallery-wrap:last-child {
	margin-bottom: 0;
}

/* ----- グリッド（3カラム） ----- */
.heat_cg-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

.heat_cg-grid-col3 {
	/* ベースは 3カラム */
}

.heat_cg-grid-col3 .heat_cg-grid-item {
	width: calc((100% - 40px) / 3);
}

/* ----- サムネイルリンク ----- */
.heat_cg-thumb-link {
	display: block;
	text-decoration: none;
	overflow: hidden;
}

/* ----- サムネイルラッパー（アスペクト比固定） ----- */
.heat_cg-thumb-wrap {
	aspect-ratio: 3 / 2;
	overflow: hidden;
}

/* ----- サムネイル画像 ----- */
.heat_cg-thumb-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.3s ease, opacity 0.3s ease;
}

.heat_cg-thumb-link:hover .heat_cg-thumb-img {
	transform: scale(1.05);
	opacity: 0.9;
}

/* ----- ページトップへ戻る ----- */
.heat_cg-totop {
	display: inline-block;
	font-size: 0.875rem;
	color: #7F8182;
	text-decoration: none;
	padding: 8px 16px;
	border: 1px solid #7F8182;
}

.heat_cg-totop:hover {
	background-color: #7F8182;
	color: #fff;
}

/* img_gallery-pc.css ? PC用 (min-width: 960px) */
/* ============================================================
   セクション・コンテナ
   ============================================================ */
.heat_img_gallery-section {
	padding: 40px 0 70px;
	background-color: #fff;
	margin-top: 80px;
}

.heat_img_gallery-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

/* ============================================================
   パンくず
   ============================================================ */
.heat_img_gallery-breadcrumb {
	margin-bottom: 16px;
}

.heat_img_gallery-subnav {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.heat_img_gallery-subnav-item {
	display: inline-block;
}

.heat_img_gallery-subnav-link {
	font-size: 0.875rem;
	color: #6c6d74;
	text-decoration: none;
}

.heat_img_gallery-subnav-link:hover {
	text-decoration: underline;
}

/* ============================================================
   ページタイトル
   ============================================================ */
.heat_img_gallery-title-wrap {
	margin-bottom: 10px;
}

.heat_img_gallery-title {
	font-size: 2.625rem;
	font-weight: bold;
	color: #333;
	margin: 0;
	line-height: 1.3;
	max-width: 900px;
	text-align: left;
}

/* ============================================================
   説明テキスト
   ============================================================ */
.heat_img_gallery-caption-note {
	margin-bottom: 20px;
}

.heat_img_gallery-caption-note p {
	font-size: 0.875rem;
	color: #666;
	margin: 0;
}

/* ============================================================
   画像グリッド
   ============================================================ */
.heat_img_gallery-grid-wrap {
	text-align: center;
}

.heat_img_gallery-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	justify-content: left;
}

.heat_img_gallery-grid-item {
	width: calc(33.333% - 14px);
}

/* ============================================================
   画像リンク・画像
   ============================================================ */
.heat_img_gallery-img-link {
	display: block;
	text-decoration: none;
	overflow: hidden;
}

.heat_img_gallery-img-wrap {
	aspect-ratio: 3 / 2;
	overflow: hidden;
}

.heat_img_gallery-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.3s ease;
}

.heat_img_gallery-img-link:hover .heat_img_gallery-img {
	transform: scale(1.05);
}

@charset "UTF-8";

/* ============================
   Reset / Base
   ============================ */
.heat_migration-section,
.heat_migration-hero {
	box-sizing: border-box;
}

.heat_migration-section *,
.heat_migration-hero * {
	box-sizing: border-box;
}

/* ============================
   Container
   ============================ */
.heat_migration-container {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 30px;
	padding-right: 30px;
}

.heat_migration-container-expand {
	max-width: none;
	margin-left: auto;
	margin-right: auto;
	padding-left: 30px;
	padding-right: 30px;
}

/* ============================
   Section base
   ============================ */
.heat_migration-section {
	padding-top: 70px;
	padding-bottom: 70px;
}

.heat_migration-section-caption {
	padding-top: 20px;
	padding-bottom: 20px;
}

/* ============================
   Relative / Overlay helpers
   ============================ */
.heat_migration-relative {
	position: relative;
}

/* ============================
   Background cover (base)
   ============================ */
.heat_migration-bg-cover {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

/* ============================
   Hero
   ============================ */
.heat_migration-hero {
	position: relative;
	padding-top: 70px;
	padding-bottom: 70px;
	min-height: 400px;
	display: flex;
	align-items: center;
}

.heat_migration-bg-hero {
	background-image: url('/img/migration/migration_main_bg.webp');
}

.heat_migration-hero-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(255, 255, 255, 0.41);
}

.heat_migration-hero-title {
	position: relative;
	text-align: center;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.4;
	margin: 0;
	color: #333;
}

/* ============================
   Map
   ============================ */
.heat_migration-map-wrap {
	text-align: center;
}

.heat_migration-map-img {
	max-width: 800px;
	width: 100%;
	height: auto;
	display: inline-block;
}

.heat_migration-map-note {
	text-align: center;
	font-size: 0.875rem;
	margin-top: 20px;
	margin-bottom: 0;
	color: #999;
	line-height: 1.6;
}

/* ============================
   Grid (base)
   ============================ */
.heat_migration-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

/* Cards grid (3列) */
.heat_migration-grid-cards .heat_migration-grid-item {
	width: calc((100% - 60px) / 3);
}

/* Banners grid (2列) */
.heat_migration-grid-banners .heat_migration-grid-item,
.heat_migration-grid-banners .heat_migration-banner-item {
	width: calc((100% - 30px) / 2);
}

.heat_migration-grid-banners {
	gap: 30px;
}

/* ============================
   Card
   ============================ */
.heat_migration-card {
	display: block;
	background-color: #fff;
	color: #666;
	padding: 30px;
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
	text-decoration: none;
	height: 100%;
	transition: box-shadow 0.2s, transform 0.2s;
	text-align: center;
}

.heat_migration-card:hover {
	box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
	transform: translateY(-2px);
}

.heat_migration-card-title {
	font-size: 1.25rem;
	font-weight: 700;
	margin: 0 0 0 0;
	color: #333;
	line-height: 1.4;
}

.heat_migration-card-body {
	font-size: 0.875rem;
	margin-top: 10px;
	color: #666;
	line-height: 1.6;
	text-align: left;
}

/* ============================
   Caption
   ============================ */
.heat_migration-caption-grid {
	display: flex;
	justify-content: flex-end;
}

.heat_migration-caption-text {
	width: 25%;
	font-size: 0.875rem;
	color: #3f3f41;
	margin: 0;
	text-align: left;
	line-height: 1.6;
}

/* ============================
   Banner
   ============================ */
.heat_migration-banner {
	position: relative;
	display: block;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
}

.heat_migration-banner-img {
	width: 100%;
	height: 150px;
	object-fit: cover;
	display: block;
}

.heat_migration-banner-overlay {
	position: absolute;
	top: 15px;
	left: 15px;
	right: 15px;
	bottom: 15px;
	background-color: rgba(255, 255, 255, 0.6);
	pointer-events: none;
}

.heat_migration-banner-textwrap {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
	text-align: center;
	width: auto;
}

.heat_migration-banner-title {
	margin: 0;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.4;
	color: #fff;
}

.heat_migration-banner-label {
    color: rgba(0, 0, 0, 0.6);
	padding: 4px 12px;
	display: inline-block;
}

@charset "UTF-8";

/* ========================================
   migration_voice-pc.css  (PC: min-width 960px)
   ======================================== */
/* ベース */
.heat_migration_voice-section,
.heat_migration_voice-section *,
.heat_migration_voice-section *::before,
.heat_migration_voice-section *::after {
	box-sizing: border-box;
}

/* セクション */
.heat_migration_voice-section {
	padding-top: 40px;
	padding-bottom: 40px;
	background-color: #fff;
}

.heat_migration_voice-section-large {
	padding-top: 70px;
	padding-bottom: 70px;
}

.heat_migration_voice-section-small {
	padding-top: 30px;
	padding-bottom: 30px;
}

/* コンテナ */
.heat_migration_voice-container {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 30px;
	padding-right: 30px;
}

/* 行（uk-grid 相当） */
.heat_migration_voice-row {
	display: flex;
	flex-wrap: wrap;
	margin-left: -30px;
	margin-top: 30px;
}

.heat_migration_voice-row>[class*="heat_migration_voice-col"] {
	padding-left: 30px;
	box-sizing: border-box;
}

.heat_migration_voice-grid-small {
	margin-left: -15px;
	margin-top: 15px;
}

.heat_migration_voice-grid-small>[class*="heat_migration_voice-col"] {
	padding-left: 15px;
}

/* カラム幅 */
.heat_migration_voice-col-full {
	width: 100%;
}

.heat_migration_voice-col-1-2 {
	width: 50%;
}

.heat_migration_voice-col-1-3 {
	width: 33.3333%;
}

.heat_migration_voice-col-2-3 {
	width: 66.6667%;
}

.heat_migration_voice-col-1-4 {
	width: 25%;
}

/* 見出し（h1相当） */
.heat_migration_voice-h1 {
	font-size: 2.625rem;
	font-weight: 400;
	line-height: 1.3;
	margin: 0 0 1rem;
	color: #333;
}

/* 見出し（h4相当） */
.heat_migration_voice-h4 {
	font-size: 1.25rem;
	font-weight: 400;
	line-height: 1.4;
	margin: 0 0 1rem;
	color: #333;
}

/* 箇条書きの先頭スタイル（heading-bullet） */
.heat_migration_voice-heading-bullet {
	padding-left: 20px;
	border-left: 5px solid #6c6d74;
}

/* テキストカラー */
.heat_migration_voice-text-primary {
	color: #6c6d74;
}

/* 本文（リード） */
.heat_migration_voice-text-lead {
	font-size: 1.25rem;
	line-height: 1.5;
	color: #333;
	margin-bottom: 1rem;
}

.heat_migration_voice-text-lead p {
	margin: 0 0 1rem;
}

.heat_migration_voice-text-body {
	font-size: 0.875rem;
	line-height: 1.5;
	color: #666;
}

.heat_migration_voice-text-body p {
	margin: 0 0 1rem;
}

.heat_migration_voice-text-body a {
	color: #6c6d74;
	text-decoration: none;
}

.heat_migration_voice-text-body a:hover {
	text-decoration: underline;
}

/* テキスト中央寄せ */
.heat_migration_voice-text-center {
	text-align: center;
}

/* キャプション */
.heat_migration_voice-caption {
	font-size: 0.875rem;
	line-height: 1.5;
	color: #666;
	margin-top: 1rem;
}

.heat_migration_voice-caption p {
	margin: 0 0 1rem;
}

/* マージン */
.heat_migration_voice-mt {
	margin-top: 1rem;
}

/* 画像ラッパー */
.heat_migration_voice-img-wrap {
	width: 100%;
	overflow: hidden;
	position: relative;
}

.heat_migration_voice-img-wrap img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* メインビジュアル画像 */
.heat_migration_voice-img-hero {
	aspect-ratio: 3 / 2;
}

/* 通常写真 */
.heat_migration_voice-img-photo {
	aspect-ratio: 3 / 2;
}

/* テキスト内 p のリセット */
.heat_migration_voice-text-primary p {
	margin: 0 0 1rem;
}

.heat_migration_voice-text-primary p:last-child {
	margin-bottom: 0;
}

/* 動画ラッパー */
.heat_migration_voice-video-wrap {
	width: 100%;
}

.heat_migration_voice-video-wrap video {
	display: block;
	width: 100%;
	height: auto;
}

/* 区切り線 */
.heat_migration_voice-hr {
	border: 0;
	border-top: 1px solid #e5e5e5;
	margin: 0;
}

/* バナーリンク */
.heat_migration_voice-banner-link {
	display: block;
	text-decoration: none;
	color: inherit;
}

.heat_migration_voice-banner {
	position: relative;
	text-align: center;
	overflow: hidden;
}

.heat_migration_voice-banner img {
	display: block;
	width: 100%;
	height: auto;
}

.heat_migration_voice-banner-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(255, 255, 255, 0.4);
}

.heat_migration_voice-banner-text {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 90%;
}

.heat_migration_voice-banner-title {
	font-size: 1.25rem;
	font-weight: 700;
	color: #333;
	background-color: rgba(255, 255, 255, 0.85);
	padding: 0.25em 0.5em;
	line-height: 1.5;
}

@charset "UTF-8";

/* ===== PC用CSS: privacy-pc.css (960px以上) ===== */
/* ベースセクション */
.heat_privacy-section {
	padding-top: 130px;
	padding-bottom: 40px;
	background-color: #fff;
	color: #666;
	box-sizing: border-box;
}

.heat_privacy-section * {
	box-sizing: border-box;
}

/* コンテナ */
.heat_privacy-container {
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 30px;
	padding-right: 30px;
}

/* タイトルブロック */
.heat_privacy-block {
	margin-bottom: 20px;
}

/* h1相当のタイトル */
.heat_privacy-title {
	font-size: 1.875rem;
	font-weight: 400;
	line-height: 1.4;
	color: #333;
	margin: 0 0 20px 0;
	padding: 0;
}

/* 区切り線 */
.heat_privacy-hr {
	border: none;
	border-top: 1px solid #e5e5e5;
	margin: 20px 0;
}

/* リード文 */
.heat_privacy-lead {
	margin: 20px 0;
	font-size: 0.875rem;
	line-height: 1.6;
	color: #666;
}

/* リスト */
.heat_privacy-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

/* リストアイテム */
.heat_privacy-item {
	margin-bottom: 20px;
}

/* リストアイテム内側 */
.heat_privacy-item-inner {
	background-color: #fff;
	padding: 0;
}

.heat_privacy-item-inner p {
	font-size: 0.875rem;
	line-height: 1.6;
	margin: 0 0 15px 0;
	color: #666;
}

.heat_privacy-item-inner p:last-child {
	margin-bottom: 0;
}

/* アイテムタイトル */
.heat_privacy-item-title {
	font-size: 1rem;
	line-height: 1.5;
	color: #333;
	margin-bottom: 10px !important;
}

.heat_privacy-item-inner strong {
	font-weight: 700;
	color: #333;
}

/* ============================================
   works-pc.css (PC: 960px以上)
   ============================================ */
/* ---- Container ---- */
.heat_works-container {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 30px;
	padding-right: 30px;
	box-sizing: border-box;
}

/* ---- Section ---- */
.heat_works-section {
	padding-top: 40px;
	padding-bottom: 40px;
	background-color: #fff;
	color: #666;
}

.heat_works-section-large {
	padding-top: 70px;
	padding-bottom: 70px;
}

/* ---- Hero ---- */
.heat_works-hero {
	padding-top: 200px;
	padding-bottom: 140px;
	color: #fff;
	background-attachment: fixed;
}

.heat_works-hero-inner {
	text-align: center;
}

.heat_works-page-title {
	font-size: 2.625rem;
	font-weight: 400;
	line-height: 1.2;
	margin: 0;
	color: #fff;
}

.heat_works-hero-desc {
	margin-top: 20px;
}

.heat_works-hero-desc p {
	margin: 0;
	font-size: 1rem;
	line-height: 1.5;
	color: #fff;
}

/* ---- Background images (base) ---- */
.heat_works-bg-cover {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.heat_works-bg-hero {
	background-image: url('/img/works/works_main_bg.webp');
}

/* ---- Grid ---- */
.heat_works-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	margin-bottom: 40px;
}

.heat_works-grid-large {
	gap: 70px;
	margin-bottom: 70px;
}

.heat_works-grid:last-child {
	margin-bottom: 0;
}

.heat_works-col {
	flex: 1 1 0;
	min-width: 0;
	box-sizing: border-box;
}

.heat_works-col-empty {
	/* 空のカラム（3列目を埋める用） */
}

/* ---- Card title ---- */
.heat_works-card-title {
	font-size: 1.25rem;
	font-weight: 400;
	line-height: 1.4;
	margin: 0 0 20px 0;
	color: #333;
}

.heat_works-heading-bullet {
	padding-left: 17px;
	border-left: 5px solid #E5E5E7;
}

/* ---- Image wrap ---- */
.heat_works-img-wrap {
	width: 100%;
	aspect-ratio: 365 / 220;
	overflow: hidden;
	margin-bottom: 20px;
}

.heat_works-img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* ---- Card text ---- */
.heat_works-card-text {
	margin-bottom: 20px;
}

.heat_works-card-text p {
	margin: 0;
	font-size: 1rem;
	line-height: 1.5;
	color: #666;
}

/* ---- Button ---- */
.heat_works-btn-wrap {
	margin-top: 20px;
}

.heat_works-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 38px;
	padding: 0 15px;
	box-sizing: border-box;
	font-size: 0.875rem;
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	border: 1px solid transparent;
	transition: background-color 0.1s ease-in-out, color 0.1s ease-in-out, border-color 0.1s ease-in-out;
	cursor: pointer;
}

.heat_works-btn-default {
	background-color: transparent;
	color: #333;
	border-color: #e5e5e5;
}

.heat_works-btn-default:hover {
	background-color: transparent;
	color: #333;
	border-color: #b2b2b2;
}

.heat_works-btn-text {
	vertical-align: middle;
}

.heat_works-btn-arrow {
	display: inline-block;
	margin-left: 8px;
	font-size: 0.75rem;
	line-height: 1;
}


/* ========================================
   company-pc.css (PC: 960px以上)
   ======================================== */

/* container */
.heat_company-container {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 30px;
	padding-right: 30px;
	width: 100%;
}

/* relative */
.heat_company-relative {
	position: relative;
}

/* text */
.heat_company-text-center {
	text-align: center;
}

.heat_company-text-warning {
	color: #ff9e45;
}

/* margin utility */
.heat_company-mt {
	margin-top: 20px;
}

.heat_company-mt-large {
	margin-top: 40px;
}

/* ========================================
   背景画像共通
   ======================================== */
.heat_company-bg-cover {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.heat_company-bg-hero {
	background-image: url('/img/company/company_main_bg.webp');
}

/* ========================================
   Hero Section
   ======================================== */
.heat_company-hero {
	position: relative;
	background-color: #fff;
	padding-top: 70px;
	padding-bottom: 70px;
	color: #fff;
	min-height: 380px;
	display: flex;
	align-items: center;
	margin-top: 80px;
}

.heat_company-hero-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 0.34);
	z-index: 1;
}

.heat_company-hero .heat_company-container {
	position: relative;
	z-index: 2;
}

.heat_company-hero-inner {
	width: 100%;
	text-align: center;
}

.heat_company-hero-title {
	font-size: 2.625rem;
	font-weight: 400;
	line-height: 1.2;
	margin: 0;
	color: #fff;
}

.heat_company-hero-sub {
	margin-top: 20px;
	text-align: center;
}

.heat_company-hero-sub p {
	margin: 0;
	color: #fff;
	font-size: 1rem;
	line-height: 1.5;
}

/* ========================================
   section共通
   ======================================== */
.heat_company-section {
	padding-top: 40px;
	padding-bottom: 40px;
	background-color: #fff;
	color: #666;
}

/* ========================================
   見出し
   ======================================== */
.heat_company-h3 {
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 1.4;
	color: #333;
	margin: 0;
}

.heat_company-panel .heat_company-h3 {
	color: #ff9e45;
}

.heat_company-heading-divider {
	padding-bottom: calc(5px + 0.1em);
	border-bottom: calc(0.2px + 0.05em) solid #e5e5e5;
	margin-bottom: 20px;
}

.heat_company-sub-label {
	font-size: 1rem;
	font-weight: 400;
}

/* ========================================
   Grid
   ======================================== */
.heat_company-grid {
	display: flex;
	flex-wrap: wrap;
	margin-left: -30px;
	box-sizing: border-box;
}

.heat_company-grid>[class*="heat_company-col"] {
	padding-left: 30px;
	box-sizing: border-box;
}

.heat_company-grid-large {
	margin-left: -70px;
	margin-top: 40px;
}

.heat_company-grid-large>[class*="heat_company-col"] {
	padding-left: 70px;
}

.heat_company-col-2-3 {
	width: 66.666%;
}

.heat_company-col-1-3 {
	width: 33.333%;
}

.heat_company-col-half {
	width: 50%;
}

/* ========================================
   Panel
   ======================================== */
.heat_company-panel {
	width: 100%;
}

/* ========================================
   List (社是)
   ======================================== */
.heat_company-list {
	list-style: none;
	padding: 0;
	margin: 20px 0 0 0;
}

.heat_company-list-item {
	display: flex;
	gap: 15px;
	padding: 5px 0;
	align-items: flex-start;
}

.heat_company-list-item+.heat_company-list-item {
	margin-top: 5px;
}

.heat_company-list-title {
	display: inline-block;
	flex-shrink: 0;
	font-weight: bold;
	color: #333;
}

.heat_company-list-content {
	flex: 1;
	line-height: 1.5;
}

/* ========================================
   Image Wrap
   ======================================== */
.heat_company-img-wrap {
	width: 100%;
	aspect-ratio: 350 / 200;
	overflow: hidden;
}

.heat_company-img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* ========================================
   Table
   ======================================== */
.heat_company-table-wrap {
	overflow-x: auto;
	width: 100%;
}

.heat_company-table {
	width: 100%;
	border-collapse: collapse;
	margin: 0;
	table-layout: auto;
}

.heat_company-table-row:nth-of-type(odd) {
	background-color: #FAE9EC;
}

.heat_company-table-th,
.heat_company-table-td {
	padding: 16px 12px;
	border-bottom: 1px solid #e5e5e5;
	vertical-align: top;
	text-align: left;
	white-space: nowrap;
}

.heat_company-table-th {
	width: auto;
}

.heat_company-table-td {
	white-space: normal;
}

.heat_company-table-title {
	font-weight: bold;
	color: #333;
}

.heat_company-table-content {
	line-height: 1.6;
}

.heat_company-table-content a {
	color: #2d2e33;
	text-decoration: none;
}

.heat_company-table-content a:hover {
	text-decoration: underline;
}

/* ========================================
   Button
   ======================================== */
.heat_company-grid-cta {
	margin-top: 40px;
}

.heat_company-cta-note {
	margin-bottom: 20px;
	color: #666;
	font-size: 0.875rem;
}

.heat_company-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	height: 55px;
	padding: 0 30px;
	font-size: 1rem;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	border: 1px solid transparent;
	box-sizing: border-box;
	transition: background-color 0.1s ease-in-out;
}

.heat_company-btn-primary {
	background-color: #3f3f41;
	color: #fff;
	border: 1px solid transparent;
}

.heat_company-btn-primary:hover {
	background-color: #fff;
	color: #3f3f41;
	text-decoration: none;
	border: 1px solid #3f3f41;
}

.heat_company-btn-large {
	height: 55px;
	font-size: 1rem;
}

.heat_company-btn-icon {
	font-size: 0.875rem;
	color: inherit;
    fill: currentcolor;
}

.heat_company-btn-text {
	line-height: 1.2;
}


/* access-pc.css ? PC用 (min-width: 960px) */

/* =====================
   ヒービジュアル
   ===================== */
.heat_access-hero {
	position: relative;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	background-attachment: fixed;
	padding: 140px 0;
	margin-top: 80px;
}

.heat_access-bg-hero {
	background-image: url('/img/access/access_main_bg.webp');
	background-color: #fff;
}

.heat_access-hero-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 0.34);
}

.heat_access-relative {
	position: relative;
}

.heat_access-hero-title {
	margin: 0;
	color: #fff;
	font-size: 2.625rem;
	text-align: center;
	font-weight: bold;
	font-family: 游明朝, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, メイリオ, Meiryo, HG明朝E, ＭＳ Ｐ明朝, ＭＳ 明朝;
}

/* =====================
   レイアウト
   ===================== */
.heat_access-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 30px;
}

.heat_access-section {
	padding: 40px 0;
}

.heat_access-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	align-items: center;
	margin-top: 30px;
}

.heat_access-col {
	flex: 1 1 0;
	min-width: 0;
}

/* =====================
   見出し
   ===================== */
.heat_access-heading-line {
	font-size: 1.25rem;
	font-weight: bold;
	display: flex;
	align-items: center;
	gap: 0.5em;
	border-bottom: 1px solid #e5e5e5;
	padding-bottom: 0.5em;
	margin: 0 0 1rem 0;
	color: #333;
}

.heat_access-heading-line::before,
.heat_access-heading-line::after {
	content: '';
	flex: 1;
	height: 1px;
	background: #e5e5e5;
}

/* =====================
   住所テキスト
   ===================== */
.heat_access-address {
	font-size: 0.9375rem;
	color: #666;
	line-height: 1.7;
	margin-bottom: 1.25rem;
}

/* =====================
   画像
   ===================== */
.heat_access-img-wrap {
	aspect-ratio: 16 / 9;
	overflow: hidden;
}

.heat_access-img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* =====================
   地図
   ===================== */
.heat_access-map-wrap {
	text-align: center;
}

.heat_access-map-wrap iframe {
	width: 90%;
	height: 430px;
	display: block;
	margin: 0 auto;
}

.heat_access-map-wrap small {
	display: block;
	margin-top: 6px;
	font-size: 0.8125rem;
}

.heat_access-map-wrap small a {
	color: #0000ff;
	text-align: left;
}


/* crafts-pc.css ? PC用 (min-width: 960px) */

/* ===========================
   ヒーローセクション
=========================== */

.heat_crafts-hero {
	position: relative;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	padding: 140px 0;
	background-color: #fff;
	margin-top: 80px;
}

.heat_crafts-bg-hero {
	background-image: url('/img/crafts/crafts_main_bg.webp');
}

.heat_crafts-hero-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.16);
}

.heat_crafts-relative {
	position: relative;
}

.heat_crafts-hero-title {
	color: #fff;
	font-size: 2.625rem;
	text-align: center;
	margin: 0;
	font-weight: bold;
}

/* ===========================
   コンテナ
=========================== */

.heat_crafts-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 30px;
}

/* ===========================
   セクション
=========================== */

.heat_crafts-section {
	padding: 40px 0;
}

.heat_crafts-section-small {
	padding: 20px 0 40px;
}

/* ===========================
   見出し
=========================== */

.heat_crafts-heading-divider {
	font-size: 1.5rem;
	padding-bottom: 10px;
	border-bottom: 1px solid #e5e5e5;
	margin-bottom: 20px;
	font-weight: bold;
	color: #333;
}

/* ===========================
   テキスト
=========================== */

.heat_crafts-text-center {
	text-align: center;
}

.heat_crafts-intro {
	font-size: 1rem;
	line-height: 1.8;
	color: #666;
	margin-top: 20px;
}

.heat_crafts-intro p {
	margin: 0 0 0.5em;
}

/* ===========================
   br制御
=========================== */

.heat_crafts-br-pc {
	display: none;
}

/* ===========================
   動画
=========================== */

.heat_crafts-video-wrap {
	max-width: 1024px;
	margin: 0 auto;
}

.heat_crafts-video-wrap iframe {
	width: 100%;
	max-width: 1024px;
	height: 576px;
}


/* resistant-pc.css - PC用 (min-width: 960px) */

/* ===========================
   レイアウト基盤
=========================== */

.heat_resistant-container {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 30px;
	padding-right: 30px;
	box-sizing: border-box;
}

.heat_resistant-container-large {
	max-width: 1400px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 30px;
	padding-right: 30px;
	box-sizing: border-box;
}

.heat_resistant-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

.heat_resistant-grid-2col {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

.heat_resistant-grid-2col>div {
	flex: 1 1 calc(50% - 15px);
	min-width: 0;
}

.heat_resistant-grid-3col {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

.heat_resistant-grid-3col>div {
	flex: 1 1 calc(33.333% - 20px);
	min-width: 0;
}

.heat_resistant-grid-match>div {
	display: flex;
	flex-direction: column;
}

.heat_resistant-grid-card-inner {
	display: flex;
	gap: 30px;
	align-items: center;
}

.heat_resistant-flex-middle {
	align-items: center;
}

.heat_resistant-flex-last {
	order: 2;
}

/* ===========================
   カラム
=========================== */

.heat_resistant-col-full {
	flex: 1 1 100%;
	width: 100%;
}

.heat_resistant-col-expand {
	flex: 1 1 0;
	min-width: 0;
}

.heat_resistant-col-1-3 {
	flex: 0 0 calc(33.333% - 15px);
	max-width: calc(33.333% - 15px);
	min-width: 0;
}

.heat_resistant-col-2-3 {
	flex: 0 0 calc(66.666% - 15px);
	max-width: calc(66.666% - 15px);
	min-width: 0;
}

.heat_resistant-card-img-half {
	flex: 0 0 50%;
	max-width: 50%;
}

.heat_resistant-card-img-half img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.heat_resistant-card-text {
	flex: 1 1 0;
	min-width: 0;
}

/* ===========================
   セクション
=========================== */

.heat_resistant-section {
	padding-top: 40px;
	padding-bottom: 40px;
}

.heat_resistant-section-large {
	padding-top: 70px;
	padding-bottom: 70px;
}

.heat_resistant-pt-remove {
	padding-top: 0;
}

.heat_resistant-pb-remove {
	padding-bottom: 0;
}

/* ===========================
   背景画像
=========================== */

.heat_resistant-bg-cover {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.heat_resistant-bg-hero {
	background-image: url('/img/resistant/resistant_main_bg.webp');
	margin-top: 80px;
}

.heat_resistant-bg-dsc07462 {
	background-image: url('/img/resistant/resistant_top_bg.webp');
}

/* ===========================
   オーバーレイ
=========================== */

.heat_resistant-relative {
	position: relative;
}

.heat_resistant-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 0.51);
}

/* ===========================
   タイル
=========================== */

.heat_resistant-tile {
	padding: 30px;
}

.heat_resistant-tile-primary {
	padding: 40px 30px;
	background-color: #3F3F41;
	color: #fff;
}

.heat_resistant-tile-primary .heat_resistant-h3,
.heat_resistant-tile-primary .heat_resistant-text-center {
	color: #fff;
}

/* ===========================
   カード
=========================== */

.heat_resistant-card {
	box-sizing: border-box;
}

.heat_resistant-card-primary {
	background-color: #2D2E33;
	color: #fff;
}

.heat_resistant-card-default {
	background-color: #fff;
	color: #666;
}

.heat_resistant-card-body {
	padding: 30px;
}

.heat_resistant-card-title {
	font-size: 1.5rem;
	font-weight: bold;
	margin-top: 1rem;
	margin-bottom: 0;
}

.heat_resistant-card-primary .heat_resistant-card-title {
	color: #fff;
}

.heat_resistant-heading-divider {
	border-bottom: 1px solid rgba(255, 255, 255, 0.3);
	padding-bottom: 0.75rem;
}

/* ===========================
   タイポグラフィ
=========================== */

.heat_resistant-h1 {
	font-size: 2.625rem;
	font-weight: bold;
	line-height: 1.3;
	margin: 0.5rem 0;
	color: #fff;
}

.heat_resistant-h2 {
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.3;
	margin: 0 0 1rem;
}

.heat_resistant-h3 {
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1.3;
	margin: 0 0 1rem;
}

.heat_resistant-h4 {
	font-size: 1.25rem;
	font-weight: bold;
	line-height: 1.4;
	margin-top: 1rem;
	margin-bottom: 0;
}

.heat_resistant-h5 {
	font-size: 1rem;
	font-weight: bold;
	line-height: 1.5;
	margin-top: 1rem;
	margin-bottom: 0;
}

.heat_resistant-h6 {
	font-size: 0.875rem;
	font-weight: bold;
	line-height: 1.4;
	margin-top: 1rem;
	margin-bottom: 0;
}

.heat_resistant-text-large {
	font-size: 1.25rem;
	line-height: 1.6;
}

.heat_resistant-text-small {
	font-size: 0.8125rem;
	line-height: 1.6;
}

.heat_resistant-meta {
	font-size: 0.875rem;
	color: #999;
	line-height: 1.6;
}

.heat_resistant-card-primary .heat_resistant-meta {
	color: rgba(255, 255, 255, 0.7);
}

.heat_resistant-panel p,
.heat_resistant-mt p,
.heat_resistant-content p {
	margin: 0 0 0.75rem;
	font-size: 0.9375rem;
	line-height: 1.7;
}

.heat_resistant-panel p:last-child,
.heat_resistant-mt p:last-child,
.heat_resistant-content p:last-child {
	margin-bottom: 0;
}

/* ===========================
   テキスト配置
=========================== */

.heat_resistant-text-center {
	text-align: center;
}

.heat_resistant-text-left {
	text-align: left;
}

/* ===========================
   ライトテキスト（dark背景上）
=========================== */

.heat_resistant-light h2,
.heat_resistant-light p,
.heat_resistant-light div {
	color: #fff;
}

.heat_resistant-light .heat_resistant-h2 {
	color: #fff;
}

/* ===========================
   マージン
=========================== */

.heat_resistant-mt {
	margin-top: 1rem;
}
.heat_resistant-mt img{
	margin: auto;
}

.heat_resistant-mt-large {
	margin-top: 2rem;
}

.heat_resistant-mt-small {
	margin-top: 0.5rem;
}

/* ===========================
   画像
=========================== */

.heat_resistant-img-wrap {
	aspect-ratio: 3 / 2;
	overflow: hidden;
}

.heat_resistant-img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.heat_resistant-img-gif-wrap {
	overflow: hidden;
}

.heat_resistant-img-gif-wrap img {
	/*width: 100%;*/
	height: auto;
	display: block;
	margin: 0 auto;
}

.heat_resistant-img-quality-wrap {
	display: inline-block;
	max-width: 780px;
}

.heat_resistant-img-quality-wrap img {
	width: 100%;
	height: auto;
	display: block;
}

.heat_resistant-img-logo-wrap {
	display: inline-block;
	max-width: 650px;
}

.heat_resistant-img-logo-wrap img {
	width: 100%;
	height: auto;
	display: block;
}

.heat_resistant-img-damper-wrap {
	aspect-ratio: 240 / 260;
	overflow: hidden;
	display: inline-block;
	width: 100%;
	max-width: 240px;
}

.heat_resistant-img-damper-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.heat_resistant-inline {
	display: inline-block;
}

.heat_resistant-inline img {
	max-width: 275px;
	height: auto;
	display: block;
}

.heat_resistant-box-shadow {
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
}

/* ===========================
   ボタン
=========================== */

.heat_resistant-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 55px;
	padding: 0 2rem;
	font-size: 1rem;
	font-weight: bold;
	text-decoration: none;
	box-sizing: border-box;
	cursor: pointer;
	transition: background-color 0.2s, color 0.2s;
}

.heat_resistant-btn-default {
	background-color: transparent;
	border: 1px solid #e5e5e5;
	color: #333;
}

.heat_resistant-btn-default:hover {
	background-color: #f8f8f8;
}

/* ===========================
   水平線
=========================== */

.heat_resistant-hr {
	border: none;
	border-top: 1px solid #e5e5e5;
	margin: 2rem 0;
}

/* ===========================
   iframe / YouTube
=========================== */

.heat_resistant-iframe-wrap {
	position: relative;
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
}

.heat_resistant-iframe-wrap iframe {
	width: 100%;
	height: 500px;
	display: block;
}

/* ===========================
   MIRAIEカード（PC表示）
=========================== */

.heat_resistant-miraie-card {
	max-width: 300px;
	margin: 1rem auto;
}


/* mind-pc.css ? PC用 (min-width: 960px) */

/* ===========================
   背景画像クラス
=========================== */
.heat_mind-bg-cover {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.heat_mind-bg-hero {
	background-image: url('/img/mind/mind_main_bg.webp');
	margin-top: 80px;
}

/* ===========================
   ヒーローセクション
=========================== */
.heat_mind-hero {
	position: relative;
	padding: 140px 0;
	background-color: #fff;
}

.heat_mind-hero-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.34);
}

.heat_mind-hero-inner {
	position: relative;
	z-index: 1;
	text-align: center;
}

.heat_mind-hero-title {
	margin: 0;
	color: #fff;
	font-size: 2.625rem;
	font-weight: bold;
	line-height: 1.3;
}

/* ===========================
   コンテナ・レイアウト
=========================== */
.heat_mind-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 30px;
}

.heat_mind-relative {
	position: relative;
}

/* ===========================
   グリッド
=========================== */
.heat_mind-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
}

.heat_mind-grid-2col>.heat_mind-col {
	flex: 1 1 0;
	min-width: 0;
}

.heat_mind-grid-mt {
	margin-top: 50px;
}

/* ===========================
   セクション
=========================== */
.heat_mind-section {
	padding: 70px 0;
	background-color: #fff;
}

.heat_mind-section-small {
	padding-top: 0;
	padding-bottom: 70px;
}

/* ===========================
   見出し
=========================== */
.heat_mind-heading-divider {
	padding-bottom: 10px;
	border-bottom: 1px solid #e5e5e5;
	margin-bottom: 20px;
}

.heat_mind-heading-main {
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1.5;
	color: #333;
	margin-top: 0;
}

.heat_mind-heading-sub {
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1.5;
	color: #333;
	margin-top: 0;
}

.heat_mind-subheading {
	font-size: 1rem;
	font-weight: bold;
	color: #333;
	margin-top: 0;
	margin-bottom: 15px;
}

.heat_mind-accent {
	color: #e44e56;
}

/* ===========================
   本文テキスト
=========================== */
.heat_mind-body-text {
	font-size: 0.875rem;
	line-height: 1.7;
	color: #666;
}

.heat_mind-body-text p {
	margin: 0 0 1em;
}

.heat_mind-body-text p:last-child {
	margin-bottom: 0;
}

.heat_mind-lead-text {
	font-size: 1rem;
	line-height: 1.6;
	color: #333;
	margin-top: 15px;
}

.heat_mind-text-center {
	text-align: center;
}

/* ===========================
   画像
=========================== */
.heat_mind-img-wrap {
	overflow: hidden;
}

.heat_mind-img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.heat_mind-img-portrait {
	aspect-ratio: 768 / 614;
}

.heat_mind-img-landscape {
	aspect-ratio: 4 / 3;
}

.heat_mind-img-video {
	aspect-ratio: 16 / 9;
}

/* ===========================
   動画カード
=========================== */
.heat_mind-video-card {
	display: block;
	position: relative;
	text-decoration: none;
	color: inherit;
}

.heat_mind-video-overlay {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.heat_mind-video-label {
	background-color: rgba(255, 255, 255, 0.9);
	padding: 20px 30px;
}

.heat_mind-video-title {
	font-size: 1.25rem;
	font-weight: bold;
	color: #333;
	margin: 0;
}

/* ===========================
   コンセプト動画セクション（タイル）
=========================== */
.heat_mind-tile-primary {
	background-color: #3F3F41;
	color: #fff;
	padding: 40px 30px;
}

.heat_mind-concept-title {
	font-size: 2.625rem;
	font-weight: bold;
	margin: 0 0 20px;
	text-align: left;
}

.heat_mind-iframe-wrap {
	margin-bottom: 20px;
}

.heat_mind-iframe-wrap iframe {
	display: block;
}

.heat_mind-btn-wrap {
	margin-top: 10px;
}

.heat_mind-btn-text {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #fff;
	text-decoration: none;
	font-size: 1rem;
	font-weight: bold;
	border-bottom: 1px solid rgba(255, 255, 255, 0.5);
	padding-bottom: 2px;
}

.heat_mind-btn-text:hover {
	opacity: 0.8;
}

.heat_mind-btn-arrow {
	font-size: 1rem;
}


@charset "UTF-8";

/* ===== ベース ===== */
.heat_flow-section {
	padding-top: 40px;
	padding-bottom: 40px;
	background-color: #fff;
}

.heat_flow-section-small {
	padding-top: 30px;
	padding-bottom: 30px;
}

.heat_flow-container {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 30px;
	padding-right: 30px;
	box-sizing: border-box;
}

.heat_flow-relative {
	position: relative;
}

/* ===== ヒーロー ===== */
.heat_flow-hero {
	position: relative;
	background-image: url('/img/flow/flow_main_bg.webp');
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	background-color: #fff;
	padding-top: 70px;
	padding-bottom: 70px;
	color: #fff;
	margin-top: 80px;
}

.heat_flow-hero-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 0.34);
}

.heat_flow-hero-title {
	position: relative;
	margin: 0;
	text-align: center;
	font-size: 2.625rem;
	font-weight: 700;
	color: #fff;
	line-height: 1.4;
}

/* ===== グリッド ===== */
.heat_flow-grid {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 40px;
}

.heat_flow-grid-intro {
	gap: 70px;
}

.heat_flow-grid-step {
	margin-top: 20px;
}

.heat_flow-col-1-3 {
	flex: 0 1 calc(33.333% - 27px);
	display: flex;
	align-items: center;
}

.heat_flow-col-2-3 {
	flex: 0 1 calc(66.666% - 13px);
	display: flex;
	align-items: center;
}

.heat_flow-grid-intro .heat_flow-col-1-3 {
	flex: 0 1 calc(33.333% - 47px);
}

.heat_flow-grid-intro .heat_flow-col-2-3 {
	flex: 0 1 calc(66.666% - 23px);
}

.heat_flow-panel {
	width: 100%;
}

/* ===== 画像 ===== */
.heat_flow-img-wrap {
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.heat_flow-img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.heat_flow-img-wrap-intro {
	aspect-ratio: 4 / 3;
}

.heat_flow-img-wrap-portrait {
	aspect-ratio: 174 / 300;
	max-width: 240px;
	margin: 0 auto;
}

.heat_flow-img-wrap a {
	display: block;
	width: 100%;
	height: 100%;
}

/* ===== 見出し ===== */
.heat_flow-heading-divider {
	margin: 0 0 20px 0;
	padding-bottom: 10px;
	border-bottom: 1px solid #e5e5e5;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.4;
	color: #333;
}

.heat_flow-step-num {
	color: #e44e56;
}

/* ===== テキスト ===== */
.heat_flow-intro-text {
	font-size: 1rem;
	line-height: 1.7;
	color: #666;
}

.heat_flow-step-text {
	font-size: 1rem;
	line-height: 1.7;
	color: #666;
}

.heat_flow-step-text p {
	margin: 0;
}

.heat_flow-caption-right {
	margin: 0 0 10px 0;
	text-align: right;
	font-size: 0.875rem;
	color: #666;
}


/* ============================================
   architecture-pc.css （PC用：960px以上想定）
   ============================================ */

/* ---------- 共通ベース ---------- */
.heat_architecture-container {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 30px;
	padding-right: 30px;
	box-sizing: border-box;
}

.heat_architecture-section {
	padding-top: 70px;
	padding-bottom: 70px;
	background-color: #fff;
}

.heat_architecture-section-pb-none {
	padding-bottom: 0;
}

/* 背景画像 共通 */
.heat_architecture-bg-cover {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

/* テキスト共通 */
.heat_architecture-text-accent {
	color: #e44e56;
}

/* 画像ラッパー */
.heat_architecture-image-wrap {
	position: relative;
	width: 100%;
	overflow: hidden;
}

.heat_architecture-image-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.heat_architecture-image-3-2 {
	aspect-ratio: 3 / 2;
}

.heat_architecture-image-4-3 {
	aspect-ratio: 4 / 3;
}

/* ---------- ヒーローセクション ---------- */
.heat_architecture-hero-section {
	position: relative;
	background-color: #fff;
	padding-top: 140px;
	padding-bottom: 140px;
	overflow: hidden;
	margin-top: 80px;
}

.heat_architecture-bg-hero {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url('/img/architecture/architecture_main_bg.webp');
	z-index: 1;
}

.heat_architecture-hero-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.31);
	z-index: 2;
}

.heat_architecture-hero-container {
	position: relative;
	z-index: 3;
}

.heat_architecture-hero-inner {
	text-align: center;
}

.heat_architecture-hero-title {
	font-size: 2.625rem;
	font-weight: bold;
	color: #fff;
	line-height: 1.4;
	margin: 0 0 1.5rem 0;
}

.heat_architecture-hero-subtitle {
	color: #fff;
	font-size: 1rem;
	line-height: 1.6;
}

.heat_architecture-hero-subtitle p {
	margin: 0;
}

/* ---------- タイル（見出しブロック） ---------- */
.heat_architecture-tile {
	padding: 20px 30px;
	margin-bottom: 40px;
}

.heat_architecture-tile-primary {
	background-color: #3F3F41;
	color: #fff;
}

.heat_architecture-tile-secondary {
	background-color: #330000;
	color: #fff;
}

.heat_architecture-tile-muted {
	background-color: #f7f7f7;
	color: #333;
}

.heat_architecture-tile-title {
	font-size: 1.5rem;
	font-weight: bold;
	margin: 0;
	line-height: 1.4;
}

/* ---------- イントロテキスト ---------- */
.heat_architecture-intro-text {
	font-size: 1rem;
	line-height: 1.8;
	color: #333;
	margin-top: 30px;
}

/* ---------- メリット行（テキスト＋画像 2:1） ---------- */
.heat_architecture-merit-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 30px;
	margin-bottom: 50px;
}

.heat_architecture-merit-text {
	flex: 0 0 calc(66.6666% - 15px);
	max-width: calc(66.6666% - 15px);
	box-sizing: border-box;
}

.heat_architecture-merit-image {
	flex: 0 0 calc(33.3333% - 15px);
	max-width: calc(33.3333% - 15px);
	box-sizing: border-box;
}

.heat_architecture-merit-title {
	font-size: 1.25rem;
	font-weight: bold;
	color: #e44e56;
	line-height: 1.5;
	margin: 0 0 1rem 0;
}

.heat_architecture-merit-body {
	font-size: 1rem;
	line-height: 1.8;
	color: #333;
}

/* ---------- ギャラリー ---------- */
.heat_architecture-gallery-note {
	font-size: 0.875rem;
	color: #666;
	margin-top: 20px;
	margin-bottom: 20px;
}

.heat_architecture-gallery-heading {
	font-size: 1.25rem;
	font-weight: bold;
	color: #333;
	line-height: 1.5;
	margin: 30px 0 20px 0;
}

.heat_architecture-gallery-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-bottom: 30px;
}

.heat_architecture-gallery-item {
	flex: 0 0 calc(33.3333% - 14px);
	max-width: calc(33.3333% - 14px);
	box-sizing: border-box;
}

.heat_architecture-gallery-item a {
	display: block;
	overflow: hidden;
	aspect-ratio: 4 / 3;
}

.heat_architecture-gallery-item img {
	transition: transform 0.3s ease;
}

.heat_architecture-gallery-item a:hover img {
	transform: scale(1.05);
}


@charset "UTF-8";

/* ===== Base ===== */
* {
	box-sizing: border-box;
}

body {
	margin: 0;
	font-family: 'Helvetica Neue', Helvetica, Arial, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, sans-serif;
	color: #666;
	line-height: 1.5;
	font-size: 0.875rem;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

/* ===== Container ===== */
.heat_reform-container {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 30px;
	padding-right: 30px;
	position: relative;
}

/* ===== Section ===== */
.heat_reform-section {
	padding-top: 70px;
	padding-bottom: 70px;
	background-color: #fff;
}

.heat_reform-section-pb0 {
	padding-bottom: 0;
}

/* ===== Text helpers ===== */
.heat_reform-text-center {
	text-align: center;
}

.heat_reform-text-danger {
	color: #f0506e;
}

.heat_reform-text-accent {
	color: #e44e56;
}

.heat_reform-relative {
	position: relative;
}

/* ===== Hero ===== */
.heat_reform-hero {
	position: relative;
	padding-top: 140px;
	padding-bottom: 140px;
	color: #fff;
	background-color: #fff;
}

.heat_reform-bg-cover {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.heat_reform-bg-hero {
	background-image: url('/img/reform/reform_main_bg.webp');
	margin-top: 80px;
}

.heat_reform-hero-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 0.22);
}

.heat_reform-hero-title {
	font-size: 2.625rem;
	font-weight: bold;
	color: #fff;
	margin: 0;
	line-height: 1.2;
}

.heat_reform-hero-sub {
	color: #fff;
	margin-top: 20px;
	font-size: 1rem;
}

/* ===== Tile (見出しバー) ===== */
.heat_reform-tile {
	padding: 20px 30px;
	margin-bottom: 30px;
}

.heat_reform-tile-primary {
	background-color: #3F3F41;
	color: #fff;
}

.heat_reform-tile-secondary {
	background-color: #330000;
	color: #fff;
}

.heat_reform-tile-muted {
	background-color: #f7f7f7;
	color: #333;
	padding: 25px 30px;
}

/* ===== Headings ===== */
.heat_reform-h3 {
	font-size: 1.5rem;
	font-weight: 300;
	margin: 0;
	line-height: 1.4;
}

.heat_reform-h4 {
	font-size: 1.25rem;
	font-weight: 300;
	margin: 0 0 15px 0;
	line-height: 1.4;
}

.heat_reform-h5 {
	font-size: 1rem;
	font-weight: 300;
	margin: 15px 0 10px 0;
	line-height: 1.4;
}

/* ===== Text Block ===== */
.heat_reform-text-block {
	margin-top: 25px;
	margin-bottom: 25px;
	line-height: 1.7;
	font-size: 1rem;
}

.heat_reform-text-body {
	line-height: 1.7;
	font-size: 1rem;
}

/* ===== Margin helpers ===== */
.heat_reform-mt-large {
	margin-top: 60px;
}

.heat_reform-mt-xl {
	margin-top: 80px;
}

/* ===== Grid ===== */
.heat_reform-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	align-items: center;
}

.heat_reform-grid-merit {
	margin-bottom: 40px;
}

.heat_reform-col-1-3 {
	flex: 0 0 calc(33.333% - 20px);
	max-width: calc(33.333% - 20px);
}

.heat_reform-col-2-3 {
	flex: 0 0 calc(66.666% - 20px);
	max-width: calc(66.666% - 20px);
}

/* ===== Image wrappers ===== */
.heat_reform-img-wrap {
	width: 100%;
	overflow: hidden;
}

.heat_reform-img-43 {
	aspect-ratio: 4 / 3;
}

.heat_reform-img-45 {
	aspect-ratio: 4 / 5;
}

.heat_reform-img-32 {
	aspect-ratio: 3 / 2;
}

.heat_reform-img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ===== Before/After Grid ===== */
.heat_reform-ba-grid {
	display: flex;
	flex-wrap: nowrap;
	gap: 20px;
	align-items: center;
	margin-bottom: 40px;
}

.heat_reform-ba-item {
	flex: 1 1 0;
	min-width: 0;
}

.heat_reform-ba-arrow {
	flex: 0 0 auto;
	text-align: center;
	padding: 0 10px;
}

.heat_reform-arrow {
	font-size: 3rem;
	color: #666;
	line-height: 1;
	display: inline-block;
}

/* ===== Gallery Grid (3カラム) ===== */
.heat_reform-grid-gallery {
	gap: 30px;
	align-items: flex-start;
	margin-top: 40px;
}

.heat_reform-gallery-item {
	flex: 0 0 calc(33.333% - 20px);
	max-width: calc(33.333% - 20px);
}


/* Insulation-pc.css ? PC用 (min-width: 960px) */
/* 単独完結: 共通スタイルも含む */

/* =============================================
   レイアウト基盤
   ============================================= */

.heat_Insulation-container {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 30px;
	padding-right: 30px;
}

.heat_Insulation-container-large {
	max-width: 1400px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 30px;
	padding-right: 30px;
}

/* =============================================
   グリッド基盤
   ============================================= */

.heat_Insulation-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	align-items: stretch;
}

.heat_Insulation-grid-miraie {
	align-items: center;
	margin-top: 40px;
}

.heat_Insulation-grid-cellulose {
	align-items: center;
}

.heat_Insulation-grid-video {
	align-items: center;
}

.heat_Insulation-grid-btn {
	align-items: stretch;
}

/* カラム幅 */
.heat_Insulation-col-large {
	flex: 0 0 calc(45% - 15px);
	max-width: calc(45% - 15px);
}

.heat_Insulation-col-icon {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
}

.heat_Insulation-col-1-3 {
	flex: 0 0 calc(33.333% - 20px);
	max-width: calc(33.333% - 20px);
}

.heat_Insulation-col-2-3 {
	flex: 0 0 calc(66.666% - 10px);
	max-width: calc(66.666% - 10px);
}

.heat_Insulation-col-btn {
	flex: 1 1 calc(50% - 15px);
}

/* flex ユーティリティ */
.heat_Insulation-flex-middle {
	display: flex;
	align-items: center;
}

.heat_Insulation-text-center {
	text-align: center;
}

/* =============================================
   Hero セクション
   ============================================= */

.heat_Insulation-hero {
	position: relative;
	padding: 140px 0;
	background-color: #fff;
}

.heat_Insulation-bg-cover {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.heat_Insulation-bg-hero {
	background-image: url('/img/Insulation/Insulation_main_bg.webp');
	margin-top: 80px;
}

.heat_Insulation-hero-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 0.16);
}

.heat_Insulation-hero-inner {
	position: relative;
	z-index: 1;
	text-align: center;
	color: #fff;
}

.heat_Insulation-hero-title {
	font-size: 2.625rem;
	font-weight: bold;
	margin: 0 0 0.5em;
	line-height: 1.3;
}

.heat_Insulation-hero-lead {
	font-size: 1rem;
	margin: 0;
	line-height: 1.6;
}

/* =============================================
   セクション共通
   ============================================= */

.heat_Insulation-section {
	padding: 70px 0;
}

.heat_Insulation-section-small {
	padding: 40px 0;
}

.heat_Insulation-section-no-bottom {
	padding-bottom: 0;
}

/* =============================================
   見出しバー（uk-tile-primary 相当）
   ============================================= */

.heat_Insulation-heading-bar {
	background-color: #3F3F41;
	color: #fff;
	padding: 10px 30px;
	margin-bottom: 10px;
}

.heat_Insulation-heading-bar-text {
	font-size: 1.25rem;
	font-weight: bold;
	margin: 0;
	line-height: 1.4;
}

/* =============================================
   タイポグラフィ
   ============================================= */

.heat_Insulation-h4 {
	font-size: 1.25rem;
	font-weight: bold;
	margin: 0 0 0.75em;
	line-height: 1.4;
}

.heat_Insulation-card-label {
	font-size: 1.25rem;
	font-weight: bold;
	margin: 0.75em 0 0.5em;
	line-height: 1.4;
}

.heat_Insulation-body-text {
	font-size: 0.875rem;
	line-height: 1.7;
	margin: 0 0 1em;
	color: #444;
}

.heat_Insulation-body-text:last-child {
	margin-bottom: 0;
}

.heat_Insulation-note-text {
	font-size: 0.9375rem;
	font-weight: normal;
}

.heat_Insulation-text-danger {
	color: #e44e56;
}

/* =============================================
   プラスアイコン
   ============================================= */

.heat_Insulation-plus-icon {
	font-size: 3rem;
	font-weight: bold;
	color: #444;
	line-height: 1;
}

/* =============================================
   画像ラッパー
   ============================================= */

.heat_Insulation-img-wrap {
	width: 100%;
	overflow: hidden;
}

.heat_Insulation-img-wrap-square {
	aspect-ratio: 745 / 707;
}

.heat_Insulation-img-wrap-wide {
	aspect-ratio: 16 / 9;
}

.heat_Insulation-img-wrap-photo {
	aspect-ratio: 400 / 286;
}

.heat_Insulation-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.heat_Insulation-img-contain {
	object-fit: contain;
}

/* =============================================
   MIRAIE 動画セクション
   ============================================= */

.heat_Insulation-section-primary {
	background-color: #3F3F41;
	color: #fff;
	position: relative;
	overflow: hidden;
}

.heat_Insulation-video-section {
	position: relative;
}

.heat_Insulation-video-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	pointer-events: none;
	z-index: 0;
}

.heat_Insulation-video-iframe {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border: none;
}

.heat_Insulation-video-content {
	position: relative;
	z-index: 1;
}

.heat_Insulation-miraie-title {
	font-size: 2rem;
	font-weight: bold;
	color: #fff;
	margin: 0 0 0.5em;
	line-height: 1.2;
}

.heat_Insulation-miraie-body {
	font-size: 0.9375rem;
	color: #fff;
	line-height: 1.7;
	margin: 0;
}

/* YouTube 埋め込み (レスポンシブ) */
.heat_Insulation-yt-wrap {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
}

.heat_Insulation-yt-iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
}

/* =============================================
   ボタン
   ============================================= */

.heat_Insulation-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
	width: 100%;
	text-decoration: none;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.4;
	transition: opacity 0.2s;
	box-sizing: border-box;
}

.heat_Insulation-btn:hover {
	opacity: 0.8;
}

.heat_Insulation-btn-default {

	background-color: #f7f7f7;
	color: #6c6d74;
	border: 1px solid transparent;
	;
}

.heat_Insulation-btn-default:hover {
	color: #2d2e33;
	background-color: transparent;
	border-color: #e5e5e7;
}

.heat_Insulation-btn-large {
	height: 55px;
	padding: 0 20px;
}

.heat_Insulation-btn-icon {
	font-size: 1.25rem;
	line-height: 1;
}

/* =============================================
   マージンユーティリティ
   ============================================= */

.heat_Insulation-mt-small {
	margin-top: 20px;
}

.heat_Insulation-mt-medium {
	margin-top: 40px;
}

.heat_Insulation-mt-large {
	margin-top: 60px;
}

/* =============================================
   パネル
   ============================================= */

.heat_Insulation-panel {
	width: 100%;
}

/* =============================================
   モーダル
   ============================================= */

.heat_Insulation-modal {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 0.7);
	z-index: 9000;
	align-items: flex-start;
	justify-content: center;
	overflow-y: auto;
	padding: 40px 20px;
	box-sizing: border-box;
}

.heat_Insulation-modal.is-open {
	display: flex;
}

.heat_Insulation-modal-inner {
	position: relative;
	background: #fff;
	max-width: 760px;
	width: 100%;
	margin: auto;
}

.heat_Insulation-modal-img {
	width: 100%;
	display: block;
}

.heat_Insulation-modal-close {
	position: absolute;
	top: -40px;
	right: 0;
	background: none;
	border: none;
	color: #fff;
	font-size: 2rem;
	cursor: pointer;
	line-height: 1;
	padding: 0;
}

.heat_Insulation-modal-toggle {
	display: block;
	cursor: pointer;
}


/* smart-pc.css ? PC用 (min-width: 960px) */

/* ============================================================
   コンテナ
   ============================================================ */
.heat_smart-container {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 30px;
	padding-right: 30px;
}

/* ============================================================
   ヒーロー
   ============================================================ */
.heat_smart-hero {
	position: relative;
	padding: 140px 0;
	background-color: #fff;
}

.heat_smart-bg-cover {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.heat_smart-bg-hero {
	background-image: url('/img/smart/smart_main_bg.webp');
	margin-top: 80px;
}

.heat_smart-hero-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.22);
}

.heat_smart-hero-inner {
	position: relative;
	z-index: 1;
	text-align: center;
}

.heat_smart-hero-title {
	margin: 0 0 16px;
	font-size: 2.625rem;
	font-weight: bold;
	color: #fff;
	line-height: 1.3;
}

.heat_smart-hero-sub {
	font-size: 1rem;
	color: #fff;
	text-align: center;
}

/* ============================================================
   セクション共通
   ============================================================ */
.heat_smart-section {
	padding: 40px 0;
}

.heat_smart-section-intro {
	padding-bottom: 0;
}

/* ============================================================
   タイル見出し
   ============================================================ */
.heat_smart-tile {
	padding: 10px 30px;
	margin-bottom: 30px;
}

.heat_smart-tile-primary {
	background-color: #3F3F41;
	color: #fff;
}

.heat_smart-tile-secondary {
	background-color: #222;
	color: #fff;
}

.heat_smart-tile-heading {
	margin: 0;
	font-size: 1.25rem;
	font-weight: bold;
	color: inherit;
	line-height: 1.4;
}

/* ============================================================
   グリッド
   ============================================================ */
.heat_smart-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	align-items: center;
}

/* イントロ: 左右均等 */
.heat_smart-grid-intro>.heat_smart-col-text,
.heat_smart-grid-intro>.heat_smart-col-img {
	flex: 1 1 0;
	min-width: 0;
}

/* フィーチャー: 2/3 + 1/3 */
.heat_smart-col-2-3 {
	flex: 0 0 calc(66.6667% - 15px);
	max-width: calc(66.6667% - 15px);
}

.heat_smart-col-1-3 {
	flex: 0 0 calc(33.3333% - 15px);
	max-width: calc(33.3333% - 15px);
}

/* ============================================================
   本文
   ============================================================ */
.heat_smart-body {
	font-size: 0.875rem;
	line-height: 1.8;
	color: #666;
}

.heat_smart-accent {
	color: #e44e56;
}

.heat_smart-text-center {
	text-align: center;
}

/* ============================================================
   画像ラッパー
   ============================================================ */
.heat_smart-img-wrap {
	overflow: hidden;
}

.heat_smart-img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.heat_smart-img-wrap-intro {
	aspect-ratio: 532 / 261;
}

.heat_smart-img-wrap-feature {
	aspect-ratio: 4 / 3;
}

.heat_smart-img-wrap-hems {
	aspect-ratio: 1 / 1;
}

/* civil-pc.css ? PC用 (min-width: 960px) */

/* ===========================
   共通・コンテナ
=========================== */
.heat_civil-container {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 30px;
	padding-right: 30px;
}

.heat_civil-relative {
	position: relative;
}

/* ===========================
   Section 共通
=========================== */
.heat_civil-section {
	padding-top: 40px;
	padding-bottom: 40px;
}

.heat_civil-section-pb0 {
	padding-top: 40px;
	padding-bottom: 0;
}

/* ===========================
   Hero バナー
=========================== */
.heat_civil-section-hero {
	position: relative;
	padding-top: 140px;
	padding-bottom: 140px;
	background-color: #fff;
}

.heat_civil-bg-cover {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.heat_civil-bg-hero {
	background-image: url('/img/civil/civil_main_bg.webp');
	margin-top: 80px;
}

.heat_civil-overlay-dark {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 0.21);
}

.heat_civil-hero-inner {
	position: relative;
	text-align: center;
}

.heat_civil-hero-title {
	margin: 0 0 0.5em;
	font-size: 2.625rem;
	font-weight: bold;
	color: #fff;
	line-height: 1.3;
}

.heat_civil-hero-lead {
	font-size: 1rem;
	color: #fff;
	text-align: center;
}

/* ===========================
   タイル（見出し帯）
=========================== */
.heat_civil-tile-primary {
	background-color: #3F3F41;
	color: #fff;
	padding: 15px 30px;
	margin-bottom: 30px;
}

.heat_civil-tile-muted {
	background-color: #F7F7F7;
	padding: 15px 30px;
	margin-bottom: 20px;
}

.heat_civil-section-heading {
	margin: 0;
	font-size: 1.25rem;
	font-weight: bold;
	line-height: 1.4;
}

.heat_civil-tile-primary .heat_civil-section-heading {
	color: #fff;
}

/* ===========================
   本文テキスト
=========================== */
.heat_civil-body-text {
	font-size: 0.875rem;
	line-height: 1.8;
	color: #666;
	padding: 20px 0 30px;
}

.heat_civil-text-accent {
	color: #e44e56;
}

.heat_civil-caption {
	font-size: 0.875rem;
	color: #666;
	margin-bottom: 15px;
}

/* ===========================
   工事種別見出し
=========================== */
.heat_civil-work-heading {
	font-size: 1.25rem;
	font-weight: bold;
	color: #333;
	margin: 0 0 15px;
	line-height: 1.4;
}

/* ===========================
   グリッド
=========================== */
.heat_civil-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

.heat_civil-grid-3col .heat_civil-grid-item {
	width: calc((100% - 40px) / 3);
}

.heat_civil-grid-3col .heat_civil-work-col {
	width: calc((100% - 40px) / 3);
}

.heat_civil-grid-mt {
	margin-top: 40px;
}

/* ===========================
   フィギュア（画像）
=========================== */
.heat_civil-figure {
	margin: 0;
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.heat_civil-figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.3s ease;
}

.heat_civil-figure-link {
	display: block;
	width: 100%;
	height: 100%;
}

.heat_civil-figure-link:hover img {
	transform: scale(1.05);
}


/* facility-pc.css ? PC用 (min-width: 960px) 単独完結 */

/* ============================================================
   ヒーロー
   ============================================================ */
.heat_facility-hero {
	position: relative;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	padding: 140px 0;
	min-height: 400px;
	display: flex;
	align-items: center;
}

.heat_facility-bg-hero {
	background-image: url('/img/restaurant/facility_main_bg.webp');
	margin-top: 80px;
}

.heat_facility-hero-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 0.24);
}

.heat_facility-relative {
	position: relative;
}

.heat_facility-hero-inner {
	text-align: center;
	color: #fff;
	position: relative;
	z-index: 1;
}

.heat_facility-hero-title {
	font-size: 2.625rem;
	font-weight: bold;
	margin: 0 0 1rem;
	line-height: 1.3;
	color: #fff;
}

.heat_facility-hero-desc {
	font-size: 1rem;
	color: #fff;
}

/* ============================================================
   コンテナ
   ============================================================ */
.heat_facility-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

/* ============================================================
   セクション
   ============================================================ */
.heat_facility-section {
	padding: 40px 0;
}

.heat_facility-section-intro {
	padding-bottom: 0;
}

/* ============================================================
   タイル（見出し背景）
   ============================================================ */
.heat_facility-tile-primary {
	background-color: #3F3F41;
	color: #fff;
	padding: 10px 30px;
	margin-bottom: 20px;
}

.heat_facility-tile-muted {
	background-color: #f7f7f7;
	padding: 10px 30px;
	margin-bottom: 10px;
}

/* ============================================================
   見出し
   ============================================================ */
.heat_facility-section-heading {
	font-size: 1.25rem;
	font-weight: bold;
	margin: 0;
	line-height: 1.4;
}

.heat_facility-tile-primary .heat_facility-section-heading {
	color: #fff;
}

.heat_facility-subsection-heading {
	font-size: 1rem;
	font-weight: bold;
	margin: 20px 0 10px;
}

/* ============================================================
   本文・注記
   ============================================================ */
.heat_facility-intro-body {
	padding: 20px 0;
	font-size: 0.875rem;
	line-height: 1.8;
	color: #666;
}

.heat_facility-note {
	font-size: 0.875rem;
	color: #666;
	margin-bottom: 15px;
}

/* ============================================================
   ギャラリーグリッド
   ============================================================ */
.heat_facility-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}

.heat_facility-grid-gallery {
	/* 3列グリッド */
}

.heat_facility-grid-gallery .heat_facility-grid-item {
	width: calc((100% - 30px) / 3);
}

/* ============================================================
   フィギュア・画像
   ============================================================ */
.heat_facility-figure {
	margin: 0;
	overflow: hidden;
	aspect-ratio: 4 / 3;
}

.heat_facility-gallery-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.3s ease;
}

.heat_facility-lightbox-link:hover .heat_facility-gallery-img {
	transform: scale(1.05);
}

.heat_facility-lightbox-link {
	display: block;
	width: 100%;
	height: 100%;
}


@charset "UTF-8";

/* ===========================================
   exterior-pc.css : PC用CSS (min-width: 960px)
   =========================================== */

/* ベース */
.heat_exterior-container {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 30px;
	padding-right: 30px;
	box-sizing: border-box;
}

.heat_exterior-section {
	padding-top: 40px;
	padding-bottom: 40px;
}

.heat_exterior-section-pb0 {
	padding-bottom: 0;
}

.heat_exterior-relative {
	position: relative;
}

.heat_exterior-text-center {
	text-align: center;
}

/* テキストアクセントカラー */
.heat_exterior-text-accent {
	color: #e44e56;
}

/* 背景画像共通 */
.heat_exterior-bg-cover {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

/* ===== ヒーローセクション ===== */
.heat_exterior-hero-wrap {
	position: relative;
	color: #fff;
}

.heat_exterior-hero {
	position: relative;
	padding-top: 140px;
	padding-bottom: 140px;
	background-color: #fff;
}

.heat_exterior-bg-hero {
	background-image: url('/img/exterior/exterior_main_bg.webp');
	margin-top: 80px;
}

.heat_exterior-overlay {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: rgba(0, 0, 0, 0.23);
}

.heat_exterior-hero-title {
	margin: 0;
	text-align: center;
	color: #fff;
	font-size: 2.625rem;
	font-weight: bold;
	line-height: 1.3;
	letter-spacing: 0.05em;
}

.heat_exterior-hero-lead {
	margin-top: 20px;
	text-align: center;
	color: #fff;
	font-size: 1rem;
	line-height: 1.7;
}

/* ===== タイル（見出しブロック） ===== */
.heat_exterior-tile {
	padding: 20px 30px;
	box-sizing: border-box;
}

.heat_exterior-tile-primary {
	background-color: #3F3F41;
	color: #fff;
}

.heat_exterior-tile-secondary {
	background-color: #330000;
	color: #fff;
}

.heat_exterior-tile-muted {
	background-color: #F7F7F7;
	color: #333;
}

.heat_exterior-tile-title {
	margin: 0;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1.4;
}

/* ===== リード文ブロック ===== */
.heat_exterior-lead-block {
	margin-top: 40px;
	font-size: 1rem;
	line-height: 1.8;
	color: #333;
}

/* ===== メリット行 ===== */
.heat_exterior-merit-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 30px;
	margin-top: 50px;
}

.heat_exterior-merit-text {
	flex: 0 0 calc(66.6666% - 15px);
	max-width: calc(66.6666% - 15px);
	box-sizing: border-box;
}

.heat_exterior-merit-img {
	flex: 0 0 calc(33.3333% - 15px);
	max-width: calc(33.3333% - 15px);
	box-sizing: border-box;
	text-align: center;
}

.heat_exterior-merit-img img {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
}

.heat_exterior-merit-title {
	margin: 0 0 15px 0;
	font-size: 1.25rem;
	font-weight: bold;
	color: #f0506e;
	line-height: 1.5;
}

.heat_exterior-merit-desc {
	font-size: 1rem;
	line-height: 1.8;
	color: #333;
}

/* ===== ギャラリー ===== */
.heat_exterior-gallery-note {
	margin-top: 20px;
	margin-bottom: 20px;
	font-size: 0.875rem;
	color: #666;
}

.heat_exterior-gallery-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 25px;
	margin-top: 20px;
}

.heat_exterior-gallery-item {
	flex: 0 0 calc(33.3333% - 17px);
	max-width: calc(33.3333% - 17px);
	box-sizing: border-box;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	position: relative;
}

.heat_exterior-gallery-item a {
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.heat_exterior-gallery-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.3s ease;
}

.heat_exterior-gallery-item a:hover img {
	transform: scale(1.05);
}


@charset "UTF-8";

/* ============================
   PC用 (960px以上)
============================ */

/* base reset */
.heat_insurance-hero,
.heat_insurance-hero *,
.heat_insurance-section,
.heat_insurance-section * {
	box-sizing: border-box;
}

/* テキスト共通 */
.heat_insurance-text-center {
	text-align: center;
}

.heat_insurance-text-danger {
	color: #e44e56;
}

/* container */
.heat_insurance-container {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 30px;
	padding-right: 30px;
}

.heat_insurance-relative {
	position: relative;
}

/* ============================
   ヒーローセクション
============================ */
.heat_insurance-bg-cover {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	position: relative;
}

.heat_insurance-bg-hero {
	background-image: url('/img/insurance/insurance_main_bg.webp');
	background-color: #fff;
	padding-top: 40px;
	padding-bottom: 40px;
	min-height: 500px;
	display: flex;
	align-items: center;
	margin-top: 80px;
}

.heat_insurance-overlay {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: rgba(0, 0, 0, 0.21);
}

.heat_insurance-hero-inner {
	position: relative;
	z-index: 2;
	color: #fff;
	width: 100%;
}

.heat_insurance-hero-title {
	font-size: 2.625rem;
	font-weight: 700;
	text-align: center;
	margin: 0 0 20px;
	color: #fff;
	line-height: 1.4;
}

.heat_insurance-hero-sub {
	text-align: center;
	color: #fff;
	font-size: 1rem;
	line-height: 1.6;
}

/* ============================
   セクション
============================ */
.heat_insurance-section {
	padding-top: 70px;
	padding-bottom: 70px;
	background-color: #fff;
}

.heat_insurance-section-no-pb {
	padding-bottom: 0;
}

/* ============================
   タイル（タイトル帯）
============================ */
.heat_insurance-tile {
	padding: 30px;
	margin-bottom: 50px;
}

.heat_insurance-tile-primary {
	background-color: #3F3F41;
	color: #fff;
}

.heat_insurance-tile-secondary {
	background-color: #330000;
	color: #fff;
}

.heat_insurance-tile-title {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.4;
	margin: 0;
	color: #fff;
}

/* リード文 */
.heat_insurance-lead {
	font-size: 1rem;
	line-height: 1.7;
	color: #666;
}

/* ============================
   グリッド（メリット）
============================ */
.heat_insurance-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	align-items: center;
}

.heat_insurance-merit {
	margin-bottom: 50px;
}

.heat_insurance-merit:last-child {
	margin-bottom: 0;
}

.heat_insurance-col-2-3 {
	flex: 0 0 calc(66.6667% - 15px);
	max-width: calc(66.6667% - 15px);
}

.heat_insurance-col-1-3 {
	flex: 0 0 calc(33.3333% - 15px);
	max-width: calc(33.3333% - 15px);
}

.heat_insurance-panel {
	width: 100%;
}

.heat_insurance-merit-title {
	font-size: 1.25rem;
	font-weight: 700;
	color: #e44e56;
	line-height: 1.5;
	margin: 0 0 15px;
}

.heat_insurance-merit-text {
	font-size: 1rem;
	line-height: 1.7;
	color: #666;
}

/* 画像 */
.heat_insurance-img-wrap {
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	text-align: center;
}

.heat_insurance-img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* ============================
   勧誘方針
============================ */
.heat_insurance-heading-bullet {
	font-size: 1.5rem;
	font-weight: 700;
	color: #333;
	padding-left: 15px;
	border-left: 5px solid #1e87f0;
	line-height: 1.4;
	margin: 0 0 25px;
}

.heat_insurance-h4 {
	font-size: 1.25rem;
	font-weight: 700;
	color: #333;
	line-height: 1.5;
	margin: 0 0 25px;
}

.heat_insurance-policy {
	font-size: 1rem;
	line-height: 1.7;
	color: #666;
}

.heat_insurance-policy p {
	margin: 0 0 15px;
}

.heat_insurance-policy p:last-child {
	margin-bottom: 0;
}