@charset "UTF-8";

/* !HTML5 elements
---------------------------------------------------------- */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section
{ display: block;}

/* !Reseting
---------------------------------------------------------- */
body {
	font-family:"Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	-webkit-text-size-adjust: none;
	font-size: 18px;
	color: #000;
	line-height: 1.6em;
	word-wrap:break-word;/* 英数字折り返し */
	background: #fff;
}
body, div, pre, p, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, th, td
{ margin: 0; padding: 0;}

input, textarea
{ margin: 0; font-size: 100%;}

label
{ cursor: pointer;}

table
{ border-collapse: collapse; border-spacing: 0; font-size: 100%;}

img
{ max-width: 100%; width: 100%; height: auto; vertical-align: top;}

ol, ul
{ list-style: none;}

h1, h2, h3, h4, h5, h6
{ font-size: 100%; font-weight: normal;}

a, input
{ outline: none; }

input[type="button"],input[type="submit"]
{ -webkit-appearance: none; background: none; border: none; padding: 0; cursor: pointer;}

*
{ -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box;}
/* !Clearfix
---------------------------------------------------------- */
.Clear::after {
	content: "";
	display: block;
	clear: both;
}
.Clear::before {
	content: "";
	display: block;
	clear: both;
}
.Clear {
	display: block;
}

/* !contents
---------------------------------------------------------- */
html {
	overflow-y: scroll;
	scroll-behavior: smooth;
}

a {
	color: #0068b6;
	text-decoration: underline;
}

a:hover {
	color: #0068b6;
	text-decoration: none;
}

.row {
	width:100%;
	max-width: 1280px;
	margin: 0 auto;
}

p {
	margin-top: 0;
}

/* !Header
---------------------------------------------------------- */
/*--- ナビゲーション ---*/
#Navi_Wrap {
	height:100px;
	position:sticky;
	z-index:100;
	top:0;
	left:0;
	width:100%;
	background:#fff;
	transition:.3s;
	display:flex;
	align-items:center;
	justify-content:space-between;
}

/*--- ロゴ ---*/
#Logo {
	display:block;
	width:480px;
	margin-left:20px;
}

/*--- メニュー ---*/
#Navi_Text_Wrap {
	margin-right:20px;
	line-height:1em;
}

#Navi_Text ul {
	clear:both;
	width:100%;
	height:44px;
	display:table;
	margin:0 auto;
	z-index:1;
}

#Navi_Text ul li {
	display:table-cell;
	text-align:center;
	vertical-align:middle;
}

#Navi_Text ul li a {
	height:44px;
	line-height:44px;
	font-size:16px;
	color:#000;
	font-weight:bold;
	text-decoration:none;
	padding:0 30px 0 6px;
	position:relative;
	display:inline-block;
	transition:.3s;
}

#Navi_Text ul li a::after {
	content:"";
	position:absolute;
	top:50%;
	right:10px;
	transform:translateY(-50%);
	width:16px;
	height:16px;
	background:#000;
	border-radius:50%;
	box-sizing:border-box;
	transition:.3s;
}

#Navi_Text ul li a::before {
	content:"";
	position:absolute;
	top:49%;
	right:14px;
	transform:translateY(-35%);
	width:0;
	height:0;
	border-left:4px solid transparent;
	border-right:4px solid transparent;
	border-top:6px solid #fff;
	z-index:2;
	transition:.3s;
}

#Navi_Text ul li a:hover {
	color:#00a291;
}

#Navi_Text ul li a:hover::after {
	background:#00a291;
}

#Navi_Text ul li a:hover::before {
	border-top-color:#fff;
}

/*--- 最後のメニューだけボタン表示 ---*/
#Navi_Text ul li:last-child a {
	background:#000;
	color:#fff;
	border-radius: 50px;
	padding:0 32px;
	height:44px;
	line-height:44px;
	margin-left:8px;
}

#Navi_Text ul li:last-child a::after,
#Navi_Text ul li:last-child a::before {
	display:none;
}

#Navi_Text ul li:last-child a:hover {
	background: #00a291;
	color:#fff;
}

/* !Footer
---------------------------------------------------------- */
#Footer_Wrap {
	height:100px;
	width:100%;
	background:#0d2339;
	display:flex;
	align-items:center;
	justify-content:space-between;
}

/*--- ロゴ ---*/
#Footer_Logo {
	display:block;
	width:420px;
	margin-left:40px;
}

/*--- メニュー ---*/
#Footer_Text_Wrap {
	margin-right:40px;
	line-height:1em;
}

#Footer_Text ul {
	clear:both;
	width:100%;
	display:table;
	margin:0 auto;
	z-index:1;
}

#Footer_Text ul li {
	display:table-cell;
	text-align:center;
	vertical-align:middle;
}

#Footer_Text ul li a {
	height:44px;
	line-height:44px;
	font-size:14px;
	color:#fff;
	font-weight:normal;
	text-decoration:none;
	padding:0 32px 0 4px;
	position:relative;
	display:inline-block;
	transition:.3s;
}

#Footer_Text ul li a::after {
	content:"";
	position:absolute;
	top:49%;
	right:12px;
	transform:translateY(-50%);
	width:16px;
	height:16px;
	background:#fff;
	border-radius:50%;
	box-sizing:border-box;
	transition:.3s;
}

