
/*--------------------------------------------
左ナビ
--------------------------------------------*/
.leftnavi-sec {
  width: 100%;
  padding: 10px;
  box-sizing: border-box;
  background-color: #1489ff;
}
/********* sp *********/
@media only screen and (max-width: 768px) {
.leftnavi-sec {
  margin-top: 10px;
 }
}

.leftnavi-sec--ttl {
  color: #fff;
  padding-bottom: 10px;
}

.leftnavi-sec--list {
  background-color: #fff;
}

.leftnavi-sec--list li a {
  padding: 5px;
  box-sizing: border-box;
  color: #1489ff;
  border-bottom: 1px #1489ff solid;
  display: block;
  font-size: 14px;
}
/********* sp *********/
@media only screen and (max-width: 768px) {
.leftnavi-sec--list li a {
  font-size: 12px;
 }
}

.leftnavi-sec--list li:last-child a {
  border-bottom: none;
}

.leftnavi-sec--list li a:hover {
  background-color: #c5f0fc;
  color: #1489ff;
}

.leftnavi-sec--list li.leftnavi-sec--parent {
  padding: 5px 5px 0;
  box-sizing: border-box;
  border-bottom: 1px #1489ff solid;
}

.leftnavi-sec--list li.leftnavi-sec--parent a {
  border-bottom: none;
  padding: 0 0 5px;
}

.leftnavi-sec--slist {
  margin-left: 2em;
}

.leftnavi-sec--slist li a {
  padding: 5px!important;
  box-sizing: border-box;
  color: #1489ff;
  border-top: 1px #1489ff solid;
  display: block;
  font-size: 12px;
}
/********* sp *********/
@media only screen and (max-width: 768px) {
.leftnavi-sec--slist li a {
  font-size: 12px;
 }
}

.leftnavi-sec--slist li a:hover {
  background-color: #c5f0fc;
  color: #1489ff;
}


/*--------------------------------------------
メイン
--------------------------------------------*/
.main-sec--ttl {
  display: block;
  font-size: 30px;
  color: #1489ff;
  /*color: #000099;*/
  padding-bottom: 5px;
  border-bottom: 4px #1489ff solid;
  margin: 0 auto 30px;
  text-align: left;
}
/********* sp *********/
@media only screen and (max-width: 768px) {
.main-sec--ttl {
  font-size: 20px;
  margin: 0 auto 15px;
 }
}

.main-sec--sttl {
  display: block;
  font-size: 22px;
  color: #1489ff;
  padding-bottom: 2px;
  border-bottom: 2px #ccc solid;
  margin: 20px auto;
  text-align: left;
  position: relative;
}
/********* sp *********/
@media only screen and (max-width: 768px) {
.main-sec--sttl {
  font-size: 16px;
  margin: 10px auto;
 }
}

.main-sec--sttl:after {
  content: "";
  display: block;
  line-height: 0;
  overflow: hidden;
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 15%;
  border-bottom: 2px #1489ff solid;
}

/* 工務店検索 */
.sec--search--txt {
  width: 100%;
  background-color: #fff;
  padding: 25px;
}
/********* sp *********/
@media only screen and (max-width: 768px) {
.sec--search--txt {
  float: none;
  width: 100%;
  margin: 0 auto;
 }
}

.sec--search--txt--ttl {
  font-size: 30px;
  color: #000099;
  padding-bottom: 5px;
  border-bottom: 4px #1489ff solid;
}
/********* sp *********/
@media only screen and (max-width: 768px) {
.sec--search--txt--ttl {
  font-size: 20px;
 }
}

.sec--search--txt--list {
  display: table;
  width: 100%;
  color: #003a84;
}
/********* sp *********/
@media only screen and (max-width: 768px) {
.sec--search--txt--list {
  display: block;
 }
}

.sec--search--txt--list--left {
  display: table-cell;
  line-height: 1.4;
  width: 140px;
  text-align: left;
}
/********* sp *********/
@media only screen and (max-width: 768px) {
.sec--search--txt--list--left {
  display: block;
  width: 100%;
  margin: 0;
 }
}

.sec--search--txt--list--right {
  display: table-cell;
  line-height: 1.4;
  text-align: left;
}
/********* sp *********/
@media only screen and (max-width: 768px) {
.sec--search--txt--list--right {
  display: block;
  margin: 5px 0 0;
 }
}

