@charset "UTF-8";
#footer {
  height: 100%;
  line-height: 1.7;
  font-size: 16px;
  letter-spacing: 0.05em;
  font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  color: #000;
  background: #000;
  -webkit-text-size-adjust: 100%;
  text-align: left;
}
#footer a {
  display: inline-block;
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear;
  cursor: pointer;
}
#footer a:hover {
  opacity: 0.7;
}
#footer img {
  display: block;
  max-width: 100%;
}
#footer input,
#footer textarea,
#footer select {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#footer input[type=text]:focus:placeholder,
#footer input[type=email]:focus:placeholder,
#footer input[type=mail]:focus:placeholder,
#footer input[type=tel]:focus:placeholder,
#footer textarea:focus:placeholder {
  color: transparent !important;
}
#footer input[type=text]:focus:focus::-webkit-input-placeholder,
#footer input[type=email]:focus:focus::-webkit-input-placeholder,
#footer input[type=mail]:focus:focus::-webkit-input-placeholder,
#footer input[type=tel]:focus:focus::-webkit-input-placeholder,
#footer textarea:focus:focus::-webkit-input-placeholder {
  color: transparent !important;
}
#footer input[type=text]:focus:focus:-moz-placeholder,
#footer input[type=email]:focus:focus:-moz-placeholder,
#footer input[type=mail]:focus:focus:-moz-placeholder,
#footer input[type=tel]:focus:focus:-moz-placeholder,
#footer textarea:focus:focus:-moz-placeholder {
  color: transparent !important;
}
#footer input[type=text]:focus:focus::-moz-placeholder,
#footer input[type=email]:focus:focus::-moz-placeholder,
#footer input[type=mail]:focus:focus::-moz-placeholder,
#footer input[type=tel]:focus:focus::-moz-placeholder,
#footer textarea:focus:focus::-moz-placeholder {
  color: transparent !important;
}
#footer input[type=text],
#footer input[type=email],
#footer input[type=mail],
#footer input[type=tel],
#footer input[type=submit],
#footer textarea,
#footer select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 10px 17px;
  border: 1px solid #b3b3b3;
  font-size: 16px;
  line-height: 1.5;
}
#footer input[type=text],
#footer input[type=email],
#footer input[type=mail],
#footer input[type=tel],
#footer textarea {
  width: 100%;
}
#footer input[type=radio] {
  margin: 0 10px 0 0;
}
#footer select {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 16px 17px 14px;
  cursor: pointer;
}
@media screen and (max-width: 960px) {
  #footer select {
    padding: 11px 17px 9px;
  }
}
#footer select::-ms-expand {
  display: none;
}
#footer button {
  border: none;
}

#footer *,
#footer *::before,
#footer *::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#footer div,
#footer span,
#footer applet,
#footer object,
#footer iframe,
#footer h1,
#footer h2,
#footer h3,
#footer h4,
#footer h5,
#footer h6,
#footer p,
#footer blockquote,
#footer pre,
#footer a,
#footer abbr,
#footer acronym,
#footer address,
#footer big,
#footer cite,
#footer code,
#footer del,
#footer dfn,
#footer em,
#footer img,
#footer ins,
#footer kbd,
#footer q,
#footer s,
#footer samp,
#footer small,
#footer strike,
#footer strong,
#footer sub,
#footer sup,
#footer tt,
#footer var,
#footer b,
#footer u,
#footer i,
#footer center,
#footer dl,
#footer dt,
#footer dd,
#footer ol,
#footer ul,
#footer li,
#footer fieldset,
#footer form,
#footer label,
#footer legend,
#footer table,
#footer caption,
#footer tbody,
#footer tfoot,
#footer thead,
#footer tr,
#footer th,
#footer td,
#footer article,
#footer aside,
#footer canvas,
#footer details,
#footer embed,
#footer figure,
#footer figcaption,
#footer footer,
#footer header,
#footer hgroup,
#footer menu,
#footer nav,
#footer output,
#footer ruby,
#footer section,
#footer summary,
#footer time,
#footer mark,
#footer audio,
#footer video,
#footer picture {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: normal;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
#footer article,
#footer aside,
#footer details,
#footer figcaption,
#footer figure,
#footer footer,
#footer header,
#footer hgroup,
#footer menu,
#footer nav,
#footer section,
#footer picture {
  display: block;
}
#footer body {
  line-height: 1;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
