@charset "utf-8";

/* =====================================================
	みらいエコ住宅2026事業 LP - common.css
	添付フライヤーデザイン（グリーン×オレンジ×クリーム）を
	そのまま反映した新規スタイルシートです。
	旧common.cssの構造・配色は一切引き継いでいません。
===================================================== */

	/* Google Fonts
	------------------------------*/
	@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;800;900&display=swap');

/* ---------------------------------------------------
	デザイントークン
------------------------------------------------------ */
	:root{
		/* カラー：フライヤー画像から抽出 */
		--green-dark:#2e6b4f;     /* バッジ／見出し／濃いグリーン */
		--green:#3c8562;          /* アイコン／チェックマーク */
		--green-light:#eaf3ee;    /* アイコン背景／淡いグリーン */
		--cream:#faf6ee;          /* セクション背景（明） */
		--cream-deep:#f3ecd9;     /* セクション背景（濃） */
		--orange:#f0923a;         /* CTAボタン */
		--orange-dark:#e2792a;    /* 強調数値／ボタングラデーション */
		--ink:#2b2b26;            /* 本文色 */
		--ink-soft:#5c584f;       /* 補足テキスト */
		--line:#e4ded0;           /* 罫線・ボーダー */
		--white:#ffffff;
		--red:#e64545;            /* エラー・必須表示など機能色 */

		--font-size:16;
		--header-height:84;
	}

/* ---------------------------------------------------
	リセット
------------------------------------------------------ */
	*{ box-sizing:border-box; }
	html{ scroll-behavior:smooth; }
	h1,h2,h3,h4,h5{ margin:0; font-weight:inherit; }
	ul,ol{ list-style:none; margin:0; padding:0; }
	dl,dt,dd{ margin:0; padding:0; }
	p{ margin:0; }
	a{ text-decoration:none; color:inherit; }
	button{ font:inherit; border:none; background:none; cursor:pointer; }
	figure{ margin:0; }
	figure img,
	img{ max-width:100%; height:auto; display:block; }

/* ---------------------------------------------------
	共通
------------------------------------------------------ */
	body{
		font-family:'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
		font-size:16px;
		font-weight:400;
		line-height:1.8;
		color:var(--ink);
		background:var(--cream);
		margin:0;
		font-feature-settings:"palt";
		padding-top:calc(var(--header-height) * 1px);
	}

	#contents_wrap{
		width:100%;
		overflow:hidden;
		margin:0 auto;
	}
	.inner{
		max-width:1140px;
		width:100%;
		margin:0 auto;
		padding:0 30px;
	}
	.inner.inner-lg{
		max-width:1140px;
	}

	/* PC / SP 表示切替
	------------------------------*/
	.sp{ display:none !important; }
	.pc{ display:block !important; }

	/* セクション共通
	------------------------------*/
	section{
		padding:60px 0;
	}
	section.bg{
		background:var(--cream-deep);
	}

	/* セクション見出し
	------------------------------*/
	.sec_title,
	.sub-sec_title{
		text-align:center;
		font-size:24px;
		font-weight:800;
		color:var(--green-dark);
		letter-spacing:0.02em;
		margin-bottom:36px;
		position:relative;
	}
	.sec_title::before,.sec_title::after,
	.sub-sec_title::before,.sub-sec_title::after{
		content:"";
		display:inline-block;
		width:36px;
		height:3px;
		background:var(--line);
		vertical-align:middle;
		margin:0 16px 6px;
	}
	.sec_title .bubble{
		display:flex;
		align-items:center;
		justify-content:center;
		width:max-content;
		margin:0 auto 0.7em;
		background:var(--green-dark);
		color:var(--white);
		font-size:14px;
		font-weight:700;
		letter-spacing:0.03em;
		padding:0.4em 1.2em;
		border-radius:4px;
	}

