@charset "UTF-8";
#footer {
  height: 100%;
  line-height: 1.7;
  font-size: 16px;
  letter-spacing: 0.05em;
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  color: #342812;
  background: #fff;
  -webkit-text-size-adjust: 100%;
}
#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;
}

@media screen and (min-width: 961px) {
  #footer .ft-sec01 {
    min-height: 780px;
    background: url(../img/common/ft01_bg.jpg) center/cover no-repeat;
  }
}
@media screen and (max-width: 960px) {
  #footer .ft-sec01 {
    position: relative;
    min-height: calc(42.7570093458vw + 80px);
    background: #f9faf4;
  }
  #footer .ft-sec01:before {
    content: "";
    position: absolute;
    top: 80px;
    left: 0;
    width: 100%;
    height: 42.7570093458vw;
    background: url(../img/common/ft01_bg_sp.jpg) center/cover no-repeat;
  }
}
#footer .ft-sec01 .wrapper > .txt-wrap {
  margin-top: -130px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 960px) {
  #footer .ft-sec01 .wrapper > .txt-wrap {
    margin-top: 0;
  }
}
#footer .ft-sec01 .wrapper > .txt-wrap > .circletxt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 15px;
}
@media screen and (max-width: 960px) {
  #footer .ft-sec01 .wrapper > .txt-wrap > .circletxt {
    margin-bottom: 10px;
  }
}
#footer .ft-sec01 .wrapper > .txt-wrap > .circletxt > span {
  display: block;
  width: 240px;
  height: 40px;
  background: url(../img/common/txt_contact.svg) center/contain no-repeat;
}
@media screen and (max-width: 960px) {
  #footer .ft-sec01 .wrapper > .txt-wrap > .circletxt > span {
    width: 180px;
    height: 30px;
  }
}
#footer .ft-sec01 .wrapper > .txt-wrap .u-title-03 {
  line-height: 1;
}
#footer .ft-sec02 {
  padding: 120px 0 100px;
  background: #f9faf4;
  overflow: hidden;
}
@media screen and (max-width: 960px) {
  #footer .ft-sec02 {
    padding: 60px 0 70px;
  }
}
#footer .ft-sec02 .wrapper {
  margin-top: 180px;
}
@media screen and (max-width: 960px) {
  #footer .ft-sec02 .wrapper {
    margin-top: 50px;
    text-align: center;
  }
  #footer .ft-sec02 .wrapper .u-title-05 .en {
    line-height: 1.8;
  }
}
#footer .ft-sec03 {
  position: relative;
  padding-top: 500px;
  background: #342812;
  overflow: hidden;
}
@media screen and (max-width: 960px) {
  #footer .ft-sec03 {
    padding-top: 16.6666666667vw;
    padding-bottom: 250px;
  }
}
#footer .ft-sec03:before {
  content: "";
  position: absolute;
  z-index: 1;
  background: url(../img/common/ft03_bg.png) 0/cover no-repeat;
}
@media screen and (min-width: 961px) {
  #footer .ft-sec03:before {
    top: 0px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 3000px;
    height: 500px;
  }
}
@media screen and (max-width: 960px) {
  #footer .ft-sec03:before {
    width: 100vw;
    top: 0;
    left: 0;
    height: 17.523364486vw;
    background: url(../img/common/ft03_bg_sp.png) 0/cover no-repeat;
  }
}
#footer .ft-sec03:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 500px;
  background: #f9faf4;
}
@media screen and (max-width: 960px) {
  #footer .ft-sec03:after {
    height: 16.6666666667vw;
  }
}
#footer .ft-sec03 .wrapper {
  position: relative;
}
@media screen and (max-width: 960px) {
  #footer .ft-sec03 .wrapper {
    padding-top: 50px;
  }
}
#footer .ft-sec03 .wrapper .pagetop {
  position: absolute;
  z-index: 1;
}
@media screen and (min-width: 961px) {
  #footer .ft-sec03 .wrapper .pagetop {
    top: -470px;
    right: 295px;
  }
}
@media screen and (max-width: 960px) {
  #footer .ft-sec03 .wrapper .pagetop {
    top: -12.5vw;
    left: calc(70vw - 25px);
  }
}
#footer .ft-sec03 .wrapper .pagetop a {
  position: relative;
  color: #fff;
  font-size: 12px;
  padding-top: 1.25em;
}
#footer .ft-sec03 .wrapper .pagetop a:before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f106";
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (min-width: 961px) {
  #footer .ft-sec03 .wrapper .u-btn-03 {
    position: absolute;
    top: -220px;
    right: 0;
    z-index: 1;
  }
}
@media screen and (max-width: 960px) {
  #footer .ft-sec03 .wrapper .u-btn-03 {
    margin-bottom: 30px;
  }
}
#footer .ft-sec03 .wrapper .u-btn-03 a {
  border-color: #fff;
  color: #fff;
  font-family: "Zen Old Mincho", serif;
}
@media screen and (max-width: 960px) {
  #footer .ft-sec03 .wrapper .u-btn-03 a {
    width: 100%;
  }
}
#footer .ft-sec03 .wrapper .u-btn-03 a span {
  position: relative;
}
#footer .ft-sec03 .wrapper .u-btn-03 a span:after {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f08e";
  margin-left: 0.5em;
}
#footer .ft-sec03 .wrapper .u-btn-03 a:hover {
  background: #fff;
  color: #342812;
}
@media screen and (min-width: 961px) {
  #footer .ft-sec03 .b-sitemap-03 .inner-title {
    color: #ffffff;
  }
  #footer .ft-sec03 .b-sitemap-03 .inner-wrap .col:nth-of-type(n+2) {
    border-left: 1px solid #5d5341;
  }
  #footer .ft-sec03 .b-sitemap-03 .u-sitemap-03 .parent {
    color: #ffffff;
    background: #463c30;
  }
  #footer .ft-sec03 .b-sitemap-03 .u-sitemap-03 .child-title {
    color: #ffffff;
  }
  #footer .ft-sec03 .b-sitemap-03 .u-sitemap-03 ul li a {
    color: #d3cfc7;
  }
  #footer .ft-sec03 .b-sitemap-03 + .b-sitemap-01 {
    margin-top: 60px;
    padding-top: 60px;
    border-top: 1px solid #5d5341;
  }
}
@media screen and (max-width: 960px) {
  #footer .ft-sec03 .b-sitemap-03 {
    display: none;
  }
}
@media screen and (min-width: 961px) {
  #footer .ft-sec03 .b-sitemap-01 .u-sitemap-01 .parent {
    color: #ffffff;
  }
  #footer .ft-sec03 .b-sitemap-01 .u-sitemap-01 .child-title {
    color: #ffffff;
  }
  #footer .ft-sec03 .b-sitemap-01 .u-sitemap-01 ul li a {
    color: #d3cfc7;
  }
  #footer .ft-sec03 .b-sitemap-01 + .b-sitemap-02 {
    margin-top: 80px;
    padding-top: 80px;
    padding-bottom: 80px;
    border-top: 1px solid #5d5341;
  }
}
@media screen and (max-width: 960px) {
  #footer .ft-sec03 .b-sitemap-01 {
    display: none;
  }
}
@media screen and (min-width: 961px) {
  #footer .ft-sec03 .b-sitemap-02 .left {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 30px;
  }
}
@media screen and (max-width: 960px) {
  #footer .ft-sec03 .b-sns-01,
  #footer .ft-sec03 .b-sns-02 {
    margin-bottom: 15px;
  }
}
#footer .ft-sec03 .b-sns-01 ul li a span:before,
#footer .ft-sec03 .b-sns-02 ul li a span:before {
  color: #d3cfc7;
}