.sec--search--txt--list--right select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background: transparent url(../images/common/ico_arrow_form.png) no-repeat center right 8px/16px 16px;
  border: 1px solid rgba(0, 0, 0, 0.16);
  border-radius: 0;
  color: inherit;
  cursor: pointer;
  font-family: inherit;
  font-size: 1em;
  padding: 0.2em 0.8em;
  width: 100%;
}

.sec--search--txt--list--right input {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border: 1px solid rgba(0, 0, 0, 0.16);
  border-radius: 0;
  color: inherit;
  cursor: pointer;
  font-family: inherit;
  font-size: 1em;
  padding: 0.2em 0.8em;
  width: 100%;
}

.u-btn__search {
  display: inline-block;
  width: 100%;
  max-width: 300px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  border-radius: 20px;
  border: 2px #1489ff solid;
  padding: 0 25px;
  color: #000099;
  font-size: 16px;
}

.u-btn__search:hover {
  border: 2px #1489ff solid;
  color: #000099;
  background-color: #1489ff;
}


/* 当法人・入会について */

.sec--pic--chairman {
  max-width: 220px;
  float: left;
  margin: 0 15px 10px 0;
}

.sec--pic--chairman--sign {
  max-width: 121px;
}

/* 工務店一覧 左：画像 右：テキスト */
.sec--build {
  margin-bottom: 15px;
  padding-bottom: 15px;
  border-bottom: 1px dotted #ccc;
  overflow: hidden;
}

.sec--build--photo {
  width: 42.25%;
  float: left;
}
/********* sp *********/
@media only screen and (max-width: 768px) {
.sec--build--photo {
  width: 100%;
  float: none;
 }
}

.sec--build--txt {
  width: 53.52%;
  float: right;
  padding-top: 10px;
}
/********* sp *********/
@media only screen and (max-width: 768px) {
.sec--build--txt {
  width: 100%;
  float: none;
 }
}


.sec--build--txt--ttl {
  font-size: 18px;
  color: #000099;
  padding-bottom: 2px;
  border-bottom: 1px #019abf solid;
}

.sec--build--txt--ttl a {
  color: #000099;
}

.sec--build--txt--phone,
.sec--build--txt--fax {
  padding: 0;
  display: inline-block;
}

.sec--build--txt--phone span,
.sec--build--txt--fax span {
  margin-right: 5px;
  padding: 3px 5px;
  display: inline-block;
  color: #fff;
  font-size: 80%;
  line-height: 1;
  vertical-align: text-top;
  background: #019abf;
}

