@charset "UTF-8";

html {
  overflow-x: hidden;
  scroll-behavior: smooth;
}

@media screen and (max-width: 890px) {
  html {
    font-size: 1.3333333333vw !important;
  }
}

body {
  background-color: #EEE5C9;
  font-family: "メイリオ", "Meiryo", "ヒラギノ角ゴシック", sans-serif;
  font-size: 16px;
  color: #333333;
  overflow-x: hidden;
}

*.sp-only {
  display: block;
}

@media screen and (min-width: 891px) {
  *.sp-only {
    display: none;
  }
}

*.pc-only {
  display: none;
}

@media screen and (min-width: 891px) {
  *.pc-only {
    display: block;
  }
}

.col01 {
  color: #0050b4;
}

.mv {
  padding-top: 118px;
  padding-bottom: 68px;
  background-image: url(/assets/img/common/bg3.png);
  background-repeat: no-repeat;
  background-position-y: bottom;
  background-position-x: center;
  background-size: cover;
}

@media screen and (max-width: 890px) {
  .mv {
    padding-top: 25vw;
    padding-bottom: 9vw;
  }
}

.mv__container {
  margin: 0 auto;
  width: 480px;
  position: relative;
}

@media screen and (max-width: 890px) {
  .mv__container {
    width: 77vw;
  }
}

.mv__ttl {
  margin-bottom: 28px;
}

.mv__ttl img {
  margin: 0 auto;
}

@media screen and (max-width: 890px) {
  .mv__ttl img {
    width: 77vw;
  }
}

.mv__text {
  text-align: center;
  line-height: 32px;
  color: #333333;
}

@media screen and (max-width: 890px) {
  .mv__text {
    font-size: 2rem;
    line-height: 4rem;
  }
}

.mv__illust2 {
  max-width: 130px;
  position: absolute;
  bottom: 7px;
  right: -140px;
}

@media screen and (max-width: 890px) {
  .mv__illust2 {
    max-width: 21vw;
    bottom: 5px;
    right: -7vw;
  }
}

.cam {
  color: #4D4D4D;
}

.cam__selectBg {
  padding: 29px 0 30px 0;
  background-image: url(/assets/img/common/bg4.png);
  background-repeat: no-repeat;
  background-position-y: bottom;
  background-position-x: center;
  background-size: cover;
  position: relative;
  z-index: 1;
  z-index: 1;
}

@media screen and (max-width: 890px) {
  .cam__selectBg {
    padding: 7vw 0 8vw 0;
    background-image: url(/assets/img/common/bg_sp1.png);
    background-repeat: no-repeat;
    background-position-y: bottom;
    background-position-x: center;
    background-size: cover;
  }
}

.cam__select {
  margin: 0 auto;
  width: 475px;
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 890px) {
  .cam__select {
    width: 59rem;
  }
}

.cam__bg {
  margin-top: -30px;
  padding-bottom: 103px;
  background-image: url(/assets/img/common/bg5.png);
  background-repeat: no-repeat;
  background-position-y: bottom;
  background-position-x: center;
  background-size: cover;
  text-align: center;
}

@media screen and (max-width: 890px) {
  .cam__bg {
    position: relative;
    margin-top: -2.4vw;
    padding-bottom: 20vw;
    background-image: url(/assets/img/common/bg_sp4.png);
    background-repeat: no-repeat;
    background-position-y: bottom;
    background-position-x: center;
    background-size: cover;
    z-index: -1;
  }
}

.cam__menu {
  font-weight: bold;
  color: white;
}

@media screen and (max-width: 890px) {
  .cam__menu {
    font-size: 2.1rem;
  }
}

.cam__menu span {
  margin-top: 14px;
  display: flex;
  justify-content: center;
}

@media screen and (max-width: 890px) {
  .cam__menu span {
    margin-top: 2vw;
  }
}

@media screen and (max-width: 890px) {
  .cam__menu span img {
    width: 2vw;
  }
}