#Footer_Text ul li a::before {
	content:"";
	position:absolute;
	top:48%;
	right:16px;
	transform:translateY(-35%);
	width:0;
	height:0;
	border-left:4px solid transparent;
	border-right:4px solid transparent;
	border-top:6px solid #000;
	z-index:2;
	transition:.3s;
}

#Footer_Text ul li a:hover {
	color:#3276b9;
}

#Footer_Text ul li a:hover::after {
	background:#3276b9;
}

#Footer_Text ul li a:hover::before {
	border-top-color:#fff;
}

/*--- 最後のメニューだけボタン表示 ---*/
#Footer_Text ul li:last-child a {
	background:#fff;
	color:#000;
	font-weight:bold;
	border-radius:20px;
	padding:0 24px;
	height:40px;
	line-height:40px;
	margin-left:10px;
}

#Footer_Text ul li:last-child a::after,
#Footer_Text ul li:last-child a::before {
	display:none;
}

#Footer_Text ul li:last-child a:hover {
	background:#3276b9;
	color:#fff;
}

/*--- ページの先頭へ ---*/
#back-top {
	position:fixed;
	right:38px;
	bottom:120px;
	z-index: 5;
	background: #fff;
	box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1), 0 0 50px rgba(128, 128, 128, 0.1) ;
	border-radius: 50%;
	width: 46px;
	height: 46px;
	transition: .3s;
}

#back-top span {
	box-sizing: border-box;
	display: block;
	position: relative;
	top: 52%;
	left: 50%;
	width: 10px;
	height: 10px;
	border-style: solid;
	border-color: #000;
	border-width: 2px 0 0 2px;
	transform: translate(-50%, -50%) rotate(45deg);
}

#back-top:hover {
	background: #000;
}

#back-top:hover span {
	border-color: #fff;
}

/* !汎用コンテンツ
---------------------------------------------------------- */
/*--- 見出し（サブタイトル付き） ---*/
h2 .title {
	font-size:30px;
	font-weight:bold;
	color: #000;
	line-height: 1.3em;
	letter-spacing: 0.06em;
}

h2 .title .sub_tit {
	font-size:24px;
	font-weight:normal;
	color: #00a291;
	letter-spacing: 0.06em;
}

h2 .title .orange {
	color: #f3982d !important;
}

h2 .title .green {
	color: #00a291 !important;
}

h3 {
	font-size:22px;
	font-weight:bold;
	color: #000;
}

/*--- 縦線・左側（お知らせ用） ---*/
.deco_bl {
	border-left: 2px solid #00a291;
	padding-left: 32px;
	padding-right: 24px;
}

/*--- ボタン（緑色） ---*/
.btn_green {
	width: 100%;
	max-width: 300px;
	display: block;
	position: relative;
	z-index: 2;
	font-size: 18px;
	color: #fff;
	line-height: 1.5em;
	text-align: center;
	text-decoration: none;
	padding: 12px 0;
	background: #00a291;
	overflow: hidden;
	border-radius: 50px;
	transition: .3s;
}

.btn_green::after {
	content: '▶';
	font-size: 14px;
	position: absolute;
	right: 26px;
}

.btn_green:hover {
	color: #fff;
	text-decoration: none;
	background: #000;
}

/*--- ボタン（白色） ---*/
.btn_white {
	width: 100%;
	max-width: 300px;
	display: block;
	position: relative;
	z-index: 2;
	font-size: 18px;
	color: #000;
	line-height: 1.5em;
	text-align: center;
	text-decoration: none;
	padding: 12px 0;
	background: #fff;
	overflow: hidden;
	border-radius: 50px;
	transition: .3s;
}

.btn_white::after {
	content: '▶';
	font-size: 14px;
	color: #f3982d;
	position: absolute;
	right: 26px;
}

.btn_white:hover {
	color: #fff;
	text-decoration: none;
	background: #000;
}

/*--- ボタン中央寄せ ---*/
.btn_center {
	display: flex;
	justify-content: center;
}

/*--- リスト（黒丸） ---*/
.Disc {
	margin:4px 0 0 20px;
}

.Disc li {
	list-style-type:disc;
	margin-bottom: 2px;
}

/*--- アンカー移動時のマージン設定 ---*/
.anchor {
	scroll-margin-top: 120px;
}

/* !Fonts -------------------------------------------------------------- */
.fwB { font-weight: bold;}

/* !Margin ------------------------------------------------------------------ */
.mt10 { margin-top:10px !important;}
.mt20 { margin-top:20px !important;}
.mt30 { margin-top:30px !important;}
.mt40 { margin-top:40px !important;}
.mt50 { margin-top:50px !important;}
.mt60 { margin-top:60px !important;}
.mt80 { margin-top:80px !important;}
.mt100 { margin-top:100px !important;}

/* !Inline Align ------------------------------------------------------------ */
.taC { text-align: center !important;}
.taC_spL { text-align: center !important;}
.taL_spC { text-align: left !important;}
.taR_spL { text-align: right !important;}
.taL { text-align: left !important;}
.taR { text-align: right !important;}
.ImgC { display: block; margin-left: auto; margin-right: auto;}

