@charset "utf-8";

/*----------common*/
html, body {
  background: #F8F3ED;
  margin: 0;
  padding: 0;
  width: 100%;
  min-width: 960px;
  color: #581114;
}
.hiddenPC {
  display: none;
}
.hiddenPCi {
  display: none;
}
.hiddenSP {
  display: block;
}
.hiddenSPi {
  display: inline;
}
/*-----hr*/
.hr_red, .hr_yellow, .hr_blue {
  width: 88%;
  height: 3px;
  margin: 5px auto 10px;
}
.hr_red span, .hr_yellow span, .hr_blue span {
  display: block;
  width: 33%;
  height: 3px;
  margin: 0;
  background-repeat: repeat-x;
}
.hr_red {
  background-color: #ead1cd;
}
.hr_red span {
  background-image: url('../img/line_red.png');
}
.hr_yellow {
  background-color: #e7dbcb;
}
.hr_yellow span {
  background-image: url('../img/line_yellow.png');
}
.hr_blue {
  background-color: #c9ddde;
}
.hr_blue span {
  background-image: url('../img/line_blue.png');
}

/*----------header*/
#header {
  position: relative;
  background: #29a6e0;
  height: 50px;
}
#header::after {
  content: '';
  display: block;
  position: absolute;
  background-image: url('../img/bg_line.png');
  background-position: center center;
  background-size: 100% 100%;
  width: 100%;
  height: 23px;
  bottom: -12px;
  left: 0;
}

/*----------content*/
#content {
  padding: 50px 0;
  text-align: center;
}
#content .header {
  position: relative;
  margin: 0 auto 50px;
}

#content .catch {
  margin: 0 auto 50px;
}

#content .menu {
  margin: 0 auto 30px;
}

#content .note ul {
  display: block;
  width: 750px;
  margin: 0 auto;
  padding: 20px 30px;
  background-color: #ffffff;
  border-radius: 10px;
  text-align: left;
  list-style: none;
}

#content .note ul li {
  position: relative;
  display: block;
  width: 100%;
  margin: 0 auto 10px;
  padding: 0;
  padding-left: 1.5em;
}

#content .note ul li:last-child {
  margin-bottom: 0;
}

#content .note ul li span {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
}

/*----------contact*/
#contact {
  position: relative;
  background: #8cc63f;
  text-align: center;
  padding: 50px 0 20px;
}
#contact::before {
  content: '';
  display: block;
  position: absolute;
  background-image: url('../img/bg_line.png');
  background-position: center center;
  background-size: 100% 100%;
  width: 100%;
  height: 23px;
  top: -12px;
  left: 0;
}

#contact > div {
  display: inline-block;
  width: 450px;
  margin-left: 60px;
  text-align: left;
  padding: 20px 30px;
  box-sizing: border-box;
  vertical-align: top;
}
#contact > div:first-child {
  margin-left: 0;
}

#contact > div h3,
#contact > div p,
#contact > div dl {
  margin: 0;
  padding: 0;
}
#contact > div h3 {
  position: relative;
  font-size: 1.125em;
  font-weight: normal;
  padding-left: 30px;
}

#contact .contact {
  background-image: url('../img/bg_contact.png');
  background-position: center center;
  background-size: 100% 100%;
}
#contact .contact h3::before {
  content: url('../img/icn_flower_red.png');
  position: absolute;
  left: 0;
  top: 2px;
}
#contact .contact p {
  padding-left: 10px;
  line-height: 1.5;
}
#contact .contact p.map {
  width: 100%;
  padding: 0;
  margin-top: .5em;;
}
#contact .contact p.map img {
  width: 100%;
}

#contact .link {
  background-image: url('../img/bg_link.png');
  background-position: center center;
  background-size: 100% 100%;
}
#contact .link h3::before {
  content: url('../img/icn_flower_yellow.png');
  position: absolute;
  left: 0;
  top: 2px;
}
#contact .link dl {
  padding-left: 10px;
  line-height: 1.5;
}
#contact .link dt {
  margin-left: 0;
}
#contact .link dd {
  margin-left: 1.5em;
  margin-bottom: 10px;
  font-size: 0.875em;
}

/*-----copyright*/
#contact .copyright {
  margin: 20px auto 0;
  color: #ffffff;
  font-size: 0.75em;
}

@media screen and (max-width: 767px) {
  /*----------common*/
  html, body {
    min-width: initial;
    min-width: auto;
  }
  .hiddenPC {
    display: block;
  }
  .hiddenPCi {
    display: inline;
  }
  .hiddenSP {
    display: none;
  }
  .hiddenSPi {
    display: none;
  }

  /*----------header*/
  #header {
    height: 30px;
  }

  /*----------content*/
  #content {
    padding: 30px 0;
  }
  #content .header {
    width: 90%;
    margin: 0 auto 30px;
  }
  #content .header img {
    width: 100%;
  }

  #content .catch {
    width: 100%;
    margin: 0 auto 30px;
  }

  #content .catch img {
    width: 100%
  }

  #content .menu {
    width: 90%;
    margin: 0 auto 20px;
  }

  #content .menu img {
    width: 100%
  }

  #content .note {
    width: 85%;
    margin: 0 auto;
  }

  #content .note ul {
    width: 100%;
    padding: 1em 1em;
    box-sizing: border-box;
  }

  #content .note ul li {
    padding-left: 1.2em;
    box-sizing: border-box;
  }

  /*----------contact*/
  #contact {
    width: 100%;
    padding: 30px 0 20px;
  }

  #contact > div {
    width: 90%;
    height: auto;
    margin-left: 0;
    margin-top: 20px;
    padding: 20px;
  }
  #contact > div:first-child {
    margin-left: 0;
    margin-top: 0;
  }
}