@charset "utf-8";
/*------------------------------------------------------------
	下層ページ
------------------------------------------------------------*/
.breadcrumbs {
	font-size: .7em;
	margin-bottom: 0px;
	width: 100%;
	color: #604c3f;
	position: relative;
	z-index: 2;
}

.breadcrumbs .pankuzu {
	margin: 0 auto;
    padding: 5px 0 15px;
    box-sizing: border-box;
    text-align: center;
}

.breadcrumbs .pankuzu a {
	color: #604c3f;
}

.entry-content th,
.entry-content td {
	padding: .5em;
	line-height: 1.4;
}

.entry-content p {
	margin-bottom: 1em;
}

.entry-content h2 {
	font-size: 3.4rem;
    margin: 50px 0 15px;
    font-weight: 500;
	position: relative;
}

.entry-content h3 {
	font-size: 3.6rem;
    margin-bottom: 40px;
    font-weight: 700;
    text-align: center;
    position: relative;
	line-height: 1.6;
}
.entry-content h3 span.date {
	display: block;
	font-size: 1.4rem;
	color: #999;
}

.entry-content h3 span.tag {
	display: inline-block;
    font-size: 1.4rem;
    background-color: #e4352b;
    color: #fff;
    padding: .1rem 1rem;
}

.entry-content h4 {
	position: relative;
	padding-left: 1.5em;
	margin: 3rem 0 1.8rem;
    display: block;
    color: #604c3f;
    font-size: 2.8rem;
}
.entry-content h4:before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 1em;
	height: 2px;
	background-color: #604c3f;
}

.entry-content h4 span.num {
	font-size: 1.4em;
	vertical-align: -2px;
}

.entry-content h4 span.date {
	font-weight: normal;
	font-size: .7em;
	border-bottom: 0;
	padding-left: 0;
	margin: 0;
	display: block;
	color: #666;
}

.entry-content h5 {
    overflow: hidden;
    font-size: 1.8rem;
    margin: 40px 0 6px;
    clear: both;
    font-weight: 500;
    padding-left: 1.5rem;
    border-left: 3px solid #FABE00;
}

.entry-content h5 span.num {
	position: relative;
    color: #ccc;
    font-size: 1.4em;
    margin: -2rem 10px -2rem 0;
    display: inline-block;
	vertical-align: -2px;
	font-family: 'Ibarra Real Nova', serif;
}

.entry-content h6 {
	overflow: hidden;
    font-size: 1.8rem;
	color: #004EA2;
    margin: 20px 0 5px;
    clear: both;
    font-weight: 500;
}

.entry-header {
	width: 100%;
	position: relative;
	overflow: hidden;
	padding: 60px 0 ;
    text-align: center;
	margin-bottom: 80px;
    background-size: 70rem;
	background-color: #F7F7F7;
}

.entry-body {
	overflow: hidden;
	margin: 0 auto;
	margin-bottom: 100px;
    padding: 0 40px;
    box-sizing: border-box;
	width: 100%;
	font-size: 1.6rem;
	line-height: 1.8;
}

.entry-bg {
    padding: 100px 20px;
	background: #DCE7F4;
}

.entry-mbs {
	padding-bottom: 40px;
	margin-bottom: 60px;
}

.page-title {
    margin-bottom: 10px;
    font-size: 2rem;
    text-align: center;
}

.page-title .en{
    width: fit-content;
    margin: 0 auto;
    padding-bottom: 0.4rem;
    display: block;
    font-size: 1.8rem;
	color: #604c3f;
    border-bottom: 1px solid #604c3f;
    font-family: "Urbanist", sans-serif;
}
.page-title .jp {
    margin: 0 0 2rem;
    font-size: 4rem;
    line-height: 1;
    font-weight: 700;
	position: relative;
	z-index: 2;
	display: inline-block;
}

.page-title .jp-small {
	display: inline-block;
    font-size: 1.4rem;
    letter-spacing: 0;
    background-color: #3e3a39;
    color: #fff;
	padding: 2px 8px;
}

.entry-body .mt0 {
	margin-top: 0 !important;
}

.entry-body .mt-30 {
	margin-top: -30px !important;
}

.entry-body sup {
	font-size: .8em;
}

.entry-body sup.under {
	vertical-align: bottom;
}

.entry-content .mb0 {
	margin-bottom: 0 !important;
}

.entry-content .mb80 {
	margin-bottom: 80px !important;
}

@media all and (min-width: 768px) {
	
	.entry-body .mt0pc {
		margin-top: 0 !important;
	}
	
	.entry-content .mb80 {
		margin-bottom: 60px !important;
	}

	
}

.entry-body .center {
	display: block;
	margin: 0 auto 1em;
	text-align: center !important;
}

.entry-body img {
	margin-bottom: .5em;
}

.entry-body a:hover img {
	opacity: .7;
}

.entry-body table {
	margin: 0 auto;
}

.entry-body table th {
	background-color: rgb(225,247,255);
}

.entry-body table td {
	background-color: #F0F0F0;
}

.entry-body .big {
	font-weight: 500;
	font-size: 1.2em;
}

.entry-body .row {
	overflow: hidden;
	margin: 0 auto 1em;
	width: 1000px;
	max-width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.entry-body .row-rev {
	flex-direction: row-reverse;
}

.entry-body .row-bg {
	padding: 40px;
	background-color: #f8f8f8;
	box-sizing: border-box;
}

.entry-body .col-12 {
	width: 100%;
}

.entry-body .col-10 {
	width: 79%;
}

.entry-body .col-9 {
	width: 74%;
}

.entry-body .col-8 {
	width: 66%;
}

.entry-body .col-6 {
	width: 48%;
}

.entry-body .col-5 {
	width: 40%;
}

.entry-body .col-4 {
	width: 31%;
}

.entry-body .col-3 {
	width: 23%;
}

.entry-body .col-2 {
	width: 16%;
}

.entry-body .col-center {
	margin: 0 auto;
}

.entry-body img {
	max-width: 100%;
	height: auto;
}

.entry-body .red {
	color: #C00 !important;
}

.entry-body .under-red {
	text-decoration: underline solid 2px #c00;
}

.entry-body .u_yellow {
	position: relative;
	z-index: 1;
}

.entry-body .u_yellow:after {
	content: "";
	position: absolute;
	bottom: 2px;
	left: 0;
	width: 100%;
	height: 6px;
	background-color:#F5EB89;
	z-index: -1;
}

.entry-body a.under {
	text-decoration: underline;
}

.entry-body a.under:hover {
	text-decoration: none;
}

.entry-body .right {
	text-align: right;
}

.entry-body .pic-left-noborder {
	float: left;
	margin: 0 10px 10px 0;
}

.entry-body .comBtn {
	width: auto;
	text-align: center;
}
.entry-body .comBtn a {
	display: inline-block;
	padding: 0.8rem 2rem;
}
.entry-body dl dt {
	width: 7em;
	float: left;
	font-size: 1.4rem;
	font-weight: bold;
	padding-top: 0.3em;
	line-height: 1.6;
}

.entry-body dl dd {
	padding-left: 6.5em;
	margin-bottom: .3em;
	padding-bottom: .3em;
	border-bottom: 1px solid #ccc;
}

.entry-body dl.form dt {
	width: 10em;
}

.entry-body dl.form dd {
	padding-left: 10em;
}

body #main .entry-body .post-link a {
	display: flex;
    padding: 1em;
    border: 1px solid #ccc;
    align-items: center;
	transition: .3s;
    background-color: #f0f0f0;
	margin-bottom: 3em;
	border-radius: 1rem;
}

body #main .entry-body .post-link a picture ,
body #main .entry-body .post-link a img {
	border-radius: 1rem;
	width: 100px;
    margin-right: 1em;
}

body #main .entry-body .post-link a .txt {
	font-size: 1.2rem;
}

.entry-body ul.list-circle ,
.entry-body ul.list-num {
	margin-bottom: 1em;
}

.entry-body ul.list-num {
	padding-left: 1.5em
}

.entry-body ul.list-circle li {
	padding-left: 1.3em;
	margin-bottom: .2em;
	position: relative;
}

.entry-body ul.list-circle li:before {
	content: "■";
    position: absolute;
    left: 0;
    top: 0.6em;
    color: #604c3f;
    font-size: .6em;
}

.entry-body ul.list-num li {
	position: relative;
    list-style-type: decimal;
    margin-bottom: 1em;
    line-height: 1.8;
}

