@charset "UTF-8";
/** ───────────────────────────────────────────────────────── **/
/*** ▼ 編集不要 ▼ ***/
/*** ▼ 編集不要 ▼ ***/
html {
  font-size: 62.5%;
}

a {
  display: block;
  width: 100%;
}

video,
img {
  width: 100%;
  display: block;
  border: none;
  vertical-align: bottom;
  margin: 0;
  padding: 0;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

/*** ▲ 編集不要 ▲ ***/
/** ───────────────────────────────────────────────────────── **/
body {
  background-color: #fff;
  font-family: "Zen Old Mincho", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #746b63;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}
@media (max-width: 768px) {
  body {
    font-size: 1.4rem;
    letter-spacing: 0;
  }
}

@media print {
  body {
    background: #fff;
    color: #000;
  }
}
.f_yumin {
  font-family: YakuHanMP, "游明朝体", "Yu Mincho", YuMincho, "Noto Serif JP", "Hiragino Mincho Pro", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.f_yugo {
  font-family: YakuHanJP, "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.f_zen {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
}

.f_bell {
  font-family: "Bellefair", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.f_gara {
  font-family: "EB Garamond", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

/***PC／SP切替***/
.sp {
  display: none;
}
@media (max-width: 480px) {
  .sp {
    display: block;
  }
}

.tab {
  display: none;
}
@media (max-width: 768px) {
  .tab {
    display: block;
  }
}

.pc {
  display: block;
}
@media (max-width: 768px) {
  .pc {
    display: none;
  }
}

h1 {
  display: none;
}

.inc_off {
  display: none;
}

.inner-cont {
  width: 89%;
  max-width: 1121px;
  margin: 0 auto;
}

main {
  background: #e9e8e4;
}
@media (max-width: 768px) {
  main {
    margin-top: -33px;
  }
}

h2.s_h2 {
  padding-top: 150px;
  margin: 0 auto;
  font-size: 4rem;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #514b4a;
}
@media (max-width: 768px) {
  h2.s_h2 {
    padding-top: 60px;
    font-size: 2.8rem;
  }
}
h2.s_h2 + .s_h2_sub {
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  text-align: center;
}

h2.b_h2 {
  margin: 120px auto 0;
  font-size: 3.2rem;
  color: #fff;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.2em;
}
@media (max-width: 1121px) {
  h2.b_h2 {
    font-size: 2.5vw;
  }
}
@media (max-width: 1121px) and (max-width: 768px) {
  h2.b_h2 {
    margin-top: 60px;
    font-size: 7vw;
  }
}
@media (max-width: 1121px) and (max-width: 768px) and (max-width: 480px) {
  h2.b_h2 {
    font-size: 2.8rem;
    letter-spacing: 0.1em;
  }
}

.b_h2_pic {
  position: relative;
}
.b_h2_pic h2.b_h2 {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  z-index: 9;
  margin: 0;
}
.b_h2_pic h2.b_h2.animOpa {
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}

section.copy_wrap {
  padding-top: 70px;
}
@media (max-width: 768px) {
  section.copy_wrap {
    padding-top: 50px;
  }
}
section.copy_wrap .main-copy {
  text-align: center;
}
section.copy_wrap .main-copy .main_ttl {
  font-size: 2.8rem;
  line-height: 1.6;
}
@media (max-width: 768px) {
  section.copy_wrap .main-copy .main_ttl {
    font-size: 2rem;
  }
}
section.copy_wrap .main-copy .main_ttl sub {
  font-size: 0.47em;
  bottom: -0.1em;
}
@media (max-width: 768px) {
  section.copy_wrap .main-copy .main_ttl sub {
    font-size: 0.6em;
  }
}
section.copy_wrap .main-copy .main_txt {
  margin-top: 40px;
}
section.copy_wrap .main-copy .main_txt span {
  display: inline-block;
}
section .sec_ttl {
  font-size: 2.2rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  text-align: center;
}
@media (max-width: 768px) {
  section .sec_ttl {
    font-size: 1.8rem;
    letter-spacing: 0.05em;
  }
}
section .sec_ttl span {
  font-size: 1.6rem;
}
@media (max-width: 768px) {
  section .sec_ttl span {
    font-size: 1.4rem;
  }
}
section .sec_ttl + .sec_ttl, section .sec_ttl + .sec_ttl_txt {
  padding-top: 30px;
}
section .sec_ttl + .sec_ttl_txt {
  text-align: center;
}
section .sec_ttl + .sec_ttl_txt sub {
  font-size: 0.75em;
  bottom: -0.1em;
}
@media (max-width: 768px) {
  section .sec_ttl + .sec_ttl_txt sub {
    font-size: 0.8em;
  }
}
section .sec_ttl + .sec_ttl_txt span {
  display: inline-block;
}
section .sec_ttl.f_bell {
  font-size: 2rem;
  letter-spacing: 0.25em;
  line-height: 1.4;
  text-transform: uppercase;
}
@media (max-width: 768px) {
  section .sec_ttl.f_bell {
    font-size: 2.2rem;
  }
}
section .sec_ttl.sec_ttl_s {
  font-size: 2.2rem;
}
@media (max-width: 768px) {
  section .sec_ttl.sec_ttl_s {
    font-size: 1.5rem;
  }
}

dl dt {
  font-weight: 400;
}

sub {
  font-size: 0.8em;
  bottom: -0.1em;
  letter-spacing: 0;
}

.cap {
  font-size: 1.2rem;
  line-height: 1.33;
  letter-spacing: 0;
}

.pic:has(.capWbg) {
  position: relative;
}
.pic:has(.capWbg) .capWbg {
  display: inline-block;
  position: absolute;
  bottom: 0;
  right: 0;
}
.pic:has(.capWbg) .capWbg.capLeft {
  left: 0;
  right: auto;
}
.pic:has(.capWbg) .capWbg span.cap {
  display: inline-block;
  padding: 2px 4px;
  position: relative;
  color: #fff;
  font-family: YakuHanMP, "游明朝体", "Yu Mincho", YuMincho, "Noto Serif JP", "Hiragino Mincho Pro", serif;
  font-weight: 400;
  font-style: normal;
}
@media (max-width: 480px) {
  .pic:has(.capWbg) .capWbg span.cap {
    font-size: 1.15rem;
  }
}
.pic:has(.capWbg) .capWbg span.bg {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #231815;
  mix-blend-mode: multiply;
  opacity: 0.7;
}
.pic:has(.capNbg) {
  position: relative;
}
.pic:has(.capNbg) .capNbg {
  display: inline-block;
  position: absolute;
  bottom: 0;
  right: 0;
}
.pic:has(.capNbg) .capNbg.capLeft {
  left: 0;
  right: auto;
}
.pic:has(.capNbg) .capNbg span.cap {
  display: inline-block;
  padding: 2px 4px;
  position: relative;
  font-family: YakuHanMP, "游明朝体", "Yu Mincho", YuMincho, "Noto Serif JP", "Hiragino Mincho Pro", serif;
  font-weight: 400;
  font-style: normal;
}
@media (max-width: 480px) {
  .pic:has(.capNbg) .capNbg span.cap {
    font-size: 1.15rem;
  }
}

.hov_opa a {
  -webkit-transition: opacity 0.5s ease-out;
  transition: opacity 0.5s ease-out;
}
@media (hover: hover) {
  .hov_opa a:hover {
    opacity: 0.7;
  }
}

*:has(.mult) {
  position: relative;
}
*:has(.mult) .mult {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #231815;
  mix-blend-mode: multiply;
}
*:has(.mult) .mult.mult20 {
  opacity: 0.2;
}
*:has(.mult) .mult.mult30 {
  opacity: 0.3;
}
*:has(.mult) .mult.mult40 {
  opacity: 0.4;
}

.goldBtn {
  border: 1px solid #c4ac9a;
  background: #c4ac9a;
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
  color: #fff;
}
@media (hover: hover) {
  .goldBtn:hover {
    background: #fff;
    color: #c4ac9a;
  }
}

.camelBtn {
  color: #e2c190;
  background: #746b63;
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
  letter-spacing: 0.025em;
}
@media (hover: hover) {
  .camelBtn:hover {
    background: #e2c190;
    color: #746b63;
  }
}

.borderBtn {
  border: 1px solid #514b4a;
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}
@media (hover: hover) {
  .borderBtn:hover {
    background: #e2c190;
  }
}

.entryBtn {
  width: 548px;
  text-align: center;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .entryBtn {
    width: 88%;
  }
}
.entryBtn a {
  font-size: 1.8rem;
  padding: 26px 0;
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}
@media (max-width: 768px) {
  .entryBtn a {
    font-size: 1.5rem;
    padding: 13.5px 0;
  }
}
.entryBtn.f_entryBtn {
  padding-bottom: 80px;
}
@media (max-width: 480px) {
  .entryBtn.f_entryBtn {
    padding-bottom: 60px;
  }
}

.animOpa {
  opacity: 0;
  -webkit-transition: all 1s ease-out;
  transition: all 1s ease-out;
}
.animOpa.is-show {
  opacity: 1;
}

.animBtoT {
  opacity: 0;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  -webkit-transition: all 1s ease-out;
  transition: all 1s ease-out;
}
.animBtoT.is-show {
  opacity: 1;
  -webkit-transform: translate(0);
          transform: translate(0);
}

.barTtoB {
  -webkit-transform: scaleY(0);
          transform: scaleY(0);
  -webkit-transform-origin: top;
          transform-origin: top;
  -webkit-transition: all 0.8s ease-out;
  transition: all 0.8s ease-out;
}
.barTtoB.is-show {
  -webkit-transform: scaleY(1);
          transform: scaleY(1);
}

.hambBtn_wrap {
  position: fixed;
  top: 16px;
  right: calc((100% - 1280px) / 2 + 28px);
  width: 56px;
  height: 36px;
  z-index: 999;
}
@media (max-width: 1280px) {
  .hambBtn_wrap {
    right: 28px;
  }
}
@media (max-width: 768px) {
  .hambBtn_wrap {
    height: 33px;
    position: sticky;
    top: 0;
    left: calc(100% - 76px);
    padding-top: 9px;
  }
}

#hambBtn {
  position: relative;
  margin-left: auto;
  width: 56px;
  height: 36px;
  padding: 11.5px 0;
  -webkit-transition: opacity 0.5s ease-out;
  transition: opacity 0.5s ease-out;
}
@media (max-width: 768px) {
  #hambBtn {
    height: 33px;
    padding: 7.5px 0;
  }
}
@media (hover: hover) {
  #hambBtn:hover {
    cursor: pointer;
    opacity: 0.7;
  }
}
#hambBtn .menu {
  display: block;
  position: absolute;
  bottom: 0;
  width: 100%;
  color: #fff;
  font-size: 1.3rem;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}
#hambBtn .menu span {
  display: inline-block;
}
#hambBtn .menu span + span {
  padding-left: 3px;
}
#hambBtn .bar {
  width: 56px;
  height: 1px;
  background: #fff;
  position: absolute;
  left: 0;
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}
#hambBtn .bar:nth-child(1) {
  top: 2px;
  -webkit-transform-origin: top left;
          transform-origin: top left;
}
@media (max-width: 768px) {
  #hambBtn .bar:nth-child(1) {
    top: 0px;
  }
}
#hambBtn .bar:nth-child(2) {
  top: 8px;
}
@media (max-width: 768px) {
  #hambBtn .bar:nth-child(2) {
    top: 6px;
  }
}
#hambBtn .bar:nth-child(3) {
  top: 14px;
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left;
}
@media (max-width: 768px) {
  #hambBtn .bar:nth-child(3) {
    top: 12px;
  }
}
#hambBtn.open .menu {
  color: #514b4a !important;
}
#hambBtn.open .bar {
  background: #514b4a !important;
}
#hambBtn.open .bar:nth-child(1) {
  -webkit-transform: rotate(12.4deg);
          transform: rotate(12.4deg);
}
#hambBtn.open .bar:nth-child(2) {
  opacity: 0;
}
#hambBtn.open .bar:nth-child(3) {
  -webkit-transform: rotate(-12.4deg);
          transform: rotate(-12.4deg);
}

#menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99;
  overflow-y: scroll;
  white-space: nowrap;
  /* IE, Edge 対応 */
  -ms-overflow-style: none;
  /* Firefox 対応 */
  scrollbar-width: none;
  visibility: hidden;
}
#menu::-webkit-scrollbar {
  display: none;
}
#menu:has(.menu_wrap.open) {
  visibility: visible;
}
#menu .menu_bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #e9e8e4;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
}
#menu .menu_bg.open {
  visibility: visible;
  opacity: 1;
}
#menu .menu_wrap {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -40%);
          transform: translate(-50%, -40%);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.6s ease-in-out;
  transition: all 0.6s ease-in-out;
}
@media (max-width: 768px) {
  #menu .menu_wrap {
    position: static;
    width: 315px;
    margin: 0 auto;
    padding: 50px 0 40px;
    -webkit-transform: translateY(10%);
            transform: translateY(10%);
  }
}
#menu .menu_wrap a {
  pointer-events: none;
}
#menu .menu_wrap.open {
  visibility: visible;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  opacity: 1;
}
@media (max-width: 768px) {
  #menu .menu_wrap.open {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
#menu .menu_wrap.open a {
  pointer-events: auto;
}
#menu .nav_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0 120px;
  text-transform: uppercase;
}
@media (max-width: 1121px) {
  #menu .nav_wrap {
    gap: 0 60px;
  }
}
@media (max-width: 1121px) and (max-width: 768px) {
  #menu .nav_wrap {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
    gap: 25px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
#menu .nav_wrap > ul,
#menu .nav_wrap .nav_right {
  width: 340px;
}
@media (max-width: 768px) {
  #menu .nav_wrap > ul,
  #menu .nav_wrap .nav_right {
    width: auto;
  }
}
#menu .nav_wrap > ul.tab {
  width: 100%;
}
#menu .nav_wrap .nav_right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
#menu .nav_wrap li.no-link {
  padding: 10px 0;
  color: #a29d9c;
}
@media (max-width: 768px) {
  #menu .nav_wrap li.no-link {
    padding: 13.7px 0;
  }
}
#menu .nav_wrap li.no-link span {
  display: inline-block;
}
#menu .nav_wrap li:not(.s_nav_wrap) {
  font-size: 3.2rem;
  line-height: 1;
  letter-spacing: 0.05em;
  position: relative;
  padding-left: 0.4em;
}
@media (max-width: 768px) {
  #menu .nav_wrap li:not(.s_nav_wrap) {
    font-size: 1.8rem;
    letter-spacing: -0.01em;
  }
}
#menu .nav_wrap li:not(.s_nav_wrap)::after {
  content: "・";
  position: absolute;
  top: 0.4em;
  left: -0.15em;
}
@media (max-width: 768px) {
  #menu .nav_wrap li:not(.s_nav_wrap)::after {
    top: 0.9em;
  }
}
#menu .nav_wrap li:not(.s_nav_wrap) a {
  padding: 10px 0;
}
@media (max-width: 768px) {
  #menu .nav_wrap li:not(.s_nav_wrap) a {
    padding: 15px 0;
  }
}
#menu .nav_wrap li.s_nav_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 90px;
}
@media (max-width: 768px) {
  #menu .nav_wrap li.s_nav_wrap {
    gap: 0 45px;
    font-size: 1.4rem;
  }
}
#menu .nav_wrap li.s_nav_wrap div {
  padding-left: 24px;
  position: relative;
}
#menu .nav_wrap li.s_nav_wrap div::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 16px;
  height: 0.5px;
  background: #514b4a;
}
#menu .nav_wrap li span.f_zen {
  display: inline-block;
  font-size: 1.6rem;
  margin-top: 8px;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  #menu .nav_wrap li span.f_zen {
    font-size: 1.4rem;
    margin-top: 5px;
  }
}
#menu .conv_wrap {
  width: 646px;
  margin: 63px auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 16px;
}
@media (max-width: 768px) {
  #menu .conv_wrap {
    width: 315px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 30px;
    gap: 10px;
  }
}
#menu .conv_wrap a {
  width: 50%;
  text-align: center;
  padding: 9px 0;
}
@media (max-width: 768px) {
  #menu .conv_wrap a {
    width: 100%;
  }
}
#menu .conv_wrap a:hover {
  cursor: pointer;
}
#menu .conv_wrap a.camelBtn:first-child {
  color: #fff;
}
@media (hover: hover) {
  #menu .conv_wrap a.camelBtn:first-child:hover {
    color: #746b63;
  }
}
@media print {
  #menu {
    display: none;
  }
}

