@media screen and (min-width: 768px) {
  .group-fixed {
    position: fixed;
    top: 0;
    right: 42px;
    height: 100%;
    display: flex;
    align-items: center;
    z-index: 99999;
  }

  .group-fixed .hamburger {
    width: 33px;
    height: 23px;
    position: relative;
    top: 0;
    right: 0;
    margin: 0 auto 25px;
  }

  .group-fixed .hamburger .hamburger-box {
    width: 100%;
    height: 100%;
  }

  .group-fixed .hamburger .hamburger-box .hamburger-inner,
  .group-fixed .hamburger .hamburger-box .hamburger-inner::before,
  .group-fixed .hamburger .hamburger-box .hamburger-inner::after {
    background: #2d2d2d;
    height: 1px;
  }

  .group-fixed .hamburger:not(.is-active) .hamburger-box .hamburger-inner::before {
    top: -11px;
  }

  .group-fixed .hamburger:not(.is-active) .hamburger-box .hamburger-inner::after {
    bottom: -11px;
  }

  .group-fixed .hamburger.is-active {
    width: 35px;
  }

  .group-fixed .hamburger.is-active .hamburger-box .hamburger-inner {
    transform: rotate(-755deg);
  }

  .group-fixed .hamburger.is-active .hamburger-box .hamburger-inner::after {
    transform: rotate(-110deg);
  }

  .group-fixed .hamburger:after {
    display: none;
  }
}

@media screen and (min-width: 768px) and (hover: hover) {
  .group-fixed .hamburger:hover {
    opacity: 0.6;
  }
}

@media screen and (min-width: 768px) {
  .group-fixed .map {
    width: 26px;
    margin: 0 auto 13px;
  }

  .group-fixed .map a {
    display: block;
    line-height: 0;
  }

  .group-fixed .insta {
    width: 35px;
  }

  .group-fixed .fa_i {
    margin-top: 10px;
  }

  .group-fixed .insta a {
    display: block;
    line-height: 0;
  }

  .group-fixed .inner.cl-white .map,
  .group-fixed .inner.cl-white .insta {
    filter: invert(1);
  }

  .group-fixed .inner.cl-white .hamburger .hamburger-box .hamburger-inner,
  .group-fixed .inner.cl-white .hamburger .hamburger-box .hamburger-inner::before,
  .group-fixed .inner.cl-white .hamburger .hamburger-box .hamburger-inner::after {
    background: #fff;
  }
}

#menu-toggle {
  padding: 0;
  background: rgba(255, 255, 255, 0.65);
  width: 100vw;
  left: 120%;
  transition: left 0.8s;
  opacity: 1;
  visibility: visible;
  z-index: 9999;
}

#menu-toggle .inner {
  left: 100%;
  transition: left 0.8s 0s;
  background: #fff;
  position: relative;
}

#menu-toggle .inner .left {
  position: relative;
  min-height: calc(100vh - 50px);
  display: flex;
}

#menu-toggle .inner .left .group-img {
  position: relative;
  width: 42.4vw;
}

#menu-toggle .inner .left .group-img .img {
  height: 100%;
}

#menu-toggle .inner .left .group-img .insta {
  position: absolute;
  width: 31.5px;
  right: 25px;
  bottom: calc((100% - 465px) / 2);
  display: flex;
  flex-flow: column;
  gap: 3vw;
}

#menu-toggle .inner .left .group-img .insta a {
  display: block;
  line-height: 0;
}

#menu-toggle .inner .left .nav {
  position: relative;
  z-index: 2;
  width: 57.6vw;
  padding: 200px 0;
  display: flex;
  justify-content: center;
  flex-direction: column;
}

#menu-toggle .inner .left .nav li {
  width: 46vw;
  max-width: 90%;
  margin: 0 auto;
}

#menu-toggle .inner .left .nav li a {
  display: block;
  text-decoration: none;
  position: relative;
  line-height: 1;
  font-size: 9.5px;
  letter-spacing: 0.2em;
  padding: 0 0 9px;
  color: rgba(62, 60, 57, 0.68);
}

#menu-toggle .inner .left .nav li a::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 1px;
  background: #3e3c39;
  width: 0;
  transition: all 0.5s;
}

#menu-toggle .inner .left .nav li a .text-en {
  color: #3e3c39;
  display: block;
  letter-spacing: 0.11em;
  font-size: 20px;
  margin: 0 0 3px;
}