.cam__about {
  margin: 0 auto;
  padding: 102px 0 59px 0;
  max-width: 921px;
  width: 100%;
  text-align: center;
  position: relative;
}

@media screen and (max-width: 890px) {
  .cam__about {
    padding: 11vw 0 13vw 0;
    max-width: 788vw;
    z-index: 3;
  }
}

.cam__illust10 {
  position: absolute;
  top: -41px;
  left: -285px;
  z-index: 1;
}

@media screen and (max-width: 890px) {
  .cam__illust10 {
    width: 46vw;
    top: 69vw;
    left: -29vw;
  }
}

.cam__illust5 {
  position: absolute;
  width: 400px;
  top: 391px;
  right: -344px;
  z-index: 1;
}

@media screen and (max-width: 890px) {
  .cam__illust5 {
    width: 53vw;
    top: 108vw;
    right: -26vw;
  }
}

.cam__ttl {
  margin: 0 auto;
  width: 480px;
}

@media screen and (max-width: 890px) {
  .cam__ttl {
    width: 77vw;
  }
}

@media screen and (max-width: 890px) {
  .cam__ttl img {
    margin: 0 auto;
  }
}

.cam__text1 {
  margin: 26px 0 14px 0;
  font-size: 18px;
  line-height: 36px;
  color: #4D4D4D;
}

@media screen and (max-width: 890px) {
  .cam__text1 {
    margin: 3vw 0 4vw 0;
    font-size: 2.6rem;
    line-height: 4.8rem;
  }
}

.cam__text2 {
  font-size: 18px;
  line-height: 36px;
  color: #4D4D4D;
}

@media screen and (max-width: 890px) {
  .cam__text2 {
    font-size: 2.6rem;
    line-height: 4.8rem;
    position: relative;
    z-index: 3;
  }
}

.cam__text3 {
  font-size: 12px;
  margin-top: 17px;
}

@media screen and (max-width: 890px) {
  .cam__text3 {
    font-size: 1.4rem;
    margin-top: 4vw;
    position: relative;
    z-index: 3;
  }
}

.cam__period {
  text-align: center;
}

@media screen and (max-width: 890px) {
  .cam__period {
    /* padding-bottom: 12vw; */
  }
}

.cam__periodTtl {
  padding: 9px 90px;
  display: inline;
  border: 3px dotted #0055A2;
  border-radius: 30px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -ms-border-radius: 30px;
  -o-border-radius: 30px;
  font-size: 20px;
  color: #0055A2;
  position: relative;
  z-index: 3;
}

.cam__periodText {
  padding: 50px 0 90px;
  font-size: 20px;
}

@media screen and (max-width: 890px) {
  .cam__periodText {
    padding: 7vw 0 13.3333vw;
    font-size: 2.4rem;
    line-height: 1.8;
    text-align: center;
    text-indent: -4.3em;
    padding-left: 4em;
  }
}

.cam__periodTtl img {
  margin: 0 auto;
}

@media screen and (max-width: 890px) {
  .cam__periodTtl {
    margin-top: -6vw;
    padding: 1vw 14vw;
    font-size: 2.4rem;
  }
}

.cam__day1 {
  /* padding: 54px 0 17px 0; */
  padding: 54px 0;
  margin: 0 auto;
  width: 550px;
  font-size: 20px;
  color: #4D4D4D;
}

@media screen and (max-width: 890px) {
  .cam__day1 {
    padding: 8vw 0 4vw 0;
    width: calc(100% - 38vw);
    font-size: 2.4rem;
    line-height: 6vw;
  }
}

.cam__dayInner {
  display: flex;
  position: relative;
}

/* 終了した際の帯 */
.cam__dayInner::before {
  content: "";
  width: 590px;
  height: 30px;
  background-color: #6B6B6B;
  opacity: 0.8;
  mix-blend-mode: multiply;
  position: absolute;
  top: -3px;
  transform: translateX(-20px);
  z-index: 10;
}

