/* =====================
   基本リセット
===================== */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body {
  font-family: YakuHanMP, "Shippori Mincho", serif;
  font-feature-settings: "palt";
  font-weight: 700;
  font-style: normal;
  line-height: 1;
  position: relative;
  overscroll-behavior: none;
  background-color: #000;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  background-image: var(--before-bg-image);
  background-size: cover;
  background-color: #000;
}
img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
  border: none;
}
a {
  text-decoration: none;
}
ul {
  list-style-type: none;
}
input[type="text"],
select,
textarea {
  font-family: 'Noto Sans JP', sans-serif;
  -webkit-appearance: none;
  appearance: none;
}
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  body::before {
    background-image: var(--before-bg-image--sp);
    inset: 0;
    height: 100vh;
    height: 100lvh;
  }
  .sp-only {
    display: block;
  }
}
:root {
  --before-bg-image: url('../img/site__bg.png'); 
  --before-bg-image--sp: url('../img/site__bg--sp.png'); 
}
.sp__only {
  display: none;
}
@media screen and (max-width: 768px) {
    .sp__only {
        display: block !important;
    }
    .pc__only {
        display: none !important;
    }
}


.read {
  position: fixed;
  bottom: calc((22 / 1280) * 100vw);
  right: calc((23 / 1280) * 100vw);
  width: calc((200 / 1280) * 100vw);
  height: calc((200 / 1280) * 100vw);
  z-index: 2;
}
.read::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('../img/read.png');
  background-size: 100% auto;
  animation:read 8s linear infinite;
}
@keyframes read {
  to {
    transform:rotate(360deg);
  }
}
.read::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('../img/read__inner.png');
  background-size: 100% auto;
}

.fv {
  position: relative;
}
.fv__bg img {
  width: 100%;
  height: auto;
}
.fv__title {
  position: absolute;
  top: calc((31 / 1280) * 100vw);
  left: calc((32 / 1280) * 100vw);
  width: calc((1081 / 1280) * 100vw);
}
.fv__copy {
  position: absolute;
  top: calc((32 / 1280) * 100vw);
  right: calc((32 / 1280) * 100vw);
  width: calc((68 / 1280) * 100vw);
}
.fv__feature-item--red {
  position: absolute;
  top: calc((637 / 1280) * 100vw);
  left: calc((63 / 1280) * 100vw);
  width: calc((534 / 1280) * 100vw);
}
.fv__feature-item--blue {
  position: absolute;
  top: calc((537 / 1280) * 100vw);
  left: calc((662 / 1280) * 100vw);
  width: calc((577 / 1280) * 100vw);
}
.fv__period {
  position: absolute;
  top: calc((761 / 1280) * 100vw);
  left: calc((311 / 1280) * 100vw);
  width: calc((661 / 1280) * 100vw);
}
.fv__about {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: calc((88 / 1280) * 100vw) 0 calc((158 / 1280) * 100vw);
}
.fv__about-heading {
  width: calc((700 / 1280) * 100vw);
  margin-bottom: calc((76 / 1280) * 100vw);
}
.fv__about-text {
  width: calc((740 / 1280) * 100vw);
}


@media screen and (max-width: 768px) {
  .read {
    position: fixed;
    bottom: calc((20 / 375) * 100vw);
    right: calc((20 / 375) * 100vw);
    width: calc((115 / 375) * 100vw);
    height: calc((115 / 375) * 100vw);
    z-index: 2;
  }
  .fv__title {
    top: calc((23 / 375) * 100vw);
    left: 50%;
    transform: translateX(-50%);
    width: calc((335 / 375) * 100vw);
  }
  .fv__copy {
    top: calc((90 / 375) * 100vw);
    right: auto;
    left: 45%;
    transform: translateX(-50%);
    width: calc((49 / 375) * 100vw);
  }
  .fv__feature-item--red {
    top: calc((482 / 375) * 100vw);
    left: calc((23 / 375) * 100vw);
    width: calc((322 / 375) * 100vw);
  }
  .fv__feature-item--blue {
    top: calc((567 / 375) * 100vw);
    left: calc((22 / 375) * 100vw);
    width: calc((326 / 375) * 100vw);
  }
  .fv__period {
    position: absolute;
    top: calc((699 / 375) * 100vw);
    left: 50%;
    transform: translateX(-50%);
    width: calc((323 / 375) * 100vw);
  }
  .fv__about {
    padding: calc((85 / 375) * 100vw) 0 calc((107 / 375) * 100vw);
  }
  .fv__about-heading {
    width: calc((335 / 375) * 100vw);
    margin-bottom: calc((45 / 375) * 100vw);
  }
  .fv__about-text {
    width: calc((335 / 375) * 100vw);
  }
}



.pf {
  background-image: url('../img/photo__bg01--p5.png'), url('../img/pf__street.png'), url('../img/pf__bg.png');
  background-size: 100% auto, 100% auto, 899px 634px;
  background-repeat: no-repeat, no-repeat, repeat;
  background-position-y: top, calc(100% - ((206 / 1280) * 100vw)), top;
  padding: calc((228 / 1280) * 100vw) calc((88 / 1280) * 100vw) calc((157 / 1280) * 100vw);
  overflow: hidden;
}
.pf__intro {
  display: flex;
  justify-content: space-between;
  margin-bottom: calc((113 / 1280) * 100vw);
}
.pf__intro-title {
  width: calc((733 / 1280) * 100vw);
  margin-bottom: calc((78 / 1280) * 100vw);
}
.pf__intro-text {
  width: calc((579 / 1280) * 100vw);
}
.pf__intro-body {
  padding-top: calc((35 / 1280) * 100vw);
}
.pf__intro-visual {
  width: calc((274 / 1280) * 100vw);
}