#menu-toggle .inner .left .nav li a.active::before {
  width: 100%;
}

#menu-toggle .inner .left .nav li+li {
  margin-top: 12px;
}

@media screen and (min-width: 768px) {
  #menu-toggle {
    overflow-x: hidden;
  }

  #menu-toggle .inner {
    margin: 0 0 0 auto;
    width: calc(50% + 13px);
    min-width: 763px;
    transition: left 0.5s;
    display: flex;
  }

  #menu-toggle .inner .left {
    width: 325px;
    min-height: 100vh;
    display: flex;
    align-items: center;
    padding: 100px 0;
    box-sizing: border-box;
  }

  #menu-toggle .inner .left .group-img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
  }

  #menu-toggle .inner .left .group-img .img {
    height: 100%;
  }

  #menu-toggle .inner .left .nav {
    margin: 0 0 0 auto;
    width: 216px;
    padding: 50px 0;
  }

  #menu-toggle .inner .left .nav li {
    width: 100%;
    max-width: 100%;
    margin: 0;
  }

  #menu-toggle .inner .left .nav li a {
    font-size: 12px;
    padding: 0 0 9px;
    color: rgba(255, 255, 255, 0.68);
  }

  #menu-toggle .inner .left .nav li a::before {
    background: #fff;
  }

  #menu-toggle .inner .left .nav li a .text-en {
    color: #fff;
    font-size: 25px;
    margin: 0 0 3px;
  }
}

@media screen and (min-width: 768px) and (hover: hover) {
  #menu-toggle .inner .left .nav li a:hover::before {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  #menu-toggle .inner .left .nav li+li {
    margin-top: 19px;
  }

  #menu-toggle .inner .right {
    min-height: 100vh;
    box-sizing: border-box;
    padding: 50px 0;
    margin: 0 0 0 48px;
    display: flex;
    align-items: center;
  }

  #menu-toggle .inner .right .group-tel {
    min-height: 593px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
  }

  #menu-toggle .inner .right .tel {
    margin: 0 0 27px 3px;
    line-height: 1;
  }

  #menu-toggle .inner .right .tel .sub-tel {
    display: block;
    font-size: 14px;
    margin: 0 0 5px;
    letter-spacing: 0.2em;
  }

  #menu-toggle .inner .right .tel span {
    display: block;
    font-size: 28px;
    letter-spacing: 0.08em;
  }

  #menu-toggle .inner .right .tel span small {
    font-size: 18px;
  }
}

.navOpen #menu-toggle {
  left: 0;
  transition-delay: 0s;
}

.navOpen #menu-toggle .inner {
  left: 0;
  transition-delay: 0.3s;
}

.navOpen .group-fixed .map,
.navOpen .group-fixed .insta {
  filter: invert(0) !important;
}

.navOpen .group-fixed .hamburger .hamburger-box .hamburger-inner,
.navOpen .group-fixed .hamburger .hamburger-box .hamburger-inner::before,
.navOpen .group-fixed .hamburger .hamburger-box .hamburger-inner::after {
  background: #2d2d2d !important;
}

.btn-web {
  width: 74.4vw;
  max-width: 100%;
}

.btn-web a {
  display: block;
  text-decoration: none;
  text-align: center;
  border: 1px solid #2d2d2d;
  font-size: 4vw;
  line-height: 2;
  letter-spacing: 0.065em;
  padding: 2.53vw 0;
  border-radius: 6.53vw;
  color: var(--cl-main);
}

.btn-web.style-white a {
  border-color: #fff;
  color: #fff;
}

@media screen and (min-width: 768px) {
  .btn-web {
    width: 221px;
  }

  .btn-web a {
    border-radius: 22px;
    font-size: 17px;
    padding: 5.5px 0;
  }
}

@media screen and (min-width: 768px) and (hover: hover) {
  .btn-web a:hover {
    opacity: 0.8;
  }
}

#ft-fixed {
  display: flex;
  z-index: 99999;
  border-top: 1px solid #2d2d2d;
  background: #fff;
}

#ft-fixed p {
  width: 25%;
  box-sizing: border-box;
}

#ft-fixed p+p {
  border-left: 1px solid rgba(45, 45, 45, 0.3);
}

#ft-fixed p a {
  display: block;
  text-decoration: none;
  padding: 7px 0 0;
  box-sizing: border-box;
  min-height: 49px;
  text-align: center;
}

