:root {
  --hd_mt02: 60px;
}
@media screen and (min-width: 1024px) {
  :root {
    --hd_mt02: 120px;
  }
}

.firstvisit-message {
  padding-block: clamp(6rem, 5rem + 2.59vw, 10rem);
}
.firstvisit-message__ttl {
  margin-bottom: clamp(3rem, 2rem + 2.54vw, 4rem);
}
.firstvisit-message__txt {
  font-family: "Zen Old Mincho", serif;
  font-size: clamp(1.8rem, 1.5rem + 0.76vw, 2.1rem);
  letter-spacing: 0.025em;
}
@media screen and (min-width: 1024px) {
  .firstvisit-message__txt {
    text-align: center;
  }
}

.firstvisit-anchor {
  margin-top: clamp(4rem, 2.1rem + 5.09vw, 6rem);
}

.firstvisit-catch {
  padding-block: clamp(6rem, 5rem + 2.59vw, 10rem);
}
.firstvisit-catch.--mirai {
  padding-bottom: 0;
}
.firstvisit-catch__ttl {
  margin-bottom: clamp(3rem, 2rem + 2.54vw, 4rem);
}
.firstvisit-catch__txt {
  font-family: "Zen Old Mincho", serif;
  font-size: clamp(1.8rem, 1.5rem + 0.76vw, 2.1rem);
  letter-spacing: 0.025em;
  margin-bottom: clamp(4rem, 1.1rem + 7.63vw, 7rem);
}
@media screen and (min-width: 768px) {
  .firstvisit-catch__txt {
    text-align: center;
  }
}
.firstvisit-catch__txt br {
  display: none;
}
@media screen and (min-width: 768px) {
  .firstvisit-catch__txt br {
    display: block;
  }
}
.firstvisit-catch__consul-list {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
  gap: 25px;
}
@media screen and (min-width: 768px) {
  .firstvisit-catch__consul-list {
    flex-direction: row;
    justify-content: center;
    align-items: stretch;
    max-width: 710px;
    width: 100%;
    margin-inline: auto;
  }
}
@media screen and (min-width: 1230px) {
  .firstvisit-catch__consul-list {
    max-width: none;
    margin-inline: 0;
  }
}
.firstvisit-catch__consul-item {
  max-width: 220px;
  width: 100%;
  border: solid 1px #5f4c36;
  border-radius: 10px;
  padding-block: clamp(3rem, 2rem + 2.54vw, 4rem) 30px;
  padding-inline: 15px;
  margin-top: 20px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .firstvisit-catch__consul-item {
    width: calc((100% - 50px) / 3);
  }
}
@media screen and (min-width: 1230px) {
  .firstvisit-catch__consul-item {
    width: calc((100% - 100px) / 5);
  }
}
.firstvisit-catch__consul-item-icon {
  background-color: #fff;
  padding-inline: 10px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}
.firstvisit-catch__consul-item-icon.--02 img {
  width: 38px;
}
.firstvisit-catch__consul-item-ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Zen Old Mincho", serif;
  font-size: clamp(1.8rem, 1.6rem + 0.51vw, 2rem);
  letter-spacing: 0.025em;
  color: #5f4c36;
  text-align: center;
  margin-bottom: 20px;
}
.firstvisit-catch__consul-item-txt {
  color: #5f4c36;
}

