body {
  overflow: clip;
  min-width: 960px;
}

html {
  scroll-behavior: smooth;
}

.lp {
  width: 100%;
  background: #fff;
  overflow-x: clip;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  color: #1a1a1a;
  font-size: max(1.25vw, 12px);
  line-height: 1.75;
}
.lp :where(h1, h2, h3, h4, h5, p, ul, ol, dl, dt, dd, figure, blockquote) {
  margin: 0;
  padding: 0;
}
.lp :where(ul, ol) {
  list-style: none;
}
.lp a {
  text-decoration: none;
  color: inherit;
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .lp a:hover {
    opacity: 0.6;
  }
}
.lp a:focus-visible {
  outline: 3px solid #ff8a00;
  outline-offset: 2px;
}
.lp button {
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .lp button:hover {
    opacity: 0.6;
  }
}

:where(.lp) img {
  display: block;
  width: 100%;
  height: auto;
}

.band {
  background: #eef1f4;
}
.band > a {
  display: block;
}
.band--service {
  background: #fff;
  padding-top: max(3.35938vw, 32.25px);
}
.band--white {
  background: #fff;
}
.band--gray {
  background: #e6ebef;
}

.lp__band {
  display: block;
  width: clamp(960px, 100vw, 1280px);
  margin-inline: auto;
}
.lp__band--full {
  width: 100%;
  max-width: none;
}

.lp__ttl {
  display: block;
  margin-inline: auto;
  width: auto;
}

.lp__logo {
  display: block;
  width: max(37.5vw, 360px);
  margin: max(4.6875vw, 45px) auto;
}

.lp .swiper-button-prev,
.lp .swiper-button-next {
  top: 50%;
  width: max(3.20313vw, 30.75px);
  height: max(3.90625vw, 37.5px);
  margin-top: 0;
  transform: translateY(-50%);
  background: center/contain no-repeat;
  transition: opacity 0.3s;
}
.lp .swiper-button-prev::after,
.lp .swiper-button-next::after {
  content: none;
}
@media (hover: hover) {
  .lp .swiper-button-prev:hover,
  .lp .swiper-button-next:hover {
    opacity: 0.6;
  }
}
.lp .swiper-button-prev {
  left: 0;
  background-image: url("images/prev.webp");
}
.lp .swiper-button-next {
  right: 0;
  background-image: url("images/next.webp");
}
.lp .swiper-pagination {
  position: static;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: max(1.09375vw, 10.5px);
}
.lp .swiper-pagination .swiper-pagination-bullet {
  width: max(0.78125vw, 7.5px);
  height: max(0.78125vw, 7.5px);
  margin: 0;
  background: #b8bcc0;
  opacity: 1;
  transition: all 0.3s ease;
}
.lp .swiper-pagination .swiper-pagination-bullet-active {
  background: #111;
}
@media (hover: hover) {
  .lp .swiper-pagination .swiper-pagination-bullet:hover:not(.swiper-pagination-bullet-active) {
    background: #8d9298;
  }
}

.mens .lp-header,
.lp-header {
  height: auto;
  background: #fff;
}
.mens .lp-header__inner,
.lp-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: max(6.64063vw, 63.75px);
  padding: 0 max(2.34375vw, 22.5px);
}
.mens .lp-header__logo,
.lp-header__logo {
  position: static;
  margin: 0;
  font-size: inherit;
}
.mens .lp-header__logo a,
.lp-header__logo a {
  width: auto;
  height: auto;
  overflow: visible;
  text-indent: 0;
  background: none;
}
.mens .lp-header__logo img,
.lp-header__logo img {
  width: max(19.53125vw, 187.5px);
}
.mens .lp-header__tel img,
.lp-header__tel img {
  width: max(24.375vw, 234px);
}
.mens .lp-header a,
.lp-header a {
  display: block;
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .mens .lp-header a:hover,
  .lp-header a:hover {
    opacity: 0.6;
  }
}

.mv {
  position: relative;
  background: #fff;
}