/* ---------------------------------------------------
	header
------------------------------------------------------ */
	header{
		position:fixed;
		top:0; left:0;
		width:100%;
		z-index:999;
		background:var(--white);
		border-bottom:1px solid var(--line);
	}
	header .inner{
		display:flex;
		justify-content:space-between;
		align-items:center;
		height:calc(var(--header-height) * 1px);
		gap:20px;
	}
	header .logo{
		flex:0 0 auto;
		margin-right: auto;
	}
	header .logo img{
		height:40px;
		width:auto;
	}
	header .logo a{ transition:opacity 0.2s; }
	@media (hover:hover){
		header .logo a:hover{ opacity:0.8; }
	}

	/* PC ナビ
	------------------------------*/
	nav#gnavPc{ margin-right:10px; }
	nav#gnavPc ul{
		display:flex;
		align-items:center;
		gap:20px;
	}
	nav#gnavPc ul li a{
		font-size:14px;
		font-weight:700;
		color:var(--ink);
		transition:color 0.2s;
	}
	nav#gnavPc ul li a:hover{
		color:var(--green-dark);
	}

	/* リンクボタン（お問い合わせ／電話）
	------------------------------*/
	header .link{
		display:flex;
		align-items:center;
		gap:10px;
	}
	header .link a.link-contact{
		display:flex;
		align-items:center;
		justify-content:center;
		background:linear-gradient(135deg, var(--orange-dark) 0%, var(--orange) 100%);
		color:var(--white);
		font-size:14px;
		font-weight:700;
		letter-spacing:0.02em;
		padding:0 22px;
		height:46px;
		border-radius:40px;
		white-space:nowrap;
		transition:opacity 0.2s;
	}
	@media (hover:hover){
		header .link a:hover{ opacity:0.8; }
	}
	header .link-tel{
		text-align:center;
	}
	header .link-tel .message{
		display:block;
		font-size:11px;
		font-weight:700;
		color:var(--ink-soft);
	}
	header .link-tel .tel{
		display:flex;
		align-items:center;
		gap:4px;
		font-size:22px;
		font-weight:800;
		color:var(--orange-dark);
		line-height:1.2;
	}
	header .link-tel .tel:before{
		content:"\f095"; /* fa-phone */
		font-family:"Font Awesome 6 Free";
		font-weight:900;
		font-size:0.7em;
		color:var(--green-dark);
	}

	/* LinkBtn（サイドLPへの誘導ボタン／SP用）
	------------------------------*/
	.LinkBtn a{
		display:flex;
		align-items:center;
		gap:6px;
		padding:6px 12px;
		border:2px solid var(--green);
		border-radius:30px;
		font-size:11px;
		font-weight:700;
		color:var(--green-dark);
		line-height:1.4;
	}

	/* ハンバーガーメニュー
	------------------------------*/
	header #gnav,
	header .toggle-gnav{
		display:none;
	}
	header #gnav{
		position:fixed;
		top:0; left:100%; bottom:0;
		width:100%;
		z-index:998;
		background:var(--white);
		padding:calc(var(--header-height) * 1px) 6vw 6vw;
		transition:left 0.25s ease;
		overflow-y:auto;
	}
	header #gnav ul li a{
		display:block;
		font-size:16px;
		font-weight:700;
		padding:1em 0.2em;
		border-bottom:1px solid var(--line);
		color:var(--ink);
	}
	header .toggle-gnav{
		position:relative;
		z-index:999;
		width:40px;
		height:40px;
		align-items:center;
		justify-content:center;
	}
	header .toggle-gnav .icon,
	header .toggle-gnav .icon:before,
	header .toggle-gnav .icon:after{
		width:22px;
		height:2px;
		display:block;
		background:var(--ink);
		border-radius:2px;
		transition:all 0.2s;
	}
	header .toggle-gnav .icon{ position:relative; }
	header .toggle-gnav .icon:before,
	header .toggle-gnav .icon:after{
		content:"";
		position:absolute;
		left:0;
	}
	header .toggle-gnav .icon:before{ top:-7px; }
	header .toggle-gnav .icon:after{ top:7px; }

	body.menu-active{ overflow:hidden; }
	body.menu-active header #gnav{ left:0; }
	body.menu-active header .toggle-gnav .icon{ background:transparent; }
	body.menu-active header .toggle-gnav .icon:before{ top:0; rotate:45deg; }
	body.menu-active header .toggle-gnav .icon:after{ top:0; rotate:-45deg; }

