footer ul { list-style-type: none; margin: 0px; padding: 0px; }
footer li { margin: 0px; padding: 0px; }
footer a { text-decoration: none; }
footer .copy { padding: 0px; font-size: 0.6rem; line-height: 100%; display: flex; flex-flow: wrap; justify-content: center; }
footer .copy div { display: inline-block; margin: 0px 4px; padding: 5px 0px; white-space: nowrap; }
footer .wrap1 { position: relative; padding: 15px 0px 0px; }
footer .h1z { margin: 0px auto; max-width: 300px; }
footer .mlnk { padding: 20px 0px 0px; border-bottom: 1px solid #999999; line-height: 100%; font-weight: bold; color: #666666; }
footer .mlnk li { border-top: 1px dashed #999999; }
footer .mlnk li a, footer .mlnk li div { display: block; padding: 15px 3px; text-align: center; }
footer .nlnk { margin: 20px auto 0px; width: 100%; max-width: 350px; font-size: 0.94rem; line-height: 200%; flex-flow: row; justify-content: space-between; text-align: center; }
footer .nlnk li { position: relative; margin: 10px 0px 0px; padding: 0px; flex-basis: 49%; }
footer .nlnk a { display: flex; flex-flow: wrap; justify-content: center; align-items: center; width: 100%; text-decoration: none; border-radius: 20px; }
footer .addrz { padding: 20px 0px; justify-content: center; font-size: 0.9rem; line-height: 175%; }
footer .addrz li { margin: 0px 5px; }
.siteinfo { line-height: 100%; text-align: center; color: #666666; border-top: 1px solid #999999; }
.siteinfo ul { padding: 20px 0px 30px; display: flex; flex-flow: wrap; justify-content: center; }
.siteinfo li { padding: 0px; }
.siteinfo li a, .siteinfo li div { display: inline-block; padding: 10px; }
.contactz { position: relative; padding: 20px 0px 30px; text-align: center; }
.contactz .wrp1 { margin: 0px auto; position: relative; padding: 20px 10px; width: 90%; max-width: 1000px; background-color: #ffffff; color: #222222; font-size: 0.8rem; line-height: 175%; box-sizing: border-box; }
.contactz h3 { margin: 0px; padding: 0px 0px 11px; font-size: 1.4rem; line-height: 125%; }
.contactz .mz { margin: 0px auto; width: 94%; }
.contactz .wrp2 { margin: 0px auto; width: 100%; flex-flow: wrap; justify-content: space-between; }
.contactz .wrp2 > div { flex-basis: 49%; padding: 18px 0px 0px; }
.contactz .tel { padding: 0px 0px 5px; font-size: 1.5rem; line-height: 100%; font-weight: bold; display: flex; flex-flow: wrap; justify-content: center; }
.contactz .tel img { width: 29px; }
.contactz .tel span { font-size: 1rem; line-height: 100%; }
.contactz .tel a { color: #222222; }
.contactz .mailz a { position: relative; margin: 0px auto; padding: 15px 0px; text-decoration: none; width: 100%; max-width: 350px; display: flex; flex-flow: wrap; justify-content: center; align-items: center; font-size: 1rem; line-height: 100%; color: #222222; border: 1px solid #777777; box-sizing: border-box; font-weight: bold; }
.contactz .mailz a::after { content: ""; position: absolute; top: 50%; right: 5px; width: 0px; height: 0px; border-width: 7px; border-style: solid; border-color: transparent transparent transparent #333333; transform: translateY(-50%); }
.contactz .mailz img { width: 29px; margin-right: 5px; }
.contactz .mz2 { margin: 10px auto; width: 90%; font-size: 0.9rem; line-height: 175%; }
.contactz .pp { margin: 20px auto 0px; width: 90%; max-width: 710px; font-size: 0.7rem; line-height: 175%; box-sizing: border-box; }
.contactz .piyo { position: absolute; bottom: -20px; right: -10px; width: 15%; max-width: 60px; z-index: 5; display: none; }
.contactz .piyo img { width: 100%; }
.blkbg .contactz .wrp1 { background-color: #000000; color: #ffffff; }
.blkbg .contactz .mailz a, .blkbg .contactz .tel a { background-color: #000000; color: #ffff00; text-decoration: underline; }
.bluebg .contactz .wrp1 { background-color: #0000ff; color: #ffffff; }
.bluebg .contactz .tel a, .bluebg .contactz .mailz a { background-color: #0000ff; color: #ffff00; text-decoration: underline; }
.blkbg .contactz img, .bluebg .contactz img { display: none; }
.blkbg footer a, .bluebg footer a { text-decoration: underline; }
.bigfont footer .nlnk { max-width: 500px; }
.bigfont .contactz img { display: none; }
@media print, screen and (min-width: 370px) {
  .contactz .mailz a { width: 75%; }
  .contactz .piyo { display: block; }
}
@media print, screen and (min-width: 500px) {
  .contactz .tel { font-size: 2rem; line-height: 100%; }
  .contactz .mailz img, .contactz .tel img { width: 35px; }
}
@media print, screen and (min-width: 640px) {
  footer .wrap1 { padding: 15px 0px 60px; }
  footer .h1z { margin: 7px 0px 0px; }
  footer nav { position: absolute; top: 0px; right: 0px; width: calc(100% - 310px); }
  footer .mlnk { padding: 15px 0px 0px; display: flex; flex-flow: wrap; justify-content: flex-end; border: 0px; font-size: 0.9rem; line-height: 100%; }
  footer .mlnk li { margin: 5px 0px 0px 10px; border: 0px; }
  footer .mlnk li:first-of-type { display: none; }
  footer .mlnk li a, footer .mlnk li div { display: inline-block; padding: 3px 0px; }
  footer .nlnk { margin: 10px 0px 0px auto; display: flex; }
  footer .nlnk a > div:first-of-type { display: none; }
}
@media print, screen and (min-width: 680px) {
  footer .nlnk { width: 100%; }
}
@media print, screen and (min-width: 730px) {
  .contactz .wrp2 { display: flex; width: 90%; }
  .contactz .tel { font-size: 1.6rem; line-height: 100%; }
  .contactz .mailz a { width: 90%; max-width: 350px; }
  .contactz .mailz img, .contactz .tel img { width: 30px; }
  .contactz .piyo { width: 8%; }
}
@media print, screen and (min-width: 768px) {
  footer .wrap1 { padding-bottom: 40px; }
  .siteinfo { padding-top: 10px; border-top: 1px solid #999999; font-size: 0.8rem; line-height: 100%; }
  .siteinfo li { border-right: 1px solid #999999; }
  .siteinfo li a { padding: 0px 10px; }
  .siteinfo li:nth-of-type(1) { border-left: 1px solid #999999; }
  footer .copy { padding: 3px 0px; }
  footer .addrz { padding: 50px 0px 20px; font-size: 0.9rem; line-height: 150%; }
  .contactz .tel { font-size: 1.7rem; line-height: 100%; }
  .contactz .mailz img, .contactz .tel img { width: 32px; }
}
@media print, screen and (min-width: 800px) {
  footer .mlnk li { margin-left: 15px; }
  footer .nlnk { max-width: 450px; }
  footer .nlnk a > div:first-of-type { display: inline; margin-right: 3px; font-size: 0.55rem; line-height: 100%; }
}
@media print, screen and (min-width: 900px) {
  .contactz .tel { font-size: 2rem; line-height: 100%; }
  .contactz .mailz img, .contactz .tel img { width: 39px; }
  footer .mlnk li:first-of-type { display: block; }
}
@media print {
  .contactz { border-top: 5px solid #4ba373; background-color: transparent; }
  footer { border-top: 1px dashed #777777; }
}