.mv__pager {
  display: flex;
  align-items: center;
  justify-content: center;
  height: max(4.375vw, 42px);
  background: #fff;
}

.bnr-lx {
  padding: 0 0 max(1.95313vw, 18.75px);
  background: #fff;
  text-align: center;
}
.bnr-lx img {
  width: max(49.29688vw, 473.25px);
  margin-inline: auto;
}
.bnr-lx a {
  display: block;
  width: fit-content;
  margin-inline: auto;
  transition: opacity 0.3s;
}

.lp .nav {
  position: static;
  top: auto;
  left: auto;
  padding: max(2.65625vw, 25.5px) 0 max(2.03125vw, 19.5px);
  margin-bottom: max(1.5625vw, 15px);
  background: #dee3e7;
}

.nav__list {
  display: grid;
  grid-template-columns: repeat(3, max(24.21875vw, 232.5px));
  gap: 0 max(0.78125vw, 7.5px);
  justify-content: center;
}

.nav__list > li:nth-child(n+4) {
  margin-top: min(-0.70313vw, -6.75px);
}

.nav__link {
  display: block;
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .nav__link:hover {
    opacity: 0.6;
  }
}

.asari__body {
  padding-top: max(5.54688vw, 53.25px);
  background: url("images/bg-asari.webp") center top/100% 100% no-repeat, #fff;
}

.asari__cap {
  width: max(34.45313vw, 330.75px);
}

.movie {
  padding: max(1.09375vw, 10.5px) 0 max(7.8125vw, 75px);
}

.movie__btn {
  position: relative;
  display: block;
  width: max(54.6875vw, 525px);
  margin-inline: auto;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  transition: opacity 0.3s ease;
}
@media (hover: hover) {
  .movie__btn:hover {
    opacity: 0.6;
  }
}
.movie__btn::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: max(6.25vw, 60px);
  height: max(6.25vw, 60px);
  transform: translate(-50%, -50%);
  background: url("images/ic-play.webp") center/contain no-repeat;
  transition: transform 0.3s ease;
  pointer-events: none;
}
@media (hover: hover) {
  .movie__btn:hover::after {
    transform: translate(-50%, -50%) scale(1.1);
  }
}

.cv {
  padding: max(3.67188vw, 35.25px) 0 max(4.6875vw, 45px);
  background: url("images/cv-bg.webp") center top/100% 100% no-repeat, #0e1a80;
  color: #fff;
  text-align: center;
}
.cv__limit, .cv__price, .cv__counseling, .cv__tel {
  display: block;
  margin-inline: auto;
}
.cv__limit {
  width: max(39.53125vw, 379.5px);
}
.cv__price {
  width: max(67.42188vw, 647.25px);
  margin-top: min(-0.39063vw, -3.75px);
}
.cv__counseling {
  width: max(39.84375vw, 382.5px);
  margin-top: min(-0.625vw, -6px);
}
.cv__tel {
  width: max(48.98438vw, 470.25px);
  margin-top: max(2.34375vw, 22.5px);
}
.cv__line {
  width: max(61.71875vw, 592.5px);
  height: 1px;
  margin: max(2.65625vw, 25.5px) auto 0;
  border: 0;
  background: #fff;
}
.cv__note {
  width: max(61.71875vw, 592.5px);
  margin-inline: auto;
  margin-top: max(2.34375vw, 22.5px);
  letter-spacing: -0.02em;
  text-align: justify;
  font-size: max(1.09375vw, 10.5px);
  line-height: 1.643;
}
.cv a {
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .cv a:hover {
    opacity: 0.6;
  }
}