.entry-content .clear {
	clear: both;
}

.entry-content img {
	max-width: 100%;
	height: auto;
}

.entry-body .box {
	padding: 1em 1.5em;
	background-color: #f0f0f0;
	padding-bottom: 0;
	margin-bottom: 1em;
	overflow: hidden;
	clear: both;
}

.entry-bg .box {
	background-color: #fff;
}

.entry-body a img {
	transition: .5s;
}

.entry-body .youtube {
	position: relative;
	padding-top: 56.25%;
}

.entry-body .youtube iframe{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

#main .entry-body textarea {
	height: 14em !important;
}

#main .entry-body textarea.other {
	height: 6em !important;
}

#main .entry-body .mb10 {
	margin-bottom: 10px;
}

#main .entry-body .page-nav {
	display: flex;
	flex-wrap: wrap;
}

#main .entry-body .page-nav li.current {
}

#main .entry-body .page-nav li {
	width: 23%;
	margin-right: calc(8% / 3);
}

#main .entry-body .page-nav li:nth-of-type(4n) {
	margin-right: 0;
}

#main .entry-body .page-nav li a {
    padding: .6em .5em;
    display: inline-block;
    font-weight: normal;
    margin: 0 auto;
    overflow: hidden;
    z-index: 2;
    position: relative;
    width: 100%;
    background: #604c3f url(../image/icon05.png) no-repeat center right 1.2rem;
	background-size: 2.2rem auto;
	border-radius: 0.4rem;
	box-sizing: border-box;
	text-align: center;
	transition: .3s;
	color: #fff;
	font-weight: 700;
}
#main .entry-body .page-nav li.current a {
	background-color: #ccc;
	pointer-events: none;
}

#main .entry-body .page-nav li a:hover {
    background-color: #F37C2B;
}

#main .entry-body .page-nav-img {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

#main .entry-body .page-nav-img li {
	width: 23%;
	margin-bottom: 20px;
}

#main .entry-body .page-nav-img3 li {
	width: 27%;
}

#main .entry-body .page-nav-img li .txtSpan {
	display: block;
    padding-right: 32px;
    font-weight: 500;
    line-height: 1.5;
    background: url("../image/icon01.png") no-repeat right 5px top 0px;
	transition: .5s;
}
@media all and (max-width: 896px) {
	
	#main .entry-body .page-nav-img li .txtSpan {
		background-size: 20px !important;
	}
	
	#main .entry-body .page-nav {
		justify-content: flex-start;
	}
	
	#main .entry-body .page-nav li {
		width: 32%;
		margin-right: calc(4% / 2);
	}
	
	#main .entry-body .page-nav li:nth-of-type(3n) {
		margin-right: 0;
	}
}

#main .entry-body .page-nav-img li a:hover .txtSpan {
    background: url("../image/icon01.png") no-repeat right 0px top 0px;
}

#main .entry-body .name {
	text-align: right;
	font-family: "游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;
}
#main .entry-body .name span {
	font-size: 1.4em;
}
#main .entry-body .more {
	text-align: center;
	padding-bottom: 3px;
	margin: 1em 0;
}

#main .entry-body .more-left {
	text-align: left;
}

#main .entry-body .more a {
    padding: 1.7rem 6rem;
    text-align: center;
    color: #fff;
    font-size: 1.8rem;
    font-weight: 700;
    border-radius: 0.4rem;
    background: #604c3f url(../image/icon05.png) no-repeat center right 1.2rem;
    background-size: 2.2rem auto;
	transition: .4s;
	display: inline-block;
}

#main .entry-body .more a:hover {
    background: #604c3f url(../image/icon05.png) no-repeat center right .6rem;
    background-size: 2.2rem auto;
}

#main .entry-body .btn-area {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

#main .entry-body .btn-area .more {
	margin: 1rem;
}
#main .entry-body .btn-area .more a {
    color: #604c3f;
    text-align: center;
    border-radius: 3rem;
    background-color: #fff;
	border: 1px solid #604c3f;
	transition: .3s;
}


#main .entry-body .more a img {
	margin-bottom: 0;
	padding-right: 5px;
}

#main .entry-body .more a img.banner_img {
	position: absolute;
    height: 100%;
    right: 0;
    top: 0;
    padding-right: 0;
}

#main .entry-body .more a:hover img.banner_img {
	opacity: 1;
}

#main .entry-body .more-banner a {
	text-align: left;
	display: block;
    padding-left: 2em;
	padding-top: 25px;
    padding-bottom: 25px;
    line-height: 1.6;
	background-color: #EEA971;
    border: 0;
    color: #fff;
	justify-content: flex-start;
}

#main .entry-body .more-l a {
    width: 540px;
	max-width: 100%;
	padding-top: 30px;
    padding-bottom: 30px;
    line-height: 1.6;
	align-items: center;
    display: flex;
}

#main .entry-body .more-left a {
	margin-left: 0;
}

#main .entry-body .small {
	font-size: .9em;
	line-height: 1.6;
	display: inline-block;
}

/*********pageナビ*********/
.pagenavi{
    color: #604c3f;
    margin: 30px auto 0;
    line-height:2em;
    text-align:center;
    clear: both;
	padding-bottom: 60px;
}
.pagenavi a{
    text-decoration:none;
}
.pagenavi a.page-numbers, .pagenavi .current{
    color: #604c3f;
    padding: 5px 10px;
    border:solid 1px #ccc;
    text-decoration:none;
}
.pagenavi a.page-numbers:hover{
    color:#fff;
    background: #604c3f;
}
.pagenavi .current{
    color: white;
    background: #604c3f;
    border-color: #604c3f;
    font-weight: 500;
}
.pagenavi .next, .pagenavi .prev{
    border:0 none;
    background:transparent;
    text-decoration:none;
    font-weight: 500;
}

/*------------------------------------------------------------
	商品プラン
------------------------------------------------------------*/

.entry-product .fv {
	background-image: url("../../image/factory/main_bg.jpg");
	background-size: cover;
	background-position: center;
	padding: 2rem 0;
}