#footer ol,
#footer ul {
  list-style: none;
  list-style-type: none;
}
#footer blockquote,
#footer q {
  quotes: none;
}
#footer blockquote:before, #footer blockquote:after,
#footer q:before,
#footer q:after {
  content: "";
}
#footer a,
#footer area,
#footer button,
#footer [role=button],
#footer input:not([type=range]),
#footer label,
#footer select,
#footer summary,
#footer textarea {
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}
#footer table {
  border-collapse: collapse;
  border-spacing: 0;
}
#footer a {
  text-decoration: none;
  color: inherit;
}
#footer a:link {
  text-decoration: none;
}
#footer img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
#footer video {
  vertical-align: bottom;
}
#footer input[type=submit],
#footer input[type=button] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
}
#footer input[type=submit]:-webkit-search-decoration,
#footer input[type=button]:-webkit-search-decoration {
  display: none;
}
#footer input[type=submit]:focus,
#footer input[type=button]:focus {
  outline-offset: -2px;
}
#footer input[type=checkbox],
#footer input[type=radio] {
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
}
#footer button,
#footer input,
#footer select,
#footer textarea {
  font-family: inherit;
  font-size: 100%;
}
#footer select,
#footer input,
#footer textarea {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
#footer input {
  border: none;
}

#footer .ft-sec01 {
  position: relative;
  width: 100%;
  height: 660px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 960px) {
  #footer .ft-sec01 {
    height: auto;
  }
}
#footer .ft-sec01 > .wrapper {
  position: relative;
  z-index: 2;
}
#footer .ft-sec01 > .wrapper > .b-titleflex-01 > .left > .u-title-01 {
  position: relative;
}
@media screen and (max-width: 960px) {
  #footer .ft-sec01 > .wrapper > .b-titleflex-01 > .left > .u-title-01 {
    display: inline-block;
  }
}
#footer .ft-sec01 > .wrapper > .b-titleflex-01 > .left > .u-title-01:before {
  content: "";
  position: absolute;
  width: 65px;
  height: 43px;
  background: url(../img/common/line_03.svg) 0/contain no-repeat;
}
@media screen and (min-width: 961px) {
  #footer .ft-sec01 > .wrapper > .b-titleflex-01 > .left > .u-title-01:before {
    top: -10px;
    right: -85px;
  }
}
@media screen and (max-width: 960px) {
  #footer .ft-sec01 > .wrapper > .b-titleflex-01 > .left > .u-title-01:before {
    top: 35%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    right: -55px;
    width: 39px;
    height: 25.8px;
  }
}
@media screen and (min-width: 961px) {
  #footer .ft-sec01 > .wrapper > .inner-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (max-width: 960px) {
  #footer .ft-sec01 > .wrapper > .inner-flex {
    display: block;
  }
}
#footer .ft-sec01 > .wrapper > .inner-flex > .left {
  width: 480px;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  line-height: 40px;
  margin-right: 100px;
}
@media screen and (max-width: 960px) {
  #footer .ft-sec01 > .wrapper > .inner-flex > .left {
    width: 100%;
    line-height: 2;
    margin-right: auto;
    margin-top: 30px;
    margin-bottom: 50px;
  }
}
@media screen and (min-width: 961px) {
  #footer .ft-sec01 > .wrapper > .inner-flex > .right {
    width: 500px;
  }
}
#footer .ft-sec01 > .wrapper > .inner-flex > .right > .u-btn-02:nth-of-type(n+2) {
  margin-top: 20px;
}
@media screen and (max-width: 960px) {
  #footer .ft-sec01 > .wrapper > .inner-flex > .right > .u-btn-02:nth-of-type(n+2) {
    margin-top: 15px;
  }
}
@media screen and (max-width: 960px) {
  #footer .ft-sec01 > .wrapper > .inner-flex > .right > .u-btn-02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  #footer .ft-sec01 > .wrapper > .inner-flex > .right > .u-btn-02 a {
    max-width: calc(100% - 30px);
  }
}
#footer .ft-sec01 > .deco-wrap {
  position: absolute;
  width: 100%;
}
@media screen and (min-width: 961px) {
  #footer .ft-sec01 > .deco-wrap {
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    height: 660px;
  }
}
@media screen and (max-width: 960px) {
  #footer .ft-sec01 > .deco-wrap {
    bottom: 0;
    left: 0;
    height: calc(100% - 50px);
  }
}
#footer .ft-sec01 > .deco-wrap .deco {
  position: absolute;
  height: 100%;
  background: #15161a;
}
#footer .ft-sec01 > .deco-wrap .deco.deco01 {
  left: 0;
  width: calc(27.8571428571vw - 5px);
  clip-path: polygon(0 20%, 100% 0%, 100% 80%, 0% 100%);
}
@media screen and (max-width: 960px) {
  #footer .ft-sec01 > .deco-wrap .deco.deco01 {
    width: calc(15% - 2.5px);
  }
}
#footer .ft-sec01 > .deco-wrap .deco.deco02 {
  right: 0;
  width: calc(71.4285714286vw - 5px);
  clip-path: polygon(0 0, 100% 20%, 100% 100%, 0 80%);
}
@media screen and (max-width: 960px) {
  #footer .ft-sec01 > .deco-wrap .deco.deco02 {
    width: calc(85% - 2.5px);
  }
}
#footer .ft-sec02 {
  padding-top: 80px;
  padding-bottom: 90px;
}
@media screen and (min-width: 961px) {
  #footer .ft-sec02 .b-sitemap-03 .inner-title {
    color: #ffffff;
  }
  #footer .ft-sec02 .b-sitemap-03 .inner-wrap .col:nth-of-type(n+2) {
    border-left: 1px solid #2f2f2f;
  }
  #footer .ft-sec02 .b-sitemap-03 .u-sitemap-03 .parent {
    color: #ffffff;
    background: #212226;
  }
  #footer .ft-sec02 .b-sitemap-03 .u-sitemap-03 .child-title {
    color: #ffffff;
  }
  #footer .ft-sec02 .b-sitemap-03 .u-sitemap-03 ul li a {
    color: #8e8e8e;
  }
  #footer .ft-sec02 .b-sitemap-03 + .b-sitemap-01 {
    margin-top: 60px;
    padding-top: 60px;
    border-top: 1px solid #2f2f2f;
  }
}
@media screen and (max-width: 960px) {
  #footer .ft-sec02 .b-sitemap-03 {
    display: none;
  }
}
@media screen and (min-width: 961px) {
  #footer .ft-sec02 .b-sitemap-01 {
    padding-top: 50px;
  }
  #footer .ft-sec02 .b-sitemap-01 .u-sitemap-01 .parent {
    color: #ffffff;
  }
  #footer .ft-sec02 .b-sitemap-01 .u-sitemap-01 ul li a {
    color: #8e8e8e;
  }
  #footer .ft-sec02 .b-sitemap-01 + .b-sitemap-02 {
    margin-top: 80px;
    padding-top: 80px;
    border-top: 1px solid #2f2f2f;
  }
}
@media screen and (max-width: 960px) {
  #footer .ft-sec02 .b-sitemap-01 {
    display: none;
  }
}
@media screen and (max-width: 960px) {
  #footer .ft-sec02 .b-sns-01 {
    margin-bottom: 15px;
  }
}
#footer .ft-sec02 .b-sns-01 ul li a span:before {
  color: #2f2f2f;
}
@media screen and (max-width: 960px) {
  #footer .ft-sec02 .b-sns-01 ul li a span:before {
    color: #fff;
  }
}
#footer .ft-sec02 .b-sns-02 ul li a span:before {
  color: #fff;
}
#footer .pagetop {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-left: auto;
  margin-right: -40px;
}
@media screen and (max-width: 960px) {
  #footer .pagetop {
    margin-right: 0;
  }
}
#footer .pagetop a {
  width: 40px;
  height: 40px;
  position: relative;
  border-radius: 4px;
  background: #515c67;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-size: 0;
}
#footer .pagetop a:before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f062";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  color: #fff;
  font-size: 16px;
}
#footer .pagetop a:hover {
  opacity: 1;
  background: #6e0128;
}