.cv-final {
  padding: max(4.29688vw, 41.25px) 0 max(4.6875vw, 45px);
  background: url("images/cvf-bg.webp") center top/100% 100% no-repeat, #0e1a80;
  color: #fff;
  text-align: center;
}
.cv-final__limit, .cv-final__price, .cv-final__counseling, .cv-final__tel {
  display: block;
  margin-inline: auto;
}
.cv-final__limit {
  width: max(39.53125vw, 379.5px);
}
.cv-final__price {
  width: max(61.32813vw, 588.75px);
  margin-top: max(0.70313vw, 6.75px);
}
.cv-final__counseling {
  width: max(39.84375vw, 382.5px);
  margin-top: max(2.73438vw, 26.25px);
}
.cv-final__tel {
  width: max(48.98438vw, 470.25px);
  margin-top: max(2.34375vw, 22.5px);
}
.cv-final__line {
  width: max(61.71875vw, 592.5px);
  height: 1px;
  margin: max(2.65625vw, 25.5px) auto 0;
  border: 0;
  background: #fff;
}
.cv-final__note {
  width: max(61.71875vw, 592.5px);
  margin-inline: auto;
  margin-top: max(2.34375vw, 22.5px);
  letter-spacing: -0.02em;
  text-align: justify;
  font-size: max(1.09375vw, 10.5px);
  line-height: 1.643;
}
.cv-final a {
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .cv-final a:hover {
    opacity: 0.6;
  }
}

.tokucho {
  padding-bottom: clamp(81px, 8.4375vw, 108px);
  background: url("images/bg-tokucho-lead.webp") center top/100% auto no-repeat, #d2dbe2;
}
.tokucho__lead {
  display: block;
  width: clamp(960px, 100vw, 1280px);
  margin-inline: auto;
}
.tokucho__block {
  width: clamp(855px, 89.0625vw, 1140px);
  margin-inline: auto;
}
.tokucho__block + .tokucho__block {
  margin-top: clamp(60px, 6.25vw, 80px);
}
.tokucho__banner, .tokucho__card {
  display: block;
  width: 100%;
}
.tokucho__card-wrap {
  position: relative;
}
.tokucho__movie {
  position: absolute;
  overflow: hidden;
}
.tokucho__movie--01 {
  left: clamp(126px, 13.125vw, 168px);
  top: clamp(84px, 8.75vw, 112px);
  width: clamp(601.5px, 62.65625vw, 802px);
  aspect-ratio: 800/425;
}
.tokucho__movie--03 {
  left: clamp(127.5px, 13.28125vw, 170px);
  top: clamp(79.5px, 8.28125vw, 106px);
  width: clamp(600.75px, 62.57813vw, 801px);
  aspect-ratio: 801/462;
}
.tokucho__movie--03 .tokucho__movie-video {
  width: 115.1079136691%;
  height: auto;
  aspect-ratio: 16/9;
}
.tokucho__movie-video {
  position: absolute;
  left: 50%;
  top: 50%;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translate(-50%, -50%);
}

.gijutsu {
  padding-top: max(9.60938vw, 92.25px);
  background: url("images/bg-gijutsu.webp") center top/100% 100% no-repeat, #e9ecef;
}
.gijutsu__tech {
  display: block;
  width: clamp(525px, 54.6875vw, 700px);
  margin-inline: auto;
}
.gijutsu__band {
  display: block;
  margin-top: max(7.26563vw, 69.75px);
  width: clamp(960px, 100vw, 1280px);
  margin-inline: auto;
}

.voice-area {
  position: relative;
  isolation: isolate;
  background: #e6ebef;
  padding-bottom: 0;
}
.voice-area::before, .voice-area::after {
  content: "";
  position: absolute;
  left: 0;
  z-index: -1;
  width: 100%;
  background: center/100% 100% no-repeat;
  pointer-events: none;
}
.voice-area::before {
  top: 0;
  aspect-ratio: 2560/1720;
  background-image: url("images/nayami-top.webp");
}
.voice-area::after {
  bottom: 0;
  aspect-ratio: 2560/1374;
  background-image: url("images/nayami-btm.webp");
}

