
.kagami_contents{
	width:100%;
	max-width:850px;
	margin: 20px auto;
	font-size:15px;
	font-weight: 600;
	color: #222;
	font-family:'Lucida Grande','Hiragino Kaku Gothic ProN',Meiryo,メイリオ,sans-serif;
	font-size: 16px;
	font-weight: normal;
	line-height: 1.7rem;
	letter-spacing:0.1em;
	-webkit-font-smoothing: antialiased;
}

.site_footer_copyright{
	padding:20px;
	color:#666;
	font-size:12px;
	text-align:center;
	letter-spacing:0.05em;
}

.kagami_page_layout{
	display:flex;
	align-items:flex-start;
	gap:30px;
	width:100%;
	max-width:1100px;
	margin:20px auto;
	padding:0 20px;
}
.kagami_main_column{
	flex:1;
	min-width:0;
}
.kagami_page_layout .kagami_contents{
	margin:0;
}
.kagami_sidebar{
	width:250px;
	flex:0 0 250px;
	margin-top:0;
	max-width:100%;
	box-sizing:border-box;
	font-size:13px;
	line-height:1.7;
	letter-spacing:0.05em;
	overflow-wrap:anywhere;
}
.kagami_sidebar *,
.kagami_sidebar *:before,
.kagami_sidebar *:after{
	max-width:100%;
	box-sizing:border-box;
}
.kagami_sidebar_box{
	padding:16px 0;
	border-bottom:1px solid rgba(93,128,145,0.25);
}
.kagami_sidebar_box:first-child{
	padding-top:0;
}
.kagami_sidebar_box h3{
	margin-bottom:10px;
	color:#5d8091;
	font-size:15px;
	font-weight:bold;
	line-height:1.5;
}
.kagami_sidebar_top{
	display:block;
	margin-bottom:8px;
	padding:8px 10px;
	border:1px solid #5d8091;
	border-radius:4px;
	text-align:center;
	color:#5d8091;
}
.kagami_sidebar_search input{
	width:100%;
	height:42px;
	margin-bottom:8px;
	padding:8px;
	border:1px solid #ccc;
	border-radius:4px;
	box-sizing:border-box;
	line-height:1.4;
	-webkit-appearance:none;
}
.kagami_sidebar_search button{
	width:100%;
	height:38px;
	padding:8px;
	background:#5d8091;
	color:#fff;
	border:none;
	border-radius:4px;
	box-sizing:border-box;
}
.kagami_sidebar_posts li{
	margin-bottom:12px;
}
.kagami_sidebar_posts a{
	display:block;
}
.kagami_sidebar_posts time{
	display:block;
	color:#5d8091;
	font-size:11px;
	line-height:1.4;
}
.kagami_sidebar_posts span{
	display:block;
	color:#222;
	font-weight:bold;
	line-height:1.6;
}
@media screen and (max-width:640px){
	.kagami_page_layout{
		display:block;
		margin:20px auto;
		padding:0;
	}
	.kagami_page_layout .kagami_contents{
		margin:20px auto;
	}
	.kagami_sidebar{
		width:100%;
		max-width:100vw;
		flex:0 0 auto;
		margin:0 auto 30px;
		padding:0 20px;
	}
}

.owner_info h1,
.owner_info h2{
	color:#5d8091;
	font-weight:bold;
	line-height:1.6;
}
.owner_info h1{
	margin-bottom:24px;
	font-size:28px;
	text-align:center;
}
.owner_info h2{
	margin:48px 0 18px;
	padding-bottom:8px;
	font-size:22px;
	border-bottom:1px solid #5d8091;
}
.owner_info p{
	margin-bottom:1.2em;
}
.owner_info_lead{
	padding:24px;
	background:rgba(90,125,140,0.08);
	border-left:4px solid #5d8091;
}
.owner_info_table{
	width:100%;
	border-collapse:collapse;
	margin-top:18px;
}
.owner_info_table th,
.owner_info_table td{
	padding:14px 16px;
	border-bottom:1px solid rgba(93,128,145,0.25);
	vertical-align:top;
}
.owner_info_table th{
	width:180px;
	color:#5d8091;
	font-weight:bold;
	background:rgba(90,125,140,0.08);
}
.owner_info_photos{
	display:flex;
	gap:16px;
	margin-top:20px;
}
.owner_info_photos img{
	display:block;
	width:33.333%;
	height:auto;
}
.owner_info_btn_area{
	margin-top:32px;
	text-align:center;
}
.owner_info_btn_area a{
	display:inline-block;
	padding:12px 28px;
	background:#5d8091;
	color:#fff;
	border-radius:4px;
}
@media screen and (max-width:640px){
	.owner_info h1{
		font-size:24px;
		text-align:left;
	}
	.owner_info_table th,
	.owner_info_table td{
		display:block;
		width:100%;
	}
	.owner_info_photos{
		display:block;
	}
	.owner_info_photos img{
		width:100%;
		margin-bottom:12px;
	}
}