#ft-fixed p a img {
  width: auto;
  height: 17px;
  margin: 0 auto;
  display: block;
}

#ft-fixed p a span {
  display: block;
  font-size: 12.5px;
  line-height: 1.2;
  margin: 3px 0 0;
  letter-spacing: 0.065em;
}

#ft-fixed .hamburger {
  position: relative;
  top: 0;
  right: 0;
  width: 25%;
  box-sizing: border-box;
  border-left: 1px solid rgba(45, 45, 45, 0.3);
  height: 49px;
  display: flex;
  align-items: center;
  flex-direction: column;
  padding: 11.5px 0 0;
}

#ft-fixed .hamburger .hamburger-box {
  width: 32.5px;
  height: 11.5px;
}

#ft-fixed .hamburger .hamburger-box .hamburger-inner,
#ft-fixed .hamburger .hamburger-box .hamburger-inner::before,
#ft-fixed .hamburger .hamburger-box .hamburger-inner::after {
  background: #2d2d2d;
  height: 1px;
}

#ft-fixed .hamburger:after {
  font-size: 12.5px;
  line-height: 1.2;
  margin: 3px 0 0;
  color: var(--cl-text);
}

#ft-fixed .hamburger:not(.is-active) .hamburger-box .hamburger-inner::before {
  top: -5px;
}

#ft-fixed .hamburger:not(.is-active) .hamburger-box .hamburger-inner::after {
  bottom: -5px;
}

#ft-fixed .hamburger.is-active {
  background: #605851;
}

#ft-fixed .hamburger.is-active:after {
  color: #fff;
}

#ft-fixed .hamburger.is-active .hamburger-box .hamburger-inner {
  transform: rotate(-745deg);
}

#ft-fixed .hamburger.is-active .hamburger-box .hamburger-inner::after {
  transform: rotate(-130deg);
}

#ft-fixed .hamburger.is-active .hamburger-box .hamburger-inner,
#ft-fixed .hamburger.is-active .hamburger-box .hamburger-inner::before,
#ft-fixed .hamburger.is-active .hamburger-box .hamburger-inner::after {
  background: #fff;
}

#header {
  position: relative;
}

#header .group-btn-tel h1 {
  position: absolute;
  z-index: 5;
  right: 10px;
  top: 36px;
  text-align: left;
  height: 255px;
  color: var(--cl-main2);
  font-size: 8px;
  line-height: 1.5;
  letter-spacing: 0.145em;
}

#header .logo {
  position: relative;
  z-index: 4;
  padding: 38px 0 0;
  margin: 0 auto;
  width: 120px;
}

@media screen and (min-width: 768px) {
  #header .group-btn-tel {
    position: absolute;
    top: 33px;
    right: 40px;
    z-index: 5;
    color: var(--cl-main);
  }

  #header .group-btn-tel .row {
    display: flex;
    align-items: flex-start;
  }

  #header .group-btn-tel .row .btn-web {
    width: 179px;
  }

  #header .group-btn-tel .row .btn-web a {
    font-size: 14px;
    padding: 4px 0;
  }

  #header .group-btn-tel .row .tel {
    font-size: 24px;
    line-height: 1;
    margin: 2px 0 0 13px;
  }

  #header .group-btn-tel .row .tel span {
    display: block;
    letter-spacing: 0.08em;
  }

  #header .group-btn-tel .row .tel span small {
    font-size: 16px;
  }

  #header .group-btn-tel h1 {
    text-align: right;
    margin: 22px 0 0 auto;
    width: 255px;
    height: auto;
    font-size: 9px;
    line-height: 1.6;
    letter-spacing: 0.145em;
    right: 0;
    top: 0;
    position: relative;
  }

  #header .group-btn-tel.style-white {
    color: #fff;
  }

  #header .group-btn-tel.style-white h1 {
    color: rgba(255, 255, 255, 0.6);
  }

  #header .logo {
    padding: 40px 0 0;
    width: 179px;
  }
}

#footer {
  background: #605851;
  color: #fff;
  padding: 19.73vw 0 125px;
}

#footer .logo {
  width: 160px;
  margin: 0 auto;
}

#footer .name {
  text-align: center;
  margin: 25px 0 40px;
  font-size: 13px;
  line-height: 2;
  letter-spacing: 0.09em;
}