/* !Floats ------------------------------------------------------------------ */
.flL { display: inline; float: left;}
.flR { display: inline; float: right;}

/* ==========================================================
トップページ
========================================================== */
/*--- カバー画像 ---*/
#Cover_Main {
	display: flex;
	width: 100%;
	min-height: 600px;
}

/*--- 左側 ---*/
#Cover_Main .areaL {
	width: 40%;
	background: #fcf8f3;
	padding: 80px 60px 0 60px;
	box-sizing: border-box;
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: flex-start;
}

#Cover_Main .cover_cont {
	position: relative;
	z-index: 2;
}

#Cover_Main .cover_cont img {
	width: 86%;
}

#Cover_Main .cover_cont p {
	font-size: 18px;
	font-weight: bold;
	margin-top: 60px;
}

#Cover_Main .cover_deco {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: auto;
	z-index: 1;
	pointer-events: none;
}

/*--- 右側 ---*/
#Cover_Main .areaR {
	width: 60%;
	overflow: hidden;
}

#Cover_Main .areaR img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* !お知らせ
---------------------------------------------------------- */
#Area_News {
	width: 100%;
	background: #f3ede3;
	padding: 80px 0;
}

#Area_News .row {
	display: flex;
	align-items: flex-start;
	gap: 80px;
}

#Area_News .contL {
	flex: 0 0 auto;
}

#Area_News .contR {
	flex: 1;
	min-width: 0;
}

#News_Frame {
	width: 100%;
	padding: 20px 40px 44px;
	background: #fff;
	border: 1px solid #ccc;
	box-sizing: border-box;
}

.news_box {
	display: flex;
	align-items: center;
	gap: 32px;
	width: 100%;
	background: #fff;
}

.news_box .area_date {
	flex: 0 0 auto;
	padding: 20px 0;
}

.news_box .area_title {
	flex: 1;
	min-width: 0;
	border-bottom: 1px solid #ccc;
}

.date_color {
	display: inline-block;
	background: #d5ece8;
	color: #00a291;
	padding: 6px 10px;
	line-height: 1;
}

.news_box .area_title a {
	display: block;
	padding: 20px 0;
	width: 100%;
	color: #000;
	text-decoration: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	transition: .3s;
}

.news_box .area_title a:hover {
	color: #00a291;
}

/* !ガス・住まいのことなら
---------------------------------------------------------- */
#Area_Service {
	width: 100%;
	background: #fcf8f3;
	padding: 80px 0;
}

#Area_Service .row {
	display: flex;
	align-items: flex-start;
	gap: 40px;
}

#Area_Service .contL {
	flex: 0 0 auto;
}

#Area_Service .contR {
	flex: 1;
	min-width: 0;
}

#Area_Service .lead {
	font-weight:bold;
	margin-top:24px;
}

#Area_Service .lead span {
	font-size:30px;
	font-weight:bold;
	line-height: 1.6em;
}

/*--- バナーリンク ---*/
#Bnr_Link {
	width:100%;
}

#Bnr_Link a {
	text-decoration: none;
	color: inherit;
}

/*--- カラム表示 ---*/
.btn_square_wrap {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
}

/*--- ボタン ---*/
.btn_square {
	height: 140px;
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 16px;
	border: 1px solid #ccc;
	border-radius: 6px;
	background: #fff;
	box-shadow: 0 1px 8px rgba(0, 0, 0, 0.1), 0 0 20px rgba(128, 128, 128, 0.1) ;
	box-sizing: border-box;
	transition: .3s;
}

.btn_square img {
	flex: 0 0 54px;
	width: 54px;
	height: auto;
}

.btn_square .txt {
	flex: 1;
}

.btn_square .ttl {
	margin: 0 0 8px;
	font-size: 18px;
	font-weight: bold;
	color: #00a291;
	text-align: left;
}

.btn_square .cap {
	margin: 0;
	font-size: 14px;
	line-height: 1.6em;
	text-align: left;
}

/* !店舗情報
---------------------------------------------------------- */
#Area_Store {
	width: 100%;
	background: #fcddb8;
	padding: 60px 0 80px;
}

/*--- 2カラム表示 ---*/
.store_wrap {
	display: flex;
	gap: 40px;
}

.store_info,
.store_map {
	flex: 1;
}

/*--- テーブル（店舗情報） ---*/
.table_store {
	width:100%;
}
.table_store th,
.table_store td {
	text-align: left;
	padding: 4px 0;
}
.table_store th {
	font-weight: normal;
}

@media screen and (max-width:440px){
	.table_store {
		width: 100%;
	}
	.table_store th,
	.table_store td {
		width: 100%;
		display: block;
		text-align: left;
		vertical-align: top;
		padding: 0;
	}
	.table_store th {
		font-weight: bold;
		border-bottom: none;
		padding-top: 10px;
	}
	.table_store td {
		border-bottom: 1px solid #c89456;
		padding-bottom: 10px;
	}

}

/* !取り扱いメーカー
---------------------------------------------------------- */
#Area_Brand {
	width: 100%;
	background: #f3ede3;
	padding: 80px 0;
}

/*--- 2カラム表示 ---*/
.brand_wrap {
	display: flex;
	gap: 40px;
}