/* ---------------------------------------------------
	#main_image（ヒーロー）
------------------------------------------------------ */
	.subsidy-fv{
		padding:60px 0;
		background:var(--cream);
	}
	.subsidy-fv .inner{
		display:flex;
		align-items:center;
		justify-content:space-between;
		gap:50px;
	}
	.subsidy-fv .fv_text{ width:55%; }
	.subsidy-fv .fv_image{ width:45%; }
	.subsidy-fv .fv_image img{
		width:100%;
		border-radius:16px;
	}
	.subsidy-fv .campaign{
		display:inline-block;
		background:var(--green-dark);
		color:var(--white);
		padding:8px 16px;
		border-radius:3px;
		font-size:16px;
		font-weight:700;
		letter-spacing:0.02em;
		margin-bottom:18px;
	}
	.subsidy-fv h1{
		font-size:56px;
		line-height:1.4;
		font-weight:800;
		color:var(--green-dark);
		margin-bottom:18px;
	}
	.subsidy-fv .lead{
		font-size:16px;
		line-height:1.9;
		color:var(--ink-soft);
		margin-bottom:26px;
	}
	.subsidy_point{
		display:flex;
		gap:12px;
		margin-bottom:26px;
	}
	.subsidy_point .point{
		flex:1;
    display:flex;
    flex-direction:column;
    background:var(--white);
    padding:16px 10px;
    border-radius:10px;
    box-shadow:0 3px 10px rgba(46,107,79,.08);
    text-align:center;
	}
	.subsidy_point .label{
		display:block;
    font-size:16px;
    color:var(--ink-soft);
    font-weight:bold;
    min-height:1em;   /* ラベル高さを揃える(2行分) */
    flex-shrink:0;      /* labelの高さは変えない */
	}
	.subsidy_point .value{
		display:flex;
    flex:1;                 /* 残りスペースをvalueが占有 */
    align-items:center;     /* valueを縦方向中央に */
    justify-content:center;
    font-size:20px;
    font-weight:800;
    color:var(--orange-dark);
    line-height:1.5rem;
	}
	.fv_btn a{
		display:inline-flex;
		align-items:center;
		gap:8px;
		background:var(--orange);
		color:var(--white);
		font-size:16px;
		font-weight:700;
		padding:16px 28px;
		border-radius:6px;
		box-shadow:0 4px 10px rgba(240,146,58,.35);
		transition:opacity 0.2s;
	}
	.subsidy_point .value strong {
		font-size: 28px;
		padding-bottom: 5px;
	}
	@media (hover:hover){
		.fv_btn a:hover{ opacity:0.85; }
	}

/* ---------------------------------------------------
	#subsidy_about（住宅省エネ2026キャンペーンとは）
------------------------------------------------------ */
	#subsidy_about{
		background:var(--cream-deep);
	}
	#subsidy_about .intro_text{
		max-width:800px;
		margin:0 auto 44px;
		text-align:center;
		font-size:16px;
		line-height:2;
		color:var(--ink-soft);
	}
	.reform_list{
		display:flex;
		flex-direction:column;
		gap:30px;
	}
	.reform_list li{
		display:flex;
		align-items:center;
		gap:30px;
	}
	.reform_list li:nth-child(even){
		flex-direction:row-reverse;
	}
	.reform_list figure{
		flex:0 0 38%;
		background:var(--white);
		border-radius:14px;
		overflow:hidden;
		box-shadow:0 3px 12px rgba(46,107,79,.08);
		padding: 20px;
	}
	.reform_list dl{ flex:1; }
	.reform_list dt{
		font-size:20px;
		font-weight:800;
		line-height:1.5;
		color:var(--green-dark);
		margin-bottom:10px;
	}
	.reform_list dd{
		font-size:16px;
		line-height:1.9;
		color:var(--ink-soft);
	}
	.campaign_note{
		margin-top:60px;
		padding:26px 28px;
		background:var(--white);
		border-left:5px solid var(--orange);
		border-radius:8px;
	}
	.campaign_note p{
		font-size:16px;
		line-height:1.9;
		color:var(--ink-soft);
	}

