/* fix footer at bottom */
body, .lithosphere {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.accordion-faq .faq-item {
  border: 1px solid #E5E5E5;
  border-radius: 12px;
  margin: 12px 0;
  overflow: hidden;
}
.accordion-faq .faq-q {
  width: 100%;
  background: #FAFAFA;
  border: none;
  padding: 14px 18px;
  text-align: left;
  font-size: 1em;
  font-weight: 600;
  cursor: pointer;
}
.accordion-faq .faq-q::after {
  content: "＋";
  float: right;
  transition: transform 0.3s;
}
.accordion-faq .faq-q.active::after {
  content: "－";
}
.accordion-faq .faq-a {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
  background: #fff;
}
.accordion-faq .faq-a p {
  padding: 12px 18px;
  margin: 0;
  line-height: 1.8;
}

footer {
  margin-top: auto;
}

.banner_ttl {
  font-size: 20px;
  padding-bottom: 10px;
}

.footer {
  color: #414850;
  background-color: #EBEBEB;
  padding-top: 88px;
}

.cta_btn_pc {
    width: 160px;
    height: 160px;
    position: fixed;
    bottom: 40px;
    right: 40px;
    z-index: 1000;
}

.cta_btn_pc a img:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -moz-opacity: 0.8;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

#cta_pc_btn {
  display: none;
}

.cta_btn_pc2 {
    width: 160px;
    height: 160px;
    position: fixed;
    bottom: 40px;
    right: 40px;
    z-index: 1000;
}

.cta_btn_pc2 a img:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -moz-opacity: 0.8;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

#cta_pc_btn2 {
  display: none;
}

@media (max-width: 1280px) {
  .cta_btn_pc {
      width: 135px;
      height: 135px;
      position: fixed;
      bottom: 30px;
      right: 30px;
      z-index: 1000;
  }

  .cta_btn_pc2 {
      width: 135px;
      height: 135px;
      position: fixed;
      bottom: 30px;
      right: 30px;
      z-index: 1000;
  }
}

@media (max-width: 767px) {
  .cta_btn_pc {
    display: none!important;
  }

  .cta_btn_pc2 {
    display: none!important;
  }

  .footer {
    padding-top: 32px;
  }
}
.footer__exterior {
  display: flex;
  justify-content: space-between;
  width: min(85.78125%, 1098px);
  margin: 0 auto 103px;
}
@media (max-width: 767px) {
  .footer__exterior {
    justify-content: center;
    flex-wrap: wrap;
    width: 85%;
    margin-bottom: 32px;
  }

  .banner_ttl {
    font-size: 18px;
    padding-bottom: 10px;
  }

  .banner_area {
    margin-bottom: 40px!important;
  }
}
.footer__logo {
  width: 90px;
  height: 90px;
  transition: opacity 0.3s;
}

.salon__info2 {
    display: flex;
    width: 330px;
    height: 60px;
    margin: 0 auto;
    justify-content: center;
    align-items: center;
    font-size: 20px;
    color: inherit;
    text-decoration: none;
    border: 2px solid #3B4043;
    margin-top: 30px;
}

.banner_area {
  text-align: center;
  margin: 0 auto;
  margin-bottom: 80px;
}

.banner_area img {
  width: 350px;
  height: auto;
}

@media (max-width: 767px) {
  .footer__logo {
    width: 60px;
    height: 60px;
    margin: 0 32px 32px 0;
  }
}
.footer__logo:hover {
  opacity: 0.64;
}
.footer__sns {
  width: 50px;
  height: 50px;
  margin-right: 5%;
  margin-right: 5%;
  transition: opacity 0.3s;
}
@media (max-width: 767px) {
  .footer__sns {
    width: 32px;
    height: 32px;
    margin: 0 20px 0 0;
  }
}
.footer__sns:hover {
  opacity: 0.64;
}
.footer nav {
  width: 60.2787%;
}

/* PCレイアウト（4列） */
.footer nav ul {
  display: grid;
  grid-template-columns: repeat(4, auto);
  grid-auto-flow: row;
  justify-content: space-between;
  grid-row-gap: 32px;
}