@media screen and (max-width: 890px) {
  .cam__dayInner::before {
    content: "";
    width: 67vw;
    height: 13vw;
    left: -3vw;
    transform: translateX(0);
  }
}

/* 終了した際のコメント */
.cam__dayInner::after {
  content: "第1回は終了しました";
  font-size: 12px;
  line-height: 25px;
  font-weight: 500;
  color: #fff;
  position: absolute;
  left: 50%;
  transform: translate(-50%);
  z-index: 20;
}

@media screen and (max-width: 890px) {
  .cam__dayInner::after {
    font-size: 1.6rem;
    line-height: 8.5rem;
  }
}

.cam__dayInner2 {
  padding-top: 17px;
  display: flex;
}

@media screen and (max-width: 890px) {
  .cam__dayInner2 {
    padding-top: 3vw;
    display: flex;
  }
}

/* 終了した際の帯 */
/* .cam__dayInner2::before {
  content: "";
  width: 590px;
  height: 30px;
  background-color: #6B6B6B;
  opacity: 0.8;
  mix-blend-mode: multiply;
  position: absolute;
  z-index: 10;
  transform: translate(-20px, -2px);
}
@media screen and (max-width: 890px) {
  .cam__dayInner2::before {
    content: "";
    width: 67vw;
    height: 13vw;
    left: 16vw;
      transform: translateY(-1vw);
  }
} */

/* 終了した際のコメント */
/* .cam__dayInner2::after {
  content: "第2回は終了しました";
  font-size: 12px;
  line-height: 25px;
  font-weight: 500;
  color: #fff;
  position: absolute;
  left: 50%;
  transform: translate(-50%);
  z-index: 20;
}
@media screen and (max-width: 890px) {
  .cam__dayInner2::after {
    font-size: 1.6rem;
    line-height: 8.5rem;
  }
} */


.cam__noText {
  text-align: left;
}

.cam__day2 {
  margin: 0 auto;
  display: flex;
  width: 550px;
  font-size: 20px;
  color: #4D4D4D;
  position: relative;
}

@media screen and (max-width: 890px) {
  .cam__day2 {
    width: calc(100% - 38vw);
    font-size: 2.4rem;
  }
}

.cam__noText2 {
  text-align: left;
}

.cam__point {
  text-align: center;
  position: relative;
  z-index: 3;
}

.cam__pointTable {
  margin: 0 auto;
  width: 708px;
  position: relative;
}

@media screen and (max-width: 890px) {
  .cam__pointTable {
    width: 91vw;
  }
}

/* 終了した際の帯 */
.cam__pointTable::before {
  content: "";
  width: 707px;
  height: 57px;
  background-color: #6B6B6B;
  opacity: 0.8;
  mix-blend-mode: multiply;
  position: absolute;
  bottom: 60px;
  left: 20px;
  transform: translateX(-20px);
  z-index: 10;
}
@media screen and (max-width: 890px) {
  .cam__pointTable::before {
    content: "";
    width: 91vw;
    height: 10vw;
    left: 0;
    bottom: 10.4vw;
    transform: translateX(0);
  }
}

/* 終了した際のコメント */
.cam__pointTable::after {
  content: "第1回は終了しました";
  font-size: 12px;
  line-height: 25px;
  font-weight: 500;
  color: #fff;
  position: absolute;
  bottom: 75px;
  left: 50%;
  transform: translate(-50%);
  z-index: 20;
}
@media screen and (max-width: 890px) {
  .cam__pointTable::after {
    font-size: 1.6rem;
    line-height: 8.5rem;
    bottom: 7rem;
  }
}

.cam__point img {
  padding: 54px 0 0 0;
  margin: 0 auto;
  width: 708px;
}

@media screen and (max-width: 890px) {
  .cam__point img {
    padding: 6vw 0 0 0;
    width: 91vw;
  }
}

.cam__pointTtl {
  margin-bottom: 39px;
  padding: 9px 99px;
  display: inline;
  border: 3px dotted #0055A2;
  border-radius: 30px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -ms-border-radius: 30px;
  -o-border-radius: 30px;
  font-size: 20px;
  color: #0055A2;
  position: relative;
}

