@charset "utf-8";
img { max-width: 100%; height: auto;  }
.t-din { font-family: din-2014; font-weight: 400; font-style: normal; }
.t-center { text-align: center;  }

.btn-arrow { display: inline-block; width : 7em; text-align: left; white-space: nowrap; letter-spacing: .2em; position: relative; 
 -ms-transition: letter-spacing .4s  .08s ease; -webkit-transition:letter-spacing .4s .08s ease; transition: letter-spacing .4s .08s ease; overflow: hidden;  }
.btn-arrow:after { content: ''; /*width: 100%; height: 6px; background: url(../img/arrow-r.png) no-repeat right top / auto 100%; */
width: 100%; height: 1px; background: #333; position: absolute; bottom: 0; right: 0; left: 0; margin: auto; 
display: block; -ms-transition: transform .2s; -webkit-transition: transform .2s; transition: transform .2s; margin: 0 0 0 auto; -ms-transform-origin: left center; -webkit-transform-origin: left center; transform-origin: left center;  -ms-transform: scaleX(1); -webkit-transform: scaleX(1); transform: scaleX(1); }

.btn-arrow.hover:hover {  }
.btn-arrow.hover:hover:after { -ms-transform: scaleX(0); -webkit-transform: scaleX(0); transform: scaleX(0);
 -ms-transform-origin: right center; -webkit-transform-origin: right center; transform-origin: right center;  }

.btn-arrow.btn-pagination { width: 3.5rem; font-family: din-2014; font-weight:normal;  }
.btn-arrow.reverse { text-align: right;  }
.btn-arrow.reverse:after { background-image: url(../img/arrow-l.svg); background-position: left center;}

.btn-arrow-r:after { content:''; width:1.5em; height: 1em; display: inline-block; vertical-align:middle; margin-left: .5em; background: url(../img/arrow-r.png) no-repeat right center/ auto 5px;  background-clip: content-box; -ms-transition: all .3s linear; -webkit-transition: all .3s linear; transition: all .3s linear; -ms-transform-origin: right center; -webkit-transform-origin: right center; transform-origin: right center; box-sizing: border-box; }
.btn-arrow.reverse:after { -ms-transform-origin: left center; -webkit-transform-origin: left center; transform-origin: left center; }

.btn-arrow-r.hover:hover:after { -ms-transform: translateX(.5rem); -webkit-transform: translateX(.5rem); transform: translateX(.5rem); }