.pf__content-group {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  padding-top: calc((16 / 1280) * 100vw);
  margin-bottom: calc((129 / 1280) * 100vw);
}
.pf__ren {
  position: absolute;
  top: 0;
  left: calc((147 / 1280) * 100vw * -1);
  width: calc((1095 / 1280) * 100vw);
}

.pf__howto {
  position: relative;
  width: calc((716 / 1280) * 100vw);
  margin-bottom: calc((96 / 1280) * 100vw);
}
.pf__howto-heading {
  width: calc((218 / 1280) * 100vw);
  margin-bottom: calc((47 / 1280) * 100vw);
}
.pf__spots {
  position: relative;
  width: calc((716 / 1280) * 100vw);
}
.pf__spots-heading {
  width: calc((379 / 1280) * 100vw);
  margin-bottom: calc((48 / 1280) * 100vw);
}
.pf__spots-list {
  margin-bottom: calc((40 / 1280) * 100vw);
}
.pf__map iframe {
  width: 100%;
  height: calc(716 / 1280 * 100vw * 0.6145251397);
}

.pf__campaign-heading {
  width: calc((347 / 1280) * 100vw);
  margin-bottom: calc((8 / 1280) * 100vw);
}
.pf__campaign-body {
  display: flex;
  justify-content: space-between;
}
.pf__campaign-content {
  padding-top: calc((32 / 1280) * 100vw);
  width: calc((579 / 1280) * 100vw);
}
.pf__campaign-content-head {
  width: calc((529 / 1280) * 100vw);
  margin-bottom: calc((64 / 1280) * 100vw);
}
.pf__campaign-content-text {
  width: calc((579 / 1280) * 100vw);
}
.pf__campaign-gift {
  margin-top: calc((2 / 375) * 100vw * -1);
  width: calc((488 / 1280) * 100vw);
}

@media screen and (max-width: 768px) {
  .pf {
    background-image: url('../img/photo__bg01--sp.png'), url('../img/pf__street--sp.png'), url('../img/pf__bg.png');
    background-size: 100% auto, 100% auto, 899px 634px;
    background-repeat: no-repeat, no-repeat, repeat;
    background-position-y: top, calc(100% - ((476 / 375) * 100vw)), top;
    padding: calc((124 / 375) * 100vw) calc((20 / 375) * 100vw) calc((128 / 375) * 100vw);
  }
  .pf__intro {
    align-items: center;
    flex-direction: column;
    margin-bottom: calc((130 / 375) * 100vw);
  }
  .pf__intro-header,
  .pf__intro-body {
    display: contents;
  }
  .pf__intro-title {
    order: 1;
    width: 100%;
    margin-bottom: calc((46 / 375) * 100vw);
  }
  .pf__intro-visual {
    order: 2;
    width: calc((175 / 375) * 100vw);
    margin-bottom: calc((49 / 375) * 100vw);
  }
  .pf__intro-text {
    order: 3;
    width: 100%;
  }
  .pf__intro-body {
    padding-top: 0;
  }
  .pf__content-group {
    padding-top: 0;
    margin-bottom: calc((96 / 375) * 100vw);
    align-items: flex-start;
  }
  .pf__ren {
    top: calc((92 / 375) * 100vw * -1);
    left: calc((20 / 375) * 100vw);
    width: calc((504 / 375) * 100vw);
  } 
  .pf__howto {
    position: relative;
    width: 100%;
    margin-bottom: calc((96 / 375) * 100vw);
  }
  .pf__howto-heading {
    width: calc((105 / 375) * 100vw);
    margin-bottom: calc((33 / 375) * 100vw);
  }
  .pf__spots {
    position: relative;
    width: 100%;
  }
  .pf__spots-heading {
    width: calc((189 / 375) * 100vw);
    margin-bottom: calc((35 / 375) * 100vw);
  }
  .pf__spots-list {
    margin-bottom: calc((24 / 375) * 100vw);
  }
  .pf__map iframe {
    width: 100%;
    height: calc(335 / 375 * 100vw);
  }
  .pf__campaign-heading {
    width: calc((259 / 375) * 100vw);
    margin-bottom: calc((32 / 375) * 100vw);
  }
  .pf__campaign-body {
    align-items: center;
    flex-direction: column;
  }
  .pf__campaign-content{
    display: contents;
  }
  .pf__campaign-content-head {
    order: 1;
    width: 100%;
    margin-bottom: calc((38 / 375) * 100vw);
  }
  .pf__campaign-gift {
    order: 2;
    width: calc((305 / 375) * 100vw);
    margin-bottom: calc((39 / 375) * 100vw);
  }
  .pf__campaign-content-text {
    order: 3;
    width: 100%;
  }
}

.sr__intro {
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 1;
  background-image: url('../img/stamp__bg01.png'), url('../img/stamp__street.png');
  background-size: 100% auto, 100% auto;
  background-repeat: no-repeat, no-repeat;
  background-position: top left, bottom left;
  background-color: rgba(89,193,241,.5);
  padding: calc((202 / 1280) * 100vw) calc((88 / 1280) * 100vw) calc((306 / 1280) * 100vw);
}
.sr__intro-title {
  width: calc((731 / 1280) * 100vw);
  margin-bottom: calc((481 / 1280) * 100vw);
}
.sr__intro-contents {
  position: relative;
  align-self: flex-end;
  width: calc((476 / 1280) * 100vw);
}
.sr__ks {
  position: absolute;
  top: calc((384 / 1280) * 100vw * -1);
  left: calc((760 / 1280) * 100vw * -1);
  width: calc((838 / 1280) * 100vw);
}
.sr__intro-heading {
  width: calc((377 / 1280) * 100vw);
  margin-bottom: calc((88 / 1280) * 100vw);
}
.sr__intro-text {
  width: calc((405 / 1280) * 100vw);
}

