@import url("https://fonts.googleapis.com/css2?family=M+PLUS+1:wght@100..900&family=Noto+Sans+JP:wght@100..900&family=Shippori+Mincho:wght@400;500;600;700;800&display=swap");
:root {
  --font-fam: "noto sans JP";
  --theme-color: #fff;
  --font-color: #111;
}

body * {
  font-family: "Shippori Mincho", serif;
  font-weight: bold;
}

img {
  width: 100%;
}

main {
  background: url(../img/index/bg.jpg) repeat;
  background-position: top center;
}

.br-sp {
  display: block;
}
@media (min-width: 1024px) {
  .br-sp {
    display: none;
  }
}

.fv {
  border-top: solid clamp(0.25rem, 0.31vw, 0.5rem) #C70057;
}
@media (min-width: 768px) {
  .fv img {
    min-height: 480px;
    object-fit: cover;
    object-position: center center;
  }
}

.ttl {
  width: min(60%, 330px);
  margin-inline: auto;
  position: relative;
}
.ttl img {
  position: relative;
  z-index: 5;
}

.home {
  padding-top: 25px;
}
@media (min-width: 1024px) {
  .home {
    padding-top: 0;
  }
}
.home .ttl::after {
  content: "";
  display: block;
  background: url(../img/index/home/bg.png) no-repeat;
  background-size: 100%;
  width: min(47.2vw, 259px);
  height: min(37.73vw, 206px);
  min-width: min(47.2vw, 259px);
  min-height: min(37.73vw, 206px);
  position: absolute;
  top: 50%;
  right: calc(clamp(10rem, 12.5vw, 20.9rem) * -1);
  transform: translateY(-50%);
  z-index: 0;
}
.home .bnr {
  margin-top: clamp(4rem, 5vw, 5rem);
  width: min(82.6%, 530px);
  margin-inline: auto;
}
.home .txt {
  margin-top: clamp(4rem, 5vw, 6rem);
  width: min(78.53%, 613.76px);
  margin-inline: auto;
  position: relative;
}
.home .txt::after {
  content: "";
  display: block;
  background: url(../img/index/home/bg02.png) no-repeat;
  background-size: 100%;
  width: min(30.26vw, 227px);
  height: min(16vw, 120px);
  min-width: min(30.26vw, 227px);
  min-height: min(16vw, 120px);
  position: absolute;
  top: -3.47vw;
  left: -6.67vw;
  z-index: 0;
}
@media (min-width: 1024px) {
  .home .txt::after {
    top: 14px;
    left: max(-8.34vw, -160px);
  }
}
.home .txt img {
  position: relative;
  z-index: 5;
}
.home a {
  display: block;
  margin-top: clamp(2.8rem, 3.5vw, 5.8rem);
  width: min(94.6%, 570px);
  margin-inline: auto;
  position: relative;
  z-index: 5;
  transition: opacity 0.3s;
}
@media (min-width: 1024px) {
  .home a:hover {
    opacity: 0.6;
  }
}

.store {
  padding-top: clamp(4rem, 5vw, 8rem);
  padding-bottom: clamp(5rem, 6.25vw, 10rem);
}
.store .ttl::after {
  content: "";
  display: block;
  background: url(../img/index/store/bg.png) no-repeat;
  background-size: 100%;
  width: min(24.53vw, 173px);
  height: min(34.53vw, 244px);
  min-width: min(24.53vw, 173px);
  min-height: min(34.53vw, 244px);
  position: absolute;
  bottom: max(-24vw, -150px);
  left: max(-17.74vw, -260px);
  z-index: 0;
}
@media (min-width: 1024px) {
  .store .ttl::after {
    bottom: auto;
    top: min(3.12vw, 60px);
  }
}
.store .txt {
  margin-top: clamp(4rem, 5vw, 6rem);
  width: min(64.6%, 625px);
  margin-inline: auto;
  position: relative;
}
.store .txt img {
  position: relative;
  z-index: 5;
}
.store .txt::after {
  content: "";
  display: block;
  background: url(../img/index/store/bg02.png) no-repeat;
  background-size: 100%;
  width: min(92.13vw, 518px);
  height: min(33.33vw, 220px);
  min-width: min(92.13vw, 518px);
  min-height: min(33.33vw, 220px);
  position: absolute;
  bottom: max(-20.27vw, -150px);
  z-index: 0;
}
@media (min-width: 768px) {
  .store .txt::after {
    right: max(-8.6vw, -165px);
  }
}
.store .btn_box {
  margin-top: clamp(3rem, 3.75vw, 6rem);
}
.store .btn_box a {
  display: block;
  width: min(94.6%, 570px);
  margin-inline: auto;
  position: relative;
  z-index: 5;
  transition: opacity 0.3s;
}
@media (min-width: 1024px) {
  .store .btn_box a:hover {
    opacity: 0.6;
  }
}
.store .btn_box a + p {
  margin-top: clamp(1.6rem, 2vw, 2.2rem);
  width: min(90.4%, 427px);
  margin-inline: auto;
}
.store .btn_box a + p + a {
  margin-top: clamp(4rem, 5vw, 8rem);
}