@charset "UTF-8";

/*
	Theme Name: mantei
	Theme URI: http://mantei.com/
	Description: WordPress Corporate Theme
	Version: 2.4
	Author: C-designoffice
	Author URI: http://c-designoffice.com/
*/


html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	/*vertical-align: baseline;*/
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, main {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
/* --- reset -------------------------------- */


html { height: 100% }

html {
    font-size: 62.2%;
  }
body { height: 100%; margin: 0; padding: 0 }
#map_canvas { height: 100% }




/* -------------------------------- 

Primary style

-------------------------------- */
html * {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

*, *:after, *:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  font-size: 16px;
  font-family: "Source Sans Pro", sans-serif;
  color: #333;
  background-color: #fff;
  line-height:2em;
}

a {
  color: #749574;
  text-decoration: none;
}
a:hover {
  color: #339933;
  text-decoration: none;
-webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
}



img {
  max-width: 100%;
}

a:hover img{
	opacity:0.5;
	-webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
}

/* -------------------------------- 

Modules - reusable parts of our design

-------------------------------- */
.cd-container {
  /* this class is used to give a max-width to the element it is applied to, and center it horizontally when it reaches that max-width */
  width: 90%;
  max-width: 1170px;
  margin: 0 auto;
}
.cd-container::after {
  /* clearfix */
  content: '';
  display: table;
  clear: both;
}

/* -------------------------------- 

Main components 

-------------------------------- */
header {
  position: relative;
  background: #001e1e;
  text-align: center;
  padding:0 0 3em 0;
}
#cd-logo img {
   width:50%;
   margin-top:3em;
}
 header h1 {
    font-size: 10px;
	color:#FFFFFF;
	text-align:center;
	line-height:1em;
	padding-top:0.3em;
  }
@media only screen and (min-width: 768px) {
  header {
    height: 500px;
    padding:0 0 3em 0;
  }
  #cd-logo img {
   width: auto;
   margin-top:15em;
}
 header h1 {
    font-size: 12px;
	color:#333;
	background:#FFFFFF;
	text-align:center;
	line-height:2em;
  }
}
@media only screen and (min-width: 1170px) {
  header {
    height: 500px;
    padding:0 0 3em 0;
  }
 #cd-logo img {
   width: auto;
   margin-top:15em;
}
 
}

.con-hed img {
   width:30%;
   margin:2em 0 0 2em;
}
@media only screen and (min-width: 768px) {
.con-hed img {
   width:15%;
   margin:2em 0 0 2em;
}
}


/* -------------------------------- 

top main

-------------------------------- */
#top-main {
	display:block;
  background: #001e1e;
  text-align: center;
  margin-bottom: 1em;
  padding:2em 5% 2em;
}

@media only screen and (min-width: 768px) {
#top-main {
	display:block;
  background: #001e1e;
  text-align: center;
  margin-bottom: 1em;
  padding:3em 5% 11em;
}
}

/* -------------------------------- 

main

-------------------------------- */
main {
	margin:5em 5%;
}
@media only screen and (min-width: 768px) main {
	margin:5em 0%;
}
.titlearea {
	margin-bottom:5em;
}
.titlearea h2 {
	text-align:center;
	font-size:20px;
	font-family:'Quando',"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	margin-bottom:2em;
}
.titlearea p {
	text-align:center;
	font-size:14px;
	font-family:'Quando',"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	margin-bottom:2em;
}

main h3 {
	font-size:20px;
	font-weight: bold;
}

.woksarea {
  width: 90%;
  max-width: 1170px;
  margin: 2em auto;
}

/* -------------------------------- 

footer

-------------------------------- */

footer {
	clear:both;
	background: #001e1e;
	color:#fff;
	padding:5em 0;
}
footer a.hoge {
    color: #fff;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
    }
a.hoge:hover {
    color: #999;
    }