@media screen and (max-width: 890px) {
  .cam__pointTtl {
    padding: 1vw 15.5vw;
    font-size: 2.4rem;
  }
}

.cam__illust12 {
  position: absolute;
  width: 43vw;
  top: 51vw;
  right: -45vw;
}

.cam__pointText {
  margin: 0 auto;
  width: 708px;
  text-align: left;
  font-size: 10px;
  line-height: 16px;
}

@media screen and (max-width: 890px) {
  .cam__pointText {
    width: 91vw;
    font-size: 1.4rem;
    line-height: 2.4rem;
  }
}

.cam__pointTextDtl {
  margin: 9px 0 20px 0;
  font-size: 10px;
  line-height: 16px;
}

@media screen and (max-width: 890px) {
  .cam__pointTextDtl {
    margin: 3vw 0 4vw 0;
    font-size: 1.3rem;
    line-height: 2.4rem;
    position: relative;
    z-index: 2;
  }
}

.cam__pointTextDtl span {
  font-weight: bold;
  color: #0055A2;
}

.cam__pointTextSubject {
  padding: 13px 35px 16px;
  border: 2px solid #CCCCCC;
  font-size: 10px;
  line-height: 16px;
}

@media screen and (max-width: 890px) {
  .cam__pointTextSubject {
    padding: 2vw 3vw 2vw 4vw;
    font-size: 1.3rem;
    line-height: 2.4rem;
    position: relative;
    z-index: 2;
  }
}

.cam__pointTextSubject span {
  font-weight: bold;
  color: #0055A2;
}

.shop {
  padding: 83px 0 90px 0;
  color: #4D4D4D;
}

@media screen and (max-width: 890px) {
  .shop {
    padding: 0 0 12vw 0;
  }
}

.shop__about {
  text-align: center;
}

.shop__aboutTtl {
  margin: 0 auto;
  width: 480px;
  position: relative;
}

@media screen and (max-width: 890px) {
  .shop__aboutTtl {
    width: 77vw;
  }
}

@media screen and (max-width: 890px) {
  .shop__aboutTtl img {
    margin: 0 auto;
  }
}

.shop__illust11 {
  position: absolute;
  top: -214px;
  left: -596px;
  z-index: 1;
}

@media screen and (max-width: 890px) {
  .shop__illust11 {
    width: 64vw;
    top: 150vw;
    left: -50vw;
    z-index: -1;
  }
}

.shop__app {
  margin: 0 0 0 0;
  text-align: center;
}

@media screen and (max-width: 890px) {
  .shop__app {
    margin: 4vw 0 0 0;
  }
}

.shop__appTtl {
  margin: 0 auto;
  width: 480px;
  position: relative;
}

@media screen and (max-width: 890px) {
  .shop__appTtl {
    width: 77vw;
  }
}

.shop__illust12 {
  position: absolute;
  top: -200px;
  right: -482px;
  z-index: 1;
}

@media screen and (max-width: 890px) {
  .shop__illust12 {
    width: calc(326 / 750 * 100vw);
    top: calc(-170 / 750 * 100vw);
    right: calc(-260 / 750 * 100vw);
    z-index: -1;
  }
}

.shop__illust13 {
  position: absolute;
  top: 486px;
  right: -500px;
}

@media screen and (max-width: 890px) {
  .shop__illust13 {
    width: 39vw;
    top: -27vw;
    right: -26vw;
    z-index: -1;
  }
}

.shop__payTtl {
  margin: 0 auto;
  padding-bottom: 23px;
}

@media screen and (max-width: 890px) {
  .shop__payTtl {
    padding-bottom: 4vw;
  }
}

@media screen and (max-width: 890px) {
  .shop__payTtl.wid01 {
    width: 16vw;
  }
}

@media screen and (max-width: 890px) {
  .shop__payTtl.wid02 {
    width: 25vw;
  }
}

.shop__payTtl.wid03 {
  width: 122px;
}