.entry-product .fv .inner {
	max-width: 120rem;
	width: auto;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin: 0 auto;
	position: relative;
}
.entry-product .fv .mailForm {
	width: 40rem;
	margin: -0.7rem 0.3rem 0 0;
	padding: 2.4rem 3.2rem;
	background-color: #fff;
	border-radius: 0.8rem;
}
.entry-product .fv .mailForm > img {
	max-width: 17rem;
    margin: -3rem 0 1rem auto;
    display: block;
}
.entry-product .fv .ttl {
	margin-bottom: 1.6rem;
	position: relative;
	text-align: center;
	font-size: 1.9rem;
	font-weight: 700;
}
.entry-product .fv .ttl span {
	width: 10.5rem;
	position: absolute;
	left: -1.4rem;
	top: -5.3rem;
	padding: 0.9rem 0;
	font-size: 1.6rem;
	color: #604c3f;
	background-color: #FFF200;
	border-radius: 5rem;
}
.entry-product .fv .ttl span::before {
	position: absolute;
	left: 3.1rem;
	bottom: -0.9rem;
	width: 1.2rem;
	height: 1.2rem;
	clip-path: polygon(100% 0, 0 0, 50% 100%);
	background-color: #FFF200;
	content: "";
}
.entry-product .fv .formList {
	margin-bottom: 1.4rem;
	font-size: 1.3rem;
	font-weight: 700;
}
.entry-product .fv .formList .txt {
	margin-bottom: 0.5rem;
	display: block;
}
.entry-product .fv .formList .input {
	margin-bottom: 0.7rem;
	display: block;
}
.entry-product .fv .formList input[type="text"],
.entry-product .fv .formList input[type="email"],
.entry-product .fv .formList input[type="tel"] {
	width: 100%;
	padding: 0 1rem;
	height: 4rem;
	font-size: 1.3rem;
	color: #191919;
	border: 1px solid #B7B7B7;
	box-sizing: border-box;
	appearance: none;
	box-shadow: none;
	border-radius: 0.4rem;
	background: #fff;
}
.entry-product .fv .submit {
	margin-bottom: 1.7rem;
}
.entry-product .fv .submit a {
	width: 100%;
	padding: 1rem 2rem;
	font-size: 1.4rem;
	color: #fff;
	font-weight: 700;
	border: none;
	display: block;
	box-sizing: border-box;
	appearance: none;
	box-shadow: none;
	border-radius: 0.4rem;
	background: #e4352b url(../image/icon03.png) no-repeat center right 1.2rem;
	background-size: 1.6rem auto;
	cursor: pointer;
	transition: .3s;
}
.entry-product .fv .note {
	color: #000;
	font-size: 0.9rem;
	line-height: 1.4;
}
.entry-product .fv img.anniver {
	width: 19.4rem;
    position: absolute;
    right: 42rem;
	bottom: 0;
}
.entry-product .fv .text {
	margin: 8rem 0 auto;
}
.entry-product .fv .text p {
	background-color: #FFF200;
	padding: .2em 1em;
	text-align: center;
    font-weight: 700;
    margin: 0;
    font-size: 1.8rem;
}
.entry-product .fv .text h2 {
	margin: 0;
	font-size: 4.2rem;
	font-weight: 700;
	text-shadow: 0 0 3px #fff;
}
.entry-product .fv .text h2 span {
	color: #604c3f;
}
.entry-product .inner {
    margin: 0 auto 1em;
    width: 1000px;
    max-width: 100%;
}
.entry-product .row {
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.entry-product .row .col-2 {
	width: 46%;
}
.entry-product section {
	padding: 8rem 0;
}
.entry-product section h3 {
	margin-top: 0;
}
.entry-product section.concept {
	background-image: url("../../image/factory/sec01_bg.jpg");
	background-position: bottom center;
	background-size: 100% auto;
	background-repeat: no-repeat;
    padding-bottom: 12rem;
}
.entry-product section.concept h3 {
	font-size: 1.4rem;
	color: #604c3f;
}
.entry-product section.concept h3 .en {
	font-family: "Urbanist", sans-serif;
    display: block;
	font-size: 3.6rem;
	color: #111;
}
.entry-product section.concept .slide {
	display: flex;margin-bottom: 3rem;
}
.entry-product section.concept .title {
	text-align: center;
	font-weight: 700;
	font-size: 2.6rem;
}
.entry-product section.concept .title span {
	font-size: 1.8rem;
}
.entry-product section.concept h4 {
	text-align: center;
	padding: 0;
	font-size: 2.2rem;
}
.entry-product section.concept h4 span {
	font-size: 1.6rem;
}
.entry-product section.concept h4:before {
	display: none;
}
.entry-product section.assign {
	background-image: url("../../image/factory/sec02_bg.jpg");
	background-position: top center;
	background-size: cover;
}
.entry-product section.assign h3 {
	color: #fff;
}
.entry-product section.assign .assign-area .item {
	display: flex;
	justify-content: space-between;
	margin-bottom: 1.5rem;
}
.entry-product section.assign .assign-area .item .case {
	width: 6rem;
	padding: 1rem;
	font-family: "Urbanist", sans-serif;
	color: #604c3f;
    background-color: #DCE7F4;
	text-align: center;
	font-size: 1.2rem;
	line-height: 1;
	margin-bottom: 0;
}
.entry-product section.assign .assign-area .item .case span {
	display: block;
	font-size: 2.4rem;
}
.entry-product section.assign .assign-area .item .text {
	background-color: rgba(255,255,255,.8);
	padding: 1rem 2rem;
	width: calc(100% - 7rem);
	display: flex;
	align-items: center;
	margin-bottom: 0;
}
.entry-product section.assign .assign-area .item .text span {
	color: #c00;
}
.entry-product section.solution h3 {
	background-color: #604c3f;
	padding: 2rem;
	color: #fff;
	position: relative;
}
.entry-product section.solution h3 span {
	color: #FFF200;
}
.entry-product section.solution h3:after {
	content: "";
	width: 0;
	height: 0;
	border-left: 30px solid transparent;
	border-right: 30px solid transparent;
	border-top: 30px solid #604c3f;
	position: absolute;
	bottom: -20px;
	left: 50%;
	transform: translateX(-50%);
}
.entry-product section.solution .solution-area {
	background-image: url("../../image/factory/sec03_bg.jpg");
	background-position: bottom center;
	background-size: cover;
	padding: 6rem 0;
}
.entry-product section.solution .solution-area .text {
	width: 60%;
	margin-left: auto;
	color: #fff;
}
.entry-product section.solution .solution-area .text h4 {
	text-align: center;
	margin-top: 0;
	padding: 0;
	color: #fff;
}
.entry-product section.solution .solution-area .text h4 span {
	font-size: .8em;
}
.entry-product section.solution .solution-area .text h4:before {
	display: none;
}
.entry-product section.solution .solution-area .text .en {
	text-align: center;
	font-family: "Urbanist", sans-serif;
	font-size: 6rem;
	line-height: 1;
}
.entry-product section.solution .solution-area .text .en span {
	font-size: 2rem;
	color: #FFF200;
}
.entry-product section.solution .solution-area .text .title {
	text-align: center;
	font-size: 2.2rem;
}

.entry-product section.reason {
	padding-top: 0;
}

.entry-product section.reason .listUl li {
	width: 30rem;
	margin-bottom: 3.9rem;
}
.entry-product section.reason .listUl .pho {
	margin-bottom: 1rem;
	position: relative;
}
.entry-product section.reason .listUl a:hover .pho img {
	opacity: 1;
}
.entry-product section.reason .listUl .num {
	position: absolute;
	left: 0;
	top: 0;
	width: 8rem;
	height: 8rem;
	padding-top: 1.3rem;
	line-height: 1;
	text-align: center;
	color: #fff;
	font-weight: 700;
	font-size: 1.4rem;
	border: 1px solid #FFF;
	background-color: #604c3f;
	box-sizing: border-box;
	transition: .4s;
}
.entry-product section.reason .listUl a:hover .num {
	color: #e4352b;
}
.entry-product section.reason .listUl .num span {
	margin-top: 0.2rem;
	display: block;
	font-size: 4.2rem;
}
.entry-product section.reason .listUl p {
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.6;
	margin-bottom: 0;
}
.entry-product section.service {
	padding-top: 0;
}
.entry-product section.service h3 {
	background-color: #e4352b;
	padding: 2rem;
	color: #fff;
	position: relative;
}
.entry-product section.service h3 span {
	color: #fff;
	font-size: .8em;
}
.entry-product section.service h3:after {
	content: "";
	width: 0;
	height: 0;
	border-left: 30px solid transparent;
	border-right: 30px solid transparent;
	border-top: 30px solid #e4352b;
	position: absolute;
	bottom: -20px;
	left: 50%;
	transform: translateX(-50%);
}
.entry-product section.service p.center {
	text-align: center;
	font-size: 2.4rem;
}
.entry-product section.service img.center {
	display: block;
	margin: 0 auto;
}
.entry-product section.service .tab-wrap {
	display: flex;
	flex-wrap: wrap;
	overflow: hidden;
	position: relative;
    top: -47px;
}

.entry-product section.service .tab-label {
	cursor: pointer;
	flex: 1;
	font-weight: bold;
	order: -1;
	padding: 12px 24px;
	position: relative;
	text-align: center;
	transition: cubic-bezier(0.4, 0, 0.2, 1) .2s;
	user-select: none;
	white-space: nowrap;
	-webkit-tap-highlight-color: transparent;
	background-color: #997964;
    border-radius: 6px 6px 0 0;
    margin: 0 2px;
	color: #fff;
}
.entry-product section.service .tab-label {
	font-size: 1.6rem;
}
.entry-product section.service .tab-label:hover {
	background-color: #604c3f;
}

.entry-product section.service .tab-switch:checked + .tab-label {
	color: #fff;
	background-color: #604c3f;
}

.entry-product section.service .tab-content {
	height:0;
	opacity:0;
	padding: 0 20px;
	pointer-events:none;
	transform: translateX(-30%);
	transition: transform .3s 80ms, opacity .3s 80ms;
	width: 100%;
}

.entry-product section.service .tab-switch:checked ~ .tab-content {
	transform: translateX(30%);
}

.entry-product section.service .tab-switch:checked + .tab-label + .tab-content {
	height: auto;
	opacity: 1;
	order: 1;
	pointer-events:auto;
	transform: translateX(0);
}

.entry-product section.service .tab-wrap::after {
	content: '';
	height: 20px;
	order: -1;
	width: 100%;
}

.entry-product section.service .tab-switch {
	display: none;
}

.entry-product section.service .tab-area {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	background-color: #604c3f;
	margin-top: 8rem;
}

.entry-product section.service .tab-area .tab-box {
	width: 28%;
}

.entry-product section.service .tab-content h3 {
	color: #1d58a8;
}
.entry-product section.service .tab-content .item:first-of-type {
	margin-top: 4rem;
}
.entry-product section.service .tab-content .item {
	display: flex;
	align-items: center;
	margin-bottom: 1rem;
	background-color: #fff;
	justify-content: space-between;
}
.entry-product section.service .tab-content .item img  {
	width: 34%;
}
.entry-product section.service .tab-content .item .text {
	width: 62%;
}
.entry-product section.service .tab-content .item .text {
	padding: 1.5rem 1.5rem .5rem;
}
.entry-product section.service .tab-content .item .text .title {
	font-size: 2rem;
	font-weight: 600;
	margin-bottom: .5rem;
}
.entry-product section.service .tab-content .item .text .title span {
	font-size: 1.4rem;
	font-weight: normal;
	background-color: #FFF200;
	padding: .2rem 1rem; 
}
.entry-product section.service .tab-content .item .text .price {
	font-size: 3.6rem;
	margin-bottom: .5rem;
}
.entry-product section.service .tab-content .item .text .price span {
	font-size: 1.2rem;
}

body.restaurant .entry-product .fv {
	background-image: url("../../image/restaurant/main_bg.jpg");
}
body.restaurant .entry-product section.concept {
	background-image: url(../../image/restaurant/sec01_bg.jpg);
}
body.restaurant .entry-product section.assign {
	background-image: url(../../image/restaurant/sec02_bg.jpg);
}
body.office .entry-product .fv {
	background-image: url("../../image/office/main_bg.jpg");
}
body.office .entry-product section.concept {
	background-image: url(../../image/office/sec01_bg.jpg);
}
body.office .entry-product section.assign {
	background-image: url(../../image/office/sec02_bg.jpg);
}
body.clinic .entry-product .fv {
	background-image: url("../../image/clinic/main_bg.jpg");
}
body.clinic .entry-product section.concept {
	background-image: url(../../image/clinic/sec01_bg.jpg);
}
body.clinic .entry-product section.assign {
	background-image: url(../../image/clinic/sec02_bg.jpg);
}
body.hotel .entry-product .fv {
	background-image: url("../../image/hotel/main_bg.jpg");
}
body.hotel .entry-product section.concept {
	background-image: url(../../image/hotel/sec01_bg.jpg);
}
body.hotel .entry-product section.assign {
	background-image: url(../../image/hotel/sec02_bg.jpg);
}
@media all and (max-width: 896px) {
	.entry-product .inner {
		width: auto;
		padding: 0 1.5rem;
	}
	.entry-product .fv .text h2 {
		font-size: 2.6rem;
		text-align: center;
	}
	.entry-product .fv .text {
		margin: 11rem 0 4rem;
	}
	.entry-product .fv img.anniver {
		width: 10rem;
		right: 2rem;
		bottom: inherit;
		top: 0;
	}

	.entry-product .fv .mailForm {
		display: none;
	}
	.entry-product section {
		padding: 5rem 0;
	}
	.entry-product .row .col-2 {
		width: 100%;
	}
	.entry-product section.concept .title {
		font-size:2rem;
		margin-bottom: 0;
	}
	.entry-product section.concept .title span {
		font-size: 1.4rem;
	}
	.entry-product section.assign h3 {
		font-size: 2rem;
	}
	.entry-product section.assign .assign-area .item .text {
		display: block;
	}
	.entry-product section.solution .solution-area .text {
	    width: 100%;
	}
	.entry-product section.solution .solution-area .text .en {
		font-size: 4rem;
	}
	.entry-product section.solution .solution-area {
		background-position: left;
	}
	.entry-product section.reason .listUl {
		margin: 0 0 3.2rem;
	}
	.entry-product section.reason .listUl li {
		width: 48%;
		margin: 0 0 .5rem;
	}
	.entry-product section.reason .listUl li:last-child {
		margin-bottom: 0;
	}
	.entry-product section.reason .listUl .pho {
		margin-bottom: .4rem;
	}
	.entry-product section.reason .listUl .num {
		padding-top: 1.2rem;
		width: 6rem;
        height: 6rem;
		font-size: 1rem;
	}
	.entry-product section.reason .listUl .num span {
		font-size: 3rem;
	}
	.entry-product section.reason .listUl p {
		font-size: 1.4rem;
	}
	.entry-product section.service .tab-label {
		flex: 1 1 18.5%;
		padding: 12px 0;
		border-bottom: 0;
		font-size: 1.4rem;
	}
	
	.entry-product section.service .tab-area .tab-box {
		width: 48%;
	}
	.entry-product section.service .tab-content .item {
		flex-wrap: wrap;
	}
	.entry-product section.service .tab-content .item img {
		width: 50%;
		display: block;
		margin: 0 auto;
	}
	.entry-product section.service .tab-content .item .text {
		width: 100%;
	}
}

/*------------------------------------------------------------
	よくあるご質問
------------------------------------------------------------*/
body.faq #main .entry-body .qa-area {
	background-color: #DCE7F4;
	margin-bottom: 1.5rem;
}