@media screen and (max-width: 768px) {
  .sr__intro {
    background-image: url('../img/stamp__bg01--sp.png'), url('../img/stamp__street--sp.png');
    padding: calc((125 / 375) * 100vw) calc((20 / 375) * 100vw) calc((194 / 375) * 100vw);
  }
  .sr__intro-title {
    width: 100%;
    margin-bottom: calc((197 / 1280) * 100vw);
  }
  .sr__intro-contents {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
  }
  .sr__ks {
    position: static;
    top: auto;
    left: auto;
    width: 100%;
    margin-bottom: calc((63 / 375) * 100vw);
  }
  .sr__intro-heading {
    width: calc((207 / 375) * 100vw);
    margin-bottom: calc((48 / 375) * 100vw);
  }
  .sr__intro-text {
    width: 100%;
  }


}

.sr__about {
  position: relative;
  background-image: url('../img/digitalstamp__bg.png');
  background-size:  900px 636px;
  background-repeat: repeat;
}
.sr__about__wrap {
  position: relative;
  overflow: hidden;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  clip-path: polygon(100% 0, 100% 88%, 82% 100%, 0 100%, 0 0);
}
.sr__about-belt {
    position: fixed;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    top: 0;
    left: 0;
    z-index: -1;
}
.sr__about-belt-item {
  width: calc((165 / 1280) * 100vw);
}
.sr__about-belt-item--left {
  position: absolute;
  left: calc((54 / 1280) * 100vw * -1);
  top: 0;
}
.sr__about-belt-item--right {
  position: absolute;
  right: calc((62 / 1280) * 100vw * -1);
  top: 0;
}
.sr__about-belt-item-img {
    opacity: .7;
}

.sr__about-contents {
  padding: calc((130 / 1280) * 100vw) 0 calc((219 / 1280) * 100vw);
}
.sr__about-about {
  width: calc((749 / 1280) * 100vw);
  margin-bottom: calc((101 / 1280) * 100vw);
}
.sr__about-gift {
  width: calc((748 / 1280) * 100vw);
}
.sr__about__foot {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .sr__about-contents {
    width: 100%;
    padding: calc((195 / 375) * 100vw) calc((20 / 375) * 100vw) calc((239 / 375) * 100vw);
  }
  .sr__about-about {
    width: 100%;
    margin-bottom: calc((56 / 375) * 100vw);
  }
  .sr__about-gift {
    width: 100%;
  }
  .sr__about-belt {
    position: absolute;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 100vw;
    height: calc(1210 / 375 * 100vw);
    left: 0;
    top: calc((64 / 375) * 100vw);
  }
  .sp__only.sr__about-belt {
    display: flex!important;
  }
  .sr__about-belt-item {
    position: unset;
    width: 100%;
    height: calc((100 / 375) * 100vw);
  }
  .sr__about-belt-item img{
    height: 100%;
    width: auto;
  }
  .sr__about-belt-item--left {
    left: 0;
    top: calc((62 / 375) * 100vw);
  }
  .sr__about-belt-item--right {
    right: auto;
    left: 0;
    bottom: calc((143 / 375) * 100vw);
  }
}


.sr__howto {
  background-image: url('../img/digitalstamp__bg.png');
  background-size: 900px 636px;
  background-repeat: repeat;
  padding: calc((123 / 1280) * 100vw) calc((88 / 1280) * 100vw) 0;
}
.sr__howto-heading {
  width: calc((218 / 1280) * 100vw);
  margin-bottom: calc((47 / 1280) * 100vw);
}
.sr__howto-step {
  position: relative;
}
.sr__howto-step:not(:last-of-type) {
  margin-bottom: calc((138 / 1280) * 100vw);
}
.sr__howto-step:not(:last-of-type)::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: calc((106 / 1280) * 100vw * -1);
  width: calc((65 / 1280) * 100vw);
  height: calc((75 / 1280) * 100vw);
  background-image: url('../img/sr__howto__arrow.png');
  background-repeat: no-repeat;
  background-size: 100% auto;
}
.sr__howto-step-read {
  position: absolute;
  top: calc((302 / 1280) * 100vw);
  left: calc((64 / 1280) * 100vw);
  width: calc((521 / 1280) * 100vw);
  height: calc((100 / 1280) * 100vw);
}