@media screen and (max-width: 890px) {
  .shop__payTtl.wid03 {
    width: 14.7rem;
  }
}

.shop__payTtl.wid04 {
  width: 178px;
}

@media screen and (max-width: 890px) {
  .shop__payTtl.wid04 {
    width: 21.3rem;
  }
}

.shop__payText {
  padding: 0 0 32px 0;
}

@media screen and (max-width: 890px) {
  .shop__payText {
    padding: 0 0 7vw 0;
    font-size: 2rem;
  }
}

.shop__payWrap {
  margin: 0 auto;
  padding: 50px 0 80px 0;
  width: 840px;
  background-color: white;
  border-radius: 34px;
  -webkit-border-radius: 34px;
  -moz-border-radius: 34px;
  -ms-border-radius: 34px;
  -o-border-radius: 34px;
}

@media screen and (max-width: 890px) {
  .shop__payWrap {
    padding: 0 0 11vw 0;
    border-radius: 0;
    overflow-x: auto;
    width: 100vw;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
  }
}

.shop__payWrap.mt {
  margin-top: 30px;
}

@media screen and (max-width: 890px) {
  .shop__payWrap.mt {
    margin-top: 0;
  }
}

@media screen and (max-width: 890px) {
  .shop__payCaution2.mt02 {
    margin-top: 5rem;
  }
}

.shop__illust3Innner {
  margin: 0 auto;
  width: 840px;
  position: relative;
}

.shop__illust3 {
  position: absolute;
  width: 455px;
  top: 1091px;
  left: -420px;
  z-index: -1;
}

@media screen and (max-width: 890px) {
  .shop__illust3 {
    width: 60vw;
    top: 322vw;
    left: -43vw;
  }
}

.shop__payWrap2 {
  margin: 30px auto 0 auto;
  padding: 20px 0 68px 0;
  background-color: white;
  width: 840px;
  border-radius: 34px;
  -moz-border-radius: 34px;
  -ms-border-radius: 34px;
  -o-border-radius: 34px;
}

@media screen and (max-width: 890px) {
  .shop__payWrap2 {
    margin: 0 auto 4vw auto;
    padding: 0 0 11vw 0;
    width: 100vw;
    border-radius: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
  }
}

@media screen and (max-width: 890px) {
  .shop__payWrap2.mt02 {
    margin-top: 5rem;
  }
}

.shop__appTtl+.shop__check {
  margin-top: 45px;
}

@media screen and (max-width: 890px) {
  .shop__appTtl+.shop__check {
    margin-top: 5.5rem;
  }
}

.shop__check--inner {
  margin: 0 auto;
  width: 748px;
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 890px) {
  .shop__check--inner {
    width: 130vw;
    padding: 8vw 2vw 0 2vw;
    justify-content: start;
  }
}

@media screen and (max-width: 890px) {
  .shop__check--inner figure img {
    width: 38vw;
    margin-right: 5vw;
  }
}

.shop__check--inner.au-pay {
  width: 227px;
  height: auto;
  display: flex;
  justify-content: center;
}

@media screen and (max-width: 890px) {
  .shop__check--inner.au-pay {
    width: 28.4rem;
  }
}

.shop__check--inner.au-pay video {
  width: 100%;
  height: 100%;
  cursor: pointer;
}

.au-pay_p {
  margin-top: 20px;
  font-size: 14px;
}

@media screen and (max-width: 890px) {
  .au-pay_p {
    margin-top: 2.5rem;
    font-size: 1.8rem;
  }
}

.shop__payInner {
  margin: 0 auto;
  width: 748px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 52px 72px;
}

@media screen and (max-width: 890px) {
  .shop__payInner {
    width: 172vw;
    padding: 8vw 2vw 4vw 2vw;
    justify-content: space-between;
    flex-wrap: initial;
    gap: initial;
  }
}

.shop__payInner figure img {
  width: 228px;
}

@media screen and (max-width: 890px) {
  .shop__payInner figure img {
    width: 38vw;
    margin-right: 5vw;
  }
}