.brand_photo,
.brand_info {
	flex: 1;
}

/*--- 写真 ---*/
.brand_list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}

.brand_list img {
	width: 100%;
	display: block;
}

/*--- 背景画像 ---*/
.brand_info {
	background: url("common/img/deco_brand.png") no-repeat right bottom;
	background-size: 46% auto;
}

/* !お問い合わせ（来店予約）
---------------------------------------------------------- */
#Area_Contact {
	width: 100%;
	background: #00a291;
	padding: 60px 0;
}

/*--- 2カラム表示 ---*/
.btn_contact_wrap {
	display: flex;
	gap: 40px;
	max-width: 1080px;
	width: 100%;
	margin: 0 auto;
}

.btn_contact_wrap a {
	flex: 1;
	box-sizing: border-box;
}

/*--- ボタン（来店予約） ---*/
.btn_reserve {
	width: 100%;
	display: block;
	position: relative;
	z-index: 2;
	font-size: 22px;
	color: #fff;
	line-height: 1.2em;
	font-weight: bold;
	text-decoration: none;
	padding: 18px 0 16px 120px;
	border: 2px solid #fff;
	overflow: hidden;
	border-radius: 10px;
	transition: .3s;
	box-sizing: border-box;
}

.btn_reserve span {
	font-size: 16px;
	font-weight: normal;
}

.btn_reserve::before {
	content: "";
	position: absolute;
	left: 40px;
	top: 50%;
	transform: translateY(-50%);
	width: 60px;
	height: 60px;
	background: url("common/img/icon_reserve.png") no-repeat center center;
	background-size: contain;
}

.btn_reserve::after {
	content: "▶";
	font-size: 20px;
	color: #fff;
	position: absolute;
	right: 26px;
	top: 50%;
	transform: translateY(-50%);
}

.btn_reserve:hover {
	color: #fff;
	text-decoration: none;
	background: #000;
}

/*--- ボタン（お問い合わせ） ---*/
.btn_contact {
	width: 100%;
	display: block;
	position: relative;
	z-index: 2;
	font-size: 22px;
	color: #fff;
	line-height: 1.2em;
	font-weight: bold;
	text-decoration: none;
	padding: 18px 0 16px 120px;
	border: 2px solid #fff;
	overflow: hidden;
	border-radius: 10px;
	transition: .3s;
	box-sizing: border-box;
}

.btn_contact span {
	font-size: 16px;
	font-weight: normal;
}

.btn_contact::before {
	content: "";
	position: absolute;
	left: 40px;
	top: 50%;
	transform: translateY(-50%);
	width: 60px;
	height: 60px;
	background: url("common/img/icon_contact.png") no-repeat center center;
	background-size: contain;
}

.btn_contact::after {
	content: "▶";
	font-size: 20px;
	color: #fff;
	position: absolute;
	right: 26px;
	top: 50%;
	transform: translateY(-50%);
}

.btn_contact:hover {
	color: #fff;
	text-decoration: none;
	background: #000;
}

/* ==========================================================
第二階層共通
========================================================== */
/*--- 背景設定 ---*/
#Bg_White {
	width: 100%;
	background: #fff;
	padding: 60px 0 80px;
}

#Bg_White02 {
	width: 100%;
	background: #fff;
	padding: 80px 0;
}

/*--- 白枠 ---*/
.Frame_White {
	background: #fff;
	box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1), 0 0 50px rgba(128, 128, 128, 0.1) ;
	border-radius: 10px;
	padding: 60px;
}

/* ==========================================================
店舗情報
========================================================== */
/*--- カバー画像 ---*/
#Cover_Store {
	display: flex;
	width: 100%;
	min-height: 300px;
	background: #bae3f9 url("common/img/store/bg.png") no-repeat center bottom;
	background-size: 100% auto;
}

/*--- 左側 ---*/
#Cover_Store .areaL {
	width: 50%;
	padding: 6% 0 0 5%;
	box-sizing: border-box;
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: flex-start;
}

#Cover_Store .areaL h1 {
	font-size: 46px;
	color: #0d2339;
	font-weight: bold;
}

#Cover_Store .areaL p {
	font-size: 18px;
	color: #0d2339;
	font-weight: bold;
	line-height: 1.8em;
	margin-top:40px;
}

/*--- 右側 ---*/
#Cover_Store .areaR {
	width: 50%;
	display: flex;
	justify-content: center;
	align-items: flex-end;
}

/*--- 画像 ---*/
#Cover_Store .areaR img {
	width: 90%;
	height: auto;
	display: block;
}

/*--- 白枠 ---*/
.Frame_White_Store {
	background: #fff;
	box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1), 0 0 50px rgba(128, 128, 128, 0.1) ;
	border-radius: 10px;
	padding: 40px 60px 60px 60px;
}

/*--- 2カラム表示 ---*/
.store_detail_wrap {
	display: flex;
	gap: 40px;
}

.store_detail_info,
.store_detail_map {
	flex: 1;
}

/*--- タイトル ---*/
.store_title01::before {
	content: "";
	display: inline-block;
	width: 46px;
	height: 46px;
	background: url("common/img/store/icon01.jpg") no-repeat center center;
	background-size: contain;
	margin-right: 10px;
}