.sr__howto-step-shop {
  position: absolute;
  top: calc((642 / 1280) * 100vw);
  left: calc((104 / 1280) * 100vw);
  width: calc((397 / 1280) * 100vw);
  height: calc((121 / 1280) * 100vw);
}
.sr__howto-step-shop::after {
    content: "";
    position: absolute;
    bottom: calc((3 / 1280) * 100vw);
    right: calc((6 / 1280) * 100vw);
    width: calc((40 / 1280) * 100vw);
    height: calc((40 / 1280) * 100vw);
    background-image: url(../img/digital__spot__plus.png);
    background-size: 100% auto;
}
.sr__howto-step-shop-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: space-between;
  padding: calc((1 / 1280) * 100vw) calc((7 / 1280) * 100vw) calc((3 / 1280) * 100vw) calc((1 / 1280) * 100vw);
}
.sr__howto-step-shop-info {
  font-family: "Shippori Mincho", serif;
  padding: calc((22 / 1280) * 100vw) calc((9 / 1280) * 100vw)  calc((23 / 1280) * 100vw)  calc((23 / 1280) * 100vw);
  color: #59C1F1;
}
.sr__howto-step-shop-name {
  font-size: calc((18 / 1280) * 100vw);
  width: calc((237 / 1280) * 100vw);
  margin-bottom: calc((10 / 1280) * 100vw);
  line-height: 1.4;
}
.sr__howto-step-shop-holiday {
  display: flex;
  align-items: flex-start;
  gap: calc((4 / 1280) * 100vw);
}
.sr__howto-step-shop-holiday dt {
  font-size: calc((12 / 1280) * 100vw);
  border: calc((1 / 1280) * 100vw) solid #59C1F1;
  padding: calc((2 / 1280) * 100vw) calc((4 / 1280) * 100vw) calc((4 / 1280) * 100vw) calc((5 / 1280) * 100vw);
}
.sr__howto-step-shop-holiday dd {
  width: calc((186 / 1280) * 100vw);
  font-size: calc((15 / 1280) * 100vw);
  /*padding-top: calc((1 / 1280) * 100vw);*/
  margin-top: calc((-2 / 1280) * 100vw);
  line-height: 1.49333333;
}
.sr__howto-step-shop-holiday span {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: normal;
  display: block;
  font-size: calc((11 / 1280) * 100vw);
  margin-top: calc((7 / 1280) * 100vw);
  line-height: 1.4;
}
.sr__howto-step-shop-img {
  position: relative;
  width: calc((120 / 1280) * 100vw);
  height: 100%;
  overflow: hidden;
}
.sr__howto-step-shop-img img{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media screen and (max-width: 768px) {
  .sr__howto-step-shop {
    top: calc((1115 / 375) * 100vw);
    left: calc((40 / 375) * 100vw);
    width: calc((259 / 375) * 100vw);
    height: calc((202 / 375) * 100vw);
  }
  .sr__howto-step-shop::after {
      bottom: calc((5 / 375) * 100vw);
      right: calc((5 / 375) * 100vw);
      width: calc((32 / 375) * 100vw);
      height: calc((32 / 375) * 100vw);
  }
  .sr__howto-step-shop-wrap {
    display: flex;
    flex-direction: column;
    padding: calc((1 / 375) * 100vw) calc((5 / 375) * 100vw) calc((5 / 375) * 100vw) calc((1 / 375) * 100vw)
  }
  .sr__howto-step-shop-info {
    padding: calc((13 / 375) * 100vw) calc((9 / 375) * 100vw)  calc((18 / 375) * 100vw)  calc((20 / 375) * 100vw);
  }
  .sr__howto-step-shop-name {
    font-size: calc((18 / 375) * 100vw);
    width: calc((202 / 375) * 100vw);
    margin-bottom: calc((11 / 375) * 100vw);
  }

  .sr__howto-step-shop-holiday {
    display: flex;
    align-items: flex-start;
    gap: calc((6 / 375) * 100vw);
  }
  .sr__howto-step-shop-holiday dt {
    font-size: calc((10 / 375) * 100vw);
    border: calc((1 / 375) * 100vw) solid #59C1F1;
    padding: calc((3 / 375) * 100vw) calc((4 / 375) * 100vw) calc((3 / 375) * 100vw) calc((4 / 375) * 100vw);
  }
  .sr__howto-step-shop-holiday dd {
    width: calc((154 / 375) * 100vw);
    font-size: calc((14 / 375) * 100vw);
    /*padding-top: calc((1 / 375) * 100vw);*/
    margin-top: calc((-1 / 375) * 100vw);
    line-height: 1.4;
  }
  .sr__howto-step-shop-holiday span {
    display: block;
    font-size: calc((10 / 375) * 100vw);
    margin-top: calc((2 / 375) * 100vw);
  }


  .sr__howto-step-shop-img {
    width: 100%;
    height: calc((96 / 375) * 100vw);
  }
}


@media screen and (max-width: 768px) {
  .sr__howto {
    padding: calc((96 / 375) * 100vw) calc((20 / 375) * 100vw) calc((97 / 375) * 100vw);
  }
  .sr__howto-heading {
    width: calc((105 / 375) * 100vw);
    margin-bottom: calc((31 / 375) * 100vw);
  }
  .sr__howto-step:not(:last-of-type) {
    margin-bottom: calc((83 / 375) * 100vw);
  }
  .sr__howto-step:not(:last-of-type)::after {
    bottom: calc((67 / 375) * 100vw * -1);
    width: calc((39 / 375) * 100vw);
    height: calc((45 / 375) * 100vw);
  }
  .sr__howto-step-read {
    top: calc((554 / 375) * 100vw);
    left: 50%;
    transform: translateX(-50%);
    width: calc((295 / 375) * 100vw);
    height: calc((68 / 375) * 100vw);
  }
}


.sr__spot {
  background-image: url('../img/sr__street.png'), url('../img/digitalstamp__bg.png');
  background-size:  100% auto, 900px 636px;
  background-repeat: no-repeat, repeat;
  margin-top: calc((206 / 1280) * 100vw * -1);
  padding: calc((459 / 1280) * 100vw) calc((88 / 1280) * 100vw) calc((158 / 1280) * 100vw);
}
.sr__spot-heading {
  width: calc((382 / 1280) * 100vw);
  margin-bottom: calc((46 / 1280) * 100vw);
}
.sr__spot-about {
  width: calc((532 / 1280) * 100vw);
  margin-bottom: calc((129 / 1280) * 100vw);
}

.sr__spot-car {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  padding-bottom: calc((127 / 1280) * 100vw);
}
.sr__spot-walk {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  padding-bottom: calc((129 / 1280) * 100vw);
}
.sr__spot-car-heading {
  width: 100%;
  margin-bottom: calc((12 / 1280) * 100vw);
}
.sr__spot-walk-heading {
  width: 100%;
  margin-bottom: calc((80 / 1280) * 100vw);
}
.sr__spot-list {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: calc((32 / 1280) * 100vw) calc((24 / 1280) * 100vw);
  width: calc((720 / 1280) * 100vw);
}
.sr__spot-list-area--car {
  position: absolute;
  top: calc((64 / 1280) * 100vw * -1);
  left: calc((437 / 1280) * 100vw * -1);
  width: calc((478 / 1280) * 100vw);
}
.sr__spot-list-area--walk {
  position: absolute;
  top: calc((28 / 1280) * 100vw * -1);
  left: calc((437 / 1280) * 100vw * -1);
  width: calc((478 / 1280) * 100vw);
}
.sr__spot-item,
.sr__spot-item--dummy {
  width: calc((348 / 1280) * 100vw);
  position: relative;
}

.sr__spot-item-episode {
  display: flex;
  align-items: flex-end;
  margin-bottom: calc((23 / 1280) * 100vw);
  width: 100%;
  height: calc((40 / 1280) * 100vw);
  gap: calc((10 / 1280) * 100vw);
}
.sr__spot-item-episode-num {
  width: calc((107 / 1280) * 100vw);
}
.sr__spot-item-episode-common {
  width: calc((184 / 1280) * 100vw);
}
.sr__spot-item-shop {
  position: relative;
  cursor: pointer;
}
.sr__spot-item-shop::after {
  content: "";
  position: absolute;
  bottom: calc((6 / 1280) * 100vw);
  right: calc((6 / 1280) * 100vw);
  width: calc((40 / 1280) * 100vw);
  height: calc((40 / 1280) * 100vw);
  background-image: url('../img/digital__spot__plus.png');
  background-size: 100% auto;
}
.sr__spop-item-shop-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: space-between;
  padding: calc((1 / 1280) * 100vw) calc((7 / 1280) * 100vw) calc((7 / 1280) * 100vw) calc((1 / 1280) * 100vw);
}
.sr__spot-item-shop-info {
    font-family: YakuHanMP, "Shippori Mincho", serif;
  padding: calc((22 / 1280) * 100vw) calc((23 / 1280) * 100vw)  calc((23 / 1280) * 100vw)  calc((23 / 1280) * 100vw);
  color: #fff;
}
.sr__spot-item-shop-name {
  font-size: calc((18 / 1280) * 100vw);
  width: calc((180 / 1280) * 100vw);
  margin-bottom: calc((10 / 1280) * 100vw);
  line-height: 1.4;
}
.sr__spot-item-shop-holiday {
  display: flex;
  align-items: flex-start;
  gap: calc((4 / 1280) * 100vw);
}
.sr__spot-item-shop-holiday dt {
  font-size: calc((12 / 1280) * 100vw);
  border: calc((1 / 1280) * 100vw) solid #fff;
  padding: calc((2 / 1280) * 100vw) calc((4 / 1280) * 100vw) calc((4 / 1280) * 100vw) calc((5 / 1280) * 100vw);
}
.sr__spot-item-shop-holiday dd {
  width: calc((129 / 1280) * 100vw);
  font-size: calc((15 / 1280) * 100vw);
  /*padding-top: calc((1 / 1280) * 100vw);*/
  margin-top: calc((-2 / 1280) * 100vw);
  line-height: 1.49333333;
}
.sr__spot-item-shop-holiday span {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: normal;
  display: block;
  font-size: calc((11 / 1280) * 100vw);
  margin-top: calc((7 / 1280) * 100vw);
  line-height: 1.4;
}