header {
  width: 100%;
  margin: 0 auto;
  position: absolute;
  top: 0;
  left: 0;
  background: none;
  color: #fff;
}
header::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 130%;
  opacity: 0.5;
  mix-blend-mode: multiply;
  z-index: 1;
  background-image: url(../images/common/h_bg.webp);
  background-position: top left;
  background-repeat: repeat-x;
  background-size: auto 100%;
}
@media (max-width: 768px) {
  header::after {
    height: 100%;
  }
}
header .header_wrap {
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
  padding: 14px 28px 9px 84px;
  z-index: 9;
}
@media (max-width: 1121px) {
  header .header_wrap {
    padding: 16px 28px 9px;
  }
}
@media (max-width: 1121px) and (max-width: 768px) {
  header .header_wrap {
    padding: 9px 20px 15px;
  }
}
header .h_top {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 768px) {
  header .h_top {
    height: 20px;
  }
}
header .h_top .h_logo {
  padding-top: 6px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
}
header .h_top .h_logo a {
  width: 257.7px;
}
@media (max-width: 768px) {
  header .h_top .h_logo a {
    width: 167.5px;
  }
}
header .h_top .h_logo a img {
  -o-object-position: center;
     object-position: center;
}
header .h_top .h_logo p {
  font-size: 1.1rem;
  line-height: 1;
  padding-top: 8px;
}
@media (max-width: 1121px) {
  header .h_top .h_logo p {
    display: none;
  }
}
header .h_top .btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-right: 74px;
  gap: 8px;
  font-size: 1.2rem;
  text-align: center;
}
@media (max-width: 768px) {
  header .h_top .btns {
    display: none;
  }
}
header .h_top .btns a {
  width: 136px;
  height: 40px;
  font-size: 1.4rem;
  line-height: 1.14;
  letter-spacing: -0.02em;
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
  position: relative;
}
header .h_top .btns a:nth-child(1) {
  background: #746b63;
  line-height: 1;
  color: #e2c190;
}
header .h_top .btns a:nth-child(2) {
  background: #fff;
  border: 1px solid #746b63;
  line-height: 1.2;
  color: #746b63;
}
header .h_top .btns a span {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
header .pankuzu {
  margin-top: 5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  font-size: 1.2rem;
  line-height: 1;
}
@media (max-width: 1121px) {
  header .pankuzu {
    margin-left: 0;
  }
}
@media (max-width: 1121px) and (max-width: 768px) {
  header .pankuzu {
    display: none;
  }
}
header .pankuzu a {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
header .pankuzu .arrow {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-top: 0.5px solid #fff;
  border-right: 0.5px solid #fff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
header .pankuzu .arrow + a {
  padding-left: 5px;
}
header .pankuzu .arrow.arrow-dedic {
  display: none;
}

footer.inner-cont {
  padding-top: 40px;
  margin: 0 auto 36px;
}
@media (max-width: 768px) {
  footer.inner-cont {
    margin: 0 auto 18px;
  }
}
footer.inner-cont .f_nav {
  padding-bottom: 25px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px 20px;
  border-bottom: 0.5px solid #514b4a;
}
@media (max-width: 768px) {
  footer.inner-cont .f_nav {
    display: none;
  }
}
footer.inner-cont .f_nav li {
  font-size: 1.5rem;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
footer.inner-cont .f_nav li.no-link {
  color: #c5c5c4;
}
footer.inner-cont .caption {
  padding-top: 20px;
  font-size: 1.4rem;
  line-height: 1.38;
  letter-spacing: 0;
  text-align: justify;
  text-justify: inter-ideograph;
}
@media (max-width: 768px) {
  footer.inner-cont .caption {
    font-size: 1.3rem;
    line-height: 1.33;
  }
}
footer.inner-cont .tel {
  margin: 75px 0 40px;
}
@media (max-width: 768px) {
  footer.inner-cont .tel {
    margin-top: 60px;
  }
}
footer.inner-cont .tel p {
  font-family: YakuHanJP, "游ゴシック体", "Yu Gothic", YuGothic, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", serif;
  font-weight: 500;
  text-align: center;
  font-size: 1.3rem;
  line-height: 1.38;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  footer.inner-cont .tel p {
    font-size: 1.2rem;
    line-height: 1.33;
  }
}
footer.inner-cont .tel .btn {
  width: 282px;
  margin: 0 auto;
  padding: 10px 0;
}
@media (max-width: 768px) {
  footer.inner-cont .tel .btn {
    width: 255px;
  }
}
footer.inner-cont .company_logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 20px 40px;
}
@media (max-width: 768px) {
  footer.inner-cont .company_logo {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
footer.inner-cont .company_logo p {
  font-size: 1rem;
}
@media (max-width: 768px) {
  footer.inner-cont .company_logo p {
    text-align: center;
  }
}
footer.inner-cont .company_logo li:nth-child(1) {
  width: 212px;
}
footer.inner-cont .company_logo li:nth-child(1) p {
  padding-left: 62px;
}
@media (max-width: 768px) {
  footer.inner-cont .company_logo li:nth-child(1) p {
    padding-left: 0;
  }
}
footer.inner-cont .company_logo li:nth-child(2) {
  width: 188px;
}
footer.inner-cont .company_logo li:nth-child(2) p {
  padding-left: 48px;
}
@media (max-width: 768px) {
  footer.inner-cont .company_logo li:nth-child(2) p {
    padding-left: 0;
  }
}
footer.inner-cont .company_logo li:nth-child(3) {
  width: 227px;
}
footer.inner-cont .company_logo li:nth-child(3) p {
  padding-left: 43px;
}
@media (max-width: 768px) {
  footer.inner-cont .company_logo li:nth-child(3) p {
    padding-left: 0;
  }
}
footer.inner-cont .insta_wrapper {
  margin: 80px auto 0;
}
@media (max-width: 768px) {
  footer.inner-cont .insta_wrapper {
    margin-top: 60px;
    max-width: 400px;
  }
}

.sp_fix_btns {
  display: none;
}
@media (max-width: 768px) {
  .sp_fix_btns {
    position: fixed;
    bottom: -50px;
    right: 0;
    z-index: 99;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    -webkit-transition: bottom 0.5s;
    transition: bottom 0.5s;
  }
  .sp_fix_btns.on {
    bottom: -0.5px;
  }
  .sp_fix_btns #float_bnr_sp {
    grid-column: 1/5;
    position: relative;
  }
  .sp_fix_btns #float_bnr_sp a {
    width: 375px;
    margin-right: auto;
  }
}
@media (max-width: 768px) and (max-width: 480px) {
  .sp_fix_btns #float_bnr_sp a {
    width: 100%;
  }
}
@media (max-width: 768px) {
  .sp_fix_btns #float_bnr_sp.close {
    display: none !important;
  }
  .sp_fix_btns #float_bnr_sp #float_close_sp {
    position: absolute;
    width: 16px;
    height: 16px;
    top: 0;
    left: 354px;
  }
}
@media (max-width: 768px) and (max-width: 480px) {
  .sp_fix_btns #float_bnr_sp #float_close_sp {
    width: 4.3%;
    height: auto;
    left: auto;
    right: 0;
  }
}
@media (max-width: 768px) {
  .sp_fix_btns .btn {
    display: block;
    background-color: #fff;
  }
  .sp_fix_btns .btn div.pic {
    margin: 0 auto;
    width: 49px;
  }
  .sp_fix_btns .btn div.pic img {
    width: 100%;
  }
  .sp_fix_btns .btn.btn_cv {
    background-color: #3b3c3d;
  }
  .sp_fix_btns .btn.btn_cv div.pic {
    width: 42.3px;
    padding-top: 5px;
  }
}
@media print {
  .sp_fix_btns {
    display: none;
  }
}

/*サイト仕様上書き*/
@media (max-width: 480px) {
  #allWrapper {
    padding-bottom: 48px;
  }
}

#container {
  width: 100% !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding-bottom: 135px;
  background-color: #ffffff;
}
@media (max-width: 480px) {
  #container {
    padding-bottom: 0 !important;
  }
}

#footerArea img,
#footerNavArea img {
  width: auto;
}

#footerArea .areaInner .column1 {
  width: 540px;
}
#footerArea .areaInner .column1 li {
  font-size: 11px;
}
#footerArea .areaInner .column2 {
  width: 410px;
}
#footerArea .areaInner .column2 img {
  margin-left: auto;
}

#footerAreaN small {
  padding: 5px 0;
  letter-spacing: 0;
  font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

@media (max-width: 480px) {
  #footerNavArea #slideWrap .slideNav a {
    padding: 7px 22px 0 35px;
  }
}

#headerAreaN .logo img {
  width: 119px;
}
#headerAreaN .btn img {
  width: 81px;
}/*# sourceMappingURL=common.css.map */