body.faq #main .entry-body .qa-area .question {
  padding: 1.5rem 4.5rem 1.5rem 1.5rem;
  margin: 10px 0 0;
  transition: background .3s ease;
  cursor: pointer;
  position: relative;
}

body.faq #main .entry-body .qa-area .question::before,
body.faq #main .entry-body .qa-area .question::after{
  position:absolute;
  content:'';
  top:1px;
  right:20px;
  bottom:0;
  width:12px;
  height:2px;
  margin:auto;
  background:#151E2F;
}
body.faq #main .entry-body .qa-area .question::after{
  transform:rotate(-90deg);
  transition:transform 0.3s;
}
body.faq #main .entry-body .qa-area .question.active::after{transform:rotate(0deg);}

body.faq #main .entry-body .qa-area .answer {
  background-color: #FFF;
  padding: 12px 20px 10px;
}

body.faq #main .entry-body .qa-area .question span,
body.faq #main .entry-body .qa-area .answer span{
  padding-left: 25px;
  position: relative;
}

body.faq #main .entry-body .qa-area .question span::before{
  position: absolute;
  content:"Q";
  top: -1rem;
  left: 0;
  color: #151E2F;
  font-size: 2.4rem;
	font-family: "Urbanist", sans-serif;
	color: #604c3f;
}


body.faq #main .entry-body .qa-area .answer span::before{
	position: absolute;
    content: "A";
    top: -1rem;
    left: 0;
    color: #e4352b;
    font-size: 2.4rem;
    font-family: "Urbanist", sans-serif;
}

/* hover */
body.faq #main .entry-body .qa-area .question:hover {
  background-color: #BDD1EA;
}

body.faq #main .entry-body .qa-area .answer {
	display: none;
}

/*------------------------------------------------------------
	お問い合わせ
------------------------------------------------------------*/
#main .entry-body .tel-box a {
    padding-left: 3.9rem;
    line-height: 1;
    display: block;
    width: fit-content;
    font-size: 4rem;
    letter-spacing: 0.1rem;
    background: url(../image/icon01.png) no-repeat left center;
    background-size: 3.6rem auto;
    font-weight: 700;
}

#main .entry-body ul.book-area {
	display: flex;
	flex-wrap: wrap;
}

#main .entry-body ul.book-area li {
	width: 32%;
	margin-right: 2%;
}

#main .entry-body ul.book-area li:nth-of-type(2n) {
	margin-right: 0;
}

#main .entry-body ul.book-area li label {
	white-space: normal;
}

@media all and (max-width: 896px) {
	#main .entry-body .tel-box p {
		font-size: 1.4rem;
	}
	#main .entry-body .tel-box a {
		padding-left: 3rem;
		line-height: 1;
		display: block;
		width: fit-content;
		font-size: 3.2rem;
		background-size: 2.8rem auto;
	}
	#main .entry-body ul.book-area {
		justify-content: space-between;
	}
	#main .entry-body ul.book-area li {
		width: 48%;
		margin-right: 0;
	}

}

/*------------------------------------------------------------
	施工事例
------------------------------------------------------------*/

#main .entry-body .wp-block-vk-filter-search-pro-filter-search-pro {
	width: 100%;
    font-size: 1.6rem;
    margin: 0 0 6rem !important;
	border: 1px solid #ccc;
    border-radius: 4px;
    padding: 30px;
}