.sr__spot-item-shop-img {
  position: relative;
  width: calc((113 / 1280) * 100vw);
  height: 100%;
  overflow: hidden;
}
.sr__spot-item-shop-img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sr__spot-map {
}
.sr__spot-map-heading {
  align-self: flex-start;
  width: calc((479 / 1280) * 100vw);
}
.sr__map {
  margin: calc((30 / 1280) * 100vw * -1) auto 0;
  width: calc((776 / 1280) * 100vw);
}
.sr__map iframe {
  width: 100%;
  height: calc(776 / 1280 * 100vw * 0.618556701);
}

@media screen and (max-width: 768px) {
  .sr__spot {
    background-image: url('../img/sr__street--sp.png'), url('../img/digitalstamp__bg.png');
    margin-top: 0;
    padding: calc((183 / 375) * 100vw) 0 calc((128 / 375) * 100vw);
    overflow: hidden;
  }
  .sr__spot-heading-wrap {
    padding: 0 calc((20 / 375) * 100vw) 0;
  }
  .sr__spot-heading {
    width: calc((189 / 375) * 100vw);
    margin-bottom: calc((31 / 375) * 100vw);
  }
  .sr__spot-about {
    width: 100%;
    margin-bottom: calc((65 / 375) * 100vw);
  }
  .sr__spot-car {
    align-items: flex-start;
    padding-bottom: calc((96 / 375) * 100vw);
  }
  .sr__spot-car-heading {
    align-self: flex-end;
    width: calc((365 / 375) * 100vw);
    margin-bottom: 0;
  }
  .sr__spot-walk {
    align-items: flex-start;
    padding-bottom: calc((96 / 375) * 100vw);
  }
  .sr__spot-walk-heading {
    align-self: flex-end;
    width: calc((365 / 375) * 100vw);
    margin-bottom: 0;
  }
  .sr__spot-list-wrap {
    padding: 0 calc((20 / 375) * 100vw) 0;
  }
  .sr__spot-list-area--car {
    position: static;
    top: auto;
    left: auto;
    width: calc((295 / 375) * 100vw);
    margin: calc((36 / 375) * 100vw * -1) auto 0;
  }
  .sr__spot-list-area--walk {
    position: static;
    top: auto;
    left: auto;
    width: calc((295 / 375) * 100vw);
    margin: calc((24 / 375) * 100vw) auto 0;
  }
  .sr__spot-list {
    width: 100%;
    gap: 0;
  }
  .sr__spot-item {
    width: 100%;
  }
  .sr__spot-item--02 {
    margin-top: calc((70 / 375) * 100vw * -1);
  }
  .sr__spot-item--09 {
    margin-top: calc((70 / 375) * 100vw * -1);
  }
  .sr__spot-item--dummy {
    display: none;
  }
  .sr__spot-item-episode {
    margin-bottom: calc((24 / 375) * 100vw);
    height: calc((36 / 375) * 100vw);
    gap: calc((4 / 375) * 100vw);
  }
  .sr__spot-item-episode-num {
    width: calc((96 / 375) * 100vw);
  }
  .sr__spot-item-episode-common {
    width: calc((153 / 375) * 100vw);
  }
  .sr__spot-item-shop::after {
    content: "";
    position: absolute;
    bottom: calc((5 / 375) * 100vw);
    right: calc((5 / 375) * 100vw);
    width: calc((32 / 375) * 100vw);
    height: calc((32 / 375) * 100vw);
  }
  .sr__spop-item-shop-wrap {
    padding: calc((1 / 375) * 100vw) calc((5 / 375) * 100vw) calc((5 / 375) * 100vw) calc((1 / 375) * 100vw);
  }
  .sr__spot-item-shop-img {
    width: calc((104 / 375) * 100vw);
  }
  .sr__spot-item-shop-info {
    padding: calc((15 / 375) * 100vw) calc((19 / 375) * 100vw) calc((19 / 375) * 100vw) calc((19 / 375) * 100vw);
  }
  .sr__spot-item-shop-name {
    font-size: calc((18 / 375) * 100vw);
    width: calc((186 / 375) * 100vw);
    margin-bottom: calc((9 / 375) * 100vw);
  }
  .sr__spot-item-shop-holiday {
    display: flex;
    align-items: flex-start;
    gap: calc((6 / 375) * 100vw);
  }
  .sr__spot-item-shop-holiday dt {
    font-size: calc((10 / 375) * 100vw);
    border: calc((1 / 375) * 100vw) solid #fff;
    padding: calc((3 / 375) * 100vw) calc((4 / 375) * 100vw) calc((3 / 375) * 100vw) calc((4 / 375) * 100vw);
  }
  .sr__spot-item-shop-holiday dd {
    width: calc((140 / 375) * 100vw);
    font-size: calc((14 / 375) * 100vw);
    /*padding-top: calc((1 / 375) * 100vw);*/
    margin-top: calc((-1 / 375) * 100vw);
    line-height: 1.4;
  }
  .sr__spot-item-shop-holiday span {
    display: block;
    font-size: calc((10 / 375) * 100vw);
    margin-top: calc((2 / 375) * 100vw);
  }
  .sr__spot-item--02,
  .sr__spot-item--032,
  .sr__spot-item--042,
  .sr__spot-item--052,
  .sr__spot-item--05,
  .sr__spot-item--06,
  .sr__spot-item--07,
  .sr__spot-item--09,
  .sr__spot-item--10,
  .sr__spot-item--11,
  .sr__spot-item--12,
  .sr__spot-item--132,
  .sr__spot-item--142 {
    margin-bottom: calc((40 / 375) * 100vw);
  }

  .sr__spot-item--031,
  .sr__spot-item--041,
  .sr__spot-item--051,
  .sr__spot-item--131,
  .sr__spot-item--141 {
    margin-bottom: calc((16 / 375) * 100vw);
  }


  .sr__spot-item--032 .sr__spot-item-episode,
  .sr__spot-item--042 .sr__spot-item-episode,
  .sr__spot-item--052 .sr__spot-item-episode,
  .sr__spot-item--132 .sr__spot-item-episode,
  .sr__spot-item--142 .sr__spot-item-episode {
    display: none;
  }
  .sr__spot-map {
    padding: 0 calc((10 / 375) * 100vw) 0;
  }
  .sr__spot-map-heading {
    width: calc((200 / 375) * 100vw);
  }
  .sr__map {
    margin: calc((5 / 375) * 100vw * -1) auto 0;
    width: calc((335 / 375) * 100vw);
  }
  .sr__map iframe {
    height: calc(335 / 375 * 100vw);
  }
}


.footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding-top: calc((177 / 1280) * 100vw);
  padding-bottom: calc((102 / 1280) * 100vw);
  color: #fff;
  background-image: url('../img/footer__bg.png');
  background-size: 100% auto;
  background-repeat: repeat;
}

/* ==============================
   共通 heading
============================== */


/* ==============================
   閲覧環境
============================== */
.footer__env {
  width: calc((768 / 1280) * 100vw);
  align-items: center;
  margin-bottom: calc((80 / 1280) * 100vw);
}

.footer__env-heading {
  width: 100%;
  background-color: #fff;
  color:#000;
  font-size: calc((28 / 1280) * 100vw);
  margin-bottom: calc((25 / 1280) * 100vw);
  text-align: center;
  padding: calc((10 / 1280) * 100vw) 0;
}

.footer__env-text {
  font-size: calc((16 / 1280) * 100vw);
  margin-bottom: calc((27 / 1280) * 100vw);
  line-height: 1.8;
  letter-spacing: .015em;
}
.footer__env-text span {
  background-color: #DA0A17;
}

.footer__env-box {
  padding: calc((21 / 1280) * 100vw) calc((32 / 1280) * 100vw) calc((30 / 1280) * 100vw);
  border: calc((1 / 1280) * 100vw) solid #fff;
}

.footer__env-list {

}
.footer__env-item {
  position: relative;
  font-size: calc((20 / 1280) * 100vw);
  line-height: 1.8;
  padding-left: calc((18 / 1280) * 100vw);
  letter-spacing: .07em;
}
.footer__env-item span {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: calc((13 / 1280) * 100vw);
  margin-top: calc((2 / 1280) * 100vw * -1);
  display: block;
  font-weight: 500;
}
.footer__env-item::before {
  content: "";
  position: absolute;
  top: calc((14 / 1280) * 100vw);
  left: 0;
  background-color: #fff;
  width: calc((10 / 1280) * 100vw);
  height: calc((10 / 1280) * 100vw);
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}

.footer__env-note {
  font-size: calc((16 / 1280) * 100vw);
}

/* ==============================
   カメラアプリ
============================== */
.footer__camera {
  display: flex;
  flex-direction: column;
  align-items:center;
  width: calc((768 / 1280) * 100vw);
  align-items: center;
  margin-bottom: calc((70 / 1280) * 100vw);
}

.footer__camera-heading {
  width: 100%;
  background-color: #fff;
  color:#000;
  font-size: calc((28 / 1280) * 100vw);
  margin-bottom: calc((25 / 1280) * 100vw);
  text-align: center;
  padding: calc((10 / 1280) * 100vw) 0;
}

