@charset "UTF-8";
/* ---------------------------------------------------------------------------------------------

　   ページ

--------------------------------------------------------------------------------------------- */
/****** home ******/
/* homeは設定済 */
/****** ad ******/
.ad {
  clear: both;
  overflow: hidden;
  max-width: 100%;
  margin: 0 auto;
}
h2.ad_img {
  margin-bottom: 20px;
}
@media print, screen and (min-width:1000px) {
  .ad {
    max-width: 1000px;
  }
  h2.ad_img {
    margin-bottom: 30px;
  }
}
/****** copy ******/
.copy {
  clear: both;
  overflow: hidden;
  max-width: 96%;
  margin: 0 auto;
}
h2.copy_title {
  margin-bottom: 20px;
}
p.copy_txt {
  font-size: 110%;
  font-weight: bold;
  margin-bottom: 20px;
}
ul.kankyo {
  margin-bottom: 20px;
}
ul.kankyo li {
  font-size: 90%;
  margin-bottom: 10px;
}
ul.kankyo li img {
  margin-bottom: 3px;
}
div.kukaku {
  background-color: #fff799;
  padding: 20px;
  margin-bottom: 30px;
}
p.kukaku_ie {
  margin-bottom: 10px;
}
p.kukaku_ie img {
  max-width: 80%;
}
p.kukaku_title {
  color: #666;
  font-size: 110%;
  font-weight: bold;
  margin-bottom: 10px;
}
p.kukaku_txt {
  text-align: left;
  color: #666;
  font-size: 90%;
}
@media print, screen and (min-width:1000px) {
  .copy {
    max-width: 1000px;
    margin: 0 auto 30px;
  }
  h2.copy_title {
    margin-bottom: 30px;
  }
  p.copy_txt {
    font-size: 140%;
  }
  ul.kankyo {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
  ul.kankyo li {
    padding-right: 0.5%;
    /*padding: 0 0.5%;*/
    display: block;
    width: 33%;
  }
  ul.kankyo li:last-child {
    padding-right: 0;
  }
  div.kukaku {
    padding: 30px 60px;
  }
  p.kukaku_ie {
    margin-bottom: 20px;
  }
  p.kukaku_ie img {
    max-width: 40%;
  }
  p.kukaku_title {
    color: #666;
    font-size: 180%;
    margin-bottom: 20px;
  }
}
/****** btn_more ******/
.btn_more {
  clear: both;
}
.btn_more a {
  display: inline-block;
  position: relative;
  border: 2px solid #0071bc;
  background-color: #0071bc;
  border-radius: 30px;
  padding: 8px 50px 8px 40px;
  color: #FFF;
  font-size: 100%;
  font-weight: bold;
}
.btn_more a:hover {
  background-color: #FFF;
  color: #006ea2;
}
.btn_more a:after {
  position: absolute;
  content: '';
  width: 6px;
  height: 6px;
  border-top: 2px solid #FFF;
  border-right: 2px solid #FFF;
  transform: rotate(45deg);
  top: 16px;
  right: 16px;
}
.btn_more a:hover:after {
  border-top: 2px solid #0071bc;
  border-right: 2px solid #0071bc;
}
.btn_more2 {
  clear: both;
}
.btn_more2 a {
  display: inline-block;
  position: relative;
  border: 2px solid #CCC;
  background-color: #CCC;
  border-radius: 30px;
  padding: 8px 50px 8px 40px;
  color: #222;
  font-size: 100%;
  font-weight: bold;
}
.btn_more2 a:hover {
  background-color: #FFF;
  color: #222;
}
.btn_more2 a:after {
  position: absolute;
  content: '';
  width: 6px;
  height: 6px;
  border-top: 2px solid #222;
  border-right: 2px solid #222;
  transform: rotate(45deg);
  top: 16px;
  right: 16px;
}
.btn_more2 a:hover:after {
  border-top: 2px solid #CCC;
  border-right: 2px solid #CCC;
}
@media print, screen and (min-width:1000px) {
  .btn_more a {
    padding: 10px 110px 10px 100px;
    font-size: 120%;
  }
  .btn_more a:after {
    top: 20px;
    right: 20px;
  }
  .btn_more2 a {
    padding: 10px 110px 10px 100px;
    font-size: 120%;
  }
  .btn_more2 a:after {
    top: 20px;
    right: 20px;
  }
}
/****** tel ******/
.tel {
  /*clear: both;
  overflow: hidden;
  max-width: 96%;*/
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 30px;
}
@media print, screen and (min-width:1000px) {
  .tel {
    max-width: 800px;
  }
}
/****** google_map ******/
.google_map {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.google_map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
/****** mail ******/
.mail {
  clear: both;
  overflow: hidden;
  max-width: 96%;
  margin: 0 auto 30px;
}
.mail h2 {
  font-size: 130%;
  font-weight: bold;
  border-bottom: 3px solid #0071bc;
  margin-bottom: 10px;
}
.mail p {
  text-align: left;
  font-size: 90%;
  margin-bottom: 20px;
}
.mail_frame {
  /*border: 2px solid #a4d85a;*/
  padding: 4%;
}
.mail dl {
  display: table;
  width: 100%;
  margin: 0 auto;
  border-bottom: 1px dotted #CCC;
  padding: 15px 0;
}
.mail dl:first-of-type {
  border-top: 1px dotted #CCC;
}
.mail dl dt, .mail dl dd {
  text-align: left;
  font-size: 90%;
  padding: 5px 0;
}
@media print, screen and (min-width:1000px) {
  .mail {
    max-width: 800px;
    margin: 0 auto 30px;
  }
  .mail_frame {
    /*border: 3px solid #a4d85a;*/
  }
}
.require {
  background: #F00;
  border-radius: 3px;
  padding: 2px 5px;
  color: #FFF;
  font-size: 70%;
  font-weight: bold;
  margin-left: 10px;
}
.submit {
  padding: 20px 0;
}
.policy {
  color: #F00;
  font-size: 90%;
  font-weight: bold;
}
form {
  width: 100%;
}
input[type="text"] {
  width: 100%;
}
textarea {
  width: 100%;
}
input, textarea {
  box-sizing: border-box;
  border: 1px solid #CCC;
  border-radius: 3px;
  padding: 5px;
  font-size: 100%;
  font: inherit;
}
input[type=text]:focus, textarea:focus, select:focus {
  border: 1px solid #39F;
}
input[type=submit] {
  -webkit-appearance: none; /* オリジナルデザインが適用 */
  width: 40%;
  cursor: pointer;
  border: 1px solid #39F;
  background-color: #39F;
  border-radius: 5px;
  padding: 10px;
  color: #FFF;
  font-size: 100%;
  font-weight: bold;
}
input[type=submit]:hover {
  background-color: #FFF;
  color: #39F;
}
/****** etc ******/
.etc {
  clear: both;
  overflow: hidden;
  max-width: 96%;
  margin: 0 auto 30px;
}
@media print, screen and (min-width:1000px) {
  .etc {
    max-width: 600px;
    margin: 0 auto 30px;
  }
}