@charset "UTF-8";

/*========================================= */
/* ZoomとLineバナー
=========================================== */
/* top */
.gray-block {
	display: none;
}
.line-ftr {
	width: 50%;
	background-color: #1dcd00;
	float: left;
}
.line-ftr a,
.mail-ftr a {
	display: block;
	height: 70px;
	width: 100%;
	position: relative;
}
.line-ftr a::before {
	content: url("../img/logo-line.png");
	position: absolute;
	left: 10px;
	top: 7px;
}
.line-ftr p {
	height: 100%;
	display: block;
	padding: 17px 0 0 17%;
	font-size: 17px;
	font-weight: bold;
}
.mail-ftr {
	width: 50%;
	display: inline-block;
}
.mail-ftr a::after {
	content: url("../img/icon-mail.png");
	position: absolute;
	right: 13px;
	top: 12px;
}
.mail-ftr p {
	text-align: left;
	font-size: 17px;
	padding: 6px 0 0 13px;
	font-weight: bold;
}
.header-phone {
	display: inline-block;
	width: 48px;
	position: relative;
	right: 10vw;
	top: 1vh;
}
.header-phone a img {
	width: 100%;
}

.zoom-line {
	width: 95vw;
	text-align: center;
	margin: 5vh auto 2vh;
}
.zoom-img img {
	width: 100%;
}
.zoom-links a {
	margin: 10px auto;
	display: block;
}
.wpcf7-list-item.first,
.wpcf7-list-item.last,
.wpcf7-list-item.first .wpcf7-list-item-label {
	display: inline-block;
}
.wpcf7-list-item.first {
}
.wpcf7-list-item.last {
	margin-left: 25px;
}
.wpcf7-form-control .wpcf7-list-item.first input,
.wpcf7-form-control .wpcf7-list-item.last input {
	display: inline-block;
	width: 20px;
	height: 20px;
	margin: 10px;
}
div.wpcf7 table td.zoom-form {
	padding: 0 0 0 20px;
	text-align: left;
	font-size: 20px;
}
@media screen and (min-width: 768px) {
	.gray-block {
		display: block;
		position: absolute;
		bottom: -1px;
		z-index: 1;
		width: 100%;
	}
	.gray-block img,
	.zoom-img img {
		width: 100%;
	}
	.zoom-line {
		display: block;
		position: absolute;
		z-index: 2;
		left: calc(50% - 500px);
		bottom: 0px;
		width: 1100px;
		margin: 0 auto;
	}
	.zoom-img {
		display: inline-block;
		max-width: 620px;
		width: 55vw;
	}
	.zoom-links {
		display: inline-block;
		position: relative;
		top: 44px;
		margin-left: 20px;
		width: 26%;
	}
	.zoom-links a {
		display: block;
	}
	a.hover-links:hover {
		opacity: 0.8;
		transition: 0.6s;
	}
	.zoom-links a:nth-child(1) {
		margin-bottom: 20px;
	}
	.wpcf7-form-control .wpcf7-list-item.first input,
	.wpcf7-form-control .wpcf7-list-item.last input {
		margin: 8px 10px 10px 10px;
	}
	div.wpcf7 table td.zoom-form {
		font-size: 16px;
		padding: 20px;
	}
}

/* contact-zoom */
.contact-line-logo {
	background-color: #00b900;
	width: 82px;
	height: 82px;
}
.contact-line {
	max-width: 900px;
	margin: 30px auto;
	box-sizing: border-box;
	padding: 0px 30px 0px 15px;
	background-color: #fff;
	display: block;
	text-align: left;
}
.contact-line-txt {
	font-size: 22px;
	font-family: "メイリオ", Meiryo;
	display: inline-block;
	margin-left: 85px;
	text-align: left;
	padding: 35px 0 35px 15px;
	position: relative;
}
.contact-line-txt::before {
	content: url("../img/logo-line-contact.png");
	position: absolute;
	left: -80px;
	bottom: 0px;
}
.contact-line-link {
	background-color: #0d8a3e;
	font-family: "源ノ角ゴシック JP";
	font-size: 16px;
	width: 270px;
	height: 58px;
	color: #fff;
	box-sizing: border-box;
	position: relative;
	float: right;
	top: 20px;
}
.contact-line-link p {
	padding: 8px 0 8px 25px;
}
.contact-line-link.right-arw::after {
	bottom: 10px;
	content: url("../img/arw-white.png");
	position: absolute;
	right: 15px;
}
@media screen and (max-width: 768px) {
	.contact-line {
		padding: 0px 30px 30px 15px;
	}
	.contact-line-txt {
		padding: 20px 0 20px 10px;
	}
	.contact-line-link {
		float: none;
		margin: 15px auto 0;
		display: block;
		width: 95%;
		top: 0;
		height: auto;
	}
	.contact-line-link p {
		font-size: 18px;
		padding: 18px 0 18px 25px;
	}
	.pagetop a {
		z-index: 10000;
	}
	.bx-wrapper .bx-controls-direction a {
		z-index: 1 !important;
	}
}

/* 特別なお知らせ */
.special-notice {
	background: #f8e0e0;
	padding: 30px 0;
}
.notice-center {
	background-color: #fff;
	box-sizing: border-box;
	margin: 0 auto;
	width: 95vw;
	max-width: 700px;
}
.notice-center a {
	color: #000;
	display: block;
	padding: 10px 20px 10px 40px;
	position: relative;
	text-align: left;
	transition: 0.5s;
}
.notice-center a::before {
	content: "";
	position: absolute;
	height: 100%;
	width: 40px;
	top: 0;
	right: 0;
	background: #d95050;
	transition: 0.5s;
}
.notice-center a::after {
	content: url(../img/arw-ham.png);
	position: absolute;
	top: 50%;
	margin-top: -10px;
	right: 12px;
	transition: 0.5s;
}
.notice-center a:hover {
	opacity: 0.7;
	transition: 0.5s;
}
.notice-center h3 {
	font-size: 20px;
	margin: 0 auto 10px;
	font-weight: 800;
}
.notice-center p {
	font-size: 18px;
	font-weight: normal;
}
.notice-center p.date {
	font-size: 16px;
	font-weight: normal;
}
@media screen and (max-width: 640px) {
	.notice-center a {
		padding: 20px 0 20px 10px;
	}
}