.fot-nav {
  margin-bottom: 1.5em;
  border-radius: 0.25em;
}
.fot-nav li {
	margin-bottom:1.5em;
}
.fot-nav li img {
  width: auto;
}
.fot-nav h3 {
	text-align:center;
	font-size:20px;
	margin:1em 0;
}
.fot-nav p {
	text-align:center;
	font-size:14px;
}
.con-info {
	margin:5em 0 3em 0;
	text-align:center;
} 
.copyright {font-size:small }

@media only screen and (min-width: 768px) {
  .fot-nav li {
    width: 31%;
    float: left;
    margin-bottom: 2.5em;
    margin-right: 3.5%;
  }
  .fot-nav li:nth-child(2n) {
    margin-right: 3.5%;
  }
  .fot-nav li:nth-child(3n) {
    margin-right: 0;
  }
}




/* -------------------------------- 

cd-gallery-items 3 2 1

-------------------------------- */

.cd-gallery-items li {
  margin-bottom: 1.5em;
  border-radius: 0.25em;
}
.cd-gallery-items li img {
  width: 100%;
  display: block;
}

@media only screen and (min-width: 768px) {
  .cd-gallery-items li {
    width: 48%;
    float: left;
    margin-bottom: 2em;
    margin-right: 4%;
  }
  .cd-gallery-items li:nth-child(2n) {
    margin-right: 0;
  }
}

@media only screen and (min-width: 1170px) {
  .cd-gallery-items li {
    width: 31%;
    float: left;
    margin-bottom: 2.5em;
    margin-right: 3.5%;
  }
  .cd-gallery-items li:nth-child(2n) {
    margin-right: 3.5%;
  }
  .cd-gallery-items li:nth-child(3n) {
    margin-right: 0;
  }
}

/* -------------------------------- 

cd-gallery-items

-------------------------------- */

.cd-gallery-items1 li {
  margin-bottom: 1.5em;
  border-radius: 0.25em;
}
.cd-gallery-items1 li img {
  width: 100%;
  display: block;
}

@media only screen and (min-width: 768px) {
  .cd-gallery-items1 li {
    width: 31%;
    float: left;
    margin-bottom: 2.5em;
    margin-right: 3.5%;
  }
  .cd-gallery-items1 li:nth-child(2n) {
    margin-right: 3.5%;
  }
  .cd-gallery-items1 li:nth-child(3n) {
    margin-right: 0;
  }
}

.cd-gallery-items2 li {
  margin-bottom: 1.5em;
  border-radius: 0.25em;
}
.cd-gallery-items2 li img {
  width: 100%;
  display: block;
}
.cd-gallery-items2 li p {
  margin-top: 10px;
	font-size: 14px;
	line-height: 150%;
}

@media only screen and (min-width: 768px) {
  .cd-gallery-items2 li {
    width: 22%;
    float: left;
    margin-bottom: 2.5em;
    margin-right: 3.5%;
  }
  .cd-gallery-items2 li:nth-child(2n) {
    margin-right: 3.5%;
  }
  .cd-gallery-items2 li:nth-child(3n) {
    margin-right: 3.5%;
  }
  .cd-gallery-items2 li:nth-child(4n) {
    margin-right: 0;
  }
}


/* -------------------------------- 

施工実績

-------------------------------- */


#container {
  width: 100%;
  margin: 1em auto;   /*中央寄せ*/
  position: relative;
}
.item {
  margin: 0px;
  width: 310px;
}
.item.x2 {
  width: 320px;
}
.item.x3 {
  width: 500px;
}
.item img {
  width: 100%;
}

.nextbtn {
	text-align:center;
	margin:20px 0;
}
.nextbtn img {
	margin:0 10px;
}


/* -------------------------------- 
問い合わせフォーム
-------------------------------- */

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 textarea {
	background-color: #fff;
	color: #333;
	border: 1px solid #ddd;
	font-size: 100%;
	padding: 0.5em;
	border-radius: 4px;
	box-shadow: 1px 1px 3px rgba(0,0,0,.1) inset;
}