/* ---------------------------------------------------
	#subsidy_point_detail（まず知っておきたいポイント）
------------------------------------------------------ */
	.point-warning{
		background:var(--cream-deep);
		border-radius:10px;
		padding:26px 28px;
		margin-bottom:18px;
		text-align: center;
	}
	.point-warning h3{
		font-size:18px;
		font-weight:700;
		margin-bottom:6px;
	}
	.point-warning .highlight{
		display:block;
		color:var(--orange-dark);
		font-size:24px;
		font-weight:800;
		margin-bottom:10px;
	}
	.point-warning p{
		font-size:16px;
		line-height:1.9;
		color:var(--ink-soft);
	}
	.point-flow{
		display:flex;
		align-items:stretch;
		gap:8px;
	}
	.point-card{
		flex:1;
		background:var(--white);
		border:1px solid var(--line);
		border-radius:10px;
		padding:16px 12px 20px;
		text-align:center;
	}
	.point-card .tag{
		display:inline-block;
		background:var(--green-light);
		color:var(--green-dark);
		font-size:16px;
		font-weight:700;
		padding:5px 10px;
		border-radius:4px;
		margin-bottom:14px;
		line-height: 1.5rem;
		height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
	}
	.icon-row{
		display:flex;
		justify-content:center;
		gap:14px;
	}
	.icon-item{
		display:flex;
		flex-direction:column;
		align-items:center;
		gap:6px;
	}
	.icon-item svg{
		width:30px;
		height:30px;
		stroke:var(--green-dark);
	}
	.icon-item i{
		font-size: 28px;
		color:var(--green-dark);
	}
	.icon-item span{
		font-size:14px;
		line-height:1.4;
		color:var(--ink-soft);
	}
	.point-arrow{
		display:flex;
		align-items:center;
		justify-content:center;
		flex:0 0 18px;
		color:var(--line);
		font-size:35px;
	}

/* ---------------------------------------------------
	#subsidy_amount（築年数によって補助額・必要工事が変わります）
------------------------------------------------------ */
	.year-tables{
		display:flex;
		gap:16px;
	}
	.year-table{
		flex:1;
		border:1px solid var(--line);
		border-radius:10px;
		overflow:hidden;
	}
	.year-table .yhead{
		background:var(--green-dark);
		color:var(--white);
		text-align:center;
		font-size:18px;
		font-weight:700;
		padding:11px;
	}
	.ycols{ display:flex; }
	.ycol{
		flex:1;
		background:var(--white);
		padding:16px 20px;
	}
	.ycol:first-child{
		border-right:1px solid var(--line);
	}
	.ycol h4{
		font-size:16px;
		font-weight:700;
		text-align:center;
		color:var(--green-dark);
		margin-bottom:10px;
	}
	.ycol ul{
		font-size:16px;
		color:var(--ink-soft);
		margin-bottom:14px;
	}
	.ycol ul li{
		position:relative;
		padding-left:16px;
		margin-bottom:5px;
	}
	.ycol ul li::before{
		content:"✓";
		position:absolute;
		left:0;
		color:var(--green);
		font-weight:700;
	}
	.ycol .cap{
		text-align:center;
		font-size:14px;
		color:var(--ink-soft);
		margin-bottom:2px;
		line-height: 1;
	}
	.ycol .amount{
		text-align:center;
		font-size:18px;
		font-weight:800;
	}
	.ycol .amount strong {
		font-size:24px;
		font-weight:800;
		color:var(--orange-dark);
	}
	.ycol .amount span{
		font-size:16px;
		color:var(--ink);
		color:var(--orange-dark);
	}
	.year-note{
		font-size:16px;
		line-height:1.8;
		color:var(--ink-soft);
		margin-top:14px;
	}
	.ycols .ycol:nth-child(2) ul {
    padding-bottom: 28px;
	}

/* ---------------------------------------------------
	#subsidy_flow（補助金を受けるまでの流れ）
------------------------------------------------------ */
	.flow-steps{
		display:flex;
		align-items:flex-start;
		gap:6px;
	}
	.flow-step{
		flex:1;
		text-align:center;
		background: #fff;
    padding: 15px;
    border-radius: 15px;
    border: 1px solid var(--line);
	}
	.step-num{
		width:26px;
		height:26px;
		margin:0 auto 12px;
		display:flex;
		align-items:center;
		justify-content:center;
		background:var(--green-dark);
		color:var(--white);
		font-size:14px;
		font-weight:700;
		border-radius:50%;
	}
	.step-icon{
		width:78px;
		height:78px;
		margin:0 auto 12px;
		display:flex;
		align-items:center;
		justify-content:center;
		background:var(--green-light);
		border-radius:12px;
	}
	.step-icon svg{
		width:34px;
		height:34px;
		stroke:var(--green-dark);
	}
	.flow-step h5{
		font-size:16px;
		font-weight:700;
		margin-bottom:6px;
	}
	.flow-step p{
		font-size:16px;
		line-height:1.7;
		color:var(--ink-soft);
	}
	.flow-arrow{
		flex:0 0 14px;
		padding-top:110px;
		color:var(--line);
		font-size:30px;
	}