/* 1列目 (1-6番目) */
.footer nav ul li:nth-of-type(1)  { grid-column: 1/2; grid-row: 1/2; }
.footer nav ul li:nth-of-type(2)  { grid-column: 1/2; grid-row: 2/3; }
.footer nav ul li:nth-of-type(3)  { grid-column: 1/2; grid-row: 3/4; }
.footer nav ul li:nth-of-type(4)  { grid-column: 1/2; grid-row: 4/5; }
.footer nav ul li:nth-of-type(5)  { grid-column: 1/2; grid-row: 5/6; }
.footer nav ul li:nth-of-type(6)  { grid-column: 1/2; grid-row: 6/7; }

/* 2列目 (7-11番目) */
.footer nav ul li:nth-of-type(7)  { grid-column: 2/3; grid-row: 1/2; }
.footer nav ul li:nth-of-type(8)  { grid-column: 2/3; grid-row: 2/3; }
.footer nav ul li:nth-of-type(9)  { grid-column: 2/3; grid-row: 3/4; }
.footer nav ul li:nth-of-type(10) { grid-column: 2/3; grid-row: 4/5; }
.footer nav ul li:nth-of-type(11) { grid-column: 2/3; grid-row: 5/6; }

/* 3列目 (12-16番目) */
.footer nav ul li:nth-of-type(12) { grid-column: 3/4; grid-row: 1/2; }
.footer nav ul li:nth-of-type(13) { grid-column: 3/4; grid-row: 2/3; }
.footer nav ul li:nth-of-type(14) { grid-column: 3/4; grid-row: 3/4; }
.footer nav ul li:nth-of-type(15) { grid-column: 3/4; grid-row: 4/5; }
.footer nav ul li:nth-of-type(16) { grid-column: 3/4; grid-row: 5/6; }

/* 4列目 (17-21番目) */
.footer nav ul li:nth-of-type(17) { grid-column: 4/5; grid-row: 1/2; }
.footer nav ul li:nth-of-type(18) { grid-column: 4/5; grid-row: 2/3; }
.footer nav ul li:nth-of-type(19) { grid-column: 4/5; grid-row: 3/4; }
.footer nav ul li:nth-of-type(20) { grid-column: 4/5; grid-row: 4/5; }
.footer nav ul li:nth-of-type(21) { grid-column: 4/5; grid-row: 5/6; }


.footer nav ul li {
  line-height: 1.6;
}
.footer nav ul li a {
  color: inherit;
  text-decoration: none;
  font-size: 15px;
  transition: opacity 0.5s;
}
@media (max-width: 767px) {
  .footer nav ul li a {
    font-size: 12px;
  }
}
.footer nav ul li a:hover {
  opacity: 0.64;
}
@media (max-width: 767px) {
  .footer nav {
    width: 100%;
  }
  .footer nav ul {
      grid-template-columns: repeat(3, auto);
      grid-row-gap: 8px;
    }

    /* 1列目 (1-7番目) */
    .footer nav ul li:nth-of-type(1)  { grid-column: 1/2; grid-row: 1; }
    .footer nav ul li:nth-of-type(2)  { grid-column: 1/2; grid-row: 2; }
    .footer nav ul li:nth-of-type(3)  { grid-column: 1/2; grid-row: 3; }
    .footer nav ul li:nth-of-type(4)  { grid-column: 1/2; grid-row: 4; }
    .footer nav ul li:nth-of-type(5)  { grid-column: 1/2; grid-row: 5; }
    .footer nav ul li:nth-of-type(6)  { grid-column: 1/2; grid-row: 6; }
    .footer nav ul li:nth-of-type(7)  { grid-column: 1/2; grid-row: 7; }

    /* 2列目 (8-14番目) */
    .footer nav ul li:nth-of-type(8)  { grid-column: 2/3; grid-row: 1; }
    .footer nav ul li:nth-of-type(9)  { grid-column: 2/3; grid-row: 2; }
    .footer nav ul li:nth-of-type(10) { grid-column: 2/3; grid-row: 3; }
    .footer nav ul li:nth-of-type(11) { grid-column: 2/3; grid-row: 4; }
    .footer nav ul li:nth-of-type(12) { grid-column: 2/3; grid-row: 5; }
    .footer nav ul li:nth-of-type(13) { grid-column: 2/3; grid-row: 6; }
    .footer nav ul li:nth-of-type(14) { grid-column: 2/3; grid-row: 7; }

    /* 3列目 (15-21番目) */
    .footer nav ul li:nth-of-type(15) { grid-column: 3/4; grid-row: 1; }
    .footer nav ul li:nth-of-type(16) { grid-column: 3/4; grid-row: 2; }
    .footer nav ul li:nth-of-type(17) { grid-column: 3/4; grid-row: 3; }
    .footer nav ul li:nth-of-type(18) { grid-column: 3/4; grid-row: 4; }
    .footer nav ul li:nth-of-type(19) { grid-column: 3/4; grid-row: 5; }
    .footer nav ul li:nth-of-type(20) { grid-column: 3/4; grid-row: 6; }
    .footer nav ul li:nth-of-type(21) { grid-column: 3/4; grid-row: 7; }
  }
}
.footer .copyright {
  text-align: center;
  font-size: 15px;
  margin-bottom: 32px;
}
@media (max-width: 767px) {
  .footer .copyright {
    font-size: 12px;
    margin-bottom: 88px;
  }
}
.footer .copyright-fixed {
  margin-bottom: 76px;
}
@media (min-width: 768px) {
  .pc_none {
    display: none;
  }
}