.not_found_message{
	margin-bottom:36px;
	padding:24px;
	background:rgba(90,125,140,0.08);
	border-left:4px solid #5d8091;
}
.not_found_message h1{
	margin-bottom:12px;
	color:#5d8091;
	font-size:24px;
	font-weight:bold;
	line-height:1.6;
}
.not_found_message p{
	margin:0;
}

/*--------------------------------------------------------------
2.0 Typography
--------------------------------------------------------------*/
p {text-align: justify;}
b, strong {font-weight: bold;}

/* 共通クラス*/
.kagami_contents span{
	color:#5d8091;
	font-weight: bolder;
}
.kagami_contents strong{
	color:#5d8091;
	font-weight: bolder;
}
.kagami_contents img.fix{
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
}

/* アイキャッチ */
.sec_content#eyecatch{
	margin-bottom: 15px;
}

/* ページタイトル */
.sec_content#title{
	box-sizing: border-box;
	width:100%;
	padding:0px 15px;
}
.sec_content#title h2{
	font-size: 22px;
	line-height: 1.8em;
	text-align: center;
	font-weight: bold;
	letter-spacing: 0.2em;
	color:#5d8091;
	padding-top:30px;
	padding-bottom:10px;
}
/* ページサブタイトル */
.sec_content#subtitle h3{
	font-size: 20px;
	text-align: center;
	font-weight: bold;
	letter-spacing: 0.2em;
	padding-top:30px;
	padding-bottom:10px;
}
@media screen and (max-width:640px){
	.sec_content#title h2{
		font-size: 20px;
		text-align: left;
		letter-spacing: 0em;
	}
	.sec_content#subtitle h3{
		font-size: 18px;
		letter-spacing: 0em;
	}
}

/* リード文章 */
.sec_content#lead{
	box-sizing: border-box;
	width:100%;
	padding:40px 15px;
	text-align: center;
}
.sec_content#lead h4{
	line-height: 2em;
	font-size:18px;
}
@media screen and (max-width:640px){
	.sec_content#lead{
		padding:40px 15px;
		text-align: left;
	}
	.sec_content#lead h4{
		font-size:16px;
	}
}

/* 目次 */
.sec_content#index{
	box-sizing: border-box;
	width:100%;
	padding:40px 15px;
	background-color:rgba(48,48,52,0.1);
	margin-bottom:20px;
}
.sec_content#index h3{
	font-size: 20px;
	text-align: center;
	font-weight: bold;
	letter-spacing: 0.2em;
}
.sec_content#index ul{
	display: block;
	width: 80%;
	max-width: 600px;
	margin:20px auto;
	margin-top: 30px;
}
.sec_content#index ul li{
	position: relative;
	padding:12px 20px;
	padding-left: 40px;
	font-size: 20px;
	line-height: 20px;
	list-style:none;
}
.sec_content#index ul li span{
	position: absolute;
	display: inline-block;
	padding:0px 5px;
	left: 0;
	background:#ce240d;
	color:#fff;
	font-size: 13px;
	line-height: 20px;
}

/* ページテキスト */
.sec_content#text{
	box-sizing: border-box;
	width:100%;
	max-width:700px;
	padding:30px 20px;
	padding-bottom:50px;
	margin:0 auto;
}

/* 補足 */
.sec_content#note{
	box-sizing: border-box;
	width:100%;
	max-width:600px;
	background-color: rgba(69, 45, 37, 0.05);
	padding:20px 30px;
	margin:0 auto;
	margin-bottom: 60px;
	font-size:14px;
}
.sec_content#note h4{
	font-size:16px;
	color:#5d8091;
}

/* 画像バナー */
.sec_content#image_banner{
	box-sizing: border-box;
	width:100%;
	padding:20px 20px;
	background-color: rgba(90, 125, 140, 0.2);
	margin:0 auto;
	margin-bottom:50px;
}
.sec_content#image_banner a{
	display:block;
	width:100%;
	max-width:400px;
	margin:20px auto;
}

/* 表（簡易） */
.sec_content#table{
	box-sizing: border-box;
	width:100%;
	padding:30px 20px;
	padding-bottom: 50px;
}
.sec_content#table table{
	width:100%;
	border-top:1px #5d8091 solid; 
	border-collapse:separate;
	border-spacing:0px;
}
.sec_content#table table tr{}
.sec_content#table table th{
	min-width: 140px;
	padding:10px 20px;
	white-space: nowrap;
	border-bottom:1px #5d8091 solid;
	font-weight: bold;
	color:#333;
	background-color: rgba(90, 125, 140, 0.1);
}
.sec_content#table table td{
	font-size:13px;
	padding:10px;
	border-bottom:1px #5d8091 solid;
}

@media screen and (max-width:640px){
	.sec_content#table table tr{ 
		display: flex;
	    flex-wrap: wrap;
    }
	.sec_content#table table th{
		width:100%;
	}
	.sec_content#table table td{
		width:100%;
	}
}