/* ---------------------------------------------------
	#subsidy_work（対象となる主な工事）
------------------------------------------------------ */
	.work-grid{
		display:grid;
		grid-template-columns:repeat(3,2fr);
		gap:10px;
	}
	.work-card{
		background:var(--white);
		border:1px solid var(--line);
		border-radius:10px;
		padding:18px 8px;
		text-align:center;
	}
	.work-card .wicon{
		width:52px;
		height:52px;
		margin:0 auto 10px;
		display:flex;
		align-items:center;
		justify-content:center;
		background:var(--green-light);
		border-radius:50%;
	}
	.work-card .wicon svg{
		width:24px;
		height:24px;
		stroke:var(--green-dark);
	}
	.work-card .wicon i{
		color:var(--green-dark);
		font-size: 30px;
	}
	.work-card .wicon img {
		max-width: 65%;
    height: auto;
    display: block;
    margin: 0 auto;
	}
	.work-card h5{
		font-size:16px;
		font-weight:700;
		margin-bottom:6px;
	}
	.work-card p{
		font-size:16px;
		line-height:1.6;
		color:var(--ink-soft);
	}

/* ---------------------------------------------------
	#subsidy_example（人気の補助金活用例）
------------------------------------------------------ */
	.example-grid{
		display:flex;
		gap:18px;
	}
	.example{
		flex:1;
		text-align:center;
	}
	.example-imgs{
		display:flex;
		align-items:center;
		gap:8px;
		margin-bottom:10px;
	}
	.example-imgs img{
		flex:1;
		width:100%;
		height:110px;
		object-fit:cover;
		border-radius:8px;
	}
	.example-imgs .plus{
		flex:0 0 auto;
		font-size:18px;
		color:var(--ink-soft);
	}
	.example h5{
		font-size:16px;
		font-weight:700;
		margin-bottom:6px;
	}
	.example p{
		font-size:16px;
		line-height:1.7;
		color:var(--ink-soft);
	}
	.example-note{
		text-align:center;
		font-size:14px;
		color:var(--ink-soft);
		margin-top:16px;
	}

/* ---------------------------------------------------
	#subsidy_faq（よくあるご質問）
------------------------------------------------------ */
	.faq-grid{
		display:grid;
		grid-template-columns:1fr 1fr;
		gap:12px 20px;
		align-items:start; /* ← これを追加 */
	}
	.faq-item{
		background:var(--white);
		border:1px solid var(--line);
		border-radius:8px;
		overflow:hidden;
	}
	.faq-item summary{
		display:flex;
		align-items:center;
		justify-content:space-between;
		gap:10px;
		padding:14px 16px;
		font-size:16px;
		color:var(--ink);
		cursor:pointer;
		list-style:none;
	}
	.faq-item summary::-webkit-details-marker{
		display:none;
	}
	.faq-item .q{
		display:flex;
		align-items:center;
		gap:10px;
	}
	.faq-item .qmark{
		flex:0 0 auto;
		width:30px;
		height:30px;
		display:flex;
		align-items:center;
		justify-content:center;
		background:var(--green-light);
		color:var(--green-dark);
		font-size:16px;
		font-weight:800;
		border-radius:50%;
	}
	.faq-item .chev{
		color:var(--ink-soft);
		font-size:16px;
		transition:transform 0.2s;
	}
	.faq-item[open] .chev{
		transform:rotate(180deg);
	}
	.faq-item .a{
		padding:12px 16px 16px 46px;
		font-size:16px;
		line-height:1.8;
		color:var(--ink-soft);
		border-top:1px solid var(--line);
	}