.wpcf7 input[type="submit"] {
	font-size: 100%;
	padding: 1em 0.4em;
	background: #185910;
	width:60%;
	text-align:center;
	color: #fff;
	font-weight:bold;
	cursor: pointer;
	border: 1px solid #ccc;
	margin:0 20%;
}

.form-width { width: 90%;}


span.wpcf7-list-item {
display: block;
}


.wpcf7 input[type="submit"]:hover {
	background: #666666;
}

.wpcf7 span.wpcf7-not-valid-tip {
	font-size: 80%;
}

label {
	padding-right:10px;
}

.wpcf7 .wpcf7-response-output {
    margin: 10px 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;
    }

.sent .hidden {
display: none;
}


/*micro clearfix（float解除）*/
.cf:before,.cf:after {
    content:"";
    display:table
}
.cf:after { clear:both; }
.cf { zoom:1; } /* For IE 6/7 */

/*img shadow（画像に影）*/
img.shadow {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

/*中央寄せ、左寄せ、右寄せ*/
.algC { text-align: center; }
.algL { text-align: left; }
.algR { text-align: right; }

/*回り込み（左、右）*/
.floatL { float: left; }
.floatR { float: right; }

/*余白の設定*/
/*（40px）*/
.pdgALL40 { padding: 40px; }
.pdgLR40 { padding: 0 40px; }
.pdgTB40 { padding: 40px 0; }
.pdgL40 { padding: 0 0 0 40px; }
.pdgR40 { padding: 0 40px 0 0; }
.pdgT40 { padding: 40px 0 0 0; }
.pdgB40 { padding: 0 0 40px 0; }
.pdgLT40 { padding: 40px 0 0 40px; }
.pdgLB40 { padding: 0 0 40px 40px; }
.pdgRT40 { padding: 40px 40px 0 0; }
.pdgRB40 { padding: 0 40px 40px 0; }
/*（30px）*/
.pdgALL30 { padding: 30px; }
.pdgLR30 { padding: 0 30px; }
.pdgTB30 { padding: 30px 0; }
.pdgL30 { padding: 0 0 0 30px; }
.pdgR30 { padding: 0 30px 0 0; }
.pdgT30 { padding: 30px 0 0 0; }
.pdgB30 { padding: 0 0 30px 0; }
.pdgLT30 { padding: 30px 0 0 30px; }
.pdgLB30 { padding: 0 0 30px 30px; }
.pdgRT30 { padding: 30px 30px 0 0; }
.pdgRB30 { padding: 0 30px 30px 0; }
/*（20px）*/
.pdgALL20 { padding: 20px; }
.pdgLR20 { padding: 0 20px; }
.pdgTB20 { padding: 20px 0; }
.pdgL20 { padding: 0 0 0 20px; }
.pdgR20 { padding: 0 20px 0 0; }
.pdgT20 { padding: 20px 0 0 0; }
.pdgB20 { padding: 0 0 20px 0; }
.pdgLT20 { padding: 20px 0 0 20px; }
.pdgLB20 { padding: 0 0 20px 20px; }
.pdgRT20 { padding: 20px 20px 0 0; }
.pdgRB20 { padding: 0 20px 20px 0; }
/*（15px）*/
.pdgALL15 { padding: 15px; }
.pdgLR15 { padding: 0 15px; }
.pdgTB15 { padding: 15px 0; }
.pdgL15 { padding: 0 0 0 15px; }
.pdgR15 { padding: 0 15px 0 0; }
.pdgT15 { padding: 15px 0 0 0; }
.pdgB15 { padding: 0 0 15px 0; }
.pdgLT15 { padding: 15px 0 0 15px; }
.pdgLB15 { padding: 0 0 15px 15px; }
.pdgRT15 { padding: 15px 15px 0 0; }
.pdgRB15 { padding: 0 15px 15px 0; }
/*（10px）*/
.pdgALL10 { padding: 10px; }
.pdgLR10 { padding: 0 10px; }
.pdgTB10 { padding: 10px 0; }
.pdgL10 { padding: 0 0 0 10px; }
.pdgR10 { padding: 0 10px 0 0; }
.pdgT10 { padding: 10px 0 0 0; }
.pdgB10 { padding: 0 0 10px 0; }
.pdgLT10 { padding: 10px 0 0 10px; }
.pdgLB10 { padding: 0 0 10px 10px; }
.pdgRT10 { padding: 10px 10px 0 0; }
.pdgRB10 { padding: 0 10px 10px 0; }
/*（5px）*/
.pdgALL5 { padding: 5px; }
.pdgLR5 { padding: 0 5px; }
.pdgTB5 { padding: 5px 0; }
.pdgL5 { padding: 0 0 0 5px; }
.pdgR5 { padding: 0 5px 0 0; }
.pdgT5 { padding: 10px 0 0 0; }
.pdgB5 { padding: 0 0 5px 0; }
.pdgLT5 { padding: 5px 0 0 5px; }
.pdgLB5 { padding: 0 0 5px 5px; }
.pdgRT5 { padding: 5px 5px 0 0; }
.pdgRB5 { padding: 0 5px 5px 0; }


/*テーブル

.Tb1 { width: 100%; margin-bottom:1.5em; border-collapse:collapse; }
.Tb1 td,
.Tb1 th { padding: 10px; border: 1px solid #ccc; }
.Tb1 th { background-color:rgba(146,130,130,0.1); width: 30%; text-align: center; }
 
@media only screen and (max-width:480px){
    .Tb1 { margin: 0 0 1.5em 0; }
    .Tb1 th,
    .Tb1 td{
        width: 100%;
        display: block;
        border-top: none;
    }
    .menuTb1 tr:first-child th   { border-top: 1px solid #ccc; }
}*/

table { width: 100%; }
th, td  { padding: 10px; border: 1px solid #ddd; }
th  { background-color:rgba(146,130,130,0.1); }
 
/*----------------------------------------------------
  .Tb1
----------------------------------------------------*/
.Tb1 th  { width: 30%; text-align: left; }
 
@media only screen and (max-width:480px){
    .Tb1 { margin: 0 -10px; }
    .Tb1 th,
    .Tb1 td{
    width: 100%;
    display: block;
    border-top: none;
    }
  .Tb1 tr:first-child th { border-top: 1px solid #ddd; }
}

/*文字色・文字背景色*/
.mk-red { color: #ff0000; }

/*文字サイズ*/
.xx-small { font-size: xx-small; }
.x-small { font-size: x-small; }
.small { font-size: small; }
.medium { font-size: medium; }
.large { font-size: large; }
.x-large { font-size: x-large; }
.xx-large { font-size: xx-large; }

@-webkit-keyframes cd-slide-in {
  0% {
    -webkit-transform: translateX(100px);
  }

  100% {
    -webkit-transform: translateY(0);
  }
}
@-moz-keyframes cd-slide-in {
  0% {
    -moz-transform: translateX(100px);
  }

  100% {
    -moz-transform: translateY(0);
  }
}
@keyframes cd-slide-in {
  0% {
    -webkit-transform: translateX(100px);
    -moz-transform: translateX(100px);
    -ms-transform: translateX(100px);
    -o-transform: translateX(100px);
    transform: translateX(100px);
  }

  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
  }
}
@-webkit-keyframes cd-bounce-in {
  0% {
    -webkit-transform: scale(0);
  }

  60% {
    -webkit-transform: scale(1.2);
  }

  100% {
    -webkit-transform: scale(1);
  }
}
@-moz-keyframes cd-bounce-in {
  0% {
    -moz-transform: scale(0);
  }

  60% {
    -moz-transform: scale(1.2);
  }

  100% {
    -moz-transform: scale(1);
  }
}
@keyframes cd-bounce-in {
  0% {
    -webkit-transform: scale(0);
    -moz-transform: scale(0);
    -ms-transform: scale(0);
    -o-transform: scale(0);
    transform: scale(0);
  }

  60% {
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -ms-transform: scale(1.2);
    -o-transform: scale(1.2);
    transform: scale(1.2);
  }

  100% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
}