.store_title01 {
	font-size: 30px;
	color: #00a291;
	font-weight: bold;
	display: flex;
	align-items: flex-end;
}

.store_title02::before {
	content: "";
	display: inline-block;
	width: 46px;
	height: 46px;
	background: url("common/img/store/icon02.jpg") no-repeat center center;
	background-size: contain;
	margin-right: 10px;
}

.store_title02 {
	font-size: 30px;
	color: #00a291;
	font-weight: bold;
	display: flex;
	align-items: flex-end;
}

/*--- テーブル（店舗情報_詳細） ---*/
.table_store_detail {
	width: 100%;
	font-size: 16px;
	border-collapse: separate;
	border-top: 1px solid #c9caca;
}
.table_store_detail th,
.table_store_detail td {
	background: #fff;
	border-bottom: 1px solid #c9caca;
	padding: 20px;
}
.table_store_detail th {
	font-weight: normal;
	background: #efefef;
	text-align: center;
	vertical-align: middle;
}
@media screen and (max-width:767px){
	.table_store_detail {
		width: 100%;
	}
	.table_store_detail,
	.table_store_detail thead,
	.table_store_detail tbody,
	.table_store_detail tr,
	.table_store_detail th,
	.table_store_detail td {
		width: 100%;
		display: block;
	}
	.table_store_detail th,
	.table_store_detail td {
		border-top: none;
		padding: 14px 10px;
	}
	.table_store_detail th {
		text-align: left;
	}
}

/* ==========================================================
サービス内容
========================================================== */
/*--- カバー画像 ---*/
#Cover_Service {
	display: flex;
	width: 100%;
	min-height: 300px;
	background: #bae3f9 url("common/img/service/bg.png") no-repeat center bottom;
	background-size: 100% auto;
}

/*--- 左側 ---*/
#Cover_Service .areaL {
	width: 50%;
	padding: 6% 0 0 5%;
	box-sizing: border-box;
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: flex-start;
}

#Cover_Service .areaL h1 {
	font-size: 46px;
	color: #0d2339;
	font-weight: bold;
}

#Cover_Service .areaL p {
	font-size: 18px;
	color: #0d2339;
	font-weight: bold;
	line-height: 1.8em;
	margin-top:40px;
}

/*--- 右側 ---*/
#Cover_Service .areaR {
	width: 50%;
	display: flex;
	justify-content: center;
	align-items: flex-end;
}

/*--- 画像 ---*/
#Cover_Service .areaR img {
	width: 90%;
	height: auto;
	display: block;
}

/*--- 白枠 ---*/
.Frame_White_Service {
	background: #fff;
	box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1), 0 0 50px rgba(128, 128, 128, 0.1) ;
	border-radius: 6px;
	padding: 0;
}

.Bg_BlueR {
	background: linear-gradient(to right, #ffffff 50%, #eaf6fd 50%);
}

/*--- 2カラム表示（写真右） ---*/
.service_wrap {
	display: flex;
	gap: 0;
}

.service_infoL,
.service_photoR {
	flex: 1;
}

.service_infoL {
	padding: 0;
}

.service_infoL .cont {
	padding: 40px 20px 40px 40px;
}

.service_photoR img {
	border-top-right-radius: 6px;
	border-bottom-right-radius: 6px;
}

/*--- 2カラム表示（写真左） ---*/
.service_wrap02 {
	display: flex;
	flex-direction: row-reverse;
	gap: 0;
}

.service_infoR,
.service_photoL {
	flex: 1;
}

.service_infoR {
	padding: 0;
}

.service_infoR .cont {
	padding: 40px 40px 40px 20px;
}

.service_photoL img {
	border-top-left-radius: 6px;
	border-bottom-left-radius: 6px;
}

/*--- タイトル01 ---*/
.service_title01::before {
	content: "";
	display: inline-block;
	width: 60px;
	height: 60px;
	background: url("common/img/service/icon01.png") no-repeat center center;
	background-size: contain;
	margin-right: 10px;
}

.service_title01 {
	font-size: 30px;
	color: #00a291;
	font-weight: bold;
	display: flex;
	align-items: center;
	border-bottom: 1px solid #b3b3b3;
	padding-bottom: 20px;
}

/*--- タイトル02 ---*/
.service_title02::before {
	content: "";
	display: inline-block;
	width: 60px;
	height: 60px;
	background: url("common/img/service/icon02.png") no-repeat center center;
	background-size: contain;
	margin-right: 10px;
}

.service_title02 {
	font-size: 30px;
	color: #00a291;
	font-weight: bold;
	display: flex;
	align-items: center;
	border-bottom: 1px solid #b3b3b3;
	padding-bottom: 20px;
}

/*--- タイトル03 ---*/
.service_title03::before {
	content: "";
	display: inline-block;
	width: 60px;
	height: 60px;
	background: url("common/img/service/icon03.png") no-repeat center center;
	background-size: contain;
	margin-right: 10px;
}

.service_title03 {
	font-size: 30px;
	color: #00a291;
	font-weight: bold;
	display: flex;
	align-items: center;
	border-bottom: 1px solid #b3b3b3;
	padding-bottom: 20px;
}

/*--- タイトル04 ---*/
.service_title04::before {
	content: "";
	display: inline-block;
	width: 60px;
	height: 60px;
	background: url("common/img/service/icon04.png") no-repeat center center;
	background-size: contain;
	margin-right: 10px;
}

.service_title04 {
	font-size: 30px;
	color: #00a291;
	font-weight: bold;
	display: flex;
	align-items: center;
	border-bottom: 1px solid #b3b3b3;
	padding-bottom: 20px;
}

/*--- タイトル05 ---*/
.service_title05::before {
	content: "";
	display: inline-block;
	width: 60px;
	height: 60px;
	background: url("common/img/service/icon05.png") no-repeat center center;
	background-size: contain;
	margin-right: 10px;
}

.service_title05 {
	font-size: 30px;
	color: #00a291;
	font-weight: bold;
	display: flex;
	align-items: center;
	border-bottom: 1px solid #b3b3b3;
	padding-bottom: 20px;
}

/*--- タイトル06 ---*/
.service_title06::before {
	content: "";
	display: inline-block;
	width: 60px;
	height: 60px;
	background: url("common/img/service/icon06.png") no-repeat center center;
	background-size: contain;
	margin-right: 10px;
}

.service_title06 {
	font-size: 30px;
	color: #00a291;
	font-weight: bold;
	display: flex;
	align-items: center;
	border-bottom: 1px solid #b3b3b3;
	padding-bottom: 20px;
}

/*--- タイトル07 ---*/
.service_title07::before {
	content: "";
	display: inline-block;
	width: 60px;
	height: 60px;
	background: url("common/img/service/icon07.png") no-repeat center center;
	background-size: contain;
	margin-right: 10px;
}

.service_title07 {
	font-size: 30px;
	color: #00a291;
	font-weight: bold;
	display: flex;
	align-items: center;
	border-bottom: 1px solid #b3b3b3;
	padding-bottom: 20px;
}

/* ==========================================================
取り扱いメーカー
========================================================== */
/*--- カバー画像 ---*/
#Cover_Brand {
	display: flex;
	width: 100%;
	min-height: 300px;
}