/* ---------------------------------------------------
	診断CTAバー（フッター直上）
------------------------------------------------------ */
	.subsidy-footer-cta{
		background:var(--cream-deep);
		padding:26px 60px;
	}
	.subsidy-footer-cta .fc-inner{
		display:flex;
		align-items:center;
		justify-content: flex-end;
		gap: 20px;
		flex-wrap:wrap;
	}
	.subsidy-footer-cta .fc-text{
		font-size:16px;
		font-weight:700;
		line-height:1.6;
		color:var(--green-dark);
		margin-right: auto;
	}
	.subsidy-footer-cta .fc-phone{
		text-align:center;
	}
	.subsidy-footer-cta .fc-phone .num{
		display:flex;
		align-items:center;
		justify-content:center;
		gap:7px;
		font-size:23px;
		font-weight:800;
		color:var(--green-dark);
		white-space:nowrap;
	}
	.subsidy-footer-cta .fc-phone .num i{
		font-size:20px;
		color:var(--orange-dark);
	}
	.subsidy-footer-cta .fc-phone .num a{ color:inherit; }
	.subsidy-footer-cta .fc-phone .hours{
		font-size:16px;
		color:var(--ink-soft);
		margin-top:2px;
	}
	.subsidy-footer-cta .fc-btn{
		display:inline-flex;
		align-items:center;
		gap:8px;
		background:var(--orange);
		color:var(--white);
		font-size:16px;
		font-weight:700;
		padding:14px 22px;
		border-radius:6px;
		white-space:nowrap;
		box-shadow:0 4px 10px rgba(240,146,58,.35);
		transition:opacity 0.2s;
	}
	@media (hover:hover){
		.subsidy-footer-cta .fc-btn:hover{ opacity:0.85; }
	}

/* ---------------------------------------------------
	.cta（リフォームのご相談・お見積もり無料！）
------------------------------------------------------ */
	.cta{
		background:var(--green-dark);
	}
	.cta .inner{
		position:relative;
		padding:56px 30px;
		text-align:center;
	}
	.cta_title{
		font-size:24px;
		font-weight:800;
		letter-spacing:0.03em;
		color:var(--white);
		margin-bottom:20px;
	}
	.cta_title small{
		display:block;
		font-size:14px;
		font-weight:500;
		margin-top:10px;
	}
	.cta .link-contact{
		display:inline-flex;
		align-items:center;
		justify-content:center;
		gap:6px;
		max-width:520px;
		width:100%;
		min-height:70px;
		background:linear-gradient(135deg, var(--orange-dark) 0%, var(--orange) 100%);
		color:var(--white);
		font-size:16px;
		font-weight:700;
		letter-spacing:0.02em;
		border:3px solid var(--white);
		border-radius:40px;
		padding:0.6em 1.4em;
		transition:opacity 0.2s;
	}
	.cta .link-contact b{
		font-size:1.15em;
	}
	@media (hover:hover){
		.cta .link-contact:hover{ opacity:0.85; }
	}
	.cta .link-tel{
		display:flex;
		align-items:center;
		justify-content:center;
		margin-top:16px;
		color:var(--white);
	}
	.cta .link-tel .message{
		font-size:12px;
		line-height:1.6;
		margin-right:1em;
	}
	.cta .link-tel .tel{
		font-size:26px;
		font-weight:800;
	}
	.cta .link-tel .tel:before{
		content:"\f095";
		font-family:"Font Awesome 6 Free";
		font-weight:900;
		font-size:0.7em;
		margin-right:0.3em;
	}
	.cta figure{
		display:none;
	}

/* ---------------------------------------------------
	footer
------------------------------------------------------ */
	footer{
		padding:44px 0 0;
		background:var(--cream);
	}
	footer #f_area{
		max-width:900px;
		margin:0 auto 28px;
		padding:0 30px;
		font-size:11px;
		line-height:1.9;
		color:var(--ink-soft);
	}
	footer #f_nav{
		display:flex;
		flex-wrap:wrap;
		justify-content:center;
		gap:0 24px;
	}
	footer #f_nav a{
		font-size:12px;
		color:var(--ink-soft);
		margin-bottom:10px;
		transition:opacity 0.2s;
	}
	@media (hover:hover){
		footer #f_nav a:hover{ opacity:0.7; }
	}
	footer .logo{
		display:block;
		width:120px;
		margin:20px auto;
	}
	footer #copyright{
		font-size:11px;
		text-align:center;
		color:var(--ink-soft);
		padding:20px;
		border-top:1px solid var(--line);
	}

	/* フッター固定CTA（スマホのみ）
	------------------------------*/
	footer .footer-cta{
		display:none;
		position:fixed;
		left:0; bottom:0;
		width:100%;
		z-index:999;
		background:var(--white);
		border-top:1px solid var(--line);
	}
	footer .footer-cta a{
		width:50%;
		height:60px;
		display:flex;
		align-items:center;
		justify-content:center;
		padding:0.5em;
	}
	footer .footer-cta .link-tel .text{ text-align:center; }
	footer .footer-cta .link-tel .message{
		display:block;
		font-size:8px;
		font-weight:700;
		color:var(--ink-soft);
	}
	footer .footer-cta .link-tel .tel{
		display:block;
		font-size:20px;
		font-weight:800;
		color:var(--orange-dark);
	}
	footer .footer-cta .link-contact{
		background:linear-gradient(135deg, var(--orange-dark) 0%, var(--orange) 100%);
	}
	footer .footer-cta .link-contact .text{
		font-size:16px;
		font-weight:700;
		color:var(--white);
	}

