@charset "UTF-8";

/* CMSが生成したフッターに必要な既存CSSだけを分離して適用 */
#FooterNaviArea,
#FooterNaviArea *,
#FooterExtraArea,
#FooterExtraArea *,
#Copyright,
#Copyright * {
  box-sizing: border-box;
}

#FooterNaviArea ul,
#FooterExtraArea ul {
  list-style: none;
}

#FooterNaviArea .clearfix::after,
#FooterExtraArea .clearfix::after {
  visibility: hidden;
  display: block;
  clear: both;
  height: 0;
  font-size: 0;
  content: " ";
}

#FooterNaviArea .inner,
#FooterExtraArea .inner {
  width: 1200px;
}

#FooterNaviArea {
  margin: 50px 0 0;
  background: #f7f7f7;
  color: #333;
  line-height: 1.2;
}

#FooterNaviArea .inner {
  position: relative;
  margin: 0 auto;
  padding: 40px 0;
}

#FooterNaviArea a {
  color: #333;
  text-decoration: none;
}

#FooterNaviArea li > a {
  display: block;
}

#FooterNaviArea ._level-1 {
  margin: 0;
  padding: 0;
}

#FooterNaviArea ._level-1 > li {
  float: left;
  width: 25%;
}

#FooterNaviArea ._level-1 > li > a {
  padding: 5px 0;
  font-size: 16px;
}

#FooterNaviArea ._level-2 {
  margin: 5px 0 2px 5px;
  padding: 0;
}

#FooterNaviArea ._level-2 > li > a {
  padding: 5px 5px 5px 2px;
  font-size: 14px;
}

#FooterNaviArea ._level-2 > li._current > a {
  font-weight: 700;
}

#FooterExtraArea {
  color: #000;
  line-height: 1.6;
}

#FooterExtraArea .inner {
  position: relative;
  margin: 0 auto;
  padding: 40px 0;
}

#FooterExtraArea a {
  color: #000;
  text-decoration: none;
}

#FooterExtraArea .w100p {
  width: 100% !important;
}

#FooterExtraArea .text-center,
#Copyright .text-center {
  text-align: center !important;
}

#FooterExtraArea .cms-column.column-2 > div {
  float: left;
  width: 50%;
}

#FooterExtraArea .cms-column.column-2::after,
#FooterExtraArea .cms-column.grid-12::after,
#FooterExtraArea .cms-btns ul::after {
  display: block;
  clear: both;
  height: 0;
  content: "";
}

#FooterExtraArea .cms-column.grid-12 {
  display: block;
  margin-right: -5px;
  margin-left: -5px;
}

#FooterExtraArea .cms-column.grid-12 > div {
  display: block;
  float: left;
  padding-right: 5px;
  padding-left: 5px;
}

#FooterExtraArea .cms-column.grid-12 > .col-3 {
  width: 25%;
}

#FooterExtraArea .cms-column.grid-12 > .col-6 {
  width: 50%;
}

#FooterExtraArea .cms-img img {
  display: block;
  max-width: 100%;
  height: auto;
  border: 0;
  vertical-align: bottom;
}

#FooterExtraArea .cms-p.default {
  margin: 1em 0;
  line-height: 1.8;
}

#FooterExtraArea .cms-btns ul {
  margin: 0;
  padding: 0;
}

#FooterExtraArea .cms-btns.yoko li {
  display: inline-block;
  margin: 0 0 0 10px;
}

#FooterExtraArea .cms-btns a {
  text-decoration: none;
}

#FooterExtraArea .cms-markdown.default {
  line-height: 1.8;
}

#FooterExtraArea .cms-markdown.default p {
  margin: 0.5em 0 0 1em;
}

#Copyright {
  padding: 40px 0;
  background: #f7f7f7;
  color: #000;
}

#Copyright .cms-p.default {
  margin: 1em 0;
  line-height: 1.8;
}

#FooterNaviArea a:hover,
#FooterNaviArea a:focus-visible,
#FooterExtraArea a:hover,
#FooterExtraArea a:focus-visible {
  text-decoration: underline;
}

@media screen and (max-width: 1200px) {
  #FooterNaviArea {
    display: none;
  }

  #FooterExtraArea .inner {
    width: 100%;
  }
}

@media screen and (max-width: 760px) {
  #FooterExtraArea .cms-column.column-2 > div,
  #FooterExtraArea .cms-column.grid-12 > .col-3,
  #FooterExtraArea .cms-column.grid-12 > .col-6 {
    float: none;
    width: auto;
  }

  #FooterExtraArea .cms-column.grid-12 {
    margin-right: 0;
    margin-left: 0;
  }

  #FooterExtraArea .cms-column.grid-12 > div {
    padding-right: 0;
    padding-left: 0;
  }

  #FooterExtraArea .cms-img {
    margin-right: auto;
    margin-left: auto;
  }

  #Copyright {
    border: 0;
    padding: 40px 10px;
  }
}