.firstvist-flow.mirai-method {
  padding-bottom: 0;
}
.firstvist-flow .mirai-method__head {
  padding-block: clamp(6rem, 7.2rem + -3.24vw, 1rem) clamp(20rem, 17.6rem + 6.47vw, 30rem);
}
.firstvist-flow .mirai-method__head.--merci {
  background: url(/system_panel/uploads/images/bg_merci-firstvisit-flow01.jpg) no-repeat center center/cover;
}
.firstvist-flow .mirai-method__head.--mirai {
  background: url(/system_panel/uploads/images/bg_mirai-firstvisit-flow01.jpg) no-repeat center center/cover;
}
.firstvist-flow .mirai-method__cnt {
  margin-top: calc(clamp(17rem, 14.6rem + 6.47vw, 27rem) * -1);
}
.firstvist-flow .mirai-method__cnt-list {
  gap: 30px 25px;
}
@media screen and (min-width: 768px) {
  .firstvist-flow .mirai-method__cnt-item {
    width: calc((100% - 25px) / 2);
  }
}
@media screen and (min-width: 1024px) {
  .firstvist-flow .mirai-method__cnt-item {
    width: calc((100% - 100px) / 5);
  }
}
.firstvist-flow .mirai-method__cnt-item-head::after {
  width: calc(100% + 25px);
}
.firstvist-flow .mirai-method__cnt-item-info-ttl {
  font-size: clamp(1.8rem, 1.5rem + 0.76vw, 2.1rem);
}
@media screen and (min-width: 1024px) {
  .firstvist-flow .mirai-method__cnt-item-info-ttl {
    font-size: clamp(1.8rem, 0.6rem + 1.17vw, 2.1rem);
  }
}
@media screen and (min-width: 1024px) {
  .firstvist-flow .mirai-method__cnt-item-info-ttl.--small {
    font-size: clamp(1.6rem, -0.4rem + 1.95vw, 2.1rem);
  }
}
@media screen and (min-width: 768px) {
  .firstvist-flow .mirai-method__cnt-item:nth-of-type(2n) .mirai-method__cnt-item-head::after {
    width: calc((100% + 25px) / 2);
  }
}
@media screen and (min-width: 1024px) {
  .firstvist-flow .mirai-method__cnt-item:nth-of-type(2n) .mirai-method__cnt-item-head::after {
    width: calc(100% + 25px);
  }
}
@media screen and (min-width: 768px) {
  .firstvist-flow .mirai-method__cnt-item:nth-of-type(2n + 1):not(:first-of-type) .mirai-method__cnt-item-head::after {
    width: calc((100% + 25px) * 1.5);
    left: -12.5px;
  }
}
@media screen and (min-width: 1024px) {
  .firstvist-flow .mirai-method__cnt-item:nth-of-type(2n + 1):not(:first-of-type) .mirai-method__cnt-item-head::after {
    width: calc(100% + 25px);
    left: 50%;
  }
}
@media screen and (min-width: 768px) {
  .firstvist-flow .mirai-method__cnt-item:nth-of-type(2n + 1):last-of-type .mirai-method__cnt-item-head::after {
    content: "";
    width: calc((100% + 25px) / 2);
  }
}
@media screen and (min-width: 1024px) {
  .firstvist-flow .mirai-method__cnt-item:nth-of-type(2n + 1):last-of-type .mirai-method__cnt-item-head::after {
    content: none;
  }
}

.firstvisit-check {
  padding-top: clamp(6rem, 5rem + 2.59vw, 10rem);
}
.firstvisit-check__ttl {
  margin-bottom: clamp(4rem, 2.1rem + 5.09vw, 6rem);
}

.firstvisit-faq {
  padding-top: clamp(6rem, 5rem + 2.59vw, 10rem);
}
.firstvisit-faq__ttl {
  margin-bottom: 30px;
}
.firstvisit-faq .top-faq__item-a {
  background-color: #f8f8f8;
}

.firstvisit-store {
  padding-block: clamp(6rem, 5rem + 2.59vw, 10rem);
}
.firstvisit-store__ttl {
  margin-bottom: clamp(4rem, 2.1rem + 5.09vw, 6rem);
}
.firstvisit-store__list {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
  gap: 60px 40px;
}
@media screen and (min-width: 1024px) {
  .firstvisit-store__list {
    flex-direction: row;
    justify-content: center;
    align-items: stretch;
  }
}
.firstvisit-store__item {
  max-width: 580px;
  width: 100%;
}
@media screen and (min-width: 1024px) {
  .firstvisit-store__item {
    width: calc((100% - 40px) / 2);
  }
}
.firstvisit-store__item-media {
  margin-bottom: clamp(3rem, 2rem + 2.54vw, 4rem);
}
.firstvisit-store__item-add {
  font-size: clamp(1.8rem, 1.5rem + 0.76vw, 2.1rem);
  letter-spacing: 0.025em;
  text-align: center;
  margin-block: clamp(2rem, 1rem + 2.54vw, 3rem) clamp(3rem, 2rem + 2.54vw, 4rem);
}
.firstvisit-store__btn {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 15px;
}
.firstvisit-store__btn-item {
  max-width: 250px;
  width: 100%;
  border: solid 1px #5f4c36;
  border-radius: 35px;
}
@media screen and (min-width: 1024px) {
  .firstvisit-store__btn-item {
    width: calc((100% - 15px) / 2);
  }
}
.firstvisit-store__btn-item-link {
  display: block;
  text-align: center;
}
.firstvisit-store__btn-item-st {
  font-family: "Zen Old Mincho", serif;
  font-size: clamp(1.8rem, 1.5rem + 0.76vw, 2.1rem);
  letter-spacing: 0.025em;
  line-height: 3.33;
  color: #5f4c36;
}
.firstvisit-store__btn-item.--web {
  background-color: #333;
  border: solid 1px #333;
}
.firstvisit-store__btn-item.--web .firstvisit-store__btn-item-st {
  color: #fff;
}
.firstvisit-store__txt {
  letter-spacing: 0.025em;
  text-align: center;
  margin-top: clamp(3rem, 2rem + 2.54vw, 4rem);
}
.firstvisit-store__txt strong {
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .firstvisit-store__txt strong br {
    display: none;
  }
}
.firstvisit-store.--mirai .firstvisit-store__item-add {
  text-align: left;
  margin-bottom: 0;
}

.firstvisit-cmn-btn {
  margin-top: clamp(3rem, 2rem + 2.54vw, 4rem);
  margin-inline: auto;
}