#footer .group-tel-btn .tel {
  line-height: 1;
  text-align: center;
  margin: 0 0 20px;
}

#footer .group-tel-btn .tel .sub-tel {
  display: block;
  font-size: 12px;
  margin: 0 0 7px;
  letter-spacing: 0.1em;
}

#footer .group-tel-btn .tel span {
  display: block;
  font-size: 26.5px;
  letter-spacing: 0.08em;
}

#footer .group-tel-btn .tel span small {
  font-size: 17px;
}

#footer .group-tel-btn .btn-web {
  margin: 0 auto;
}

#footer .group-nav .insta {
  width: 31.5px;
  margin: 26px auto 0;
}

#footer .group-nav .insta a {
  display: block;
  line-height: 0;
}

#footer .info {
  margin: 50px 0 0;
}

@media screen and (max-width: 767px) {
  #footer .info dl {
    line-height: 2;
    display: flex;
  }

  #footer .info dl+dl {
    margin-top: 12px;
  }

  #footer .info dl dt {
    width: 115px;
  }

  #footer .info dl dd {
    width: calc(100% - 115px);
  }
}

#footer .row {
  margin: 45px 0 0;
  text-align: center;
}

#footer .row .btn-copy {
  margin-top: 15px;
  font-size: 12px;
  line-height: 1.2;
}

#footer .row .btn-copy a {
  text-decoration: none;
  display: inline-flex;
  letter-spacing: 0.2em;
  align-items: center;
}

#footer .row .btn-copy a::before {
  content: "";
  background: url("../img/shared/icon_url.png") no-repeat center/100% auto;
  width: 12px;
  height: 12px;
  margin-right: 5px;
}

#footer .row .btn-copy a.copied {
  cursor: context-menu;
}

#footer .row2 {
  margin: 25px 0 0;
  text-align: center;
  font-size: 10.5px;
  line-height: 1.5;
  color: #ccc8c4;
}

#footer .row2 address {
  letter-spacing: 0.16em;
}

#footer .row2 .cookies-link {
  margin-top: 5px;
  letter-spacing: 0.14em;
}

#footer .row2 .cookies-link a {
  text-decoration: underline;
}

#footer .pagetop {
  font-size: 17.5px;
  line-height: 1.5;
  letter-spacing: 0.1em;
  cursor: pointer;
  text-align: center;
  padding-top: 12px;
  margin-top: 30px;
  background: url("../img/shared/icon_pagetop.png") no-repeat top center/9px auto;
}

@media screen and (min-width: 768px) {
  #footer {
    padding: 114px 0 107px;
  }

  #footer .wrap {
    width: 1230px;
  }

  #footer .inner {
    max-width: 100%;
    margin: 0 0 0 auto;
    width: 1200px;
    position: relative;
  }
}

@media screen and (min-width: 768px) and (max-width: 1450px) {
  #footer .inner {
    width: calc(100% - 100px);
    margin-left: 0;
  }
}

@media screen and (min-width: 768px) {
  #footer .logo {
    width: auto;
    margin: 0;
  }

  #footer .name {
    text-align: left;
    margin: 53px 0 0;
    font-size: 16px;
    line-height: 1.5;
  }

  #footer .group-tel-btn {
    position: absolute;
    left: 198px;
    top: 15px;
    display: flex;
    align-items: flex-end;
  }

  #footer .group-tel-btn .tel {
    text-align: left;
    margin: 0 18px 0 0;
  }

  #footer .group-tel-btn .tel .sub-tel {
    font-size: 14px;
    margin: 0 0 7px;
  }

  #footer .group-tel-btn .tel span {
    font-size: 28px;
  }

  #footer .group-tel-btn .tel span small {
    font-size: 18px;
  }

  #footer .group-tel-btn .btn-web {
    width: 185px;
    margin: 0;
  }

  #footer .group-tel-btn .btn-web a {
    font-size: 14.5px;
    padding: 5px 0;
  }

  #footer .group-nav {
    position: absolute;
    right: 0;
    top: 147px;
    width: 255px;
  }

  #footer .group-nav .nav {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    font-size: 20px;
    line-height: 2;
    height: 200px;
    letter-spacing: 0.1em;
  }

  #footer .group-nav .nav li {
    margin-left: 30px;
  }

  #footer .group-nav .nav li a {
    display: inline-block;
    text-decoration: none;
    padding: 0 0 0 10px;
    position: relative;
  }

  #footer .group-nav .nav li a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #fff;
    opacity: 0;
  }

  #footer .group-nav .nav li a.active::before {
    opacity: 1;
  }
}