.works-credit { margin-top: 5rem; }
.works-credit > dt { font-size : .85rem; color: #808080; }
.works-credit > dd { margin-bottom: 1.5em; }




a.text-link { text-decoration: underline; }
a.text-link.i-out:after { content: ''; width: .6em; height:.6em; display: inline-block; vertical-align:middle; margin-left:.5em; background: url(../img/icon-outerlink.svg) no-repeat center center / contain;  }

/*title*/

.page-title.line { border-bottom: 1px solid #CCC; margin-bottom:  }

.page-title .title { font-size: 2rem; margin-bottom: 2em; letter-spacing: .4em; font-family: Futo Go B101; }
.page-title .title .en { display: block; font-size: .8125rem; line-height: 100%; margin-bottom: 1em; letter-spacing: .2em; }
.page-title .title .cat { font-size: .5em; font-weight:bold; letter-spacing: .1em;  font-family: din-2014, sans-serif; font-weight: 400; font-style: normal; color: #808080;}

.title-lead { font-size: 1.25rem; font-family: Midashi Go MB31; margin-bottom: 1em;  }
.title-section { font-size: 1.875rem; letter-spacing: .2em;  font-family: din-2014, sans-serif; font-weight: 400; font-style: normal; text-align: center; }
.title-section-s { font-size: 1.25rem; font-family: din-2014, sans-serif; font-weight: 400; font-style: normal;letter-spacing: .2em; margin-bottom: .5em; }


.title-std-s { font-size: 1.25rem;  font-family: din-2014, sans-serif; font-weight: 400; font-style: normal; margin-bottom: 1em; letter-spacing: .2em; line-hegiht: 150%; }

@media screen and (max-width: 900px) {
	.page-title .title { font-size: 1.5rem; }
	
	.page-title.section-title .title { margin-bottom: 1em; }
	
	
	.title-section { font-size: 1.5rem; }


	.lower-mainvisual { width :100%; }
    
    .box-sec{ margin-top: 40px}
}


.list-sns { margin-top: 3rem; }
.list-sns > li { display: inline-block; vertical-align:middle; }
.list-sns > li + li { margin-left: 1em; }
.list-sns .alttxt { width: 0; height: 1em; text-indent: 100%; white-space:nowrap; overflow:hidden; display: inline-block; }
.list-sns i { font-size: 1.2rem; }


@media screen and (max-width: 900px) {
	.list-sns { margin-top: 2rem; }
}


.page-main { padding-top: 80px; }
@media screen and (max-width: 900px) {
	.page-main { padding-top: 30px; }
}

/*home*/

.mainvisual { width: 100%; height: 100vh; display: block;  position: relative; overflow: hidden; }
.mainvisual:before { content: ''; width: 100%; height: 100%; display: block; position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; z-index: 10; border: #FFF 0px solid;  }
.mainvisual .mainimg { width: 100%; height: 100%; display: block; position: absolute; top:0; left: 0; right: 0; bottom: 0; margin: auto;background-size: cover; background-position: center center; }


.maintext { margin: auto; z-index: 11; font-size: 1.3125rem; font-family: Futo Go B101; position: relative; margin-left: 5vw; margin-top: -15.2rem; opacity: 0;pointer-events: none; max-width: 90vw; letter-spacing: .15em; }
.maintext .line { line-height: 190%; padding-left: 0.5em; padding-right: 0.5em ;display: inline-block; background: #38f9c9; }
.maintext .line:first-child { font-size: 1.28em; line-height: 200%; background: #FFF; }



.loaded .mainvisual:before {  border-width: 7rem 8vw; -ms-transition: border-width 1s 2s cubic-bezier(0.215, 0.61, 0.355, 1); -webkit-transition: border-width 1.2s 2s cubic-bezier(0.215, 0.61, 0.355, 1); transition: border-width 1.2s 2s cubic-bezier(0.215, 0.61, 0.355, 1); }
.loaded.nodelay .mainvisual:before {  -webkit-transition-duration: 1.2s; transition-duration: 1.2s;   -webkit-transition-delay: .5s; transition-delay: .5s; }
.loaded.showmenu .header.home { opacity: 1; pointer-events: auto; -ms-transition: all 1s ease; -webkit-transition: all 1s ease; transition: all 1s ease; }
.loaded.showmenu .maintext { opacity: 1; pointer-events: auto;  -ms-transition: opacity 1s .5s; -webkit-transition: opacity 1s .5s; transition: opacity 1s .5s; }



/*
.loaded .mainvisual .mainimg { -ms-transition: transform 5s 1.2s; -webkit-transition: transform 5s 1.2s;  transition: transform 2s 1s; -ms-transform: translateY(3rem) scale(.9); -webkit-transform: translateY(3rem) scale(.9);  transform: translateY(3rem) scale(.9); }
*/

.btn-scroll { opacity: 0; pointer-events: none; }
.loaded.showmenu .btn-scroll { pointer-events: auto;  -ms-transition: opacity 1s; -webkit-transition: opacity 1s; transition: opacity 1s; opacity: 1; }

.loaded.showmenu .btn-scroll.dispbtn .cat {   -webkit-animation-play-state: running;  animation-play-state: running; }

body { overflow-y: scroll;}
.wrapper { overflow: hidden; height: 100vh;}
body.showmenu,
body.showmenu .wrapper { overflow: auto;height: auto; overflow-x: hidden;}

body.home .page-main { opacity: 0; -ms-transition: opacity .5s ; -webkit-transition: opacity .5s;  transition: opacity .5s;  }
.loaded.showmenu .page-main { opacity: 1;  }


@media screen and (max-width: 900px) {
	.mainvisual { height: calc(60vw + 6rem); }
	.mainvisual:before,
	.loaded .mainvisual:before {  border-width: 6rem 0 1rem;  }
	.maintext { font-size: 1rem; position: relative; left: auto; bottom: auto; margin-top: -3.5rem; margin-left: 0; width: 100%; max-width: 100%;  }
	.loaded.showmenu .maintext { -ms-transition-delay: 0s; -webkit-transition-delay: 0s; transition-delay: 0s; }
	.loaded .mainvisual .mainimg { -ms-transform: scale(1); -webkit-transform: scale(1); transform: scale(1);  height: calc(100% - 7rem); top: 6rem; bottom: 1rem;  }
}
@media screen and (max-width: 600px) {
	.maintext { font-size: .9rem; }
	.maintext .line { line-height: 205%; }
}



.home-book_n_cafe { width: 50%; display: flex; justify-content: space-between; }
.home-book_n_cafe > div { width: 60%; }
.home-book_n_cafe .time { margin-bottom: 2em; }
.home-book_n_cafe .time dt { font-weight: bold; font-size: .75rem; margin-bottom: 0em; line-height: 120%; color: #808080; }
.home-book_n_cafe .time dd { line-height: 2em; margin-bottom: 2em; }

.home-conts-1st { position: relative; }
.home-conts-1st .googlemap { width: 45vw; height: 90%; position: absolute; top: 0; left: 50%; margin: auto auto auto 5vw; box-shadow: -2rem 2rem 0 #FFF; }
.home-conts-1st .googlemap iframe { width :100%; height: 100%; display: block; position: aboslute; top: 0; left: 0; bottom: 0; right: 0; margin: auto;  }


.home-access { border: 1px solid #CCC;  padding: 2rem 50% 2rem 8%;  }
	.home-book_n_cafe .link-cafe { display:block;  margin-top: .5em; }

@media screen and (max-width: 900px) {
	.home-book_n_cafe { width: 100%; margin-top: -60px}
	.home-access {  padding: 2rem 8% 77vw;  }
	.home-conts-1st .googlemap { width: 90%; height: 70vw; position: relative; left: 0; top: auto; margin-top: 0vw; box-shadow: none; }
	.home-book_n_cafe .link-cafe { font-size: .7rem; }
}


.list-works { display: flex; flex-wrap: wrap; margin-top: 5rem; }
.list-works > li { width: 30%; margin-right: 5%; margin-bottom: 100px; }
.list-works > li:nth-child(3n) { margin-right: 0; }


.list-works .img{ margin-bottom:10px}


.list-works .title-works { font-size: 1rem; margin-top: 1em;}

@media screen and (max-width: 900px) {
	.list-works > li { width: 48%; margin-right: 4%; margin-bottom :50px; }
	.list-works > li:nth-child(3n) { margin-right: 4% ; }
	.list-works > li:nth-child(2n) { margin-right: 0 ; }
	.list-works .title-works { font-size: 1rem; }
}

@media screen and (max-width: 600px) {
	.list-works > li { width: 100%; margin-right: 0; }
	.list-works > li:nth-child(2n) { margin-right: 0 ; }
	.list-works .img {  height: auto; padding: 0 2rem; }
	.list-works .img img { position: relative; left: auto; top: auto; -ms-transform: none; -webkit-transform: none; transform: none; }
	.list-works.hover > li a:hover .img img { -ms-transform: none; -webkit-transform: none; transform: none; }

}

.home-news-wrap { overflow: hidden; margin-bottom: 120px;  }
.home-news { position: relative; }
.home-news:before { content: ''; width: 100vw; left: 0; height: 100%; background: #F2F2F2; position: absolute; top :0; left: 0 ;margin: auto;  }
.home-news > * { position: relative; z-index: 2; }

.home-news-inner { padding: 0 8%; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end;  }

.title-home-news { font-size: 1.5rem; font-family: Futo Go B101;  margin-bottom: 1.3em; line-height: 150%;  letter-spacing: .4em; width: 100%;  }
.list-home-news { border-top: 1px solid  #CCC; width: 70%; }

.list-home-news > li { border-bottom: 1px solid #CCC; }
.list-home-news a { padding: 1.3em 1.5em 1.3em 0; display: flex; flex-wrap: wrap; position:relative;  -ms-transition: all .5s; -webkit-transition: all .5s;  transition: all .5s;  }
.list-home-news a:after { content: '';  position:absolute; left: 100%; bottom: 0; top: 0; margin:auto auto auto -1.5rem;  -ms-transition: all .3s; -webkit-transition: all .3s;  transition: all .3s; width: 1.5rem; height: 6px; display: block; position:absolute; left: 100%; bottom: 0; top: 0; margin:auto auto auto -1.5rem; background: url(../img/arrow-r.png) no-repeat right center/ auto 100%; }
.list-home-news time  { font-family: din-2014, sans-serif; font-weight: 400; font-style: normal; width: 8rem; letter-spacing: .2em; }
.list-home-news .title  { width: calc(100% - 8rem);  }

.home-news .news-more { display: inline-block; vertical-align:top; text-align: center; width: 28%; margin-bottom: -2rem; letter-spacing:.2em; font-size: .875rem; }

.list-home-news.hover a:hover { }
.list-home-news.hover a:hover:after {  -ms-transform: translateX(.5rem); -webkit-transform: translateX(.5rem); transform: translateX(.5rem); }


@media screen and (max-width: 900px) {
	.home-news-wrap { margin-bottom: 50px; }
	.list-home-news { width: 100%; }
	.home-news-inner { padding: 0;  }
	
	.title-home-news { font-size: 1.15rem; }
	.list-home-news time  { width: 100%;}
	.list-home-news .title  { width: 100%;  }
	.home-news:before { left: -5vw;}
	.home-news .news-more { width: 100%; margin-bottom: 0; margin-top: 2rem;}
}

/*1st Floor*/

.book_n_cafe { border: 1px solid #CCC; margin: -30px auto; margin-bottom: 120px}
.book_n_cafe .title { font-size: 1.475rem; font-family: din-2014, sans-serif; font-weight: 400; font-style: normal; letter-spacing:.2em; margin-bottom: .6em; line-height:120%;  }
.book_n_cafe .time dt { font-weight: bold; font-size: .75rem; color: #808080;  }
.book_n_cafe .time dd {  }

.book_n_cafe .conts { display: flex; justify-content: space-between; flex-wrap: wrap;  }
.book_n_cafe .conts .text { width: 30%;}
.book_n_cafe .conts .img { width: 65%;}

.book_n_cafe .book .conts .img { margin-top: -120px; }
.book_n_cafe .cafe .conts { -webkit-flex-direction: row-reverse; flex-direction: row-reverse;}
.book_n_cafe .cafe .conts .truck { margin-top: 2em; width: 100%;  }


.book_n_cafe .cafe-link { display: inline-block; margin-top: .5em; }

.googlemap .map-inner { width: 100%; height: 0 ;padding-bottom: 60%; margin:auto; position: relative; }
.googlemap .map-inner iframe { width: 100%; height: 100%; position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto;  }


@media screen and (max-width: 900px) {
	.book_n_cafe { border: none; margin-top: 0; }
	.book_n_cafe .book,
	.book_n_cafe .cafe { border: 1px solid #CCC; margin-bottom: 10vw;}
	
	.book_n_cafe .title { font-size: 1.8rem; }
	.book_n_cafe .conts { display: block; }
	
	.book_n_cafe .conts .text { width: 100%; }
	.book_n_cafe .conts .img { width: 100%; }
	.book_n_cafe .book .conts .img,
	.book_n_cafe .cafe .conts .img { margin-top: 2rem; }

	.googlemap { width: 100%; margin-bottom: 3rem;}
	.googlemap .map-inner { padding-bottom: 80%; }
}

@media screen and (max-width: 600px) {
	.book_n_cafe .title { font-size: 1.5rem; }
}


/*works*/

.works-cat-list { margin: 3em 0;  font-family: din-2014, sans-serif; font-weight: 400; font-style: normal; text-align: center; }
.works-cat-list > ul > li { display: inline-block; vertical-align: middle; font-size: .875rem; margin: .2em .5em;}
.works-cat-list a {  display: block; color: #808080;  }
.works-cat-list a.current { background: #000; color: #FFF; padding: 0 2em; border-radius: 1em; }

.works-cat-list.archive { margin-top: 0; }


.list-backnumber { display: flex; flex-wrap: wrap; margin-top: 5rem; }
.list-backnumber > li { width: 19%; text-align: center; margin-right: 1.25%; margin-bottom : 5rem; }
.list-backnumber > li:nth-child(5n) { margin-right: 0; }
.list-backnumber .num { font-family: din-2014, sans-serif; font-weight: 400; font-style: normal; letter-spacing: .1em; font-size: .6875rem; color: #808080; padding: 1rem 0; line-height: 120%; }

.list-backnumber .book { position: relative; width: 140px; margin: 0 auto;  }
.list-backnumber .book:after { content: ''; width: 100%; height: 100%; display: block; position:absolute; top: 0; left: 0; right: 0; bottom: 0; margin:auto; z-index: 2; background:rgba(0,0,0,.3) url(../img/icon-outerlink-w.svg) no-repeat center center / 2rem auto; opacity: 0; -ms-transition: all .5s; -webkit-transition: all .5s; transition: all .5s; }

.list-backnumber img { max-width: 140px; height:auto;  }
.list-backnumber .title { line-height: 150%;  }

.list-backnumber.hover img { -ms-transition: box-shadow .5s; -webkit-transition: box-shadow .5s; transition: box-shadow .5s; }
.list-backnumber.hover  a:hover .book:after { opacity: 1; }
.list-backnumber.hover  a:hover img { box-shadow: 0 15px 30px rgba(0,0,0,.1); }

@media screen and (max-width: 1200px) {
	.list-backnumber > li { width: 24%; margin-right: 1%;  }
	.list-backnumber > li:nth-child(5n) { margin-right: 1%; }
	.list-backnumber > li:nth-child(4n) { margin-right: 0; }
}

@media screen and (max-width: 900px) {
	.list-backnumber > li { width: 32%; margin-right: 2%;  }
	.list-backnumber > li:nth-child(4n) { margin-right: 2%; }
	.list-backnumber > li:nth-child(3n) { margin-right: 0; }
}

@media screen and (max-width: 600px) {
	.list-backnumber > li { width: 49%; }
	.list-backnumber > li:nth-child(3n) { margin-right: 2%; }
	.list-backnumber > li:nth-child(2n) { margin-right: 0; }
	.list-backnumber .title { font-size: .8rem;  }
}



/* works detail */

.title-works { font-weight: bold; text-align: center; font-size: 1.5rem; margin-bottom: .5em; }
.works-cat { text-align: center; }
.works-cat a { display: inline-block; vertical-align:middle; margin: .2em; padding: 0 1em; border: 1px solid #B3B3B3; border-radius: 1rem; font-size: .6875rem;font-family: din-2014; font-weight: 400; font-style: normal; letter-spacing: .1em; color: #808080; line-height: 180%; -ms-transition: all .5s; -webkit-transition: all .5s; transition: all .5s; }
.works-cat.hover a:hover { background: #808080; color: #FFF; }

.bottom-links { text-align: center; margin: 100px 0; }
.bottom-links .btn-arrow { margin: 0 1em; font-size: .875em; letter-spacing: .2em; }

@media screen and (max-width: 900px) {
	.bottom-links { display: flex; justify-content: space-between; margin :50px 0;  }
	.bottom-links a[rel="next"] { margin: 0 0 0 auto; }
}

/*news*/
.list-news-post{  }
.list-news-post > li { display: flex; justify-content: space-between; flex-wrap: wrap;  margin-bottom: 2em; }

.list-news-post time { font-family: din-2014; font-weight: 400; font-style: normal; font-size: .9375rem; width: 6rem; letter-spacing: .1em;  }
.list-news-post .news-cat { font-family: din-2014; font-weight: 400; font-style: normal;  font-size: .6875rem; width: 8rem; color: #808080; letter-spacing: .1em;  }
.list-news-post .postlink { width: calc(100% - 16rem); font-weight: bold; }

.list-news-post.hover a { -ms-transition: all .3s; -webkit-transition: all .3s;  transition: all .3s; }
.list-news-post.hover a:hover { text-shadow: 0 2px 5px rgba(0,0,0,.15); opacity: .7;  }


@media screen and (max-width: 900px) {
	.list-news-post > li { justify-content: flex-start; } 
	.list-news-post .postlink { width: 100%; font-size: 1.2rem;}
}


/*投稿本文のスタイル*/
.post-head { text-align: center;  }
.post-head .post-title { font-size: 1.5rem; line-height:150%; font-weight:bold;  }
.post-head .date,
.post-head .news-cat { font-family: din-2014; font-weight: 400; font-style: normal; letter-spacing: .1em;  }
.post-head .date { font-size: .9375rem; margin-bottom: 1em; }
.post-head .news-cat { font-size: .6785; margin-top: 1em; color: #808080;  }


.post-body { margin: 3rem 0;  }

.post-body .eyecatch { text-align: center; margin-bottom: 3rem;  }

.post-body * { word-break: break-all; }
.post-body img { max-width: 100%; height: auto; display: block; margin: 0 auto 8em; border: 1px solid #CCC; }

.post-body h1 { font-size: 2rem; font-weight: bold; margin-bottom: 1em; }
.post-body h2 { font-size: 1.8rem; font-weight: bold; margin-bottom: 1em; }
.post-body h3 { font-size: 1.5rem; font-weight: bold; margin-bottom: 1em; }
.post-body h4 { font-size: 1.1rem; font-weight: bold; margin-bottom: 1em; }
.post-body h5 { font-weight: bold; margin-bottom: 1em; }
.post-body p { margin-bottom: 1.5em; line-height: 200%; letter-spacing: .1em; }
.post-body a { text-decoration: underline; }


.post-body ul { padding-left: 1em; margin-bottom: 1em; }
.post-body ul > li:before { content: '・'; display: inline-block; marign-left: -1em; width: 1em; }
.post-body ol { counter-reset: listnum; padding-left: 1.5em; margin-bottom: 1em; }
.post-body ol > li { counter-increment: listnum;  }
.post-body ol > li:before { content: counter(listnum)'.'; display: inline-block; marign-left: -1.5em; width: 1.5em; }

.post-body blockquote { border: 2px solid #CCC; padding: 1.5em; margin-bottom: 1em; }

.post-body table { bordertop: 1px solid #DDD;  }
.post-body table tr { border-bottom: 1px solid #DDD; }
.post-body table th { background: #F5F5F5; padding: .5em; }
.post-body table td { padding: .5em; }

@media screen and (max-width: 900px) {
	.post-head { text-align: left;  }
	.post-body img { margin-bottom: 5rem; }
	
	
}






/*pagination*/
.pagination { margin: 100px 0; text-align: center;  }
.page-numbers { display: none; }
.page-numbers.prev,
.page-numbers.next { display: inline-block; margin: 0 1em; }

@media screen and (max-width: 900px) {
	.pagination { margin: 50px 0; }
	
}

/*sidebar news*/
.news-sideContents { margin: 5em auto; text-align: center;  }
.news-sideContents .conts-side { display: inline-block; }
.news-sideContents .conts-side + .conts-side { margin-left: 2rem; }
.news-sideContents .title-side { display : inline-block; vertical-align: middle; margin-right: 1em; font-family: din-2014; font-weight: 400; font-style: normal; letter-spacing: .2em; }
.news-sideContents select { -webkit-appearance: none; -moz-appearance: none; appearance: none; width: 190px; padding: .5em; border-radius: 5px; border: 1px solid #000; background: url(../img/arrow.svg) no-repeat right .5em center / 1rem auto; font-family: din-2014; font-weight: 400; font-style: normal;  font-size: 1rem; }

@media screen and (max-width: 900px) {
	.news-sideContents .conts-side { display: block; }
	.news-sideContents .conts-side + .conts-side { margin-left: 0; margin-top: 1rem; }
}



/*contact*/
.form-head { margin: 3rem 0; }
.contactform { margin-bottom: 84px; }

.tel-contact { background: #F0F6E8; padding: 90px 5%; display: flex; flex-wrap: wrap; font-weight: bold; margin-bottom: 5rem; }
.tel-contact .tel { width: 60%; padding-right: 2rem; }
.tel-contact .tel .copy { color: #FF9429; background: #FFF; font-size: 1.3rem; font-weight: bold; padding: .2rem .8em; display: inline-block;  border-radius: 1em; }
.tel-contact .tel .telnum { font-size:4rem; color: #1DA16E; font-weight: bold; font-family: 'Montserrat', sans-serif; margin: .2em 0; line-height: 100%;  }
.tel-contact .tel .telnum i { font-size: .8em; }
.tel-contact .estimate { width: 40%; padding-left: 2rem; border-left: 1px solid #9ED5B8; }
.tel-contact .estimate .btn-estimate { background: linear-gradient(#FAA113, #FF7600); border-radius: 5px; box-shadow: 0 5px 0 #BF5C02; margin-top: 1rem; padding: 1em; color: #FFF; display: block; font-size: 1.5rem; text-align: center; }
.tel-contact .estimate .btn-estimate:before { content: ''; width: 1.5em; height: 1.5em; display: inline-block; vertical-align: middle; margin-right: .5em; background: url("../img/calculator-color.html") no-repeat center center / contain; }

@media screen and (max-width: 1300px) {
  .tel-contact .tel .telnum  {font-size: 5vw;}
  .tel-contact .estimate .btn-estimate { font-size: 1.2rem;}
}
@media screen and (max-width: 900px) {
  .tel-contact { padding: 40px 5%; }
  .tel-contact .tel { width: 100%; padding-right: 0;}
  .tel-contact .tel .copy { font-size: 1rem;}
  .tel-contact .tel .telnum { font-size: 8vw;}
  .tel-contact .estimate {  width: 100%; padding-left: 0; border: none; margin-top: 2rem; }
}


/*contact form*/
.title-form { font-weight: bold; font-size: 1.5rem; padding-left: 1em;  margin-bottom: 1em;  } 
.title-form:before { content: ''; width: .3em; height: .9em; display: inline-block; margin-left: -1em; margin-right: .7em; background:#1DA16E; border-radius: 3px;vertical-align: middle;} 

.must { color: #ED1C24; margin: 0 .2em;}

.table-form {  width: 100%; margin-bottom: 5rem;  }
.table-form th,
.table-form td { vertical-align: top; padding: 1em 0;  }
.table-form th { width: 10rem; padding-right: 1rem; position: relative; }
.table-form td { padding-left: 1.5rem;}


.contactform { margin-top: 3rem; }
.contactform .wpcf7-radio { padding: 0; display: block; }
.contactform span.wpcf7-list-item { margin: 0 2rem 1em 0; }

.contactform textarea {
   -webkit-appearance: none;
  width: 100%; 
  background: #FFF;
	padding: .5em;
	border: 1px solid #000;
  font-size: 1rem;
  border-radius: 5px; 
}


.contactform input[type=text],
.contactform input[type=number],
.contactform input[type=date],
.contactform input[type=email],
.contactform input[type=tel],
.contactform select {
  
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-size: .9rem;
  line-height: 150%; 
  width: 100%; 
	padding: .5em;
	margin: 3px 0;
	vertical-align: middle;
	display: inline-block;
  background: #FFF;
	border: 1px solid #000;
  border-radius: 5px;
	max-width: 300px;
}

.contactform input[type="text"].wideM {
  width: 50%;
}
.auto-address { display: inline-block; vertical-align: middle; padding: .5em 1em; color: #FFF; line-height: 100%; letter-spacing: .1em; background: #007CEB; margin-left: 1em; border-radius: 1.5rem; }

.contactform input[type="text"].wideS, 
.contactform select.wideS {
  width: 10rem;
}


.contactform input[type="radio"] { display: none; }
.contactform input[type="radio"] + span:before { content: ''; width: 1em; height: 1em; display :inline-block; margin-right: .5em; vertical-align :middle; background: url(../img/radio-off.html) no-repeat center center/ 100% auto; border-radius: 1rem; border: 1px solid;  }
.contactform input[type="radio"]:checked + span:before { background: #000; box-shadow:inset 0 0 0 3px #FFF; }

.contactform input[type="checkbox"] { display: none; }
.contactform input[type="checkbox"] + span:before { content: ''; width: 1em; height: 1em;  display :inline-block; margin-right: .5em; vertical-align :middle;   background: url(../img/check-off.html) no-repeat center center/ 100% auto;}
.contactform input[type="checkbox"]:checked + span:before {  }


.form-button { text-align: center; margin-top: 3rem; }
.form-button input[type="submit"] { -webkit-appearance: none; color: #FFF;width: 100%;  max-width: 400px; background-color: #000000; 
background-image: url(../img/arrow-w-short.svg); background-position: center bottom 1.5rem; background-repeat: no-repeat; background-size: 6rem auto;
margin-top: 3rem; text-align: center; padding: 1rem 1rem 2rem; font-size: 1rem; border: none; line-height: 200%; -ms-transition: all .3s; transition: all .3s; transition: all .3s;  -ms-transition: background .3s; t-webkit-ransition: background .3s; transition: background .3s; cursor: pointer; }

.wpcf7-form-control.wpcf7c-btn-back { width: 400px; max-width: 100%; display: block; background: #CCC; margin: 1rem auto 0; fotn-size: 1rem; padding: 1em; border: none; }

.custom-wpcf7c-confirmed .contactform input[type=text],
.custom-wpcf7c-confirmed .contactform input[type=number],
.custom-wpcf7c-confirmed .contactform input[type=date],
.custom-wpcf7c-confirmed .contactform input[type=email],
.custom-wpcf7c-confirmed .contactform input[type=tel],
.custom-wpcf7c-confirmed .contactform select,
.custom-wpcf7c-confirmed .contactform textarea {
  background: none; border: none; outline: none;
  -webkit-box-shadow: 0 0 0px 1000px white inset;
   box-shadow: 0 0 0px 1000px white inset;
}
.custom-wpcf7c-confirmed .contactform span.wpcf7-list-item { margin: 0; }
.custom-wpcf7c-confirmed input[type="checkbox"] ~ .wpcf7-list-item-label { display: none; }
.custom-wpcf7c-confirmed input[type="radio"] ~ .wpcf7-list-item-label { display: none; }
.custom-wpcf7c-confirmed input[type="checkbox"].must ~ .wpcf7-list-item-label { display: block; }
.custom-wpcf7c-confirmed input[type="radio"]:checked ~ .wpcf7-list-item-label { display: block; }

.custom-wpcf7c-confirmed .contactform .no-conf { display: none!important; }
div.wpcf7 .ajax-loader { display: none!important; }

@media screen and (max-width: 600px) {
	.table-form { margin-bottom: 1rem; }
  .table-form th,
  .table-form td { display: block; width: 100%; }
  .table-form th { padding-bottom: 0;}
  .table-form td { padding-left: 0 ;}
	
	.contactform input[type=text],
	.contactform input[type=number],
	.contactform input[type=date],
	.contactform input[type=email],
	.contactform input[type=tel],
	.contactform select { max-width: 100%; }
	.form-button { margin-top: 0; }
}

.privacy-box { width: 100%; padding: 2rem; height: 300px; overflow-y: scroll; background: #E6E6E6; margin-top: 2rem; font-size: .95rem; }
.title-privacy { font-size: 1.1rem; font-weight: bold; margin-bottom: 1em;  }
.list-privacy { counter-reset: listnum;  margin-bottom: 2rem;}
.list-privacy > li { margin-top: 2rem; counter-increment: listnum; }
.list-privacy .title { font-weight: bold; margin-bottom: .5em;  }
.list-privacy .title::before { content: counter(listnum)'.';  }
.list-privacy p { margin-bottom: 1em; }


.grecaptcha-badge { visibility: hidden; } 
.recaptcha-note { font-size: .8rem; margin: 1em auto ; text-align: center; line-height: 150%;}