/* ページャー */
.o-listPager{
  text-align:center;
  font-size: 14px;
}
.o-listPager span.current{
  color:#FFF;
  background-color:#019abf;
  padding:0.5em 0.6em 0.5em;
  display:inline-block;
  border:1px solid #ddd;
  margin-left:5px;
}
.o-listPager a{
  color:#333;
  background-color:#FFF;
  padding:0.5em 0.6em 0.5em;
  display:inline-block;
  border:1px solid #ddd;
  text-decoration:none; margin-left:5px;
}
.o-listPager a:hover{ color:#1489ff; }


/* お知らせ一覧 */
.sec--news--list {
  margin-top: 40px;
}
/********* sp *********/
@media only screen and (max-width: 768px) {
.sec--news--list {
  margin-top: 20px;
 }
}

.sec--news--list li {
  padding-bottom: 20px;
  border-bottom: 1px #bfbfbf solid;
  margin-bottom: 20px;
}
/********* sp *********/
@media only screen and (max-width: 768px) {
.sec--news--list li {
  padding-bottom: 15px;
  border-bottom: 1px #bfbfbf solid;
  margin-bottom: 15px;
 }
}

.sec--news--list li a {
  display: table;
  color: #003a84;
}
/********* sp *********/
@media only screen and (max-width: 768px) {
.sec--news--list li a {
  display: block;
 }
}

.sec--news--list--left {
  display: table-cell;
  line-height: 1.4;
  width: 130px;
  text-align: left;
}
/********* sp *********/
@media only screen and (max-width: 768px) {
.sec--news--list--left {
  display: block;
  width: 100%;
  margin: 0;
 }
}

.sec--news--list--right {
  display: table-cell;
  line-height: 1.4;
  text-align: left;
}
/********* sp *********/
@media only screen and (max-width: 768px) {
.sec--news--list--right {
  display: block;
  margin: 5px 0 0;
 }
}

/* 表組み */
.sec--address dl {margin-top: 8px;}
.sec--address dl dt, dd {padding-top: 8px;padding-bottom: 8px;}
.sec--address dl dt {padding-right: 10px;clear: left;float: left;}
.sec--address dl dd {padding-left: 5em;border-bottom: 1px dotted#ddd;}


/* お問い合わせ */
.sec--contact {
  max-width: 700px;
  width: 100%;
  margin: 0 auto;
}

.sec--contact table {
 width: 100%;
 border: 1px #e0e0e0 solid;
 border-collapse:collapse;
}

.sec--contact table th {
 padding: 0.5em;
 text-align: left;
 background-color: #f5f5f5;
 border: 1px #e0e0e0 solid;
 border-collapse:collapse;
 width: 30%;
}
/********* sp *********/
@media only screen and (max-width: 768px) {
.sec--contact table th {
  display: block;
   width: 100%;
 }
}

.sec--contact table th span {
 color: #cc0000;
 font-size: 12px;
}

.sec--contact table td {
 padding: 0.5em;
 box-sizing: border-box;
 text-align: left;
 color: #000;
 border: 1px #e0e0e0 solid;
 border-collapse:collapse;
}
/********* sp *********/
@media only screen and (max-width: 768px) {
.sec--contact table td {
  display: block;
   width: 100%;
 }
}

.sec--contact table td select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background: transparent url(../images/common/ico_arrow_form.png) no-repeat center right 8px/16px 16px;
  border: 1px solid rgba(0, 0, 0, 0.16);
  border-radius: 0;
  color: inherit;
  cursor: pointer;
  font-family: inherit;
  font-size: 1em;
  padding: 0.2em 0.8em;
  width: 100%;
}

.sec--contact table td input {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border: 1px solid rgba(0, 0, 0, 0.16);
  border-radius: 0;
  color: inherit;
  cursor: pointer;
  font-family: inherit;
  font-size: 1em;
  padding: 0.2em 0.8em;
  width: 100%;
}

.sec--contact table td textarea {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border: 1px solid rgba(0, 0, 0, 0.16);
  border-radius: 0;
  color: inherit;
  cursor: pointer;
  font-family: inherit;
  font-size: 1em;
  padding: 0.2em 0.8em;
  width: 100%;
}

.sec--contact input[type=submit] {
  display: inline-block;
  width: 100%;
  max-width: 300px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  border-radius: 20px;
  border: 2px #1489ff solid;
  background-color: #fff;
  padding: 0 25px;
  color: #1489ff;
  font-size: 16px;
}

.sec--contact input[type=submit]:hover {
  border: 2px #1489ff solid;
  color: #fff;
  background-color: #1489ff;
}

/********* sp *********/
@media only screen and (max-width: 750px) {
.sec--contact td input[type=radio],
.sec--contact td input[type=checkbox] {
 width: auto;
 }
.sec--contact th {
 border: none;
 }
.sec--contact td {
 border-top: 1px #bebebe solid;
 border-bottom: 1px #bebebe solid;
 border-right: none;
 border-left: none;
 }
.sec--contact td:last-child {
 border-bottom: none;
 }
.sec--contact td input {
 height: 2.5em;
 }
}

.sec--contact__form-w15 { width: 15em; }
.sec--contact__form-w10 { width: 10em; }
.sec--contact__form-w5 { width: 5em; }

.sec--contact__form-note {
 width: 80%;
 margin: 10px auto;
 box-sizing: border-box;
 border: 1px #bebebe solid;
 padding: 5px;
 font-size: 12px;
}

/* Contact Form 7 */
.wpcf7-not-valid-tip { 
 font-size: 12px;
 color: #cc0000;
 margin-left: 5px;
}
.screen-reader-response { 
 font-size: 14px;
 color: #cc0000;
 margin-top: 1em;
}
.wpcf7-response-output.wpcf7-validation-errors { 
 font-size: 14px;
 color: #cc0000;
}
.wpcf7c-conf {
 background-color: #fff!important;
 color: #333!important;
 border:none!important;
}
/********* sp *********/
@media only screen and (max-width: 750px) {
.wpcf7-not-valid-tip { 
 margin-left: 0;
 }
}