#main .entry-body .wp-block-vk-filter-search-pro-filter-search-pro .vkfs__labels {
	justify-content: center;
}
#main .entry-body .wp-block-vk-filter-search-pro-filter-search-pro .vkfs__taxonomy {
	margin-bottom: 1rem;
}
#main .entry-estate .wp-block-vk-filter-search-pro-filter-search-pro .vkfs__taxonomy {
	max-width: 56em;
}
#main .entry-body .wp-block-vk-filter-search-pro-filter-search-pro ul.vkfs__input-wrap {
	justify-content: center;
}
#main .entry-works .wp-block-vk-filter-search-pro-filter-search-pro ul.vkfs__input-wrap {
	display: block;
}
#main .entry-body .wp-block-vk-filter-search-pro-filter-search-pro .vkfs__taxonomy .vkfs__level-0 {
	display: flex;
	align-items: center;
	padding: 0 0 1rem;
	flex-basis: fit-content;
	flex-grow: inherit;
}
#main .entry-works .wp-block-vk-filter-search-pro-filter-search-pro .vkfs__taxonomy .vkfs__level-0 {
    margin-bottom: 1rem;
}
.vkfs__input-wrap .vkfs__has-children .vkfs__children {
	margin-top: 0;
}
#main .entry-body .wp-block-vk-filter-search-pro-filter-search-pro .vkfs__taxonomy .vkfs__level-0 {
	margin-right: 1rem;
	padding: 0;
}
#main .entry-body .wp-block-vk-filter-search-pro-filter-search-pro .vkfs__taxonomy .vkfs__level-0 label {
	border: 1px solid #ccc;
    border-radius: 3rem;
    padding: .8rem 2rem .8rem 4rem;
    font-size: 1.4rem;
	background-color: #fff;
}

#main .entry-body .wp-block-vk-filter-search-pro-filter-search-pro .vkfs__taxonomy .vkfs__level-0 input[type="checkbox"] {
	top: 14px;
	left: 18px;
}
#main .entry-body .wp-block-vk-filter-search-pro-filter-search-pro .vkfs__taxonomy .vkfs__level-0 input[type="checkbox"]:before {
	transition: .3s;
}
#main .entry-body .wp-block-vk-filter-search-pro-filter-search-pro .vkfs__taxonomy .vkfs__level-0 input[type="checkbox"]:checked:before {
  background-color: #604c3f;
}
#main .entry-body .wp-block-vk-filter-search-pro-filter-search-pro .wp-block-vk-filter-search-pro-search-result-single-order {
	display: flex;
	justify-content: right;
	align-items: baseline;
	margin-bottom: 1rem;
	font-size: 1.4rem;
}
#main .entry-body .wp-block-vk-filter-search-pro-filter-search-pro .wp-block-vk-filter-search-pro-search-result-single-order .vkfs__label-name {
	margin-right: 1em;
}
#main .entry-body .wp-block-vk-filter-search-pro-filter-search-pro .wp-block-vk-filter-search-pro-search-result-single-order select {
	max-width: 10em;
	border-radius: 6px;
}
.vkfs input[type=checkbox]:after {
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
    top: -12%;
    transform: rotate(45deg);
}
.vkfs .btn[type=submit] {
	appearance: none;
	background-color: #e4352b;
	border: 0;
	color: #fff;
	font-size: 1.6rem;
	letter-spacing: 0;
	font-family: "Noto Sans JP", sans-serif;
	border-radius: 3rem;
	max-width: 26rem;
	margin-top: 0;
}
@media all and (max-width: 896px) {
	#main .entry-body .wp-block-vk-filter-search-pro-filter-search-pro {
		padding: 20px;
	}
	#main .entry-body .wp-block-vk-filter-search-pro-filter-search-pro .vkfs__labels {
		display: block;
	}
	#main .entry-body .wp-block-vk-filter-search-pro-filter-search-pro .vkfs__taxonomy .vkfs__level-0 label {
		font-size: 1.2rem;
	}
	#main .entry-body .wp-block-vk-filter-search-pro-filter-search-pro .vkfs__taxonomy .vkfs__level-0 {
		padding-bottom: 0;
	}
	#main .entry-body .wp-block-vk-filter-search-pro-filter-search-pro .vkfs__taxonomy .vkfs__level-0 {
		margin-right: .5rem;
		margin-bottom: .5rem;
		flex-basis: fit-content;
        flex-grow: inherit;
	}
	#main .entry-body .wp-block-vk-filter-search-pro-filter-search-pro .vkfs__taxonomy .vkfs__level-0 input[type="checkbox"] {
		top: 10px;
		left: 13px;
	}
	#main .entry-works .wp-block-vk-filter-search-pro-filter-search-pro ul.vkfs__input-wrap {
		display: flex;
		justify-content: flex-start;
	}
	#main .entry-body .wp-block-vk-filter-search-pro-filter-search-pro .vkfs__input-wrap .vkfs__has-children .vkfs__children {
		margin-top: 0;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	.vkfs .btn[type=submit] {
		font-size: 1.6rem;
	}
	#main .entry-works .wp-block-vk-filter-search-pro-filter-search-pro .vkfs__taxonomy .vkfs__level-0 > label {
		font-size: 1.4rem;
	}
	
	#main .entry-works .wp-block-vk-filter-search-pro-filter-search-pro .vkfs__taxonomy .vkfs__level-0 label {
		padding: .8rem .8rem .8rem 3rem;
	}
	#main .entry-works .wp-block-vk-filter-search-pro-filter-search-pro .vkfs__taxonomy .vkfs__level-0 input[type="checkbox"] ,
	#main .entry-works .wp-block-vk-filter-search-pro-filter-search-pro .vkfs__taxonomy .vkfs__level-0 input[type="checkbox"]:before ,
	#main .entry-works .wp-block-vk-filter-search-pro-filter-search-pro .vkfs__taxonomy .vkfs__level-0 input[type="checkbox"]:checked:before {
		width: 16px;
        height: 16px;
        left: 5px;
        top: 7px;
	}
	#main .entry-works .wp-block-vk-filter-search-pro-filter-search-pro .vkfs__taxonomy .vkfs__level-0 input[type="checkbox"]:after {
		top: 3px;
		left: 10px;
	}
}

/*------------------------------------------------------------
	工事の流れ
------------------------------------------------------------*/

body.flow #main .entry-body .flow-list {
	display: flex;
	justify-content: space-between;
	position: relative;
}
body.flow #main .entry-body .flow-list:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: 1rem;
	background-color: #E0D8D1;
	z-index: -1;
}
body.flow #main .entry-body .flow-list .item {
	background-color: #F7F7F7;
}
body.flow #main .entry-body .flow-list .item .num {
    font-family: "Urbanist", sans-serif;
	text-align: center;
	background-color: #604c3f;
    color: #fff;
    padding: 1rem;
}

body.flow #main .entry-body .flow-list .item .num p {
	line-height: 1.2;
	margin-bottom: 0;
}

body.flow #main .entry-body .flow-list .item .num span {
	font-size: 3rem;
	display: block;
}

body.flow #main .entry-body .flow-list .item .conts {
	  -ms-writing-mode: tb-rl;
	  writing-mode: vertical-rl;
	font-size: 2rem;
    padding: 1rem;
}

body.flow #main .entry-body .flow-list .item .conts p {
    letter-spacing: .15em;
}

@media all and (max-width: 896px) {
	
	body.flow #main .entry-body .flow-list {
		display: block;
	}

	body.flow #main .entry-body .flow-list .item {
		display: flex;
		align-items: center;
		margin-bottom: 1.5rem;
	}
	
	body.flow #main .entry-body .flow-list .item .conts {
		-ms-writing-mode: inherit;
	    writing-mode: inherit;
	}
	
	body.flow #main .entry-body .flow-list .item .num {
		font-size: 1rem;
		padding: .6rem;
	}

	body.flow #main .entry-body .flow-list .item .num span {
		font-size: 2.4rem;
	}
	
	body.flow #main .entry-body .flow-list .item .conts p {
		margin-bottom: 0;
		font-size: 1.6rem;
	}
	
	body.flow #main .entry-body .flow-list:before {
		width: 1rem;
		height: 100%;
		top: 0;
		left: 48%
	}

}

/*------------------------------------------------------------
	選ばれる理由
------------------------------------------------------------*/