/*--- 左側 ---*/
#Cover_Brand .areaL {
	width: 40%;
	background: #fcf8f3;
	padding: 80px 20px 0 60px;
	box-sizing: border-box;
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: flex-start;
}

#Cover_Brand .cover_cont {
	position: relative;
	z-index: 2;
}

#Cover_Brand .cover_cont .txt01 {
	font-size: clamp(30px, 3.3vw, 52px);
	font-weight: bold;
	line-height: 1.2;
}

#Cover_Brand .cover_cont .txt02 {
	font-size: clamp(20px, 2vw, 32px);
	font-weight: bold;
	line-height: 1.4;
	margin-top: clamp(30px, 4vw, 60px);
}

#Cover_Brand .cover_cont .txt03 {
	font-size: clamp(14px, 1.2vw, 20px);
	font-weight: bold;
	line-height: 1.6;
	margin-top: 20px;
}

/*--- 右側 ---*/
#Cover_Brand .areaR {
	width: 60%;
	overflow: hidden;
}

#Cover_Brand .areaR img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/*--- 見出し ---*/
.tit_brand {
	font-size: 40px;
	color: #000;
	font-weight: bold;
	text-align: center;
}

/* !取り扱いメーカー
---------------------------------------------------------- */
/*--- 白枠 ---*/
.Frame_White_Brand {
	background: #fff;
	box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1), 0 0 50px rgba(128, 128, 128, 0.1) ;
	border: 1px solid #ddd;
	border-radius: 6px;
	padding: 0;
}

/*--- 2カラム表示 ---*/
.brand_list_wrap {
	display: flex;
	gap: 0;
}

.brand_category,
.brand_link {
	flex: 1;
}

.brand_category {
	flex: 0 0 240px;
	display: flex;
	align-items: center;
	padding: 20px;
	box-sizing: border-box;
}

.brand_link {
	flex: 1;
	min-width: 0;
}

.brand_link .cont {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
	padding: 20px;
	box-sizing: border-box;
}

/*--- 背景色 ---*/
.category_bg01 {
	background: linear-gradient(
		to right,
		#fcecda 240px,
		#fff 240px
	);
}

.category_bg02 {
	background: linear-gradient(
		to right,
		#d1eddd 240px,
		#fff 240px
	);
}

.category_bg03 {
	background: linear-gradient(
		to right,
		#d3dcec 240px,
		#fff 240px
	);
}

.category_bg04 {
	background: linear-gradient(
		to right,
		#d9eff9 240px,
		#fff 240px
	);
}

/*--- リンク枠 ---*/
.link_frame {
	display: block;
	width: 100%;
	border: 1px solid #ccc;
	border-radius: 6px;
	padding: 14px;
	text-decoration: none;
	cursor: pointer;
	box-sizing: border-box;
}

.link_frame a {
	display: block;
	color: inherit;
	text-decoration: none;
	cursor: pointer;
}

/*--- ボタン（ガス機器用） ---*/
.link_btn01 {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 2;
	font-size: 12px;
	line-height: 1;
	color: #000;
	text-decoration: none;
	background: #fcecda;
	padding: 5px 0 6px;
	border-radius: 50px;
	box-sizing: border-box;
	overflow: hidden;
	margin-top: 10px;
	transition: background .3s;
}