@media screen and (min-width: 768px) and (hover: hover) {
  #footer .group-nav .nav li a:hover::before {
    opacity: 1;
  }
}

@media screen and (min-width: 768px) {
  #footer .group-nav .insta {
    width: 35px;
    margin: 20px 0 0 42px;
  }

  #footer .info {
    margin: 17px 0 0 1px;
  }

  #footer .info dl:not(.address) {
    display: flex;
    font-size: 13.5px;
    line-height: 25px;
    letter-spacing: 0.08em;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  #footer .info dl:not(.address) {
    letter-spacing: 0.05em;
  }
}

@media screen and (min-width: 768px) {
  #footer .info dl:not(.address) dt {
    width: 80px;
  }

  #footer .info dl:not(.address)+dl {
    margin-top: 14px;
  }

  #footer .info dl.address {
    margin: 0 0 49px;
    line-height: 1.4;
    letter-spacing: 0.12em;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  #footer .info dl.address {
    letter-spacing: 0.05em;
  }
}

@media screen and (min-width: 768px) {
  #footer .info dl.address a {
    display: inline-flex;
    margin-left: 10px;
    padding-left: 14px;
    border-left: 1px solid;
    font-size: 14px;
    letter-spacing: 0.2em;
    align-items: center;
    line-height: 17px;
  }

  #footer .info dl.address a img {
    width: 10px;
    margin-right: 5px;
  }

  #footer .row {
    margin: 75px 0 0;
    display: flex;
    align-items: center;
  }

  #footer .row .btn-copy {
    margin-top: 0;
    margin-left: 15px;
    font-size: 13.5px;
  }
}

@media screen and (min-width: 768px) and (hover: hover) {
  #footer .row .btn-copy a:hover:not(.copied) {
    text-decoration: underline;
  }
}

@media screen and (min-width: 768px) {
  #footer .row2 {
    margin: 20px 0 0;
    font-size: 12px;
    text-align: left;
  }

  #footer .row2 address {
    display: inline-block;
  }

  #footer .row2 .cookies-link {
    display: inline-block;
    margin-left: 10px;
    margin-top: 0;
  }
}

@media screen and (min-width: 768px) and (hover: hover) {
  #footer .row2 .cookies-link a:hover {
    text-decoration: none;
  }
}

@media screen and (min-width: 768px) {
  #footer .pagetop {
    font-size: 20px;
    line-height: 1.5;
    position: absolute;
    letter-spacing: 0.1em;
    cursor: pointer;
    right: 15px;
    top: 440px;
    padding-left: 18px;
    padding-top: 0;
    margin-top: 0;
    background: url("../img/shared/icon_pagetop.png") no-repeat left top 15px/10px auto;
  }
}

@media screen and (min-width: 768px) and (hover: hover) {
  #footer .pagetop:hover {
    opacity: 0.8;
  }
}

.btn-link {
  max-width: 100%;
  width: 260px;
}

.btn-link a {
  display: block;
  text-decoration: none;
  text-align: center;
}

.btn-link a .text-en {
  color: var(--cl-main2);
  display: block;
  font-size: 19px;
  line-height: 1.5;
  letter-spacing: 0.1em;
}

.btn-link a .btn-line {
  margin: 12px 0 0;
  height: 1px;
  width: 100%;
  display: block;
  position: relative;
}

.btn-link a .btn-line::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  transition: all 0.5s;
  transform-origin: center;
  background: rgba(45, 45, 45, 0.75);
}

.btn-link a .btn-line::after {
  content: "";
  position: absolute;
  width: 5.5px;
  height: 9px;
  background: url("../img/shared/arrow.png") no-repeat center right/100% auto;
  right: -9px;
  top: 49%;
  transform: translateY(-50%);
}

.btn-link a .text-jp {
  font-size: 11px;
  line-height: 1.5;
  display: block;
  margin: 18px 0 0;
  color: #3e3c39;
  letter-spacing: 0.1em;
}

.btn-link.style-white a .text-en,
.btn-link.style-white a .text-jp {
  color: #fff;
}

.btn-link.style-white a .btn-line::before {
  background: rgba(255, 255, 255, 0.75);
}