/* オンラインコンサルバナー */
.consult-center {
	clear: both;
	padding-top: 70px;
}
.online-consult {
	display: inline-block;
}
.online-consult picture {
	display: block;
	width: 90vw;
	max-width: 700px;
}
.online-consult picture * {
	width: 100%;
}
@media screen and (min-width: 768px) {
	.pc_invisible {
		display: none;
	}
	.br-sp {
		display: none;
	}
	.mt-20 {
		margin-top: 20px;
	}
	.bg {
		background: url(../img/common/cover.png) repeat;
	}
	/*========================================= */
	/* グローバルナビ
=========================================== */
	.inner {
		width: 100%;
		margin: 0 auto;
	}
	.inner:after {
		content: "";
		clear: both;
		display: block;
	}
	/* header */
	header {
		width: 100%;
		margin: 0 auto;
		height: 86px;
	}
	#top-head {
		font-size: 14px;
		position: absolute;
		width: 100%;
		/* line-height: 1; */
		z-index: 999;
	}
	/* #top-head a {
		color: #fff;
		font-weight: normal;
		text-decoration: none;
	} */
	#top-head .inner {
		position: relative;
		top: 10px;
	}
	#top-head .logo {
		margin: 0 auto;
		width: 500px;
	}
	#global-nav ul {
		margin-top: 20px;
		list-style: none;
		font-size: 14px;
	}
	#global-nav ul li {
		position: relative;
		padding-bottom: 18px;
		font-family: "heisei-maru-gothic-std";
	}
	#global-nav ul li a {
		padding: 0 14px;
	}
	/* Btn Hover */
	#global-nav ul li:after {
		position: absolute;
		content: "";
		display: block;
		width: 93%;
		height: 4px;
		bottom: -5px;
		transition: all 0.3s ease;
		-webkit-transition: all 0.3s ease;
		-moz-transition: all 0.3s ease;
	}
	#global-nav ul li:hover:after {
		background: #0d8a3f;
		bottom: 10px;
	}
	/* Fixed */
	#top-head.fixed {
		z-index: 9999;
		margin-top: 0;
		top: 0;
		position: fixed;
		height: 70px;
		background: rgba(255, 255, 255, 0.8);
		transition: top 0.65s ease-in;
		-webkit-transition: top 0.65s ease-in;
		-moz-transition: top 0.65s ease-in;
	}
	#top-head.fixed .logo {
		display: none;
	}
	#top-head.fixed #global-nav ul li a {
		color: #666;
		padding-bottom: 15px;
	}
	/* Fixed Btn Hover */
	#top-head.fixed #global-nav ul li:after,
	#staff-head.fixed #global-nav ul li:hover:after {
		bottom: -5px;
	}
	#top-head.fixed #global-nav ul li:hover:after,
	#staff-head.fixed #global-nav ul li:hover:after {
		background: #0d8a3f;
		bottom: 10px;
	}

	#mobile-head,
	#global-nav {
		display: none;
	}

	/*========================================= */
	/* メインビジュアル
=========================================== */
	.main-slide {
		position: relative;
		z-index: 1;
		margin: 0;
	}
	.head-mark {
		position: absolute;
		top: 18%;
		left: 50%;
		transform: translateX(-50%);
		max-width: 926px;
		margin: auto;
		z-index: 10;
	}
	.head-mark img {
		margin: 0 auto;
		display: block;
		width: 100%;
	}
	.head-mark-y {
		padding-top: 30px;
		width: 180px;
	}
	.head-mark p {
		margin-top: 20px;
		font-size: 20px;
		color: #0d8a3f;
		font-weight: bold;
		text-shadow: 0px 0px 2px #fff;
	}
	.mainbg01 {
		background: url(../img/top/top-main.png) no-repeat;
		-webkit-background-size: cover;
		-moz-background-size: cover;
		background-size: cover;
		width: 100%;
		height: 100vh;
		background-position: 50% 50%;
		position: relative;
	}

	.mainbg01__bnr {
		width: 95%;
		max-width: 396px;
		position: absolute;
		bottom: 10px;
		right: 10px;
		transition: all 0.2s ease-in;
	}

	.mainbg01__bnr:hover {
		opacity: 0.9;
	}

	.main-slide__scroll {
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		bottom: 4vh;
		transition: all 0.2s ease-in;
	}

	.main-slide__scroll:hover {
		bottom: 3vh;
		opacity: 0.7;
	}

	/*========================================= */
	/* ボタン
=========================================== */
	.button-1 {
		margin-top: 50px;
	}
	.button-3 {
		margin-top: 52px;
		float: left;
	}
	.button1 {
		background: #0d8a3f;
		color: #fff;
		border: none;
		position: relative;
		height: 80px;
		font-size: 16px;
		padding: 15px 60px;
		letter-spacing: 1px;
		cursor: pointer;
		transition: 600ms ease all;
		outline: none;
	}
	.button-works {
		background: #0d8a3f;
		color: #fff;
		border: none;
		position: relative;
		font-size: 15px;
		padding: 6px 42px;
		letter-spacing: 1px;
		cursor: pointer;
		transition: 600ms ease all;
		outline: none;
	}
	.button1:hover,
	.button-works:hover {
		background: #fff;
		color: #0d8a3f;
	}
	.button1:before,
	.button1:after,
	.button-works:before,
	.button-works:after {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		height: 2px;
		width: 0;
		background: #0d8a3f;
		transition: 600ms ease all;
	}
	.button1:after,
	.button-works:after {
		right: inherit;
		top: inherit;
		left: 0;
		bottom: 0;
	}
	.button1:hover:before,
	.button1:hover:after,
	.button-works:hover:before,
	.button-works:hover:after {
		width: 100%;
		transition: 600ms ease all;
	}
	.button-2 {
		margin-top: 25px;
	}
	.button2 {
		background: #666;
		color: #fff;
		border: none;
		position: relative;
		font-size: 16px;
		padding: 15px 10px;
		letter-spacing: 1px;
		cursor: pointer;
		transition: 600ms ease all;
		outline: none;
		margin: 0 10px;
		width: 410px;
		display: inline-block;
	}
	.button2:hover {
		background: #fff;
		color: #666;
	}
	.button2:nth-child(2) {
		background-color: #1dcd00;
	}
	.button2:nth-child(2):hover {
		color: #1dcd00;
		background: #fff;
	}
	.button2 .small-txt {
		font-size: 14px;
		display: inline-block;
	}
	.pc_invisible {
		display: none;
	}
	.arrow-adjust {
		display: inline-block;
	}

	/*========================================= */
	/* ヤマガタヤの強み
=========================================== */
	#strong {
		margin: 40px auto;
	}
	#strong h2 {
		margin: 0;
	}
	#strong ul {
		width: 1200px;
		margin: 0 auto;
	}
	#strong li {
		margin-right: 46px;
		box-shadow: 5px 5px 10px #a7a7a7;
		padding: 0;
	}
	#strong li:last-child {
		margin-right: 0;
	}
	#strong img {
		transition: 0.4s;
	}
	.strong1 {
		background: url(../img/top/strong-1h.jpg) no-repeat;
	}
	.strong2 {
		background: url(../img/top/strong-2h.jpg) no-repeat;
	}
	.strong3 {
		background: url(../img/top/strong-3h.jpg) no-repeat;
	}
	#strong li:hover img {
		opacity: 0;
	}
	/*========================================= */
	/* 施工事例
=========================================== */
	#jirei {
		padding: 100px 0 80px;
		display: block;
		overflow: hidden;
		background: #ececec url(../img/top/bg-jirei.png) no-repeat;
		background-size: 1000px;
		background-position: left -200px;
	}
	.jirei-2column {
		width: 1200px;
		margin: 0 auto;
	}
	.jirei-area {
		margin: 0 auto;
		width: 500px;
		text-align: left;
		float: left;
	}
	.jirei-ttl {
		margin: 50px 0;
		font-size: 30px;
		font-family: "niveau-grotesk";
		color: #0d8a3f;
		letter-spacing: 2px;
		padding-bottom: 1px;
		/* text-align: left; */
	}
	.jirei-ttl span {
		color: #000;
		font-size: 35px;
		font-weight: normal;
		letter-spacing: 0px;
	}
	.jirei-area p {
		width: 500px;
		font-size: 16px;
		line-height: 1.6;
	}
	.jirei-list {
		width: 600px;
		float: right;
	}
	.transform01 {
		-webkit-transform: scale(1);
		transform: scale(1);
		-webkit-transition: all 0.3s ease-in-out;
		transition: all 0.3s ease-in-out;
	}
	figure:hover .transform01 {
		-webkit-transform: scale(1.2);
		transform: scale(1.2);
	}

	/*========================================= */
	/* カテゴリ一覧
=========================================== */
	#category {
		background: url(../img/top/bg-category.jpg) no-repeat;
		background-size: cover;
		padding: 80px 0;
	}

	.category__inner {
		display: flex;
		align-items: stretch;
		justify-content: space-between;
		flex-flow: row wrap;
		gap: 20px;
		width: 95%;
		max-width: 1200px;
		margin: auto;
	}

	.category-item {
		flex: 0 0 31%;
	}

	.menu__item-ttl {
		color: #1b8b41;
		font-size: 20px;
		font-weight: bold;
	}

	.menu__item-txt {
		color: #000;
		font-size: 16px;
	}

	.category-item {
		position: relative;
	}

	.category-item::after {
		position: absolute;
		content: url(../img/top/icon-triangle.png);
		bottom: 0;
		right: 5px;
	}

	.category-link {
		display: block;
		height: 100%;
		background: #fff;
		padding: 40px 0;
	}

	.category-link:hover .category-img,
	.category-link:hover .menu__item-ttl,
	.category-link:hover .menu__item-txt {
		opacity: 0.7;
	}

	/*========================================= */
	/* top 2カラム
=========================================== */
#column2-area2 {
	width: 95%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 50px 0 100px;
	display: block;
	overflow: hidden;
}
.news-area {
	margin: auto;
}
.news-area img {
	margin: 0 auto;
	padding: 60px 0 25px;
}
.news-list {
	width: 100%;
	max-width: 720px;
	height: 304px;
	margin: auto;
	background: #f7f7f7;
	overflow-y: scroll;
}
.news-list li:first-child {
	border-top: none;
}
.news-list li {
	width: auto;
	text-align: left;
	line-height: 1.3;
	padding: 15px 5px 15px 10px;
	margin: 0 auto;
	border-bottom: 1px dotted #666;
}
.news-list li a,
.news-more a {
	margin-top: 5px;
	font-size: 16px;
	color: #333;
	display: block;
}
.news-list li a:hover,
.news-more a:hover {
	color: #0d8a3f;
	text-decoration: underline;
}
.news-list li span {
	margin-right: 10px;
	font-size: 16px;
}
.news-more {
	width: 100%;
	max-width: 720px;
	margin: 10px auto 0;
	text-align: right;
}
.news-more a {
	font-size: 16px;
}
.camp-area {
	float: right;
	width: 400px;
}
.camp-area li {
	margin-bottom: 10px;
}
.camp-block {
	transition: 0.4s;
}
.camp-block:hover {
	opacity: 0.5;
}

	/*========================================= */
	/* フッター
=========================================== */
	.contact-area {
		margin: 0 auto;
		text-align: center;
		display: block;
		overflow: hidden;
		background: url(../img/common/bg-contact.jpg) no-repeat;
		background-size: cover;
	}
	.contact-area-bk {
		padding: 50px 0 80px;
		background: rgba(255, 255, 255, 0.7);
		background-size: cover;
	}
	.contact-ttl {
		margin: 0 auto;
		font-size: 25px;
		font-family: "niveau-grotesk";
		color: #666;
		letter-spacing: 2px;
		padding-bottom: 1px;
		text-align: center;
	}
	.contact-ttl span {
		color: #000;
		letter-spacing: 0px;
		font-size: 35px;
		font-weight: normal;
	}
	.contact-area p {
		margin: 60px 0 20px;
		font-size: 16px;
		line-height: 1.6;
	}
	.contact-tel a {
		color: #666;
		font-size: 30px;
		line-height: 5px;
		margin-top: 100px;
		pointer-events: none;
	}
	.contact-tel img {
		width: 50px;
		margin-right: 10px;
		margin-bottom: 15px;
	}
	/*マップ*/
	.fmap {
		width: 100%;
		margin: 0 auto;
		display: block;
		overflow: hidden;
	}
	.fmap-r {
		margin: 0 auto;
		width: 100%;
	}
	.fmap-r {
		float: left;
	}
	.fmap-r p {
		margin-top: 10px;
	}

	/*リスト*/
	.fnav {
		width: 1200px;
		margin: 0 auto;
		padding: 80px 0;
		display: block;
		overflow: hidden;
	}
	.fnav .fnav-1 {
		float: left;
	}
	.fnav ul li {
		text-align: left;
		padding-left: 20px;
		font-size: 14px;
	}
	.fnav ul {
		margin: 0;
	}
	.fnav ul li a {
		color: #000;
	}
	.fnav ul li a:hover {
		color: #6e001d;
		text-decoration: underline;
	}
	.fnav .ml-30 {
		margin-left: 30px;
	}
	.fnav-1 {
		padding-top: 20px;
		border-left: 1px solid #b9b9b9;
		height: 380px;
	}
	.fnav-1 li {
		line-height: 2.5;
	}
	.fnav-place li {
		line-height: 1.5;
		padding: 0 0 20px 20px;
	}
	.fnav-place li:first-child {
		padding-top: 6px;
	}
	.fnav-pana {
		width: 290px;
	}
	.fnav-pana li {
		line-height: 1.5;
		padding: 6px 0;
		font-size: 12px;
		text-indent: -8px;
	}
	.flogo {
		width: 100%;
		margin: 0 auto;
		padding: 30px 0 90px 0;
		background: #6e001d;
		overflow: hidden;
	}
	.flogo-area {
		margin: 0 auto;
		width: 1200px;
	}
	.flogo-l {
		float: left;
		font-size: 12px;
		color: #fff;
		text-align: left;
		width: 550px;
	}
	.flogo-r {
		float: left;
		width: 500px;
		margin: 15px 0 0 50px;
	}
	.flogo-l img {
		width: 400px;
		margin-bottom: 20px;
	}
	.flogo-r p {
		color: #fff;
		text-decoration: none;
		float: left;
		font-size: 14px;
		text-align: left;
		padding: 30px 0 10px;
	}
	.flogo-r img {
		float: left;
	}
	.flogo-r .f-logo {
		width: 72.8%;
	}
	.flogo-r copy {
		font-size: 12px;
		color: #fff;
		float: left;
	}

	/*========================================= */
	/* ページトップに戻るボタン
=========================================== */
	.pagetop a {
		display: none;
	}
	.pagetop {
		display: none;
		position: fixed;
		bottom: 60px;
		right: 0;
		z-index: 9999;
	}
	.pagetop a {
		display: block;
		background: url(../img/common/page-top.png) no-repeat 0 0;
		background-size: 100%;
		width: 180px;
		height: 218px;
		overflow: hidden;
		white-space: nowrap;
		text-indent: 100%;
		transition: 0.5s;
	}
	.pagetop a:hover {
		background: url(../img/common/page-top-h.png) no-repeat 0 0;
	}
	/*========================================= */
	/* fixバナー
=========================================== */
	#fix-bnr.fixed {
		width: 100%;
		height: 60px;
		position: fixed;
		bottom: 0;
		z-index: 9999;
		text-align: center;
		background: #a7a7a7;
	}

	.fix-bnr-area {
		width: 1200px;
		margin: 20px auto 0;
	}
	.fix-bnr-area p {
		color: #fff;
		font-size: 16px;
		width: 500px;
		float: left;
	}
	.fix-bnr-tel {
		width: 300px;
		float: left;
	}
	.fix-bnr-tel a {
		color: #fff;
		font-size: 30px;
		line-height: 5px;
		pointer-events: none;
	}
	.fix-bnr-tel img {
		width: 40px;
		margin-right: 10px;
		margin-top: -10px;
	}
	.button3 {
		background: #fff;
		color: #666;
		border: none;
		position: relative;
		height: 80px;
		font-size: 16px;
		padding: 15px 30px;
		letter-spacing: 1px;
		cursor: pointer;
		transition: 600ms ease all;
		outline: none;
	}
	.button3:hover {
		background: #666;
		color: #fff;
	}

	/*========================================= */
	/* 子ページ ⊶ タイトル
===========================================*/
	.white-block {
		position: absolute;
		z-index: 2;
		bottom: -1px;
		width: 100%;
	}
	.white-block img {
		vertical-align: bottom;
	}
	.main-ttl-area {
		width: 1200px;
		margin: 0 auto;
	}
	.main-ttl {
		font-size: 60px;
		color: #fff;
		font-weight: bold;
		position: absolute;
		top: 58%;
		text-shadow: 0px 0px 20px #666;
	}
	.main-ttl span {
		font-size: 80px;
		font-weight: bold;
		color: #0d8a3f;
		text-shadow: 0px 0px 20px rgba(255, 255, 255, 0.7);
	}
	.sub-ttl {
		font-size: 16px;
		color: #fff;
		position: absolute;
		top: 80%;
		text-shadow: 0px 0px 20px #666;
		z-index: 999;
	}
	.mainbg-staff {
		background: url(../img/staff/top-main.jpg) no-repeat;
	}
	.mainbg-strength {
		background: url(../img/strength/top-main.jpg) no-repeat;
	}
	.mainbg-flow {
		background: url(../img/flow/top-main.jpg) no-repeat;
	}

	.mainbg-contact {
		background: url(../img/contact/top-main.jpg) no-repeat;
	}
	.mainbg-404 {
		background: url(../img/404/top-main.jpg) no-repeat;
	}
	.mainbg-faq {
		background: url(../img/faq/top-main.jpg) no-repeat;
	}

	.mainbg-news-column {
		background: url(../img/news/top-main-co.jpg) no-repeat;
	}
	.mainbg-news-event {
		background: url(../img/news/top-main-ev.jpg) no-repeat;
	}
	.mainbg-staff,
	.mainbg-strength,
	.mainbg-flow,
	.mainbg-company,
	.mainbg-404,
	.mainbg-contact,
	.mainbg-faq,
	.mainbg-works,
	.mainbg-news,
	.mainbg-news-column,
	.mainbg-news-event,
	.mainbg-news-info {
		-webkit-background-size: cover;
		-moz-background-size: cover;
		-o-background-size: cover;
		background-size: cover;
		width: 100%;
		height: 500px;
		background-position: 50% 50%;
	}
	.mainbg-works {
	    background: url(../img/works/top-main.jpg) no-repeat;
    background-size: cover;
    background-position: center 40%;
	}
	.mainbg-news {
		background: url(../img/news/top-main.jpg) no-repeat;
		background-size: cover;
		background-position: center 45%;
	}
	.mainbg-news-info
	{
		background: url(../img/news/top-main-info.jpg) no-repeat;
	    background-position: center 45%;
    background-size: cover;
	}
	.mainbg-company {
		background: url(../img/company/top-main.jpg) no-repeat;
		background-position: center 85%;
		background-size: cover;
	}
	/*========================================= */
	/* 子ページ ⊶ スタッフ紹介
===========================================*/
	#staff {
		width: 1200px;
		margin: 0 auto;
		padding: 100px 0 180px;
		display: block;
		overflow: hidden;
	}
	#staff img,
	#staff ul li {
		float: left;
	}
	#staff ul li {
		padding-bottom: 70px;
	}
	#staff ul li:last-child {
		padding-bottom: 0;
	}
	.staff-r {
		width: 640px;
		float: right;
		margin-top: 5px;
	}
	.staff-name {
		font-size: 35px;
		text-align: left;
		padding: 0 0 5px 60px;
	}
	.staff-name span {
		font-size: 18px;
		color: #0d8a3f;
	}
	.staff-line-top {
		background: url(../img/common/bg-line.gif) repeat-x left top;
		overflow: hidden;
		width: 640px;
		padding: 5px;
		margin: 0 auto;
		-moz-transform: rotate(-5deg);
		-webkit-transform: rotate(-5deg);
		-o-transform: rotate(-5deg);
		-ms-transform: rotate(-5deg);
	}
	.staff-place {
		font-size: 25px;
		text-align: left;
		margin-left: 410px;
	}
	.staff-txt {
		width: 550px;
		margin: 10px auto 0;
		font-size: 16px;
		text-align: left;
	}
	.staff-txt span {
		color: #0d8a3f;
		font-size: 20px;
	}
	.staff-txt p {
		padding: 5px 0;
	}

	/*========================================= */
	/* 子ページ ⊶ 強み
===========================================*/
	#strength {
		margin: 0 auto;
		padding-top: 100px;
		display: block;
		overflow: hidden;
	}
	.strength-copy {
		width: 1060px;
		margin: 0 auto;
		font-size: 16px;
		margin-bottom: 100px;
	}
	#strength-list1,
	#strength-list2,
	#strength-list3 {
		width: 1200px;
		margin: 0 auto 120px;
		padding-top: 120px;
		display: block;
		overflow: hidden;
	}
	.strength-l,
	.strength-r {
		width: 460px;
	}
	.strength-l3 {
		width: 600px;
	}
	.strength-l {
		float: left;
		margin-right: 140px;
	}
	.strength-l3 {
		float: left;
		margin-right: 104px;
	}
	.strength-r {
		float: right;
		margin-left: 140px;
	}
	.strength-l p,
	.strength-l3 p,
	.strength-r p {
		text-align: left;
		font-size: 18px;
	}
	.strength-l3 p {
		margin-bottom: 50px;
	}
	.strength-name {
		font-size: 30px;
		text-align: left;
		color: #0d8a3f;
		margin-bottom: 50px;
	}
	.strength-name img {
		display: block;
	}
	.strength-name span {
		font-size: 50px;
	}
	.strength-space1 {
		background: url(../img/strength/space-1.jpg) no-repeat;
		-webkit-background-size: cover;
		-moz-background-size: cover;
		background-size: cover;
		width: 50%;
		height: 400px;
		background-position: center center;
		float: left;
	}
	.strength-space1-2 {
		background: url(../img/strength/space-1-2.jpg) no-repeat;
	}
	.strength-space1-3 {
		background: url(../img/strength/space-1-3.jpg) no-repeat;
	}
	.strength-space1-2,
	.strength-space1-3 {
		-webkit-background-size: cover;
		-moz-background-size: cover;
		background-size: cover;
		width: 50%;
		height: 200px;
		background-position: center center;
		float: right;
	}
	.strength-space2 {
		background: url(../img/strength/space-2.jpg) no-repeat;
		-webkit-background-size: cover;
		-moz-background-size: cover;
		-o-background-size: cover;
		background-size: cover;
		width: 100%;
		height: 400px;
		background-position: 50% 50%;
	}

	/*========================================= */
	/* 子ページ ⊶ リフォームの流れ
===========================================*/
	#flow {
		margin: 0 auto;
		padding: 100px 0 180px;
		display: block;
		overflow: hidden;
	}
	.flow-list {
		overflow: hidden;
	}
	.flow-img-1 {
		background: url(../img/flow/flow-1.jpg) no-repeat;
	}
	.flow-img-2 {
		background: url(../img/flow/flow-2.jpg) no-repeat;
	}
	.flow-img-3 {
		background: url(../img/flow/flow-3.jpg) no-repeat;
	}
	.flow-img-4 {
		background: url(../img/flow/flow-4.jpg) no-repeat;
	}
	.flow-img-5 {
		background: url(../img/flow/flow-5.jpg) no-repeat;
	}
	.flow-img-6 {
		background: url(../img/flow/flow-6.jpg) no-repeat;
	}
	.flow-img-7 {
		background: url(../img/flow/flow-7.jpg) no-repeat;
	}
	.flow-img-1,
	.flow-img-2,
	.flow-img-3 {
		-webkit-background-size: cover;
		-moz-background-size: cover;
		background-size: cover;
		width: 50%;
		height: 450px;
		background-position: center center;
	}
	.flow-img-4,
	.flow-img-5 {
		-webkit-background-size: cover;
		-moz-background-size: cover;
		background-size: cover;
		width: 50%;
		height: 500px;
		background-position: center center;
	}
	.flow-img-6,
	.flow-img-7 {
		-webkit-background-size: cover;
		-moz-background-size: cover;
		background-size: cover;
		width: 50%;
		height: 400px;
		background-position: center center;
	}
	.flow-img-1,
	.flow-img-3,
	.flow-img-5,
	.flow-img-7 {
		float: right;
	}
	.flow-img-2,
	.flow-img-4,
	.flow-img-6 {
		float: left;
	}
	.flow-l {
		width: 1200px;
		margin: 0 auto;
	}
	.flow-name {
		font-size: 50px;
		text-align: left;
		color: #0d8a3f;
		padding-top: 50px;
		font-family: "heisei-maru-gothic-std";
		font-weight: 500;
	}

	.flow-line-top {
		background: url(../img/common/bg-line.gif) repeat-x left top;
		overflow: hidden;
		width: 150px;
		padding: 1px;
		margin-left: 50px;
		-moz-transform: rotate(-30deg);
		-webkit-transform: rotate(-30deg);
		-o-transform: rotate(-30deg);
		-ms-transform: rotate(-30deg);
	}
	.flow-place {
		font-size: 25px;
		text-align: left;
	}
	.flow-l h2 {
		margin: 0 0 0 150px;
	}
	.flow-txt {
		width: 570px;
		margin-top: 50px;
		font-size: 18px;
		text-align: left;
	}
	.flow-txt a {
		pointer-events: none;
		color: #000;
	}
	.flow-r-area {
		float: right;
	}

	/*========================================= */
	/* 子ページ ⊶ 会社案内
===========================================*/
	#company {
		margin: 0 auto;
		padding: 100px 0 180px;
		display: block;
		overflow: hidden;
	}
	.company-ttl,
	.shop-ttl2 {
		width: 1200px;
		margin: 0 auto;
	}
	.shop-ttl1,
	.history-ttl {
		width: 1200px;
		margin: 120px auto 0;
	}
	.shop-ttl1 img,
	.shop-ttl2 img {
		position: absolute;
		bottom: 0;
		right: 40px;
	}
	.company-name {
		font-size: 50px;
		text-align: left;
		color: #0d8a3f;
		font-family: "heisei-maru-gothic-std";
		font-weight: 800;
	}
	.company-line-top {
		background: url(../img/common/bg-line.gif) repeat-x left top;
		overflow: hidden;
		width: 150px;
		padding: 1px;
		margin-left: 150px;
		-moz-transform: rotate(-30deg);
		-webkit-transform: rotate(-30deg);
		-o-transform: rotate(-30deg);
		-ms-transform: rotate(-30deg);
	}
	.company-place {
		margin-left: 250px;
		font-size: 25px;
		text-align: left;
	}
	.company-shopaccess {
		position: relative;
		margin-bottom: 35px;
	}
	.company-area1 {
		margin: 50px auto 0;
		width: 1060px;
	}
	.company-area2 {
		margin: 50px 0 0 70px;
		width: 635px;
	}
	.table-line1 a {
		color: #0d8a3f;
	}
	.table-line1 a:hover {
		text-decoration: underline;
	}
	.table-line1,
	.table-line2,
	.table-line3 {
		width: 100%;
	}
	.table-line1 th,
	.table-line2 th,
	.table-line3 th {
		font-weight: normal;
		text-align: center;
		vertical-align: middle;
	}
	.table-line1 th,
	.table-line3 th {
		width: 250px;
	}
	.table-line2 th {
		width: 120px;
	}
	.table-line1 th,
	.table-line2 th,
	.table-line1 td,
	.table-line2 td {
		padding: 15px 15px 15px 30px;
		border-bottom: 1px solid #0d8a3f;
		text-align: left;
		vertical-align: top;
		font-weight: normal;
		font-size: 18px;
	}
	.table-line3 th,
	.table-line3 td {
		padding: 20px 15px 20px 30px;
		border-bottom: 1px solid #0d8a3f;
		text-align: left;
		vertical-align: top;
		font-weight: normal;
		font-size: 18px;
	}
	.table-line3 .history-year {
		color: #0d8a3f;
		font-size: 30px;
		margin-right: 13px;
		line-height: 0.5;
	}
	.table-line1 th,
	.table-line2 th,
	.table-line3 th {
		line-height: 1.5;
	}
	#map_canvas,
	#map_canvas2,
	#map_f2 {
		width: 100%;
	}
	#map_canvas,
	#map_canvas2 {
		height: 400px;
	}
	#map_f2 {
		height: 300px;
	}

	#map-thumb-02 {
		background: url(../img/company/map-thumb-02.png) no-repeat;
		background-position: center;
		margin-top: 70px;
	}
	#map-thumb-02 a {
		display: block;
		width: 100%;
		height: 500px;
	}

	/*========================================= */
	/* 子ページ ⊶ お問い合わせ
===========================================*/
	#contact {
		margin: 0 auto;
		padding: 100px 0 180px;
		display: block;
		overflow: hidden;
	}
	.contact-ttl2 {
		width: 1200px;
		margin: 0 auto;
	}
	#pp {
		padding-top: 100px;
	}
	.contact-name {
		font-size: 50px;
		text-align: left;
		color: #0d8a3f;
		font-family: "heisei-maru-gothic-std";
	}
	.contact-line-top {
		background: url(../img/common/bg-line.gif) repeat-x left top;
		overflow: hidden;
		width: 150px;
		padding: 1px;
		margin-left: 430px;
		-moz-transform: rotate(-30deg);
		-webkit-transform: rotate(-30deg);
		-o-transform: rotate(-30deg);
		-ms-transform: rotate(-30deg);
	}
	.contact-place {
		margin-left: 550px;
		font-size: 25px;
		text-align: left;
		font-weight: normal;
	}
	.privacy-area {
		border: 1px solid #a7a7a7;
		width: 900px;
		height: 500px;
		margin: 50px auto 0;
		padding: 20px;
		overflow-y: scroll;
		background: #fff;
	}
	.privacy-txt {
		font-size: 14px;
		text-align: left;
		line-height: 1.6;
		font-weight: normal;
	}
	.privacy-txt h3 {
		font-size: 20px;
	}
	.privacy-txt .center {
		text-align: center;
		margin-top: 15px;
	}
	.privacy-txt ol {
		width: 750px;
		margin: 15px auto 15px;
	}
	.privacy-txt ol li {
		line-height: 1.8;
	}
	.privacy-txt a {
		color: #0d8a3f;
		text-decoration: underline;
	}
	.privacy-txt a:hover {
		text-decoration: none;
	}
	.contact-form {
		width: 900px;
		margin: 50px auto 0;
		background: #ececec;
	}
	/*========================================= */
	/* お問い合わせフォーム
=========================================== */
	.entry-copy {
		position: relative;
	}
	.entry-copy img {
		width: 100%;
	}
	.recruit-form {
		margin: 80px auto;
		width: 800px;
	}
	/* デザインカスタマイズ */
	div.wpcf7 {
		background: #fafafa;
		border: 1px solid #a7a7a7;
		padding: 0px;
		margin: 0 0 30px 0;
	}
	div.wpcf7 p {
		padding: 25px 25px 0;
		margin: 0;
		font-size: 16px;
	}
	div.wpcf7 table {
		margin: 0 auto;
	}
	div.wpcf7 table th {
		padding: 20px 30px 5px 30px;
		text-align: left;
		vertical-align: top;
		font-weight: normal;
		font-size: 16px;
	}
	div.wpcf7 table td {
		padding: 5px 5px 5px 30px;
		vertical-align: top;
		font-weight: normal;
		width: 450px;
		border-left: 1px solid #ccc;
	}
	div.wpcf7 .shimei input,
	div.wpcf7 .tel input,
	div.wpcf7 .place input {
		float: left;
	}
	div.wpcf7 .shimei input,
	div.wpcf7 .tel input,
	div.wpcf7 .place input {
		width: 100%;
	}
	div.wpcf7 input,
	.wpcf7 textarea {
		border: 1px solid #ccc;
		padding: 8px;
		font-size: 16px;
	}
	div.wpcf7 textarea {
		width: 100%;
		height: 300px;
		margin-top: 7px;
	}
	div.wpcf7 input.wpcf7-submit {
		background: #0d8a3f;
		color: #fff;
		height: 80px;
		font-size: 16px;
		margin-bottom: 60px;
		padding: 15px 60px;
		letter-spacing: 1px;
		cursor: pointer;
		transition: 600ms ease all;
	}
	div.wpcf7 input.wpcf7-submit:hover {
		background: #666;
		color: #fff;
	}
	/* wpcf7-list-item-label */
	/* エラー個所をわかりやすく表示 */
	.wpcf7 .wpcf7-not-valid {
		background: #ffb6c1;
	}
	.wpcf7 span.wpcf7-not-valid-tip {
		font-size: 16px;
		display: block;
		margin-top: 5px;
		color: red;
	}
	.wpcf7 .wpcf7-response-output {
		margin: 10px 0 0;
		padding: 8px 35px 8px 14px;
		text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
		-webkit-border-radius: 4px;
		-moz-border-radius: 4px;
		border-radius: 4px;
	}
	.wpcf7 .wpcf7-validation-errors {
		color: #b94a48;
		background-color: #f2dede;
		border: 1px solid #eed3d7;
	}
	.wpcf7 .wpcf7-mail-sent-ok {
		color: #3a87ad;
		background-color: #d9edf7;
		border: 1px solid #bce8f1;
	}
	.wpcf7-list-item-label {
		line-height: 2.5;
	}
	/* 必須赤色表示 */
	.wpcf7 .required {
		color: #fff;
		background: #f79797;
		padding: 0 3px;
		margin-left: 5px;
		-moz-border-radius: 5px;
		-khtml-border-radius: 5px;
		-webkit-border-radius: 5px;
		font-size: 16px;
	}
	/* 任意緑色表示 */
	.wpcf7 .any {
		color: #fff;
		background: #8bc34a;
		padding: 0 3px;
		margin-left: 5px;
		-moz-border-radius: 5px;
		-khtml-border-radius: 5px;
		-webkit-border-radius: 5px;
		font-size: 16px;
	}
	/* 必須項目非表示 */
	.screen-reader-response ul {
		display: none;
	}
	/* エントリー完了後 */
	.screen-reader-response {
		margin-top: 70px;
		font-size: 25px;
		font-weight: bold;
	}

	/*========================================= */
	/* 子ページ ⊶ よくある質問
===========================================*/
	#faq {
		width: 1200px;
		margin: 0 auto;
		padding: 100px 0 180px;
		display: block;
		overflow: hidden;
	}
	#panel {
		width: 1000px;
		margin: 0 auto;
	}
	#panel dt img {
		width: 50px;
		margin-right: 30px;
	}
	#panel > dt {
		margin-top: 15px;
		background-color: #fff;
		color: #0d8a3f;
		cursor: pointer;
		padding: 10px;
		font-weight: normal;
		font-size: 25px;
		text-align: center;
		box-shadow: 5px 5px 10px #666;
	}
	#panel > dd {
		background: url(../img/faq/cover.png) repeat;
		box-shadow: 5px 5px 10px #666;
		margin: 0px;
		padding: 30px;
	}
	.faq-l {
		width: 100%;
		margin: 0 auto;
	}
	.faq-l.mt-50 {
		margin-top: 50px;
	}
	.faq-name {
		font-size: 45px;
		text-align: left;
		color: #0d8a3f;
		font-family: "heisei-maru-gothic-std";
		font-weight: 800;
	}
	.faq-name-3 {
		font-size: 35px;
		text-align: left;
		color: #0d8a3f;
		font-family: "heisei-maru-gothic-std";
		font-weight: 800;
	}
	.faq-line-top {
		background: url(../img/common/bg-line.gif) repeat-x left top;
		overflow: hidden;
		width: 150px;
		padding: 1px;
		-moz-transform: rotate(-30deg);
		-webkit-transform: rotate(-30deg);
		-ms-transform: rotate(-30deg);
	}
	.faq-place,
	.faq-place-3 {
		font-size: 20px;
		text-align: left;
		font-weight: bold;
	}
	.faq-place {
		margin-left: 100px;
	}
	.faq-txt {
		margin: 25px 0 0 40px;
		font-size: 18px;
		text-align: left;
		width: 860px;
	}
	.faq-txt table {
		font-size: 23px;
		border: 1px dashed #0d8a3f;
	}
	.faq-txt table tr {
		border-bottom: 1px dashed #0d8a3f;
	}
	.faq-txt table td {
		padding: 14px;
		line-height: 1;
	}
	.faq-txt table td span {
		font-size: 14px;
	}
	.faq-txt table .price {
		width: 130px;
		text-align: right;
		border-left: 1px dashed #0d8a3f;
		vertical-align: middle;
	}
	.faq-txt table .price span {
		font-size: 18px;
		writing-mode: vertical-rl;
		-webkit-writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
	}
	.faq-txt table .row1 {
		width: 729px;
	}
	.faq-txt table .row2 {
		width: 446px;
	}
	.faq-txt table .row2-2,
	.faq-txt table .row2-3,
	.faq-txt table .row2-4 {
		border-left: 1px dashed #0d8a3f;
		text-align: center;
		vertical-align: middle;
		line-height: 1.4;
	}
	.faq-txt table .row2-2 {
		width: 283px;
		font-size: 17px;
	}
	.faq-txt table .row2-3 {
		width: 183px;
		font-size: 17px;
	}
	.faq-txt table .row2-4 {
		font-size: 16px;
		padding: 14px 0;
	}
	.faq-3-ttl {
		font-size: 18px;
		padding: 20px 0 20px;
	}
	.faq-3-ttl span {
		font-size: 25px;
		font-weight: bold;
		line-height: 3.5;
		color: #0d8a3f;
	}
	.faq-l ul {
		list-style-type: disc;
		padding-left: 30px;
	}
	.faq-l p {
		font-size: 17px;
		text-align: left;
		padding: 10px 0 0 42px;
	}
	/*========================================= */
	/* 子ページ ⊶ 施工事例
===========================================*/
	#works {
		width: 1200px;
		margin: 0 auto;
		padding: 100px 0 180px;
		display: block;
		overflow: hidden;
	}
	.works-tag li {
		background: #0d8a3f;
		border-radius: 5px;
		padding: 10px;
		margin-right: 5px;
		font-size: 16px;
		display: inline-block;
	}
	.works-tag li:last-child {
		background: #666;
		margin-right: 0;
		font-size: 16px;
	}
	.works-ttl {
		font-size: 30px;
		margin: 120px 0 80px;
	}
	.works-detail-area {
		overflow: hidden;
		display: block;
	}
	.works-detail {
		width: 450px;
		font-size: 18px;
		float: left;
		position: relative;
		display: block;
	}
	.works-detail img {
		position: absolute;
		left: 0;
		width: 350px;
		height: 233px;
		margin-top: 35px;
		object-fit: cover;
		font-family: "object-fit: cover;";
	}
	.works-detail th {
		font-weight: normal;
		width: 140px;
		padding: 8px 0 8px 15px;
	}
	.works-detail td {
		padding: 8px 8px 8px 15px;
	}
	.works-detail tr:nth-child(odd) {
		background: #fff;
	}
	.works-detail td,
	.works-detail td ul li {
		text-align: left;
		width: 310px;
	}
	.works-detail td ul li a {
		color: #0d8a3f;
	}
	.works-detail td ul li a:hover {
		text-decoration: underline;
	}
	.works-detail-r {
		float: right;
	}
	.works-detail-r {
		position: relative;
		width: 690px;
		float: right;
	}
	.works-place a {
		color: #0d8a3f;
		text-decoration: underline;
	}
	.works-before {
		position: absolute;
		left: 132px;
	}
	.works-after {
		position: absolute;
		right: 0;
		z-index: 9990;
	}
	.thumb-item img {
		height: 460px;
		object-fit: cover;
		font-family: "object-fit: cover;";
	}
	.thumb-item-nav img {
		width: 160px;
		height: 110px;
		object-fit: cover;
		font-family: "object-fit: cover;";
		float: left;
		transition: 0.4s;
	}
	.thumb-item-nav img:hover {
		cursor: pointer;
		opacity: 0.7;
	}
	.thumb-item-nav {
		margin-top: 10px;
	}
	.thumb-item-nav ul {
		margin: 0 auto;
	}
	.works-point {
		margin-top: 80px;
	}
	.works-point img {
		margin-left: 20px;
	}
	.works-point1 {
		margin-right: 25px;
	}
	.works-point1,
	.works-point2 {
		margin-bottom: 30px;
	}
	.works-point1,
	.works-point2,
	.works-point3 {
		width: 1186px;
	}
	.works-point1,
	.works-point2,
	.works-point3 {
		padding: 40px;
		line-height: 1.6;
		text-align: left;
		background: url(../img/works/cover.png) repeat;
		box-shadow: 5px 5px 10px #a7a7a7;
		display: block;
		overflow: hidden;
	}
	.works-point1 h3,
	.works-point2 h3,
	.works-point3 h3 {
		color: #0d8a3f;
		font-size: 35px;
		font-family: "heisei-maru-gothic-std";
		font-weight: 500;
	}
	.works-point1 span,
	.works-point2 span,
	.works-point3 span {
		font-size: 50px;
	}
	.works-point1 p,
	.works-point2 p,
	.works-point3 p {
		font-size: 18px;
		color: #000;
		margin-top: 20px;
	}
	.works-point1,
	.works-point2 {
		float: left;
	}
	.works-staff {
		margin-top: 60px;
		padding-top: 60px;
		border-top: 1px solid #0d8a3f;
	}
	.works-staff p {
		width: 730px;
		padding: 15px;
		float: right;
		text-align: left;
		font-size: 18px;
		line-height: 1.6;
	}
	.works-staff img {
		float: left;
		margin: 0;
		width: 460px;
	}
	.works-staff .staff-p {
		text-align: right;
	}
	#works .works-tag ul {
    width: 100%;
    max-width: 770px;
    margin: 0 auto;
	}
	#works .works-tag ul > li {
		margin-bottom: 10px;
	}
	/*========================================= */
	/* 404ページ
=========================================== */
	.notfound {
		margin: 0 auto;
		padding: 100px 0;
	}
	.notfound h2 {
		margin: 0;
		color: #0d8a3f;
		font-size: 50px;
		font-family: "heisei-maru-gothic-std";
		line-height: 0.7;
	}
	.notfound h2 span {
		margin: 0;
		color: #0d8a3f;
		font-size: 20px;
		font-family: "heisei-maru-gothic-std";
	}
	.notfound p {
		margin: 50px 0 80px;
		font-size: 18px;
	}

	#main {
		font-family: "メイリオ", "Meiryo", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Sans-Serif;
		text-align: center;
		letter-spacing: 0.5px;
		margin: 0 auto;
	}
	.bl-wrap {
		padding-top: 100px;
		display: flex;
		overflow: visible;
	}
	.bl-wrap-works {
		padding-top: 100px;
		overflow: visible;
		width: 1200px;
		margin: 0 auto;
	}
	#bl-left {
		display: inline-block;
		width: 80vw;
		text-align: center;
		vertical-align: top;
		margin: 0 auto;
	}
	#bl-left-blog {
		display: inline-block;
		width: 80vw;
		text-align: left;
		vertical-align: top;
		margin: 0 auto;
	}
	#bl-left-works {
		display: inline-block;
		text-align: left;
		vertical-align: top;
	}
	#bl-left-works ul {
		width: 1200px;
		margin: 0;
	}
	#bl-left article {
		width: 90%;
		display: inline-block;
		vertical-align: top;
		margin: 0 0 0 1.5vw;
		padding: 1vw 1.5vw 1.5vw;
		background: #fff;
		text-align: left;
	}
	#bl-left-blog article {
		width: 45%;
		display: inline-block;
		vertical-align: top;
		margin: 0 0 2vw 1.5vw;
		padding: 1vw 1.5vw 1.5vw;
		background: #fff;
		text-align: left;
	}
	#bl-left-works article {
		width: 575px;
		display: inline-block;
		vertical-align: top;
		margin: 0 0 2vw 20px;
		padding: 18px 28px;
		background: #fff;
		text-align: left;
	}
	#bl-left .date,
	#bl-left-blog .date {
		display: inline-block;
		color: #aaa;
		font-weight: bold;
		margin-right: 5px;
		font-size: 15px;
	}
	#bl-left-works .works-l {
		width: 190px;
		margin-top: 20px;
		font-size: 15px;
		float: right;
	}
	#bl-left-works .works-l li:first-child {
		font-size: 18px;
		padding-bottom: 10px;
	}

	.cat {
		display: inline-block;
		color: #000;
		vertical-align: middle;
		font-size: 1.2rem;
		text-decoration: none;
		padding: 0 5px;
		margin-bottom: 5px;
		margin-right: 5px;
	}
	.cat-item:before {
		content: "";
		display: inline-block;
		float: left;
		width: 25px;
		height: 25px;
		margin: 6px 6px 0 0;
	}
	.cat-reform,
	.cat-item-1:before {
		background: darkseagreen;
	}
	.cat-event,
	.cat-item-3:before {
		background: darksalmon;
	}
	.cat-info,
	.cat-item-4:before {
		background: #5e99c9;
	}
	.cat-works,
	.cat-item-101:before {
		background: rgb(253, 222, 128);
	}
	.cat-blog,
	.cat-item-102:before {
		background: rgba(148, 232, 235, 1);
	}

	#bl-left .eyecatch,
	#bl-left-blog .eyecatch {
		background-image: url(../img/news/noimage.png);
		background-repeat: no-repeat;
		background-position: center center;
		/* border: 3px solid #eee; */
		display: block;
		float: left;
		overflow: hidden;
		margin: 0.3vw 1vw 0 0;
	}
	#bl-left-works .eyecatch {
		background-image: url(../img/news/noimage.png);
		background-repeat: no-repeat;
		background-position: center center;
		/* border: 3px solid #eee; */
		display: block;
		float: left;
		overflow: hidden;
		margin: 8px 19px 0 0;
	}
	#bl-left .eyecatch:hover,
	#bl-left-blog .eyecatch:hover,
	#bl-left-works .eyecatch:hover {
		border-color: #333;
	}
	#bl-left .eyecatch img,
	#bl-left-blog .eyecatch img,
	#bl-left-works .eyecatch img {
		background-position: center center;
		background-size: cover;
	}
	#bl-left .eyecatch,
	#bl-left-blog .eyecatch img,
	#bl-left-works .eyecatch img {
		width: 14vw;
		height: 10vw;
	}
	#bl-left-works .eyecatch img {
		width: 310px;
		height: 190px;
	}
	#bl-left h4,
	#bl-left-blog h4 {
		font-size: 1.5rem;
		font-weight: 500;
		margin: 5px 0;
	}
	#bl-left-works h4 {
		font-size: 1.5rem;
		font-weight: 500;
		border-bottom: 1px dotted #666;
	}
	#bl-left h4 a,
	#bl-left-blog h4 a {
		color: #000;
		font-size: 16px;
		text-decoration: none;
		letter-spacing: 0;
	}
	#bl-left-works h4 a {
		color: #0d8a3f;
		font-size: 20px;
		text-decoration: none;
		font-weight: bold;
		line-height: 1.3;
	}
	#bl-left h4 a:hover,
	#bl-left-blog h4 a:hover,
	#bl-left-works h4 a:hover {
		text-decoration: underline;
		color: #0d8a3f;
	}
	#bl-left p,
	#bl-left-blog p,
	#bl-left-works p {
		font-size: 1.35rem;
		letter-spacing: 0;
	}
	#bl-left-blog li.txt-c p,
	#bl-left-works li.txt-c p {
		text-align: center;
		font-size: 16px;
	}
	.paging {
		text-align: center;
		margin: 50px;
	}
	.paging a,
	.paging .current {
		color: #fff;
		text-decoration: none;
		background: #666;
		display: inline-block;
		margin: 5px;
		padding: 10px 18px;
	}
	.paging .current,
	.paging a:hover {
		color: #fff;
		background: #0d8a3f;
	}

	/* article */
	#bl-left article.bl-article,
	#bl-left-left article.bl-article {
		width: 90%;
		/*margin-left:5%; */
		line-height: 180%;
	}
	#bl-left .exp a,
	#bl-left-blog .exp a,
	#bl-left-works .exp a {
		text-decoration: underline;
		color: #0d8a3f;
	}
	#bl-left .bl-article img,
	#bl-left-blog .bl-article img,
	#bl-left-works .bl-article img {
		max-width: 690px;
		height: auto;
		/*border: 5px solid #eee;*/
		margin: 0 5px 5px 0;
	}
	#bl-left .bl-article .bl-txt,
	#bl-left-blog .bl-article .bl-txt,
	#bl-left-works .bl-article .bl-txt {
		display: inline-block;
		vertical-align: top;
	}
	#bl-left .bl-article h4,
	#bl-left-blog .bl-article h4,
	#bl-left-works .bl-article h4 {
		font-size: 1.9rem;
		margin: 20px 0;
	}
	#bl-left .bl-article .exp,
	#bl-left-blog .bl-article .exp,
	#bl-left-works .bl-article .exp {
		font-size: 1.6rem;
	}
	#bl-left .bl-article .exp p,
	#bl-left-blog .bl-article .exp p,
	#bl-left-works .bl-article .exp p {
		margin: 15px 0;
	}

	/* right */

	#bl-right {
		width: 20vw;
		background: url(../img/common/cover.png);
		display: inline-block;
		text-align: left;
		vertical-align: top;
		padding: 0px 20px 20px 0;
	}

	#bl-right h2 img {
		margin: 50px 0 10px;
		width: 15vw;
		max-width: 205px;
	}
	#bl-right .side_box:nth-child(1) h2 img {
		margin-top: 0;
	}

	#bl-right .side_box:nth-child(1) li {
		border-bottom: 1px dotted #aaa;
	}
	#bl-right .side_box:nth-child(1) li a {
		color: #000;
		font-size: 16px;
		display: block;
		padding: 7px 0;
		overflow: hidden;
	}

	#bl-right .side_box:nth-child(2) li,
	#bl-right .side_box:nth-child(3) li {
		border-bottom: 1px dotted #aaa;
	}
	#bl-right .side_box:nth-child(2) li a,
	#bl-right .side_box:nth-child(3) li a {
		color: #000;
		font-size: 16px;
		text-decoration: none;
		line-height: 164%;
		letter-spacing: 0;
		/*  height: 50px;*/
		margin: 5px;
		display: block;
		overflow: hidden;
	}
	#bl-right .side_box:nth-child(2) li a img,
	#bl-right .side_box:nth-child(3) li a img {
		width: 50px;
		margin-right: 10px;
		float: left;
		display: inline-block;
	}
	#bl-right .side_box:nth-child(2) li a:hover,
	#bl-right .side_box:nth-child(3) li a:hover {
		text-decoration: underline;
	}

	#bl-right .side_box:nth-child(3) {
		display: none;
	}

	#main .works-tag ul {
		width: 100%;
    max-width: 770px;
		margin: 0 auto 120px;
	}
	#main .works-tag ul li {
		padding-left: 0;
		margin-left: -3px;
		list-style: none;
	}
	#main .works-tag ul > li {
		display: inline-block;
		margin-bottom: 5px;
		padding-right: 10px;
		padding-left: 10px;
	}
}
/* ------------------------- windows size pattern ------------------------- */
@media screen and (max-width: 999px) {
	#main {
		letter-spacing: 0.5px;
	}
	.bl-wrap,
	.bl-wrap-works {
		display: block;
	}

	#bl-left,
	#bl-left-blog,
	#bl-left-works {
		width: 100vw;
	}

	#bl-left-blog article,
	#bl-left-works article {
		padding: 4vw 2vw;
		width: 46vw;
	}

	.news	#bl-left article {
		width: 90%;
	}

	#bl-left article p,
	#bl-left-blog article p,
	#bl-left-works article p {
		display: none;
	}
	#bl-left .bl-article p,
	#bl-left-blog .bl-article p,
	#bl-left-works .bl-article p {
		display: block;
	}

	#bl-left .eyecatch,
	#bl-left .eyecatch img,
	#bl-left-blog .eyecatch,
	#bl-left-blog .eyecatch img,
	#bl-left-works .eyecatch,
	#bl-left-works .eyecatch img {
		width: 40vw;
		height: 30vw;
	}

	#bl-left article.bl-article,
	#bl-left-blog article.bl-article,
	#bl-left-works article.bl-article {
		width: 100%;
		margin: 0 auto;
	}
	#bl-left .bl-article .bl-img,
	#bl-left-blog .bl-article .bl-img,
	#bl-left-works .bl-article .bl-img {
		display: block;
		width: 100%;
		margin: 10px 0;
	}
	#bl-left .bl-article .bl-img img,
	#bl-left-blog .bl-article .bl-img img,
	#bl-left-works .bl-article .bl-img img {
		max-width: 40vw;
		height: auto;
	}
	#bl-left .bl-article .bl-txt,
	#bl-left-blog .bl-article .bl-txt,
	#bl-left-works .bl-article .bl-txt {
		display: block;
	}
	#bl-left .exp,
	#bl-left-blog .exp,
	#bl-left-works .exp {
		font-size: 1.5rem;
	}

	#bl-right {
		width: 100%;
		padding: 3vw 0 3vw 3vw;
		margin-top: 0;
	}
	#bl-right .side_box {
		width: 100%;
	}
	#bl-right h2 {
		text-align: center;
	}
	#bl-right h2 img {
		width: 205px;
	}
	#bl-right .side_box li {
		float: left;
		width: 47%;
		margin-right: 2%;
	}
	#bl-right .side_box:nth-child(1) li a {
		padding: 15px 0;
		font-size: 1.7rem;
	}
	#bl-right .side_box:nth-child(2) li a {
		font-size: 1.5rem;
		height: 45px;
	}
	/*  .bl-cat li {
    float:none;
    width: 100%;
  }
  .bl-cat li a {
    height: auto;
  }*/
}

