@charset "UTF-8";

/****************************************ページ全体の設定*/

/* 初期値として余白をつけないようにしている */
* {
	margin:0;
	padding:0;
}

body {
	line-height:140%;
	letter-spacing:0.05em;
}

/* すべてのリンク・ボタンでカーソル変更 */
a, input[type="submit"] {
	cursor:pointer;
	text-decoration:none;
}

/* 画像初期設定 */
img {
	border:none;
	vertical-align:bottom;
}

/* ロゴ画像設定 */
img .logo {
	width:100%;
	max-width:152px;
}

/* ページ内リンクの位置調整 */
.plink {
	display:block;
	position:relative;
	top:-75px;
}

/****************************************ヘッダの設定*/

header {
	z-index:9990;
	position:fixed;
	width:100%;
	margin:0px;
	padding:10px;
	background-color:rgb(0,0,0,0.4);/* 透過の色 */
	color:#ffffff;
}

.header_waku {
	margin:0px auto;
	padding:0px 20px;
	display:flex;
	justify-content:space-between;
	align-items:center;
	flex-wrap:wrap;
}

.header_logo img {
	padding:9px 0px 11px 0px;
}

.header_logo span {
	font-size:90%;
	display:inline-block;
	padding:0px 0px 15px 15px;
}

.header_link {
	list-style:none;
	display:flex;
	flex-wrap:nowrap;
}

.header_link a {
	display:block;
	padding:18px 10px 16px 10px;
	color:#ffffff;
	text-align:center;
	transition:all 0.1s;
}
.header_link a:hover {
	background-color:rgba(255,255,255,0.3);
}

/* スマホ対応 */
@media screen and (max-width:480px){
	.header_waku {
		padding:2px 0px 0px 0px;
	}
	.header_logo img {
		width:25%;
		padding:0px 0px 4px 8px;
	}
	.header_logo span {
		font-size:20%;
		padding:0px 0px 2px 15px;
	}
	.header_link a {
		font-size:75%;
		padding:8px 6px 0px 6px;
	}
}


/****************************************メインイメージ枠の設定*/

.main_image {
	background-image:url('../img/topimage.jpg');
	background-position:center;
	background-size:cover;
}

.main_image_content {
	margin:0px auto;
	height:800px;
}

.main_image_box {
	max-width:560px;
	margin:0px 0px 0px auto;
	position:relative;
	top:140px;
	padding:30px 0px 30px 45px;
	text-align:left;
	border:solid #ffffff;
	border-width:1px 0px 1px 1px;
	border-radius:30px 0px 0px 30px;
}

.main_image_catchphrase {
	font-size:480%;
	font-weight:bold;
	line-height:1.2em;
	color:#fff;
	text-shadow:0px 0px 10px #000000;
}

.main_image_message {
	font-weight:bold;
	margin:15px 0px 0px 5px;
}

.main_image_eneCO2 {
	position:relative;
	top:25%;
	max-width:1000px;
	margin:auto;
}

.main_image_eneCO2 div {
	width:50%;
	max-width:450px;
}

.main_image_eneCO2 div img {
	width:100%;
}

.resp_br {
	display:block;
}

/* スマホ対応 */
@media screen and (max-width:480px){
	.main_image {
		padding-top:60px;
	}
	.main_image_content {
		height:260px;
	}
	.main_image_box {
		top:45px;
		text-shadow:0px 0px 7px #000000;
		margin:0px 0px 0px 10px;
		position:relative;
		padding:20px 0px 10px 40px;
	
	}
	.main_image_catchphrase {
		font-size:150%;
	}
	.main_image_message {
		font-size:80%;
		line-height:1.4em;
		margin:10px 15px 10px 0px;
		text-shadow:none;
	}
	.resp_br {
		display:inline;
	}
}


/****************************************本文を囲む枠の設定 */

.waku_inner {
	max-width:1000px;
	margin:0px auto;
	padding:60px 0px;
}

.con_box {
	width:90%;
	margin:0px auto;
}

.con_box ul,ol {
	padding-left:30px;
}

.con_box li {
	padding-bottom:3px;
}

.con_box p {
	margin-bottom:10px;
	line-height:150%;
}

/* フレックス化 */
.to_flex {
	display:flex;
	justify-content:space-between;
	/* align-items:stretch; */
	flex-wrap:wrap;
}

/* 記事間のすきま */
.articlespace {
	height:100px;
}

/* テキストをちょっと囲むやつ */
.con_box span {
	display:inline-block;
	text-align:center;
	border-radius:5px;
	margin:0px 10px 10px 0px;
	padding:6px 8px 4px 8px;
	border:1px solid #000000;
}

/* お問い合わせリンク */
.for_toiawase {
	display:block;
	border:4px solid #e53b00;
	border-radius:0.5em;
	width:64%;
	padding:24px 0px 28px 0px;
	background-color:#ed6d00;
	color:#ffffff;
	text-align:center;
	font-size:240%;
	font-weight:bold;
}
.for_toiawase:hover {
	border:4px solid #334455;
	background-color:#009988;
}
.ue {
	margin:160px auto 0px auto;
}
.sita {
	margin:0px auto 0px auto;
}
.for_Gform {
	display:block;
	border:2px solid #e53b00;
	border-radius:0.5em;
	width:90%;
	padding:8px 0px 10px 0px;
	background-color:#ed6d00;
	color:#ffffff;
	text-align:center;
	font-size:100%;
	font-weight:bold;
    margin:30px auto 0px auto;
}
.for_Gform:hover {
	border:2px solid #334455;
	background-color:#009988;
}