.footer__camera-text {
  font-size: calc((16 / 1280) * 100vw);
  margin-bottom: calc((27 / 1280) * 100vw);
  line-height: 1.8;
  letter-spacing: .07em;
}

.footer__camera-sample {
  width: calc((406 / 1280) * 100vw);
  margin-bottom: calc((20 / 1280) * 100vw);
}

.footer__camera-note-item {
  font-size: calc((13 / 1280) * 100vw);
  line-height: 1.8;
    font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
}

/* ==============================
   お問い合わせ
============================== */
.footer__contact {
  font-family: "Shippori Mincho", serif;
  text-align: center;
  margin-bottom: calc((69 / 1280) * 100vw);
}

.footer__contact-heading {
  font-size: calc((20 / 1280) * 100vw);
  font-family: "Shippori Mincho", serif;
  line-height: 1.35;
  margin-bottom: calc((12 / 1280) * 100vw);
}

.footer__contact-info-item {
  font-size: calc((18 / 1280) * 100vw);
  line-height: 1.5;
  margin-bottom: calc((8 / 1280) * 100vw);
}
.footer__contact-info-item--min {
  font-size: calc((14 / 1280) * 100vw);
}

/* ==============================
   バナー
============================== */
.footer__banner {
  display: flex;
  justify-content: center;
  gap: calc((16 / 1280) * 100vw);
  margin-bottom: calc((48 / 1280) * 100vw);
}

.footer__banner-item {
  width: calc((320 / 1280) * 100vw);
}

/* ==============================
   OFFICIAL
============================== */
.footer__official-label {
  width: calc((93 / 1280) * 100vw);
  text-align: center;
  margin: 0 auto calc((20 / 1280) * 100vw);
}

.footer__official-sns {
  display: flex;
  justify-content: center;
  gap: calc((16 / 1280) * 100vw);
  margin-bottom: calc((47 / 1280) * 100vw);
}

.footer__official-item {
  width: calc((56 / 1280) * 100vw);
}

.footer__credit {
  font-family: "Shippori Mincho", serif;
  font-size: calc((13 / 1280) * 100vw);
  text-align: center;
}

@media screen and (max-width: 768px) {
  .footer {
    padding: calc((96 / 375) * 100vw) calc((20 / 375) * 100vw) calc((48 / 375) * 100vw);
    background-image: url("../img/footer__bg--sp.png");
  }
  .footer__env {
    width: 100%;
    margin-bottom: calc((48 / 375) * 100vw);
  }
  .footer__env-heading {
    font-size: calc((20 / 375) * 100vw);
    padding: calc((6 / 375) * 100vw) 0;
    margin-bottom: calc((18 / 375) * 100vw);
  }
  .footer__env-text {
    font-size: calc((12 / 375) * 100vw);
    margin-bottom: calc((16 / 375) * 100vw);
  }
  .footer__env-box {
    padding: calc((12 / 375) * 100vw) calc((20 / 375) * 100vw) calc((20 / 375) * 100vw);
    border: calc((1 / 375) * 100vw) solid #fff;
  }
  .footer__env-item {
    font-size: calc((14 / 375) * 100vw);
    padding-left: calc((12 / 375) * 100vw);
    line-height: 1.5;
  }
  .footer__env-item:not(:last-of-type) {
    margin-bottom: calc((6 / 375) * 100vw);
  }

  .footer__env-item::before {
    top: calc((7 / 375) * 100vw);
    width: calc((8 / 375) * 100vw);
    height: calc((8 / 375) * 100vw);
  }
  .footer__env-item span {
    font-size: calc((12 / 375) * 100vw);
    margin-top: calc((11 / 375) * 100vw);
  }
  .footer__env-note {
    font-size: calc((12 / 375) * 100vw);
  }
  .footer__camera {
    width: 100%;
    margin-bottom: calc((58 / 375) * 100vw);
    align-items: flex-start;
  }
  .footer__camera-heading {
    font-size: calc((20 / 375) * 100vw);
    padding: calc((6 / 375) * 100vw) 0;
    margin-bottom: calc((18 / 375) * 100vw);
  }
  .footer__camera-text {
    font-size: calc((12 / 375) * 100vw);
    margin-bottom: calc((16 / 375) * 100vw);
  }
  .footer__camera-sample {
    width: 100%;
    margin-bottom: calc((15 / 375) * 100vw);
  }
  .footer__camera-note-item {
    font-size: calc((12 / 375) * 100vw);
  }
  .footer__contact {
    margin-bottom: calc((40 / 375) * 100vw);
  }
  .footer__contact-heading {
    font-size: calc((16 / 375) * 100vw);
    margin-bottom: calc((9 / 375) * 100vw);
  }
  .footer__contact-info-item {
    font-size: calc((14 / 375) * 100vw);
    margin-bottom: calc((5 / 375) * 100vw);
  }
  .footer__contact-info-item--min {
    font-size: calc((12 / 375) * 100vw);
  }
  .footer__banner {
    flex-direction: column;
    justify-self: flex-start;
    align-items: center;
    gap: calc((12 / 375) * 100vw) 0;
    margin-bottom: calc((47 / 375) * 100vw);
  }
  .footer__banner-item {
    width: calc((295 / 375) * 100vw);
  }
  .footer__official-label {
    width: calc((93 / 375) * 100vw);
    margin: 0 auto calc((20 / 375) * 100vw);
  }
  .footer__official-sns {
    margin-bottom: calc((61 / 375) * 100vw);
    gap: calc((16 / 375) * 100vw);
  }
  .footer__official-item {
    width: calc((56 / 375) * 100vw);
  }
  .footer__credit {
      font-size: calc((12 / 375) * 100vw);
      text-align: center;
  }
}