body.reason #main .entry-body .listUl li {
	width: 30rem;
	margin-top: 3.9rem;
}
body.reason #main .entry-body .listUl .pho {
	margin-bottom: 1rem;
	position: relative;
}
body.reason #main .entry-body .listUl a:hover .pho img {
	opacity: 1;
}
body.reason #main .entry-body .listUl .num {
	position: absolute;
	left: 0;
	top: 0;
	width: 8rem;
	height: 8rem;
	padding-top: 1.3rem;
	line-height: 1;
	text-align: center;
	color: #fff;
	font-weight: 700;
	font-size: 1.4rem;
	border: 1px solid #FFF;
	background-color: #604c3f;
	box-sizing: border-box;
	transition: .4s;
}
body.reason #main .entry-body .listUl a:hover .num {
	color: #e4352b;
}
body.reason #main .entry-body .listUl .num span {
	margin-top: 0.2rem;
	display: block;
	font-size: 4.2rem;
}
body.reason #main .entry-body .listUl p {
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.6;
}

@media all and (max-width: 896px) {
	body.reason #main .entry-body .listUl {
		margin: 0 0 3.2rem;
	}
	body.reason #main .entry-body .listUl li {
		width: 48%;
		margin: 0 0 .5rem;
	}
	body.reason #main .entry-body .listUl li:last-child {
		margin-bottom: 0;
	}
	body.reason #main .entry-body .listUl .pho {
		margin-bottom: .4rem;
	}
	body.reason #main .entry-body .listUl .num {
		padding-top: 1.2rem;
		width: 6rem;
        height: 6rem;
		font-size: 1rem;
	}
	body.reason #main .entry-body .listUl .num span {
		font-size: 3rem;
	}
	body.reason #main .entry-body .listUl p {
		font-size: 1.4rem;
	}
}

/*------------------------------------------------------------
	商品プラン
------------------------------------------------------------*/

#main .entry-body .plan-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 2%;
}

#main .entry-body .plan-list li {
    margin-bottom: 3.2rem;
    width: 36%;
}

#main .entry-body .plan-list li a {
	display: block;
}

#main .entry-body .plan-list li .pho {
    width: 27.6rem;
    margin: 0 auto -4rem;
}
#main .entry-body .plan-list li.factory {
	width: 70%;
}
#main .entry-body .plan-list li.factory .pho {
    width: 55.2rem;
}
#main .entry-body .plan-list li .text {
    padding: 5.4rem 1.1rem 1.3rem;
    background-color: #F7F7F7;
}

#main .entry-body .plan-list li p.title {
    text-align: center;
    font-weight: 700;
    font-size: 2.2rem;
}

#main .entry-body .plan-list li p.title span {
    margin-top: 0.1rem;
    display: block;
    color: #604c3f;
    font-size: 1.8rem;
    font-family: "Urbanist", sans-serif;
}

@media all and (max-width: 896px) {
	
	#main .entry-body .plan-list li {
		width: 48%;
	}
	
		#main .entry-body .plan-list li .pho {
		width: 90%;
	}
	#main .entry-body .plan-list li.factory {
		width: 100%;
	}
	
	#main .entry-body .plan-list li.factory .pho {
		width: 90%;
	}
	
	#main .entry-body .plan-list li .text {
		padding: 4.8rem .8rem .8rem;
	}
	
	#main .entry-body .plan-list li p.title {
		font-size: 1.8rem;
		margin-bottom: .5rem;
	}

	#main .entry-body .plan-list li p.title span {
		font-size: 1rem;
	}
	
}

/*------------------------------------------------------------
	会社案内
------------------------------------------------------------*/

body.company #main .entry-body .col-6 {
	margin-bottom: 4rem;
}

/*------------------------------------------------------------
	社長挨拶
------------------------------------------------------------*/

body.greeting #main .entry-body .greeting-area {
	position: relative;
}

body.greeting #main .entry-body .greeting-area .text {
	position: absolute;
    top: 20%;
    left: 60px;
    font-size: 3.4rem;
    font-weight: 700;
    color: #fff;
	text-shadow: 0 0 3px #000;
}

body.greeting #main .entry-body .greeting-area .name {
	font-size: 1.8rem;
    text-align: right;
}

body.greeting #main .entry-body .greeting-area .name .position {
	font-size: 1.4rem;
}

body.greeting #main .entry-body .greeting-area .name .position span{
	font-size: 2.2rem;
	font-family: "游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;
}

@media all and (max-width: 896px) {

	body.greeting #main .entry-body .greeting-area .text {
		font-size: 2rem;
		background-color: #604c3f;
		width: 80%;
		margin-top: -40px;
		z-index: 1;
		position: relative;
		left: 10%;
		top: 0;
		padding: 1.5rem;
	}
	body.greeting #main .entry-body .greeting-area .name {
		font-size: 1.4rem;
		margin-bottom: 0;
	}
}
/*------------------------------------------------------------
	会社概要
------------------------------------------------------------*/

body.outline #main .entry-body dl dt {
	width: 15em;
}

body.outline #main .entry-body dl dd {
	padding-left: 15.5em;
}

@media all and (max-width: 896px) {
	
	body.outline #main .entry-body dl dt {
		width: 100%;
	}

	body.outline #main .entry-body dl dd {
		padding-left: 0;
	}
	
}

/*------------------------------------------------------------
	スタッフ紹介
------------------------------------------------------------*/

body.staff #main .entry-body .staff-box {
	display: flex;
	justify-content: space-between;
	margin-bottom: 2rem;
	align-items: flex-start;
}

body.staff #main .entry-body .staff-box img {
	width: 46%;
}

body.staff #main .entry-body .staff-box .text {
	width: 50%;
}

body.staff #main .entry-body dl dt {
	width: 4em;
}

body.staff #main .entry-body dl dd {
	padding-left: 4.5em;
}

@media all and (max-width: 896px) {
	
}
/*------------------------------------------------------------
	フォーム
------------------------------------------------------------*/
#main .entry-body .form-area {
    padding: 3rem;
    background-color: #fff;
    margin: 4rem 0;
	width: 100%;
}
#main .entry-body .form-area dl dt {
	width: 13em;
	text-align: right;
}
#main .entry-body .form-area dl dt .small {
	font-size: 1.2rem;
}
#main .entry-body .form-area dl dt .must {
	display: block;
	background-color: #C00;
	padding: 0px 5px;
	font-size: 10px;
	color: #FFF;
	float: left;
	margin: 3px 5px;
	border-radius: 4px;
	box-shadow: 0px 0px 5px #CCC;
}
#main .entry-body .form-area dl dd {
	padding-left: 13.5em;
	padding-bottom: .6rem;
	margin-bottom: .6rem;
}
#main .entry-body .form-area dl dd.half input {
	width: 8em;
}
#main .entry-body .form-area input ,
#main .entry-body .form-area textarea ,
#main .entry-body .form-area select {
	font-size: 1.4rem;
	padding: .4rem;
	max-width: 100%;
    box-sizing: border-box;
}
#main .entry-body .form-area input[type="submit"] ,
#main .entry-body .form-area input[type="button"] {
	padding: .8rem 0;
	margin-bottom: 1em;
	width: 100%;
	height: auto;
	color: #FFF;
	font-size: 1.6rem;
	font-weight: bold;
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	border-radius: 0;
	position: relative;
	background: #604c3f !important;
	border: 0;
	box-shadow: 0;
	cursor: pointer;
}
#main .entry-body .form-area input[type="button"] {
	background-color: #aaa !important;
}
#main .entry-body .form-area .wpcf7-list-item {
    display: inline-block;
    margin: 0 1em 0 0;
}

@media all and (max-width: 896px) {
	
	#main .entry-body .form-area dl dt {
		width: 100%;
		text-align: left;
	}

	#main .entry-body .form-area dl dd {
		padding-left: 0;
	}
	
}

/*------------------------------------------------------------
	イベント情報
------------------------------------------------------------*/

#main .single-event h3.title {
	font-size: 2.4rem;
}

#main .entry-event .cat-list ul {
	display: flex;
	flex-wrap: wrap;
}

#main .entry-event .cat-list ul li {
	width: 19%;
	margin-right: 1.25%;
}

#main .entry-event .cat-list ul li a {
	display: block;
	text-align: center;
    border-radius: 2rem;
	padding: .8rem 0;
    background-color: #604c3f;
	color: #fff;
	margin-bottom: 1rem;
	font-size: 1.4rem;
}

#main .entry-event .cat-list ul li a.all {
    background-color: #FABE00;
	color: #604c3f;
}

#main .entry-event .cat-list ul li a.active {
    background-color: #fff;
	color: #604c3f;
}