.link_btn01 span {
	position: relative;
	top: 1px;
}

.link_btn01::after {
	content: "";
	position: absolute;
	left: 12px;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	width: 4px;
	height: 4px;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
}

.link_frame:hover .link_btn01 {
	color: #fff;
	background: #f39939;
}

.link_frame:hover .link_btn01::after {
	border-color: #fff;
}

/*--- ボタン（システム機器用） ---*/
.link_btn02 {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 2;
	font-size: 12px;
	line-height: 1;
	color: #000;
	text-decoration: none;
	background: #d1eddd;
	padding: 5px 0 6px;
	border-radius: 50px;
	box-sizing: border-box;
	overflow: hidden;
	margin-top: 10px;
	transition: background .3s;
}

.link_btn02 span {
	position: relative;
	top: 1px;
}

.link_btn02::after {
	content: "";
	position: absolute;
	left: 12px;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	width: 4px;
	height: 4px;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
}

.link_frame:hover .link_btn02 {
	color: #fff;
	background: #00a84d;
}

.link_frame:hover .link_btn02::after {
	border-color: #fff;
}

/*--- ボタン（水栓・サニタリー用） ---*/
.link_btn03 {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 2;
	font-size: 12px;
	line-height: 1;
	color: #000;
	text-decoration: none;
	background: #d3dcec;
	padding: 5px 0 6px;
	border-radius: 50px;
	box-sizing: border-box;
	overflow: hidden;
	margin-top: 10px;
	transition: background .3s;
}

.link_btn03 span {
	position: relative;
	top: 1px;
}

.link_btn03::after {
	content: "";
	position: absolute;
	left: 12px;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	width: 4px;
	height: 4px;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
}

.link_frame:hover .link_btn03 {
	color: #fff;
	background: #1d50a2;
}

.link_frame:hover .link_btn03::after {
	border-color: #fff;
}

/*--- ボタン（空調・住宅設備用） ---*/
.link_btn04 {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 2;
	font-size: 12px;
	line-height: 1;
	color: #000;
	text-decoration: none;
	background: #d9eff9;
	padding: 5px 0 6px;
	border-radius: 50px;
	box-sizing: border-box;
	overflow: hidden;
	margin-top: 10px;
	transition: background .3s;
}

.link_btn04 span {
	position: relative;
	top: 1px;
}

.link_btn04::after {
	content: "";
	position: absolute;
	left: 12px;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	width: 4px;
	height: 4px;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
}

.link_frame:hover .link_btn04 {
	color: #fff;
	background: #0092d8;
}

.link_frame:hover .link_btn04::after {
	border-color: #fff;
}

/*--- タイトル（ガス機器） ---*/
.brand_title01::before {
	content: "";
	display: inline-block;
	width: 60px;
	height: 60px;
	background: url("common/img/brand/category01.png") no-repeat center center;
	background-size: contain;
	margin-right: 10px;
}

.brand_title01 {
	font-size: 24px;
	color: #f39939;
	font-weight: bold;
	line-height: 1.2em;
	display: flex;
	align-items: center;
}

/*--- タイトル（システム機器） ---*/
.brand_title02::before {
	content: "";
	display: inline-block;
	width: 60px;
	height: 60px;
	background: url("common/img/brand/category02.png") no-repeat center center;
	background-size: contain;
	margin-right: 10px;
}

.brand_title02 {
	font-size: 24px;
	color: #00a84d;
	font-weight: bold;
	line-height: 1.2em;
	display: flex;
	align-items: center;
}

/*--- タイトル（水栓・サニタリー） ---*/
.brand_title03::before {
	content: "";
	display: inline-block;
	width: 60px;
	height: 60px;
	background: url("common/img/brand/category03.png") no-repeat center center;
	background-size: contain;
	margin-right: 10px;
}

.brand_title03 {
	font-size: 24px;
	color: #1d50a2;
	font-weight: bold;
	line-height: 1.2em;
	display: flex;
	align-items: center;
}

/*--- タイトル（空調・住宅設備） ---*/
.brand_title04::before {
	content: "";
	display: inline-block;
	width: 60px;
	height: 60px;
	background: url("common/img/brand/category04.png") no-repeat center center;
	background-size: contain;
	margin-right: 10px;
}

.brand_title04 {
	font-size: 24px;
	color: #0092d8;
	font-weight: bold;
	line-height: 1.2em;
	display: flex;
	align-items: center;
}

/* !メーカー選びもお任せください
---------------------------------------------------------- */
/*--- 3カラム表示（大枠） ---*/
#Strength_List {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	background: #fcf8f3;
	padding: 40px 0;
}

#Strength_List > div {
	padding: 0 20px;
	border-right: 1px solid #000;
}

#Strength_List > div:last-child {
	border-right: none;
}

/*--- 2カラム（各枠） ---*/
.strength_item {
	display: flex;
	align-items: center;
	gap: 0;
}

.strength_image {
	width: 40%;
	display: flex;
	justify-content: center;
	align-items: center; 
}

.strength_image img {
	width: 80%;
	height: auto;
	display: block;
}

.strength_text {
	width: 60%;
	font-size: 16px;
	line-height: 1.3em;
}