/* 新グロナビ */
@media screen and (min-width: 768px) {
	.header__inner {
		display: flex;
		justify-content: space-between;
		align-items: center;
		background: #fff;
	}

	.header__logo {
		padding: 10px;
	}

	.header__right {
		display: flex;
		align-items: center;
	}

	.header__navi {
		display: flex;
		align-items: center;
	}

	.header__navi-link {
		padding: 30px 1vw;
		color: #4d4d4d;
		font-weight: bold;
		white-space: nowrap;
	}

	.header__navi-link:hover {
		color: #1b8b41;
	}

	.header__info {
		padding: 0 15px;
		background: #1b8b41;
	}

	.header__info-inner {
		display: flex;
		align-items: center;
		padding: 5px 0;
		color: #fff;
	}

	.header__info-inner + .header__info-inner {
		border-top: 1px solid #fff;
	}

	.header__info-inner-r--tel {
		font-size: 22px;
	}

	.header__info-tel-span {
		font-size: 14px;
	}

	.header__info-inner-l {
		margin-right: 5px;
	}
	.header__info-inner-r {
		text-align: left;
	}
}

@media screen and (min-width: 1280px) {
	.header__navi {
		margin-right: 30px;
	}
}

@media screen and (min-width: 1366px) {
	.header__logo {
		margin-left: 50px;
	}

	.header__navi-link {
		padding: 30px 1.5vw;
	}

}