.shop__payInner2 {
  margin: 0 auto;
  width: 532px;
  display: flex;
}

@media screen and (max-width: 890px) {
  .shop__payInner2 {
    width: 640px;
    padding: 0 10vw 0 5vw;
  }
}

@media screen and (max-width: 890px) {
  .shop__payInner2 figure img {
    margin-right: 8vw;
    width: 38vw;
  }
}

@media screen and (max-width: 890px) {
  .shop__payCaution {
    margin: 0 auto;
    padding: 4vw 0 5vw 0;
    background-color: white;
  }
}

.shop__payCaution img {
  margin: 0 auto;
}

@media screen and (max-width: 890px) {
  .shop__payCaution img {
    margin: 0 auto;
    width: 89vw;
  }
}

.shop__payCaution2 {
  margin: 25px 0;
}

@media screen and (max-width: 890px) {
  .shop__payCaution2 {
    margin: 0 auto;
    padding: 6vw 0 5vw 0;
    background-color: white;
  }
}

.shop__payCaution2 img {
  margin: 0 auto;
}

@media screen and (max-width: 890px) {
  .shop__payCaution2 img {
    margin: 0 auto;
    width: 77vw;
  }
}

.block+.block {
  margin-top: 105px;
}

@media screen and (max-width: 890px) {
  .block+.block {
    margin-top: 14rem;
  }
}

.shop__paypayTtt {
  margin: 30px auto 0 auto;
}

.shop__payBtn {
  margin: 37px auto 0 auto;
}

@media screen and (max-width: 890px) {
  .shop__payBtn {
    margin: 8vw auto 0 auto;
    width: 49vw;
  }
}

.shop__btn-col {
  margin: 0 auto;
  width: 560px;
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 890px) {
  .shop__btn-col {
    margin-top: -3vw;
    width: 48vw;
    flex-direction: column;
  }
}

@media screen and (max-width: 890px) {
  .shop__paypayBtn img {
    width: 48vw;
  }
}

.search {
  margin-top: 70px;
  text-align: center;
}

@media screen and (max-width: 890px) {
  .search {
    margin-top: 10.5rem;
  }
}

.search p {
  margin-bottom: 25px;
}

@media screen and (max-width: 890px) {
  .search p {
    font-size: 2rem;
    margin-bottom: 3.5rem;
  }
}

.btn-wrap {
  margin-top: 50px;
}

@media screen and (max-width: 890px) {
  .btn-wrap {
    margin-top: 6rem;
  }
}

@media screen and (max-width: 890px) {
  .btn-wrap button+button {
    margin-top: 4.5rem;
  }
}

.btn {
  width: 260px;
  height: 50px;
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
}

@media screen and (max-width: 890px) {
  .btn {
    width: 49vw;
    height: 10vw;
    background-size: cover;
  }
}

.btn01 {
  background-image: url(/assets/img/about/dpay_btn.png);
}

@media screen and (min-width: 891px) {
  .btn01:hover {
    background-image: url(/assets/img/about/dpay_btn_h2.png);
  }
}

.btn02 {
  background-image: url(/assets/img/about/paypay12.png);
}

@media screen and (min-width: 891px) {
  .btn02:hover {
    background-image: url(/assets/img/about/paypay12_h.png);
  }
}

.btn03 {
  background-image: url(/assets/img/about/paypay3.png);
}

@media screen and (min-width: 891px) {
  .btn03:hover {
    background-image: url(/assets/img/about/paypay3_h.png);
  }
}

.btn04 {
  background-image: url(/assets/img/about/R-pay_btn.png);
}

@media screen and (min-width: 891px) {
  .btn04:hover {
    background-image: url(/assets/img/about/R-pay_btn_h2.png);
  }
}

.btn05 {
  background-image: url(/assets/img/about/au-pay_btn01.png);
}

@media screen and (min-width: 891px) {
  .btn05:hover {
    background-image: url(/assets/img/about/au-pay_btn01_h2.png);
  }
}