/* ==============================
   MODAL
============================== */
.modalBg, .modalClose {
    display: none;
    position: fixed;
}
.modalBg {
    width: 100vw;
    height: 100vh;
    background-color: #31505D;
    opacity:.7;
    bottom: 0;
    left: 0;
    right: 0;
    top: 0;
    z-index: 300;
}
.modalClose {
    cursor: pointer;
    height: 50px;
    right: 38px;
    top: 38px;
    width: 50px;
    z-index: 303;
}
.modalClose:after, .modalClose:before {
    background-color: #fff;
    content: "";
    display: block;
    height: 6px;
    left: 50%;
    position: absolute;
    top: 50%;
    width: 64px;
}
.modalClose:before {
    transform: translate(-50%, -50%) rotate(45deg);
}
.modalClose:after {
    transform: translate(-50%, -50%) rotate(-45deg);
}
.modal {
  top: 58px;
  box-sizing: border-box;
  display: none;
  left: 50%;
  position: fixed;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 301;
  display: block;
}
.modal__header {
  height: 58px;
  width: 100%;
}
.modal__footer {
  height: 64px;
  width: 100%;
}
.modal__item {
  max-width: 768px;
  width: 89.333333vw;
  display: inline-block;
  max-height: 100dvh;
  overflow-y: scroll;
}

.modal__item::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

.modal__inner {
  width: 100%;
  background-image: url(../img/digitalstamp__bg.png);
  background-size: 900px 636px;
  background-repeat: repeat;
}

#shopModal {
  width: 100vw;
  max-width: 758px;
  display: none;
}
.slick-initialized#shopModal{
    display: block;
}

.slick-slider .slick-list, .slick-slider .slick-track {
    transform: translateZ(0);
}
.slick-list {
    margin: 0;
    overflow: hidden;
    padding: 0;
}
.slick-list, .slick-slider {
    display: block;
    position: relative;
}
.slick-track {
    display: block;
    left: 0;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    top: 0;
}
.slick-slide {
    float: left;
    height: 100%;
    min-height: 1px;
}


/* preload */
.preload {
  background: #050915;
  opacity: 0;
  position: fixed;
  inset: 0;
  width: 100vw;
  z-index: 9999;
}
.loading .preload {
  opacity: 1;
}
.loadingFin .preload {
  opacity: 0;
}
.loadingFin .preload {
  transition: opacity 1.0s;
}
.loading .wrap ,
.loading footer {
  opacity: 0;
}
.preload__img__wrapper {
  align-items: center;
  display: flex;
  height: 100vh;
  height: 100svh;
  justify-content: center;
  position: relative;
}
.preload__img {
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 608px;
}
.preload__castle {
  animation: preloadCastleAnim 1s ease-out 0s infinite;
  left: 50%;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 384px;
}
.preload__text {
  left: 50%;
  position: absolute;
  top: calc(50% + 83px);
  transform: translate(-50%, -50%);
  width: 124px;
}
.preload__castle img,
.preload__text img,
.preload__img img {
    width: 100%;
}

@media screen and (max-width: 768px) {
  .preload__img {
    width: 78.66666667vw;
  }
  .preload__castle {
    width: 49.6vw;
  }
  .preload__text {
    width: 16vw;
    top: calc(50% + 10.6667vw);
  }
}
@keyframes preloadCastleAnim {
  0% {
    opacity: .3;
  }
  14.28% {
    opacity: .5;
  }
  70% {
    opacity: .6;
  }
  100% {
    opacity: .3;
  }
}
/* fadein */
@keyframes fadeinAnim {
    0% {
        -webkit-transform: translateY(24px);
        opacity: 0;
        transform: translateY(24px)
    }

    to {
        -webkit-transform: translateY(0);
        opacity: 1;
        transform: translateY(0)
    }
}
.fade_in.is-show {
    -webkit-animation: fadeinAnim .4s ease-out both;
    -webkit-animation-delay: .6s;
    animation: fadeinAnim .4s ease-out both;
    animation-delay: .6s;
}
.fade_in {
    -webkit-animation: none;
    -webkit-transform: translateY(24px);
    animation: none;
    opacity: 0;
    transform: translateY(24px);
}

.fadeRight.is-show {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
}
.fadeRight {
    -webkit-clip-path: inset(0 100% 0 0);
    clip-path: inset(0 100% 0 0);
    display: inline-block;
    opacity: 1;
    overflow: hidden;
    transition: -webkit-clip-path .8s cubic-bezier(.6, 0, .4, 1);
    transition: clip-path .8s cubic-bezier(.6, 0, .4, 1);
    transition: clip-path .8s cubic-bezier(.6, 0, .4, 1), -webkit-clip-path .8s cubic-bezier(.6, 0, .4, 1);
}


.fv__copy.fade_in.is-show {
    -webkit-animation-delay: 0.8s;
    animation-delay: 0.8s;
}
.fv__feature-item--red.fadeRight.is-show {
    -webkit-transition-delay: 1.0s;
    transition-delay: 1.0s;
}
.fv__feature-item--blue.fadeRight.is-show {
    -webkit-transition-delay: 1.6s;
    transition-delay: 1.6s;
}
.fv__period.fadeRight.is-show {
    -webkit-transition-delay: 2.2s;
    transition-delay: 2.2s;
}


.barColor {
  display: none;
}
@media screen and (max-width: 768px) {
  .barColor {
    width: 100%;
    position: fixed;
    left: 0;
    background-color: #000;
    height: 4px;
    display: block;
  }
  .barColor--top {
    top: 0;
    height: 6px;
  }
  .barColor--bottom {
    bottom: 0;
    height: 4px;
  }
}



/* ==============================
   ADD K
============================== */
/* pointer */
.add_pointer {
  cursor: pointer;
}

/* onlystyle */
.sp--only,
.pc--only {
  display: none;
}

@media screen and (min-width: 768px) {
  .pc--only {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .sp--only {
    display: block;
  }
}