#main .entry-event .cat-list ul li:nth-of-type(5n) {
	margin-right: 0;
}

#main .entry-event .item a {
	display: block;
	text-align: center;
	margin-bottom: 2rem;
}

#main .entry-event .item {
    border: 1px solid #ccc;
	margin-bottom: 3rem;
}

#main .entry-event .item .photoBox {
    position: relative;
    background-color: #fff;
}

#main .entry-event .item .pho {
    margin-bottom: 0.7rem;
	height: 300px;
	overflow: hidden;
}

#main .entry-event .item .pho img {
	min-width: 100%;
	min-height: 100%;
	object-fit: cover;
}

#main .entry-event .item .textBox {
	padding: 0 1.5rem;
}
#main .entry-event .item .textBox .date {
	color: #604c3f;
	margin-bottom: .5em;
}
#main .entry-event .item .text .place {
    display: inline-block;
    padding: .1rem 1rem;
    font-size: 1.3rem;
    line-height: 1.38;
    background-color: #f0f0f0;
}
#main .single-event .photo {
	position: relative;
	padding-top: 2.5rem;
}
#main .single-event .photo .ttl {
	padding: 0 3rem 0 1.5rem;
    width: auto;
    height: 3.3rem;
    color: #fff;
    font-size: 1.3rem;
    display: flex;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    letter-spacing: 0.1em;
    background-color: #604c3f;
    -webkit-clip-path: polygon(0% 0%, 100% 0, 90% 50%, 100% 100%, 0% 100%);
    clip-path: polygon(0% 0%, 100% 0, 90% 50%, 100% 100%, 0% 100%);
}
#main .single-event .desc {
}
#main .single-event iframe {
	width: 100%;
	height: 40rem;
}
#main .single-event .event-visit {
	display: flex;
	justify-content: space-between;
}
#main .single-event .event-visit h5 {
	margin-top: 0;
}
#main .single-event .event-visit .item {
	width: 48%;
	margin-bottom: 2rem;
}
#main .single-event dl dd .map a {
	background-color: #604c3f;
	color: #fff;
	font-size: 1.4rem;
	padding: .1rem .6rem;
	display: inline-block;
	margin-left: 1.5rem;
}
@media all and (max-width: 896px) {
	
	#main .single-event h3.title {
		font-size: 2rem;
	}

	
	#main .entry-event .cat-list ul li {
		flex-basis: fit-content;
	}
	
	#main .entry-event .cat-list ul li ,
	#main .entry-event .cat-list ul li:nth-of-type(5n) {
		margin-right: .5rem;
	}
	
	#main .entry-event .cat-list ul li a {
		font-size: 1.2rem;
		padding: .8rem 1.2rem;
	}
	
	#main .entry-event .item .photoBox {
		padding: 2.5rem 1rem .1rem;
	}
	
	#main .entry-event .item .pho {
		height: 60vw;
	}
	
	
	#main .entry-body .form-area {
		padding: 1.5rem;
	}

}

/*------------------------------------------------------------
	補助金・助成制度
------------------------------------------------------------*/

body.subsidy #main .entry-present {
	background-image: url("../../image/subsidy/image03.jpg");
	background-size: cover;
	background-position: center;
	padding: 6rem 0;
	position: relative;
}

body.subsidy #main .entry-present img.badge {
	position: absolute;
	right: 10%;
	top: 6rem;
	max-width: 20rem;
}

body.subsidy #main .entry-present img.report {
	position: absolute;
	right: 10%;
	bottom: 4rem;
	max-width: 46rem;
}

body.subsidy #main .entry-present h3 {
	color: #fff;
    font-size: 2.8rem;
}
body.subsidy #main .entry-present h3 span {
	font-size: 4rem;
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
	display: inline-block;
	padding: 1rem;
}
body.subsidy #main .entry-present p.present {
	position: absolute;
    left: -30px;
    top: -20px;
    background: linear-gradient(90deg, rgb(253, 251, 2), rgb(254, 254, 233));
    transform: rotate(-20deg);
    padding: 1rem 26rem 1rem 6rem;
	font-size: 2rem;
}
body.subsidy #main .entry-present p.big {
	color: #fff;
    font-size: 2.8rem;
	margin-bottom: .5em;
}
body.subsidy #main .entry-present p.point {
	font-size: 2rem;
	margin-bottom: .6em;
}
body.subsidy #main .entry-present p.point > span {
	background-color: #604c3f;
	color: #fff;
	padding: .1em .8em;
	display: inline-block;
}

@media all and (min-width: 0) and (max-width: 767px) {
	
	body.subsidy #main .entry-present h3 {
		font-size: 1.8rem;
	}

	body.subsidy #main .entry-present h3 span {
		font-size: 2.4rem;
	}
	body.subsidy #main .entry-present {
		padding: 11rem 2rem 4rem;
	}
	
	body.subsidy #main .entry-present p.present {
		padding: 1rem 21rem 1rem 4rem;
		font-size: 1.6rem;
	}
	
	body.subsidy #main .entry-present img.badge {
		right: 2rem;
		top: 2rem;
		max-width: 15rem;
	}
	
	body.subsidy #main .entry-present img.report {
		position: relative;
		margin: 2rem auto 0;
		display: block;
		right: inherit;
		bottom: inherit;
		width: 100%;
	}
	
	body.subsidy #main .entry-present p.big ,
	body.subsidy #main .entry-present p.point {
		font-size: 1.8rem;
	}
}

/*------------------------------------------------------------
	施工事例
------------------------------------------------------------*/

#main .single-works .mainimg {
	height: 600px;
    display: block;
    overflow: hidden;
	margin-bottom: 1rem;
}

#main .single-works .mainimg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

#main .single-works p.desc {
	margin-bottom: 4rem;
}

#main .single-works h3 span {
	font-size: .7em;
	display: block;
}

#main .single-works .page-nav li {
	margin-right: 1rem;
}

#main .single-works .ba-area {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	margin-bottom: 2rem;
}

#main .single-works .ba-area .before {
	width: 24%;
	position: relative;
}

#main .single-works .ba-area .after {
	width: 73%;
	position: relative;
	margin-bottom: 1rem;
}

#main .single-works .ba-area .before span ,
#main .single-works .ba-area .after span {
	background-color: #604c3f;
	padding: 1rem;
	color: #fff;
	position: absolute;
	top: 0;
	left: 0;
	font-size: 1.2rem;
	font-family: "Urbanist", sans-serif;
}

#main .single-works .ba-area .comment {
	background-color: #E2EFFE;
	padding: 2rem;
	width: 100%;
}

#main .single-works .ba-area .after span {
	background-color: #F37C2B;
}

#main .single-works .page-nav li {
	margin-right: 1rem;
}

#main .entry-works .row .work-list {
	display: flex;
	flex-wrap: wrap;
}
#main .entry-works .row .work-list > .btn-sm {
	display: none;
}
#main .entry-works .row .work-list .item {
	width: 31%;
	margin-right: 3.5%;
	text-align: center;
	margin-bottom: 3rem;
}
#main .entry-works .row .work-list .item .photo {
	height: 220px;
	overflow: hidden;
	margin-bottom: 1.2rem;
    background-color: #fff;
	position: relative;
}
#main .entry-works .row .work-list .item .photo span {
	position: absolute;
	top: 0;
	right: 0;
	background-color: #F37C2B;
	color: #fff;
	padding: 2px 8px;
}
#main .entry-works .row .work-list .item .photo img {
	width: 100%;
	object-fit: cover;
	object-position: center;
	height: 100%;
}
#main .entry-works .row .work-list .item:nth-of-type(3n) {
	margin-right: 0;
}
#main .entry-works .row .work-list .item .place {
    margin: 0 auto .5rem;
	display: inline-block;
    width: auto;
    color: #fff;
    font-size: 1.3rem;
}
#main .entry-works .row .work-list .item .place a {
    color: #999;
}
#main .entry-works .row .work-list .item .title {
    margin-bottom: 0;
    font-size: 1.6rem;
}

#main .entry-works .row .work-list .item dl dt ,
#main .entry-works .row .work-list .item dl dd {
	text-align: left;
	font-size: 1.3rem;
}