/* 商品リンク */
.sec_content#product_info{
	box-sizing: border-box;
	width:100%;
	padding:30px 35px;
	border:1px #5d8091 solid;
	border-radius:5px;
}
.sec_content#product_info a{
	display:flex;
	width:100%;
	justify-content: space-around;
	align-items: center;
}
.sec_content#product_info .content{
	width:100%;
	flex-basis: 60%;
}
.sec_content#product_info .content h3{
	font-size:18px;
	font-weight:bold;
	margin-bottom:10px;
	color:#5d8091;
}
.sec_content#product_info .content p{
	font-size:15px;
	text-align: justify;
}
.sec_content#product_info .image{
	width:100%;
	flex-basis: 30%;
}
.sec_content#product_info .image img{
	display:block;
	width:100%;
	height: auto;
	margin-bottom:5px;
}
.sec_content#product_info .image p{
	font-size:12px;
	text-align: center;
}

/* 施工事例 */
.seko_hiyo{
	box-sizing: border-box;
	width:100%;
}
.seko_hiyo_item{
	display:flex;
	justify-content: space-between;
	align-items: center;
	padding:10px 20px;
}
.seko_hiyo_item .title{
	width:100%;
	height:30px;
	flex-basis: 25%;
	background-color:#76bc32;
	color:#fff;
	line-height: 30px;
	text-align: center;
	font-size:13px;
	font-weight: bold;
}
.seko_hiyo_item .detail{
	width:100%;
	flex-basis: 70%;
}

.seko_flow{
	box-sizing: border-box;
	width:100%;
}
.seko_flow_item{
	display:flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom:10px;
}
.seko_flow_item .title{
	width:100%;
	flex-basis: 20%;
	background-color:#76bc32;
	color:#fff;
	text-align: center;
	font-size:14px;
	font-weight: bold;
	padding:15px;
}
.seko_flow_item .title span{
	display: block;
	color:#fff;
	font-weight: bold;
}
.seko_flow_item .detail{
	width:100%;
	flex-basis: 70%;
	padding:10px;
}

.seko_list{
	box-sizing: border-box;
	width:100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.seko_item{
	box-sizing: border-box;
	width:100%;
	flex-basis: 32%;
	margin-bottom:10px;
}

.btn_seko_contact{
	display:block;
	display:block;
	max-width:500px;
	margin:20px auto;
}

/* content archive */
.sec_content#content_archive{
	padding:30px 20px;
}
.sec_content#content_archive h2{
	font-size:22px;
	text-align:center;
	font-weight:bold;
	letter-spacing:0.2em;
	color:#5d8091;
	margin-bottom:30px;
}
.content_archive_list{
	display:block;
}
.content_archive_item{
	width:100%;
	margin-bottom:24px;
	background:#fff;
	border:1px solid rgba(93,128,145,0.2);
	border-radius:8px;
	overflow:hidden;
	box-shadow:0 6px 18px rgba(0,0,0,0.06);
	transition:transform 0.2s ease, box-shadow 0.2s ease;
}
.content_archive_item a{
	display:flex;
	align-items:stretch;
	min-height:190px;
	color:#222;
	background:#fff;
}
.content_archive_item:hover{
	transform:translateY(-3px);
	box-shadow:0 10px 24px rgba(0,0,0,0.1);
}
.content_archive_thumb{
	position:relative;
	width:34%;
	min-width:260px;
	overflow:hidden;
	background:rgba(90,125,140,0.12);
}
.content_archive_thumb picture{
	display:block;
	width:100%;
	height:100%;
}
.content_archive_thumb img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}
.content_archive_body{
	width:66%;
	padding:22px 26px;
}
.content_archive_body time{
	display:block;
	margin-bottom:8px;
	color:#5d8091;
	font-size:12px;
	line-height:1.4;
	letter-spacing:0.08em;
}
.content_archive_item h3{
	margin-bottom:10px;
	font-size:16px;
	font-weight:bold;
	line-height:1.7;
	letter-spacing:0.08em;
}
.content_archive_item p{
	color:#555;
	font-size:13px;
	line-height:1.8;
	letter-spacing:0.04em;
}
.content_archive_pagination{
	margin-top:35px;
	text-align:center;
}
.content_archive_pagination .page-numbers{
	display:inline-block;
	padding:6px 10px;
	margin:0 3px;
	border:1px solid #5d8091;
}
.content_archive_pagination .current{
	background:#5d8091;
	color:#fff;
}
@media screen and (max-width:640px){
	.content_archive_item{
		margin-bottom:25px;
	}
	.content_archive_item a{
		display:block;
		min-height:0;
	}
	.content_archive_thumb{
		width:100%;
		min-width:0;
		aspect-ratio:16 / 9;
	}
	.content_archive_body{
		width:100%;
		padding:14px 15px 18px;
	}
}