/* ZEB認証画像 */
.image_zeb {
	max-width:600px;
	margin:auto;
}
.image_zeb img {
	width:100%;
}

/* 建物画像 */
.image_tatemono {
	max-width:530px;
	margin:auto;
}
.image_tatemono img {
	width:100%;
}


/* スマホ対応 */
@media screen and (max-width:480px){
	.waku_inner {
		padding:30px 0px;
	}
	.con_box {
		width:90%;
	}
	.con_box ul,ol {
		padding-left:20px;
	}
	.articlespace {
		height:50px;
	}
	.con_box span {
		font-size:90%;
	}
	.for_toiawase {
		width:90%;
		padding:16px 0px 14px 0px;
		font-size:140%;
	}
	.ue {
		margin:120px auto 0px auto;
	}
	.image_zeb {
		max-width:90%;
	}
	.image_tatemono {
		max-width:250px;
	}
	.image_tatemono div {
		padding:0px;
		max-width:120px;
	}
}


/****************************************見出しの設定*/

h2 {
	text-align:center;
	font-weight:normal;
	font-size:180%;
	max-width:70%;
	margin:0px auto 50px auto;
	padding-bottom:15px;
	border-bottom:1px solid #719214;
}

h3 {
	font-weight:normal;
	width:90%;
	margin:0px auto 20px auto;
	border-left:5px solid #719214;
	border-right:5px solid #719214;
	padding:5px 0px 3px 0px;
	font-size:140%;
	text-align:center;
	
}

/* スマホ対応 */
@media screen and (max-width:480px){
	h2 {
		max-width:80%;
		font-size:110%;
		padding-bottom:10px;
		margin:0px auto 30px auto;
	}
	h3 {
		font-size:130%;
	}
}


/****************************************アピール文章枠の設定 */
.voicebox {
	width:70%;
	border:3px solid #dddddd;
	border-radius:0.5em;
	background-color:#ffffff;
	margin:20px auto 0px auto;
	padding:10px;
}
.voicebox:hover {
	background-color:#dddddd;
}

.voicebox .trigger {
	padding:13px 10px 10px 10px;
	overflow:hidden;
	cursor:pointer;
}

.voicebox .title_b {
	float:left;
	font-size:120%;
}

.voicebox .title_s {
	float:right;
}

.voicebox .comment {
	padding:15px 15px 10px 20px;
	font-size:120%;
	line-height:normal;
	border-top:1px solid #aaaaaa;
}


/* サービス概要図 */
.image_gaiyou {
	border:2px solid #dddddd;
	background-color:#ffffff;
	border-radius:1em;
	width:80%;
	padding:30px 20px 10px 20px;
	margin:50px auto 0px auto
}
.image_gaiyou img {
	width:100%;
}
.zebtext {
	width:calc(80% - 80px);
	padding:30px 60px;
}
.zebtext .zebimage {
	float:left;
	margin-right:20px;
	width:40%;
}

.products {
	width:50%;
	text-align:center;
	font-size:small;
	margin:10px auto 15px auto;
}
.products img {
	max-width:200px;
}

/* スマホ対応 */
@media screen and (max-width:480px){
	.image_gaiyou {
		margin:20px auto 0px auto
	}
	.zebtext {
		width:80%;
		padding:30px 20px;
	}
	.zebtext .zebimage {
		margin-right:0px;
		margin-bottom:20px;
		width:100%;
	}
	.products {
		width:100%;
	}
}


/****************************************削減イメージの設定*/

/* 両方を入れる枠 */
.sakugen_box {
	width:100%;
	margin:0px auto;
}


/* 表組み */
.table {
	width:100%;
	margin:0px auto;
	border-spacing:0px;
}

.table th {
	color:#00549D;
	padding:0px 30px;
	font-size:110%;
	letter-spacing:0.1em;
	font-weight:normal;
	text-align:left;
	border-bottom:1px solid #ccc;
	white-space:nowrap;
}

.table td {
	padding:15px 0px;
	border-bottom:1px solid #ccc;
}

/* 写真側枠 */
.photo_side {
	text-align:center;
	width:38%;
	min-width:340px;
	margin:0px auto;
}
.photo_side img {
	border:1px solid #aaaaaa;
	width:100%;
	margin:10px 0px;
}

/* 表組側枠 */
.table_side {
	width:60%;
	margin:0px auto;
}

/* ZEBマーク */
.zeb_waku {
	background-color:dimgray;
	color:white;
	padding:7px 10px 5px 10px;
	margin-bottom:3px;
	display:inline-block;
	border-radius:0.4em;
}