.btn-link.style-white a .btn-line:after {
  background-image: url("../img/shared/arrow_wh.png");
  opacity: 0.75;
}

@media screen and (min-width: 768px) {
  .btn-link {
    width: 297px;
  }

  .btn-link a .text-en {
    font-size: 24px;
  }

  .btn-link a .btn-line::after {
    width: 7px;
    height: 10px;
    right: -12px;
  }

  .btn-link a .text-jp {
    font-size: 14px;
  }
}

@media screen and (min-width: 768px) and (hover: hover) {
  .btn-link a:hover .btn-line::before {
    left: 50%;
    right: 50%;
  }
}

.remodal-faq {
  background: #fff;
  width: calc(100% - 8vw);
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .remodal-faq {
    max-width: calc(100% - 60px);
    width: 1000px;
  }
}

.popup-faq {
  padding: 15px 0 64px;
}

.popup-faq .remodal-close {
  width: 42px;
  margin-right: 11px;
  margin-bottom: 0;
}

.popup-faq h2 {
  font-size: 30px;
  line-height: 1.4;
  color: #4c4944;
  letter-spacing: 0.1em;
  margin: 0 0 30px;
}

.popup-faq>dl {
  margin: 0 4vw;
  text-align: left;
  padding: 0 0 15px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.5);
}

.popup-faq>dl+dl {
  margin-top: 20px;
}

.popup-faq>dl dt {
  display: flex;
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: 0.05em;
  align-items: baseline;
}

.popup-faq>dl dt span {
  font-size: 22px;
  color: #4c4944;
  margin-right: 5px;
}

.popup-faq>dl dd {
  margin: 10px 0 0 25px;
  display: flex;
  line-height: 2;
  align-items: baseline;
  text-align: justify;
}

.popup-faq>dl dd span {
  font-size: 17.5px;
  color: #4c4944;
  margin-right: 6px;
}

.popup-faq .btn-link {
  margin: 50px auto 0;
}

@media screen and (min-width: 768px) {
  .popup-faq {
    padding: 25px 0 64px;
  }

  .popup-faq .remodal-close {
    width: 47px;
    margin-right: 28px;
    margin-bottom: 10px;
  }

  .popup-faq h2 {
    font-size: 35px;
    margin: 0 0 65px;
  }

  .popup-faq>dl {
    width: 892px;
    max-width: calc(100% - 60px);
    margin: 0 auto;
    padding: 0 0 22px;
  }

  .popup-faq>dl+dl {
    margin-top: 25px;
  }

  .popup-faq>dl dt {
    font-size: 17px;
    line-height: 1.5;
    letter-spacing: 0.1em;
  }

  .popup-faq>dl dt span {
    font-size: 25px;
  }

  .popup-faq>dl dd {
    margin: 20px 0 0 36px;
    text-align: left;
  }

  .popup-faq>dl dd span {
    font-size: 20px;
  }

  .popup-faq .btn-link {
    margin: 70px auto 0;
  }
}

.fs24 {
  font-size: 5.6vw;
}

@media screen and (min-width: 768px) {
  .fs24 {
    font-size: 24px;
  }
}

.fs17 {
  font-size: 4vw;
}

@media screen and (min-width: 768px) {
  .fs17 {
    font-size: 17px;
  }
}

.slick-dots {
  bottom: auto;
  right: 0;
  width: 100%;
  position: relative;
  display: flex;
  justify-content: center;
  left: 0;
  top: auto;
  margin: 8vw 0 0;
}

.slick-dots li {
  border-radius: 0;
  margin: 0 4.5px;
  width: 39px;
  height: 5px;
  display: flex;
  align-items: flex-end;
  background: transparent;
  opacity: 1;
}

.slick-dots li::before {
  content: "";
  height: 1px;
  display: block;
  width: 100%;
  background: #433e3b;
  opacity: 0.2;
}

.slick-dots li.slick-active {
  background: transparent;
}

.slick-dots li.slick-active::before {
  opacity: 1;
}

@media screen and (min-width: 768px) {
  .slick-dots {
    bottom: 101px;
    width: 50%;
    position: absolute;
    left: auto;
    top: auto;
    margin: 0;
    background: transparent;
  }
}

@media screen and (min-width: 768px) and (hover: hover) {
  .slick-dots li:hover {
    background: transparent;
  }

  .slick-dots li:hover::before {
    opacity: 1;
  }
}