.nayami {
  padding: clamp(67.5px, 7.03125vw, 90px) 0 clamp(52.5px, 5.46875vw, 70px);
  text-align: center;
}
.nayami__ttl {
  display: block;
  width: clamp(397.5px, 41.40625vw, 530px);
  margin-inline: auto;
}
.nayami__btns {
  display: flex;
  justify-content: center;
  gap: clamp(13.5px, 1.40625vw, 18px);
  margin-top: clamp(27px, 2.8125vw, 36px);
}
.nayami__btn {
  display: block;
  width: clamp(213.75px, 22.26563vw, 285px);
  transition: opacity 0.3s;
}
.nayami__lead {
  width: clamp(336.75px, 35.07813vw, 449px);
  margin-top: clamp(60px, 6.25vw, 80px);
}
.nayami__label {
  width: clamp(336.75px, 35.07813vw, 449px);
  margin-top: clamp(22.5px, 2.34375vw, 30px);
}

.case + .case {
  padding-top: clamp(60px, 6.25vw, 80px);
}
.case__card {
  position: relative;
  width: clamp(675px, 70.3125vw, 900px);
  margin-inline: auto;
}
.case__card > img {
  display: block;
  width: 100%;
}
.case__carousel {
  position: absolute;
  left: 0;
  top: clamp(348.75px, 36.32813vw, 465px);
  width: 100%;
}
.case__carousel .swiper {
  width: 100%;
  overflow: hidden;
}
.case__carousel .swiper-slide {
  width: clamp(525px, 54.6875vw, 700px);
}
.case__carousel .swiper-button-prev,
.case__carousel .swiper-button-next {
  width: clamp(30.75px, 3.20313vw, 41px);
  height: clamp(37.5px, 3.90625vw, 50px);
}
.case__carousel .swiper-button-prev {
  left: 0;
}
.case__carousel .swiper-button-next {
  right: 0;
}
.case__pager {
  display: flex;
  align-items: center;
  justify-content: center;
  height: clamp(7.5px, 0.78125vw, 10px);
  margin-top: clamp(16.5px, 1.71875vw, 22px);
}
.case__pager .swiper-pagination {
  gap: clamp(10.5px, 1.09375vw, 14px);
}
.case__pager .swiper-pagination-bullet {
  width: clamp(7.5px, 0.78125vw, 10px);
  height: clamp(7.5px, 0.78125vw, 10px);
}
.case__shots {
  position: absolute;
  left: 0;
  top: clamp(40.5px, 4.21875vw, 54px);
  width: 100%;
}
.case__rei {
  width: clamp(525px, 54.6875vw, 700px);
  margin: 0 auto clamp(5.25px, 0.54688vw, 7px);
  text-align: left;
  font-weight: 700;
  line-height: 1;
  font-size: clamp(13.5px, 1.40625vw, 18px);
}
.case__zoom {
  position: relative;
  display: block;
  width: clamp(525px, 54.6875vw, 700px);
  height: clamp(337.5px, 35.15625vw, 450px);
  margin: 0 auto;
  padding: 0;
  border: 0;
  background: none;
  cursor: zoom-in;
  transition: opacity 0.3s ease;
}
@media (hover: hover) {
  .case__zoom:hover {
    opacity: 0.6;
  }
}
.case__main {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.case__zoom::before {
  content: "";
  position: absolute;
  left: clamp(12px, 1.25vw, 16px);
  top: clamp(10.5px, 1.09375vw, 14px);
  width: clamp(22.5px, 2.34375vw, 30px);
  height: clamp(22.5px, 2.34375vw, 30px);
  background: url("images/zoom.webp") 0 0/contain no-repeat;
}
.case__count {
  position: absolute;
  right: clamp(16.5px, 1.71875vw, 22px);
  top: clamp(12px, 1.25vw, 16px);
  color: #222;
  line-height: 1;
  font-size: clamp(18px, 1.875vw, 24px);
}
.case__thumbs {
  display: grid;
  grid-template-columns: repeat(3, clamp(120px, 12.5vw, 160px));
  gap: clamp(11.25px, 1.17188vw, 15px);
  justify-content: center;
  margin-top: clamp(15px, 1.5625vw, 20px);
}
.case__thumb {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  transition: opacity 0.3s ease;
}
@media (hover: hover) {
  .case__thumb:hover {
    opacity: 0.6;
  }
}
.case__thumb[aria-current=true]::after {
  content: "";
  position: absolute;
  inset: 0;
  border: clamp(3px, 0.3125vw, 4px) solid #a68940;
  pointer-events: none;
}
.case__label {
  display: block;
  margin-top: clamp(6px, 0.625vw, 8px);
  color: #222;
  text-align: center;
  line-height: 1;
  font-size: clamp(12px, 1.25vw, 16px);
}

.faq-sec {
  padding: clamp(90.75px, 9.45313vw, 121px) 0 clamp(60px, 6.25vw, 80px);
  background: #e6ebef;
}

.faq__ttl {
  display: block;
  width: clamp(411px, 42.8125vw, 548px);
  margin: 0 auto clamp(29.25px, 3.04688vw, 39px);
}

.faq {
  width: clamp(675px, 70.3125vw, 900px);
  margin-inline: auto;
}
.faq__item {
  margin-bottom: clamp(30px, 3.125vw, 40px);
  background: #fff;
  box-shadow: 0 clamp(2.25px, 0.23438vw, 3px) clamp(7.5px, 0.78125vw, 10px) rgba(0, 0, 0, 0.08);
}
.faq__q {
  display: flex;
  align-items: center;
  gap: clamp(10.5px, 1.09375vw, 14px);
  padding: clamp(15px, 1.5625vw, 20px) clamp(22.5px, 2.34375vw, 30px);
  background: #000;
  color: #fff;
  font-weight: 700;
  cursor: pointer;
  list-style: none;
  font-size: clamp(15px, 1.5625vw, 20px);
  line-height: 1.55;
}
.faq__q::-webkit-details-marker {
  display: none;
}
.faq__q::before {
  content: "Q.";
  flex: 0 0 auto;
  font-size: clamp(16.5px, 1.71875vw, 22px);
}
.faq__q::after {
  content: "";
  flex: 0 0 auto;
  margin-left: auto;
  width: clamp(10.5px, 1.09375vw, 14px);
  height: clamp(10.5px, 1.09375vw, 14px);
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(45deg) translateY(clamp(-4px, -0.3125vw, -3px));
  transition: transform 0.2s;
}
.faq__item[open] .faq__q::after {
  transform: rotate(-135deg) translateY(clamp(-4px, -0.3125vw, -3px));
}
.faq__a {
  display: flex;
  gap: clamp(10.5px, 1.09375vw, 14px);
  padding: clamp(19.5px, 2.03125vw, 26px) clamp(22.5px, 2.34375vw, 30px);
  font-size: clamp(13.5px, 1.40625vw, 18px);
  line-height: 1.722;
}
.faq__a::before {
  content: "A.";
  flex: 0 0 auto;
  font-weight: 700;
  font-size: clamp(16.5px, 1.71875vw, 22px);
}
.faq__points {
  margin: clamp(22.5px, 2.34375vw, 30px) 0 0;
  padding-top: clamp(19.5px, 2.03125vw, 26px);
  border-top: 1px solid #d5d5d5;
}
.faq__points dt {
  font-weight: 700;
}
.faq__points dd {
  margin: 0 0 clamp(18px, 1.875vw, 24px);
}

.soudan {
  padding-top: max(1.64063vw, 15.75px);
  background: url("images/bg-soudan.webp") center top/100% auto no-repeat, #eef1f4;
}
.soudan > img {
  display: block;
  width: clamp(783.75px, 81.64063vw, 1045px);
  margin-inline: auto;
}

.steps {
  position: relative;
}

.steps__bgs {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.steps__bgview {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow: hidden;
}

.steps__bg {
  position: absolute;
  inset: 0;
  background: center/cover no-repeat;
  opacity: 0;
  transition: opacity 0.5s ease;
}
.steps__bg.is-show {
  opacity: 1;
}
.steps__bg:nth-child(1) {
  background-image: url("images/step-bg-01.webp");
}
.steps__bg:nth-child(2) {
  background-image: url("images/step-bg-02.webp");
}
.steps__bg:nth-child(3) {
  background-image: url("images/step-bg-03.webp");
}
.steps__bg:nth-child(4) {
  background-image: url("images/step-bg-04.webp");
}
.steps__bg:nth-child(5) {
  background-image: url("images/step-bg-05.webp");
}

.step {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  height: clamp(612px, 63.75vw, 816px);
}
.step__card {
  position: relative;
  width: clamp(675px, 70.3125vw, 900px);
}
.step__body {
  display: block;
  width: 100%;
}
.step__tel, .step__web {
  position: absolute;
  top: clamp(293.25px, 30.54688vw, 391px);
  width: clamp(300px, 31.25vw, 400px);
  transition: opacity 0.3s ease;
}
@media (hover: hover) {
  .step__web:hover {
    opacity: 0.6;
  }
}
.step__tel {
  left: clamp(28.5px, 2.96875vw, 38px);
}
.step__web {
  left: clamp(346.5px, 36.09375vw, 462px);
  top: clamp(292.5px, 30.46875vw, 390px);
}

.steps__navwrap {
  position: absolute;
  top: 0;
  bottom: 0;
  right: calc(50% - clamp(960px, 100vw, 1280px) / 2 + clamp(37.5px, 3.90625vw, 50px));
  z-index: 2;
  width: clamp(33px, 3.4375vw, 44px);
  pointer-events: none;
}

.steps__nav {
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100vh;
  gap: clamp(7.5px, 0.78125vw, 10px);
  pointer-events: auto;
}
.steps__nav__btn {
  width: clamp(27px, 2.8125vw, 36px);
  height: clamp(27px, 2.8125vw, 36px);
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.35);
  cursor: pointer;
  transition: background-color 0.3s;
}
.steps__nav__btn::before {
  content: "";
  display: block;
  width: clamp(7.5px, 0.78125vw, 10px);
  height: clamp(7.5px, 0.78125vw, 10px);
  margin: 0 auto;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
.steps__nav__btn--up::before {
  transform: translateY(clamp(2.25px, 0.23438vw, 3px)) rotate(-45deg);
}
.steps__nav__btn--down::before {
  transform: translateY(clamp(-3px, -0.23438vw, -2.25px)) rotate(135deg);
}
@media (hover: hover) {
  .steps__nav__btn:hover {
    background: rgba(0, 0, 0, 0.6);
  }
}
.steps__nav__dots {
  display: flex;
  flex-direction: column;
  gap: clamp(7.5px, 0.78125vw, 10px);
  padding: clamp(4.5px, 0.46875vw, 6px) 0;
}
.steps__nav__dot {
  width: clamp(4.5px, 0.46875vw, 6px);
  height: clamp(4.5px, 0.46875vw, 6px);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.6);
  transition: background-color 0.3s, transform 0.3s;
}
.steps__nav__dot.is-current {
  background: #fff;
  transform: scale(1.6);
}

.voice {
  padding: clamp(67.5px, 7.03125vw, 90px) 0 0;
  background: #e6ebef;
}
.voice__ttl {
  display: block;
  width: clamp(421.5px, 43.90625vw, 562px);
  margin: 0 auto clamp(30px, 3.125vw, 40px);
}
.voice__list {
  display: grid;
  grid-template-columns: repeat(2, clamp(326.25px, 33.98438vw, 435px));
  gap: clamp(22.5px, 2.34375vw, 30px) clamp(30px, 3.125vw, 40px);
  justify-content: center;
}
.voice__item {
  display: block;
  width: 100%;
}

.anshin {
  padding: clamp(52.5px, 5.46875vw, 70px) 0 clamp(73.5px, 7.65625vw, 98px);
  background: #e6ebef;
}
.anshin img {
  display: block;
  width: clamp(601.5px, 62.65625vw, 802px);
  margin-inline: auto;
}

.salon > img {
  display: block;
  width: 100%;
}
.salon__anniv {
  position: relative;
}
.salon__anniv > img {
  display: block;
  width: 100%;
}
.salon__note {
  position: absolute;
  left: 50%;
  top: max(60.15625vw, 577.5px);
  width: max(70.3125vw, 675px);
  transform: translateX(-50%);
  letter-spacing: 0;
  text-align: justify;
  font-size: max(0.9375vw, 9px);
  line-height: 1.667;
}
.salon__map {
  position: relative;
}
.salon__map > img {
  display: block;
  width: 100%;
}
.salon__map > .salon__anywhere {
  position: absolute;
  left: 50%;
  bottom: 0;
  width: clamp(960px, 100vw, 1280px);
  transform: translateX(-50%);
}
.salon__head {
  position: absolute;
  left: max(14.84375vw, 142.5px);
  top: max(7.8125vw, 75px);
  width: max(32.8125vw, 315px);
}
.salon__ttl {
  font-weight: 500;
  font-family: "Shippori Antique", sans-serif;
  font-size: max(3.28125vw, 31.5px);
  line-height: 1;
}
.salon__count {
  font-family: "Shippori Antique", sans-serif;
  display: inline-block;
  margin-top: max(1.71875vw, 16.5px);
  padding: max(0.46875vw, 4.5px) max(1.25vw, 12px);
  background: #000;
  color: #fff;
  font-weight: 500;
  font-size: max(2.25vw, 21.6px);
  line-height: 1.3;
}
.salon__date {
  margin-top: max(0.9375vw, 9px);
  font-size: max(1.09375vw, 10.5px);
  line-height: 1;
}
.salon__lead {
  margin-top: max(1.875vw, 18px);
  font-size: max(1.17188vw, 11.25px);
  line-height: 1.733;
}
.salon__area {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: max(0.46875vw, 4.5px);
  height: max(3.125vw, 30px);
  padding: 0 max(1.09375vw, 10.5px);
  background: #fff;
  border: 1px solid #a68940;
  color: #222;
  white-space: nowrap;
  font-weight: 500;
  font-size: max(1.09375vw, 10.5px);
  transition: background-color 0.3s ease, color 0.3s ease;
}
.salon__area::after {
  content: "";
  width: max(0.46875vw, 4.5px);
  height: max(0.46875vw, 4.5px);
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: rotate(45deg);
}
@media (hover: hover) {
  .salon__area:hover {
    background: #a68940;
    color: #fff;
    opacity: 1;
  }
}
.salon__area--hokkaido {
  left: max(74.60938vw, 716.25px);
  top: max(13.28125vw, 127.5px);
}
.salon__area--tyubu {
  left: max(52.96875vw, 508.5px);
  top: max(16.64063vw, 159.75px);
}
.salon__area--tohoku {
  left: max(72.26563vw, 693.75px);
  top: max(20.15625vw, 193.5px);
}
.salon__area--chugoku {
  left: max(44.53125vw, 427.5px);
  top: max(22.5vw, 216px);
}
.salon__area--kanto {
  left: max(68.35938vw, 656.25px);
  top: max(28.90625vw, 277.5px);
}
.salon__area--kinki {
  left: max(58.75vw, 564px);
  top: max(34.76563vw, 333.75px);
}
.salon__area--kyushu {
  left: max(34.14063vw, 327.75px);
  top: max(33.4375vw, 321px);
}

.fixbar {
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 60;
  width: 100%;
  min-width: 960px;
}
.fixbar__base {
  display: block;
  width: 100%;
}
.fixbar__inner {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.fixbar__tel {
  position: absolute;
  left: 0;
  top: 0;
  width: max(46.71875vw, 448.5px);
  height: 100%;
}
.fixbar__web {
  position: absolute;
  right: max(3.04688vw, 29.25px);
  bottom: 0;
  width: max(53.125vw, 510px);
  transition: opacity 0.3s;
}
.fixbar__web img {
  display: block;
  width: 100%;
}
@media (hover: hover) {
  .fixbar__web:hover {
    opacity: 0.6;
  }
}

.lp-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(3.125vw, 30px);
  background: rgba(0, 0, 0, 0.8);
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.lp-modal.is-open {
  opacity: 1;
  visibility: visible;
}
.lp-modal__inner {
  position: relative;
  width: fit-content;
  transform: scale(0.94);
  transition: transform 0.3s ease;
}
.lp-modal.is-open .lp-modal__inner {
  transform: scale(1);
}
.lp-modal__img, .lp-modal__video {
  display: block;
  width: auto;
  height: auto;
  max-width: calc(100vw - max(12.5vw, 120px));
  max-height: 80vh;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}
.lp-modal__video {
  width: min(max(75vw, 720px), 100vw - max(12.5vw, 120px));
  background: #000;
}
.lp-modal__close {
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(50%, -50%);
  z-index: 1;
  width: max(3.4375vw, 33px);
  height: max(3.4375vw, 33px);
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
  cursor: pointer;
  transition: all 0.3s ease;
}
.lp-modal__close::before, .lp-modal__close::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: max(1.5625vw, 15px);
  height: 2px;
  background: #222;
}
.lp-modal__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.lp-modal__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
@media (hover: hover) {
  .lp-modal__close:hover {
    background: #fff;
    transform: translate(50%, -50%) scale(1.1);
  }
}
.lp-modal__nav {
  position: absolute;
  top: 50%;
  width: max(3.20313vw, 30.75px);
  height: max(3.90625vw, 37.5px);
  padding: 0;
  border: 0;
  transform: translateY(-50%);
  background: 0 0/contain no-repeat;
  cursor: pointer;
  transition: opacity 0.3s ease;
}
@media (hover: hover) {
  .lp-modal__nav:hover {
    opacity: 0.6;
  }
}
.lp-modal__nav--prev {
  left: 0;
  background-image: url("images/prev.webp");
}
.lp-modal__nav--next {
  right: 0;
  background-image: url("images/next.webp");
}
.lp-modal__nav[hidden] {
  display: none;
}
.lp-modal__count {
  position: absolute;
  left: 50%;
  bottom: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: max(6.25vw, 60px);
  height: max(2.65625vw, 25.5px);
  margin-bottom: max(0.9375vw, 9px);
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  line-height: 1;
  transform: translateX(-50%);
  font-size: max(1.40625vw, 13.5px);
}

.lp-modal--image .lp-modal__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: min(max(67.1875vw, 645px), 100vw - max(6.25vw, 60px));
  height: min(max(63.67188vw, 611.25px), 88vh);
  padding: max(2.5vw, 24px) max(3.125vw, 30px);
  background: #fff;
}
.lp-modal--image .lp-modal__img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  border-radius: 0;
  box-shadow: none;
}
.lp-modal--image .lp-modal__count {
  top: max(1.17188vw, 11.25px);
  bottom: auto;
  margin-bottom: 0;
  width: max(5vw, 48px);
  height: max(2.5vw, 24px);
  font-size: max(1.17188vw, 11.25px);
}
.lp-modal--image .lp-modal__close {
  top: max(1.40625vw, 13.5px);
  right: max(1.71875vw, 16.5px);
  transform: none;
  width: max(1.875vw, 18px);
  height: max(1.875vw, 18px);
  background: none;
}
.lp-modal--image .lp-modal__close::before, .lp-modal--image .lp-modal__close::after {
  width: max(1.875vw, 18px);
  height: 2px;
  background: #333;
}
@media (hover: hover) {
  .lp-modal--image .lp-modal__close:hover {
    background: none;
    transform: scale(1.15);
  }
}
.lp-modal--image .lp-modal__nav--prev {
  left: 0;
}
.lp-modal--image .lp-modal__nav--next {
  right: 0;
}