/* =====================================================
	レスポンシブ（〜900px）
===================================================== */
@media screen and (max-width:900px){
	.reform_list li,
	.reform_list li:nth-child(even){
		flex-direction:column;
	}
	.reform_list figure{ width:100%; }
}

/* =====================================================
	レスポンシブ（〜750px：スマホ）
===================================================== */
@media screen and (max-width:750px){

	/* 表示切替
	------------------------------*/
	.sp{ display:block !important; }
	.pc{ display:none !important; }

	.inner{ padding:0 6vw; }
	body{ font-size:14px; }

	section{ padding:44px 0; }
	.sec_title,
	.sub-sec_title{ font-size:18px; margin-bottom:26px; }

	/* header
	------------------------------*/
	header .link a.link-contact,
	header .link-tel,
	nav#gnavPc{
		display:none;
	}
	header #gnav{ display:block; }
	header .toggle-gnav{ display:flex; }

	/* hero
	------------------------------*/
	.subsidy-fv{ padding:36px 0; }
	.subsidy-fv .inner{ flex-direction:column; gap:28px; }
	.subsidy-fv .fv_text,
	.subsidy-fv .fv_image{ width:100%; }
	.subsidy-fv h1{ font-size:26px; }
	.subsidy_point{ flex-direction:column; gap:10px; }
	.fv_btn a { width: 100%; justify-content: space-around; }

	/* 見出し
	------------------------------*/
	.sec_title::before, .sec_title::after, .sub-sec_title::before, .sub-sec_title::after {
 width: 20px; margin: 0 5px 0px; }
  .sub-sec_title {position: relative; line-height: 1.5rem;}
  .sub-sec_title::before {position: absolute; top: 50%; left: 0px;} 
  .sub-sec_title::after {position: absolute; top: 50%; right: 0px;}

	/* 住宅省エネキャンペーンとは
	------------------------------*/
	.campaign_note { margin-top: 30px; }

	/* ポイント
	------------------------------*/
	.point-flow{ flex-direction:column; }
	.point-arrow{ transform:rotate(90deg); padding:4px 0; height: 20px; width: 30px; margin: 0 auto;}

	/* 築年数テーブル
	------------------------------*/
	.year-tables{ flex-direction:column; }

	/* 流れ
	------------------------------*/
	.flow-steps{ flex-direction:column; gap:20px; }
	.flow-arrow{ transform:rotate(90deg); padding:0; margin: 0 auto; height: 20px; width: auto; position: relative; right: -22px;}
	.flow-step { width: 100%; }

	/* 対象工事
	------------------------------*/
	.work-grid{ grid-template-columns:repeat(2,1fr); }

	/* 活用例
	------------------------------*/
	.example-grid{ flex-direction:column; gap:28px; }

	/* FAQ
	------------------------------*/
	.faq-grid{ grid-template-columns:1fr; }

	/* 診断CTAバー
	------------------------------*/
	.subsidy-footer-cta .fc-inner{ flex-direction:column; text-align:center; gap:16px; }
	.subsidy-footer-cta .fc-text {margin-right: unset;}

	/* .cta
	------------------------------*/
	.cta_title{ font-size:19px; }
	.cta .inner{ padding:40px 24px; }
	.cta .link-tel .text {display: flex; flex-direction: column;}

	/* footer固定CTA表示
	------------------------------*/
	footer{ padding-bottom:60px; }
	footer .footer-cta{ display:flex; }
}