/* スマホ対応 */
@media screen and (max-width:480px){
	.table {
		width:90%;
	}
	.table th {
		width:30%;
		padding:0px 0px 0px 8px;
		font-size:90%;
		letter-spacing:0.05em;
	}
	.table td {
		padding:15px 0px;
		font-size:90%;
	}
	.table_side {
		width:100%;
	}
	.photo_side {
		flex-direction: column-reverse;
	}
}

/****************************************補助金一覧表の設定*/

.hojokin {
	width:100%;
	background-color:#000000;
}

.hojokin th,td {
	padding:7px 7px 4px 7px;
	background-color:#fff;
}

.hojokin th {
	background-color:#666666;
	color:#ffffff;
}

.txtsmall {
	font-size:90%;
	line-height:normal;
}

/* スマホ対応 */
@media screen and (max-width:480px){

}

/****************************************お問い合わせの設定*/
.hidden {
	display: none;
}
#otoiawase {
width:70%;
margin:0px auto;
	padding: 0 2% 3% 2%;
	z-index: 9997;
}
#otoiawase h3 {
	margin-bottom: 1%;
	color: white;
}
#otoiawase label, #otoiawase input {
	cursor: pointer;
}
#otoiawase ol, #otoiawase dt, #otoiawase dd {
	margin: 0;
	padding: 0;
	padding-inline-start: 0;
}
#otoiawase .consent {
	background-color: #E0E0E0;
	color: #111111;
	padding: 8px 0;
	border-radius: 0.4em;
	list-style-position: inside;
}
#otoiawase .consent ol {
	text-align: left;
	display: none;
}
#otoiawase .consent ol li {
	list-style: lower-alpha;
}
#otoiawase #consent:checked + .consent ol {
	font-size: 72%;
	display: block;
	background-color: rgba(255, 255, 255, 0.5);
	margin: 0 8px;
	padding: 16px 5%;
	height: 300px;
	overflow-y: scroll;
}
#otoiawase .consent li dt {
	display: inline;
}
#otoiawase .consent li dd {
	margin-left: 4px;
	padding-left: 4px;
	border-left: thin solid #555555;
}
#otoiawase .consent #consent_check {
	margin: 0 8px;
	text-align: center;
	display: block;
}
#otoiawase .consent #consent_check span {
	display: inline-block;
	width: 14px;
	height: 14px;
	line-height: 14px;
	color: rgba(21, 21, 21, 1.00);
	margin-top: -2px;
	margin-right: 8px;
	border: thin solid #555555;
	border-radius: 0.2em;
	background-color: #ffffff;
}
#otoiawase #consent:checked + .consent #consent_check {
	padding-bottom: 4px;
	border-bottom: thin solid #555555;
}
#otoiawase #consent:checked + .consent #consent_check span {
	color: rgba(21, 21, 21, 0.00);
}
#otoiawase #consent:checked + .consent + .form {
	pointer-events: none;
	opacity: 0.5;
}

/* スマホ対応 */
@media screen and (max-width:480px){
	#otoiawase {
		width:98%;
		padding:0;
	}
}

/****************************************フッターの設定*/
footer {
	background-color:#333333;
	padding-top:40px;
}
footer .flex {
	display:flex;
	flex-wrap:wrap;
}
footer div {
	max-width:1200px;
	margin:0px auto;
	line-height:1.7em;
	color:#ffffff;
}
footer iframe {
	flex-basis:40%;
	flex-grow:1;
	padding-right:25px;
}
footer div address {
	flex-basis:50%;
	padding-left:25px;
}
footer dt {
	flex-basis:15%;
}
footer dd {
	flex-basis:84%;
}
footer .copyright {
	padding:30px 0px;
	font-size:small;
	text-align:center;
}


/* スマホ対応 */
@media screen and (max-width:480px){
	footer {
		min-width:inherit;
	}
	footer div {
		width:90%;
		line-height:1.2em;
	}
	footer iframe {
		flex-basis:100%;
		padding:0px 0px 30px 0px;
	}
	footer div address {
		font-size:small;
		flex-basis:100%;
		width:1200px;
		padding-left:0px;
	}
}


/****************************************cookie同意表示の設定*/

.cookie-consent {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: fixed;
	bottom: 0;
	width: 100%;
	font-size: 12px;
	color: #fff;
	background: rgba(0,0,0,.7);
	padding: 1.2em;
	box-sizing: border-box;
	visibility: hidden;
}
.cookie-consent.is-show {
	visibility: visible;
}
.cookie-consent a {
	color: #fff !important;
}
.cookie-agree {
	color: #fff;
	background: dodgerblue;
	padding: .5em 1.5em;
}
.cookie-agree:hover {
	cursor: pointer;
}
/* パッと消える */
.cc-hide1 {
	display: none;
}
/* ゆっくり消える */
.cc-hide2 {
	animation: hide 1s linear 0s;
	animation-fill-mode: forwards;
}
@keyframes hide {
	from {
		opacity: 1;
	}
	to {
		opacity: 0;
		visibility: hidden;
	}
}

/* スマホ対応 */
@media screen and (max-width:480px){
	.cookie-consent {
		flex-direction: column;
	}
	.cookie-text {
		margin-bottom: 1em;
	}
}