.btn06 {
  background-image: url(/assets/img/about/au-pay_btn02.png);
}

@media screen and (min-width: 891px) {
  .btn06:hover {
    background-image: url(/assets/img/about/au-pay_btn02_h2.png);
  }
}

.btn07 {
  margin: 0 auto;
  background-image: url(/assets/img/about/search_btn.png);
}

@media screen and (min-width: 891px) {
  .btn07:hover {
    background-image: url(/assets/img/about/search_btn_h2.png);
  }
}

.btn08 {
  margin: 0 auto;
  background-image: url(/assets/img/about/paypay.png);
}

@media screen and (min-width: 891px) {
  .btn08:hover {
    background-image: url(/assets/img/about/paypay_h.png);
  }
}

/*add 20241127*/
.closeAtt {
  margin: 0 auto;
  padding-top: 10px;
  max-width: 610px;
  position: relative;
  margin-bottom: 30px;
}

@media screen and (max-width: 890px) {
  .closeAtt {
    margin: 0 auto;
    padding-top: 0;
    max-width: 77vw;
    position: relative;
    margin-bottom: 0 !important;
    z-index: 3;
  }
}

.closeAtt div {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: calc(100% - 10px);
  display: flex;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 890px) {
  .closeAtt div {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: calc(100% - 0px);
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

.closeAtt div p {
  position: relative;
  font-size: min(1.6vw, 16px);
  line-height: 1.65;
  /* font-weight: 700; */
  letter-spacing: 0.05em;
  text-align: center;
  color: #ff0000;
}

@media screen and (max-width: 890px) {
  .closeAtt div p {
    position: relative;
    font-size: 2.6vw;
    line-height: 1.65;
    letter-spacing: 0em;
    text-align: center;
    color: #ff0000;
  }
}

/* add 0427 */
.shop__aboutText {
  margin: 25px auto 75px;
  font-size: 16px;
  line-height: 30px;
  width: 640px;
}

@media screen and (max-width: 890px) {
  .shop__aboutText {
    margin: 4vw auto 9vw;
    font-size: 2rem;
    line-height: 4rem;
    width: 80vw;
  }
}

.shop__aboutText span {
  font-size: 10px;
}

@media screen and (max-width: 890px) {
  .shop__aboutText span {
    font-size: 1.3rem;
  }
}

.shop__pointTtl {
  margin: -7px;
  margin-bottom: 11px;
  text-align: center;
  font-size: 22px;
}

@media screen and (max-width: 890px) {
  .shop__pointTtl {
    margin: -0.5vw;
    margin-bottom: 10px;
    font-size: 2.6rem;
  }
}

.shop__pointSubTtl {
  text-align: center;
}

@media screen and (max-width: 890px) {
  .shop__pointSubTtl {
    font-size: 2rem;
  }
}

.shop__btnPc {
  margin: 24px auto 0 auto;
  width: 888px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  z-index: 3;
}

.shop__btnPc img {
  margin-bottom: 30px;
  text-align: center;
  display: inline;
}

.shop__btnSp {
  margin: 5vw auto 0 auto;
  width: 79vw;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.shop__btnSp img {
  margin-bottom: 5vw;
  width: 35vw;
}

.shop__3town {
  margin-top: 37px;
}

.shop__btn {
  margin: 24px auto 0 auto;
  width: 652px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

@media screen and (max-width: 890px) {
  .shop__btn {
    width: 79vw;
  }
}

.shop__btn img {
  text-align: center;
  display: inline;
}

@media screen and (max-width: 890px) {
  .shop__btn img {
    width: 35vw;
    margin-bottom: 6vw;
  }
}

.shop__attention {
  margin: 31px auto 0 auto;
  width: 637px;
  font-size: 10px;
  line-height: 16px;
}

@media screen and (max-width: 890px) {
  .shop__attention {
    margin: 4vw auto 11vw auto;
    width: 79vw;
    font-size: 1.3rem;
    line-height: 2.4rem;
  }
}