@media (max-width: 767px) {
  .sp_none {
    display: none;
  }
}

#sample {
    display: flex;
    width: 100%;
    width: 100%;
    text-align: center;
    text-decoration: none;
    color: #ffffff;
    opacity: 0;
    visibility: hidden;
    transition: 800ms;
    position: absolute;
    bottom: 50px;
}
#sample a {
  width: 50%;
}
#sample.is-show {
    opacity: 1;
    visibility: visible;
    display: flex;
}

#sample2 {
    display: flex;
    width: 100%;
    width: 100%;
    text-align: center;
    text-decoration: none;
    color: #ffffff;
    opacity: 0;
    visibility: hidden;
    transition: 800ms;
    position: absolute;
    bottom: 50px;
}

#sample2.is-show {
    opacity: 1;
    visibility: visible;
    display: flex;
}

#sample2 a {
  width: 50%;
}

.whatsapp {
  background: #23d366!important;
}

.whatsapp a {
  background: #23d366!important;
}

@media screen and (max-width: 768px){
.flist__reserve, .flist__tel {
    display: none;
    position: static;
}

.kotei-test li {
    display: block;
    width: calc(100% / 2);
    text-align: center;
    text-decoration: none;
    height: 72px;
    color: #ffffff;
    line-height: 1.4;
    padding-top: 16px;
    background-color: rgba(76, 82, 85, 0.9);
}

.foot_en li p {
  font-size: 18px;
}

.foot_en li a {
  font-size: 18px;
}

li.line_color {
    background-color: rgba(0, 185, 0, 0.9)!important;
}

.fbtn__reserve p {
  padding-top: 11.5px;
}

.flist__tel .hide {
  width: calc(100% / 3)!important;
}

.flist__reserve li {
  width: calc(100% / 3)!important;
}

.fbtn__reserve{
    color: #3B4043!important;
    background-color: rgba(255, 255, 255, 0.9)!important;
    border: #3B4043 solid 1px;
}

.flist__reserve li, .flist__tel .hide {
    background-color: rgba(167, 167, 167, 0.9)!important;
    float: right;
    height: 52px;
}

ul.deru-yoyaku {
  width: 100%;
  display: flex;
}

.border-yoko {
  border-right: solid #fff 1px;
}
}

.flist__reserve, .flist__tel {
    display: none;
}

.kotei-test li a, .fbtn__reserve {
    color: #fff;
    width: 100%;
    text-align: center;
    font-size: 15px;
    -webkit-transform: initial;
    position: initial;
    text-decoration: none;
    display: block;
}

.twoline {
  padding-top: 7px!important;
}

.flist__reserve, .flist__tel{
    position: absolute;
    width: 100%;
    bottom: 72px;
}

.kotei-test {
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
}

.kotei-test {
    position: fixed;
    z-index: 9998;
}

.foot_en li {
  width: calc(100% / 2)!important;
}

.foot_en li p {
  padding-top: 10px;
}

.foot_en_a a {
  padding-top: 1.5px;
}

@media (max-width: 380px) {
  ul.deru-yoyaku p {
    font-size: 14px!important;
  }

  ul.deru-yoyaku a {
    font-size: 14px!important;
  }

  .kotei-test li {
    padding-top: 18px!important;
  }

  .kotei-test li.line_color_recruit {
    padding-top: 0px!important;
  }

  .kotei-test li.twoline {
    padding-top: 7px!important;
  }
}

.line_color_recruit {
  width: 100%!important;
  padding-top: 0!important;
  line-height: 70px!important;
}
.line_color_recruit a {
  font-size: 16px!important;
}