@media all and (min-width: 0) and (max-width: 767px) {
	#main .entry-works .row .work-list .item {
		width: 100%;
		margin-right: 0;
	}
	#main .entry-works .row .work-list .item .photo {
		height: 65vw;
	}
	#main .single-works .mainimg {
		height: auto;
	}
	#main .single-works .ba-area .comment {
		padding: 1rem;
	}
	#main .single-works .ba-area .before {
		width: 50%;
		margin-bottom: .5rem;
	}
	#main .single-works .ba-area .after {
		width: 100%;
	}
	#main .single-works .ba-area .before span ,
	#main .single-works .ba-area .after span {
		padding: .5rem;
		color: #fff;
		position: absolute;
		top: 0;
		left: 0;
		font-size: 1rem;
		font-family: "Urbanist", sans-serif;
	}

}

/*------------------------------------------------------------
	お役立ち情報
------------------------------------------------------------*/

body.column #main .entry-column .row .work-list .item {
	border: 1px solid #ccc;
}

body.column #main .entry-column .row .work-list .item .text {
	padding: 0 1.5rem 1.5rem;
	text-align: left;
}
body.column #main .entry-column .row .work-list .item .text .cat {
	display: flex;
	    flex-wrap: wrap;
}
body.column #main .entry-column .row .work-list .item .text .cat li {
	font-size: 1.2rem;
	display: inline-block;
	margin: 0 .5rem .5rem 0;
	color: #604c3f;
	border: 1px solid #604c3f;
	border-radius: 2rem;
	padding: .1rem 1rem;
}

/*------------------------------------------------------------
	お知らせ
------------------------------------------------------------*/

#main .entry-body .news-list li {
	padding-bottom: .4em;
	margin-bottom: .4em;
	border-bottom: 1px solid #ccc;
}

#main .entry-body .news-list li .date {
	font-size: 12px;
	font-family: 'Roboto Condensed', sans-serif;
	width: 8em;
	color: #29549b;
}

@media all and (min-width: 0) and (max-width: 767px) {
	
	#main .entry-body .news-list li .date {
		display: block;
	}
}


/*------------------------------------------------------------
	サイトマップ
------------------------------------------------------------*/

body.sitemap .entry-body ul li {
	padding-left: 1.5em;
	margin-bottom: .2em;
	position: relative;
}

body.sitemap .entry-body ul li:before {
	content: "■";
    position: absolute;
    left: 0;
    top: 0.5em;
    color: #ccc;
    font-size: .6em;
}

@media all and (min-width: 0) and (max-width: 767px) {
	body {
		min-width: inherit;
		background-size: 685px auto;
	}
	
	#main {
		margin-top: 6rem;
	}
	
	.entry-header {
		margin-top: 0;
		padding: 30px 0 20px;
		margin-bottom: 5rem;
	}

	.entry-header:after {
		left: -5%;
		top: 0;
	}
	
	.entry-header-img {
		margin-bottom: 0px;
	}

	.page-title {
		line-height: 1;
	}
	
	.page-title .en {
		font-size: 1.2rem;
	}
	
	.page-title span.jp {
		font-size: 2.6rem;
		margin-bottom: 2rem;
        display: inline-block;
	}
	
	.page-title span.jp-small {
		font-size: 1.6rem;
		padding: 6px 10px;
		margin-bottom: 6px;
	}
	
	.page-title span.jp:after {
		height: 12px;
	}
	
	.breadcrumbs {
		font-size: .8em;
		margin-bottom: 2em;
		display: none;
	}

	.breadcrumbs .pankuzu {
		width: 100%;
		padding: .5em;
	}

	.entry-content:after {
		display: none;
	}
	
	#main .entry-body .page-nav li a {
		background: #604c3f url(../image/icon05.png) no-repeat center right .6rem;
		background-size: 1.1rem auto;
	}

	#main .content:before {
		background-color: #666666;
	}
	
	
	#main .entry-body .page-nav-img li {
		width: 48%;
	}
	
	.entry-content h2 {
		font-size: 2rem;
		margin: 40px 0 25px;
	}
	
	.entry-content h3 {
		font-size: 2.4rem;
		margin-bottom: 20px;
	}
	.entry-content h3 span.tag ,
	.entry-content h3 span.ja {
		font-size: 1.2rem;
	}
	
	.entry-content h3 span.smallnum {
		vertical-align: 6px;
	}
	
	.entry-content h4 span.option {
		vertical-align: 5px;
	}
	
	.entry-content h4 span.new ,
	body #main .entry-works .col-4 h4 span.new {
		font-size: 10px;
		vertical-align: 0px;
	}
	
	.entry-content h3 span.h3-a {
		padding: 2px .6em 6px;
	}
	
	.entry-content h3 span.gallery-title {
		font-size: 2rem;
	}

	.entry-content h4 {
		font-size: 2rem;
		margin: 2em 0 1em;
		line-height: 1.6;
	}

	.entry-content h5 {
		font-size: 1.6rem;
		margin: 2em 0 1em;
	}

	.entry-content h6 {
		font-size: 1.4rem;
		margin: 1.5em 0 .5em;
	}

	.entry-content h4 span {
		padding-left: 0;
	}
	
	.entry-content h4 span.smallnum {
		vertical-align: 6px;
	}
	
	.entry-body .big {
		font-weight: 500;
		font-size: 1.2em;
	}

	.entry-body .sp-big {
		line-height: 1.4 !important;
		font-size: 1.4rem;
		margin-top: -20px !important;
	}

	.entry-body {
		width: 100%;
        font-size: 1.5rem;
        padding: 0 2rem;
        margin-bottom: 6rem;
        box-sizing: border-box;
	}

	.entry-bg {
		padding: 40px 15px;
	}

	.entry-body img {
		max-width: 100%;
		height: auto;
	}

	.entry-body .row {
		margin-left: 0;
		width: 100%;
	}
	
	.entry-body .row-bg {
		padding: 20px;
	}

	.entry-body .col-12 ,
	.entry-body .col-10 ,
	.entry-body .col-9 ,
	.entry-body .col-8 ,
	.entry-body .col-6 ,
	.entry-body .col-5 ,
	.entry-body .col-4 ,
	.entry-body .col-2 {
		width: 100%;
		padding: 0;
	}
	
	.entry-body .col-3 {
		width: 49%;
	}

	.entry-body .sp-half {
		width: 50%;
		margin-left: auto;
		margin-right: auto;
	}

	.entry-body .col-3-img {
		width: 100%;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}

	.entry-body .col-3-img .col-img {
		width: 49%;
	}
	
	.entry-body .col-3.sp-center {
		margin: 0 auto 1.5em;
	}

	.entry-body .sp-left {
		text-align: left;
	}

	.entry-body .pic-right-noborder ,
	.entry-body .pic-left-noborder ,
	.entry-body .alignright ,
	.entry-body .alignleft ,
	.entry-body .pic-right ,
	.entry-body .pic-left {
		max-width: 30%;
		height: auto;
	}

	.entry-body iframe.map {
		max-width: 100%;
		height: 16em !important;
	}

	.entry-body .half-box {
		float: none;
		width: 100%;
		margin-right: 0;
		margin-bottom: 2em;
	}

	.entry-content .arrow {
		max-width: 40%;
		height: auto;
		margin: 20px auto;
	}
	
	#main .entry-body .more a {
		font-size: 1.4rem;
	}
	
	#main .entry-body .more-l a {
		padding-top: 20px;
		padding-bottom: 20px;
	}
	
	.entry-body img.full {
		max-width: 100%;
		display: block;
		margin: 0 auto 1em;
		float: none;
	}

	.entry-body table {
		clear: both;
	}

	.entry-body table th ,
	.entry-body table td {
		display: block;
		width: 100%;
		box-sizing: border-box;
	}
	
	.entry-body .table-scroll table th,
	.entry-body .table-scroll table td {
		display: table-cell;
		width: auto;
		white-space: nowrap;
	}

	.entry-body dl dt {
    font-size: 1.3rem;
	}
	

	.entry-body dl.form dt {
		width: 100%;
	}

	.entry-body dl.form dd {
		padding-left: 0;
	}

	.entry-body dl.sp-full-dl dt {
		width: 100%;
	}

	.entry-body dl.sp-full-dl dd {
		padding-left: 0;
	}
	
	#main .fix-btn {
		bottom: 7rem;
		left: 0;
        transform: translateX(0);
        text-align: center;
        width: 100%;
	}

	#main .entry-body .comLink {
		width: 100%;
	}

	body #main .content:before ,
	body #main .content:after {
		height: 70px !important;
		background-position: center !important;
	}

}
@media all and (min-width: 0) and (max-width: 767px) {
	
	.entry-body .col-3 {
		width: 100%;
	}
	
}