/*--- タイトル ---*/
.strength_text .tit_green {
	font-size: 22px;
	color: #51804f;
	font-weight: bold;
	line-height: 1.4em;
	margin-bottom: 8px;
}

.strength_text .tit_blue {
	font-size: 22px;
	color: #187fc4;
	font-weight: bold;
	line-height: 1.4em;
	margin-bottom: 8px;
}

.strength_text .tit_orange {
	font-size: 22px;
	color: #f39939;
	font-weight: bold;
	line-height: 1.4em;
	margin-bottom: 8px;
}

/* ==========================================================
お知らせ
========================================================== */
/*--- 白枠 ---*/
.Frame_White_News {
	background: #fff;
	box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1), 0 0 50px rgba(128, 128, 128, 0.1) ;
	border-radius: 10px;
	padding: 50px 100px 100px 100px;
}

/*--- 記事詳細 ---*/
#News_Detail {
	width:100%;
	margin-top: 20px;
}

#News_Detail .date {
	font-size: 18px;
}

#News_Detail .title {
	font-size: 26px;
	line-height: 1.4em;
	margin: 10px 0 40px;
	padding-bottom: 10px;
	border-bottom:1px solid #ccc;
}

#Post p {
	margin: 20px 0;
}

/* ==========================================================
来店予約
========================================================== */
.Tit_Ap {
	font-size:22px;
	line-height: 1;
	font-weight:bold;
	color: #fff;
	text-align: center;
	background: #00a291;
	padding: 18px 0;
}

.iframe-content {
	width: 100%;
	height: 960px;
	border: none;
}

/* ==========================================================
Contact Form7
========================================================== */
#Area_Form {
	width:100%;
	max-width: 960px;
	margin: 0 auto;
}

/*--- テーブル（基本） ---*/
.table_cf7 {
	width: 100%;
	border-collapse: separate;
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
	margin: 40px 0 20px;
}
.table_cf7 th,
.table_cf7 td {
	background-color: #fff;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	padding: 20px;
}
.table_cf7 th {
	font-size: 18px;
	font-weight: normal;
	background-color: #f5f5f5;
	text-align: left;
	vertical-align: middle;
}
@media screen and (max-width:767px){
	.table_cf7 {
		width: 100%;
		margin: 20px 0 10px;
	}
	.table_cf7,
	.table_cf7 thead,
	.table_cf7 tbody,
	.table_cf7 tr,
	.table_cf7 th,
	.table_cf7 td {
		width: 100%;
		display: block;
	}
	.table_cf7 th,
	.table_cf7 td {
		border-top: none;
		border-left: none;
		padding: 16px;
	}
	.table_cf7 th {
		font-size: 16px;
	}
}

/*--- 入力項目を見やすくする ---*/
input.wpcf7-form-control.wpcf7-text,
textarea.wpcf7-form-control.wpcf7-textarea {
	width: 100%;
	padding: 4px 15px;
	margin-right: 10px;
	border: 1px solid #d0d5d8;
	border-radius: 3px;
}

textarea.wpcf7-form-control.wpcf7-textarea {
	height: 200px;
}

/*--- エラーメッセージを見やすくする ---*/
span.wpcf7-not-valid-tip,
.wpcf7-response-output.wpcf7-validation-errors {
	color: red;
	margin-top: 6px;
}

/*--- 「必須」文字デザイン ---*/
.required {
	font-size:.7em;
	padding: 6px;
	background: #e60039;
	color: #fff;
	border-radius: 3px;
	margin-right: 8px;
	position: relative;
	top: -2px;
}

/*--- 「任意」文字デザイン ---*/
.optional {
	font-size:.7em;
	padding: 6px;
	background: #1c80c4;
	color: #fff;
	border-radius: 3px;
	margin-right: 8px;
	position: relative;
	top: -2px;
}

/*--- チェック ---*/
.txt_check {
	font-size: 14px;
	text-align: center;
}

/*--- ボタン ---*/
input[type='submit'] {
	display: block;
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 400px;
	margin: 0 auto;
	height: 56px;
	text-align: center;
	text-decoration: none;
	background: #000;
	color: #fff;
	line-height: 56px;
	overflow: hidden;
	font-size: 18px;
	border-radius:50px;
}

input[type='submit']:hover {
	color: #fff;
	text-decoration: none;
	background: #00a291;
	transition: all .5s ease;
}

@media screen and (max-width:767px){
	/*--- チェック ---*/
	.txt_check {
		font-size: 14px;
		text-align: center;
	}
}

/* ==========================================================
PageNavi
========================================================== */
.wp-pagenavi {
	clear: both;
	font-size: 13px;
	text-align:center;
}

.wp-pagenavi a, .wp-pagenavi span {
	color: #000;
	background-color: #fafafa;
	border: 1px solid #999 !important;
	padding: 4px 8px 6px !important;
	margin: 0 2px;
	white-space: nowrap;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
	text-align: center;
	text-decoration: none;
}

.wp-pagenavi a:hover {
	color: #FFF;
	background-color: #f3982d;
	border-color: #f3982d !important;
}

.wp-pagenavi span.current {
	color: #FFF;
	background-color: #00a291;
	border-color: #00a291 !important;
	font-weight: bold;
}