/*========================================= */
/* トピックス
=========================================== */
@media screen and (min-width: 768px) {

	.topics {
		background: url(../img/top/bg-topics.png) center/cover no-repeat;
		width: 97.5vw;
		margin: 15px auto;
		padding: 30px 0;
	}

	.topics__inner {
		display: flex;
		align-items: stretch;
		justify-content: space-between;
		flex-flow: row wrap;
		width: 90%;
		max-width: 1070px;
		margin: auto;
	}

	.topics__item {
		background: #fff;
		flex: 0 0 32%;
		padding: 18px;
		text-align: justify;
	}

	.topics__link {
		color: #000000;
	}

	.topics__item--ttl {
		display: flex;
		align-items: center;
		justify-content: center;
		margin: 0;
		background: #91bca0;
		color: #fff;
		font-size: 18px;
		flex: 0 0 127px;
		margin-right: 2rem;
	}

	.topics__item-day {
		margin-top: 15px;
	}

	.topics__img {
		width: 100%;
		max-width: 253px;
		height: 155px;
		overflow: hidden;
	}

	.topics__item-img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.topics__item-text {
		margin-top: 10px;
		font-size: 16px;
		line-height: 1.5;
	}
}

/*========================================= */
/* 改装リフォームメニュー
=========================================== */
@media screen and (min-width: 768px) {
	#re-menu {
		overflow: hidden;
		display: block;
		width: 100%;
		padding: 20px 0;
	}
	.lores2 {
		float: left;
		width: 20%;
		padding: 12px;
		margin: 0;
	}
	.lores2 img {
		width: 100%;
	}
	.menu-list figure {
		position: relative;
		overflow: hidden;
	}
	.menu-list figcaption {
		display: flex;
    align-items: center;
    justify-content: center;
		position: absolute;
		bottom: 0;
		left: 0;
		z-index: 10;
		width: 100%;
		color: #fff;
		background: #91bca0;
		min-height: 43px
	}

	.fatx02 {
		padding: 8px 0;
		font-size: 12px;
		transition: all 0.2s ease-in;
		white-space: nowrap;
	}

	.fatx02--menu05 {
		letter-spacing: -2px;
	}

	.lores2 a:hover .fatx02 {
		opacity: 0.5;
	}

	.fatx02-span {
		position: relative;
	}

	.fatx03 {
		margin-top: 25px;
		font-size: 15px;
		line-height: 2em;
	}
	.fatx03 span {
		border: solid 1px #fff;
		padding: 5px 30px 5px 30px;
	}
	figure {
		color: #fff;
		text-align: center;
	}
}

@media screen and (min-width: 1025px) {
	.fatx02 {
		font-size: 14px;
	}
	.fatx02-span::after {
		content: url(../img/top/re-menu-arrow.svg);
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: -15px;
		vertical-align: middle;
		line-height: 1;
	}

	.category__inner {
		gap: 30px;
	}
}


@media screen and (min-width: 1280px) {
	.fatx02 {
		font-size: 16px;
	}
	.fatx02-span::after {
		right: -20px;
	}

	.category__inner {
		gap: 40px;
	}

}

.topics__inner_contents {
    display: flex;
}

.topics_box {
    display: flex;
    flex-wrap: wrap;

	gap: 18px calc((100% - (32% * 3)) /2);
}



@media screen and (max-width: 768px) {
	.topics__inner_contents {
		display: block;
	}

	h2.topics__item.topics__item--ttl
	{
		margin-bottom: 2rem;
	}
}