@charset "UTF-8";
/* A Modern CSS Reset */
*,
*::before,
*::after {
  box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: auto;
}

body {
  min-height: 100%;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

main {
  display: block;
}

a:not([class]) {
  -webkit-text-decoration-skip: ink;
  text-decoration-skip-ink: auto;
}

img,
picture {
  max-width: 100%;
}

svg,
img,
embed,
object,
iframe {
  vertical-align: top;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit;
}

select::-ms-expand {
  display: none;
}

[type=checkbox] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
  appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
  appearance: radio;
}

button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default;
}

label[for] {
  cursor: pointer;
}

hr {
  height: 0;
  margin: 2.8rem 0;
  padding: 0;
  border: 0;
  border-top: 1px solid #cccccc;
}

/*
 * HTML
 * -------------------------------------------------------------------
 */
html {
  font-size: 62.5%;
}

body {
  font-family: "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  font-family: "Noto Serif JP", serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 1.6rem;
  font-weight: 400;
  font-style: normal;
  line-height: 1.5;
  overflow: hidden;
}

a {
  text-decoration: none;
  outline: none;
  color: inherit;
  font-weight: 500;
  text-decoration: underline;
  transition: opacity 0.2s, background-color 0.2s;
}

a:hover {
  opacity: 0.7;
  text-decoration: none;
}

/*
 * Module
 * -------------------------------------------------------------------
 */
.u-mb-0 {
  margin-bottom: 0;
}

.u-mb-025em {
  margin-bottom: 0.25em;
}

.u-mb-05em {
  margin-bottom: 0.5em;
}

.u-mb-1em {
  margin-bottom: 1em;
}

.u-mb-1_5em {
  margin-bottom: 1.5em;
}

.u-mb-1_75em {
  margin-bottom: 1.75em;
}

.u-mb-2em {
  margin-bottom: 2em;
}

.u-mb-2_5em {
  margin-bottom: 2.5em;
}

.u-mb-2_75em {
  margin-bottom: 2.75em;
}

.u-mb-3em {
  margin-bottom: 3em;
}

.u-mb-3_5em {
  margin-bottom: 3.5em;
}

.u-mb-3_75em {
  margin-bottom: 3.75em;
}

.u-mb-4em {
  margin-bottom: 4em;
}

.u-pt-0 {
  padding-top: 0 !important;
}

.u-pr-0 {
  padding-right: 0 !important;
}

.u-pb-0 {
  padding-bottom: 0 !important;
}

.u-pl-0 {
  padding-left: 0 !important;
}

.u-full-width {
  width: 100%;
}

.u-f-weight--normal {
  font-weight: 400;
}

.u-f-weight--midium {
  font-weight: 500;
}

.u-f-weight--bold {
  font-weight: bold;
}

.u-text--left {
  text-align: left;
}

.u-text--center {
  text-align: center;
}

.u-text--right {
  text-align: right;
}

.u-bg--grey-light {
  background-color: #eeeeee;
}

@media screen and (min-width: 841px) {
  .sp-only {
    display: none;
  }
}
@media screen and (max-width: 840px) {
  .pc-only {
    display: none;
  }
}
/*
 * locomotive custom
 * -------------------------------------------------------------------
 */
[data-scroll-direction=horizontal] [data-scroll-section] {
  height: auto;
  vertical-align: middle;
  position: relative;
}

/*
 * layout
 * -------------------------------------------------------------------
 */
[data-scroll-direction=horizontal] [data-scroll-container] {
  white-space: nowrap;
  overflow: hidden;
  perspective: 1px;
}

[data-scroll-direction=horizontal] [data-scroll] {
  transform: none;
  display: inline-block;
  perspective: 1px;
}

.contents-main {
  position: relative;
  perspective: 1px;
}

.contents-main::before {
  content: "";
  height: 100%;
  font-size: 0;
  line-height: 1;
  letter-spacing: 0;
  vertical-align: middle;
  display: inline-block;
}

.scroll-section {
  width: -moz-max-content;
  width: max-content;
  font-size: 1rem;
  position: relative;
  vertical-align: middle;
  display: inline-block;
}

.bg-street-wrap {
  display: block;
  position: fixed !important;
  bottom: 0;
  left: 0;
  z-index: 10;
  width: 800rem;
  height: 7.5vh !important;
  overflow: hidden;
}

.bg-street {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 7.5vh;
  background: url("../img/bg_street.png") repeat-x left bottom;
  background-size: contain;
}

/* intro */
.intro {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100vw;
  height: 100vh;
  position: relative;
  margin-right: 100vh;
  text-align: center;
  padding-bottom: 7.5vh;
}

.logo {
  display: inline-block;
  width: 28.2%;
  min-width: 25rem;
  min-width: 34.4rem;
  aspect-ratio: 1/1;
}

.crossing {
  position: absolute;
  bottom: 0;
  left: 65%;
  width: 80vh;
}

.fumikiri-wrap {
  position: absolute;
  bottom: 4.3vh;
  left: 79%;
  width: 60vh;
}
.fumikiri-wrap::before {
  content: "";
  display: block;
  padding-top: 69.2%;
}
.fumikiri-wrap .fumikiri {
  position: relative;
}
.fumikiri-wrap .shadanki {
  position: absolute;
  top: 87%;
  left: 20%;
  width: 73.71%;
  transform: rotate(-76deg);
  transform-origin: 0 5%;
}

/* about */
.train {
  position: absolute;
  bottom: 2vh;
  left: -50%;
  width: 87.84vh;
}

.about {
  position: relative;
  bottom: 0.123vh;
  bottom: -14.28vh;
  width: 138vh;
  margin-right: 30vh;
}
.about .bg-street {
  display: none;
}

.about::before {
  content: "";
  display: block;
  padding-top: 49.94%;
}

.about img {
  position: absolute;
}

.about-img1 {
  top: 2vh;
  right: 0;
  left: 2vh;
  margin: auto;
  width: 68.61vh;
}

.about-img2 {
  top: 11vh;
  right: 0;
  left: 12vh;
  margin: auto;
  width: 80.3vh;
}

.shop-img {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 138vh;
  transform: translate3d(0, 0, 0);
}

.shop-line {
  top: 20vh;
  right: 0;
  left: 30vh;
  margin: auto;
  width: 84.3vh;
}

/* shop-list */
.shop-section {
  position: relative;
  z-index: 20;
  height: 100% !important;
  padding-bottom: 7.5vh;
}

.shop-outer {
  display: flex;
  align-items: center;
  height: 100%;
  position: relative;
}

.botefuri {
  position: absolute;
  bottom: -3.5vh;
  left: 30%;
  z-index: 20;
  width: 23.07vh;
}

.chari {
  position: absolute;
  bottom: -4vh;
  left: 40%;
  z-index: 20;
  width: 23.07vh;
  perspective: 1px;
}

.shop-list {
  display: flex;
  position: relative;
  z-index: 2;
  margin-top: auto;
  margin-bottom: auto;
  margin-right: 40vh;
}

.shop-list-item {
  width: 42rem;
  margin-right: 5rem;
  text-align: center;
  opacity: 0;
}
.shop-list-item.is-inview {
  animation: fadeIn 0.7s ease-out forwards;
}
.shop-list-item .botefuri {
  display: none;
}
.shop-list-item .chari {
  display: none;
}
.shop-list-item .item-title {
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 251/65;
  max-width: 33.4rem;
  margin: 0 auto;
  text-align: center;
}
.shop-list-item:nth-child(1) .item-title img {
  max-width: 33.4rem;
}
.shop-list-item:nth-child(2) .item-title img {
  max-width: 22.6rem;
}
.shop-list-item .item-category {
  margin-top: 0.9rem;
  font-size: 1.6rem;
}
.shop-list-item .item-text {
  line-height: 1.7;
  margin-top: 6rem;
  font-size: 1.6rem;
}

.sns {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 3.6rem;
}
.sns li {
  width: 3rem;
}
.sns li + li {
  margin-left: 1.6rem;
}

/* message */
.message-section {
  position: relative;
  z-index: 20;
  height: 100% !important;
  padding-bottom: 7.5vh;
}

.message-wrap {
  display: flex;
  align-items: center;
  height: 100%;
}

.message {
  display: flex;
  height: -moz-max-content;
  height: max-content;
  margin-right: 50rem;
}
.message > div {
  display: flex;
  flex-direction: column;
  font-size: 1.6rem;
}
.message > div:last-child {
  margin-left: 16em;
}
.message > div p {
  line-height: 2.3;
}

.border-btn-wrap {
  margin-top: auto;
}

.border-btn {
  display: block;
  padding: 0.2em 0.5em 0.3em;
  border: 1px solid #707070;
  font-size: 1.5rem;
  text-decoration: none !important;
  text-align: center;
}

/* access */
.access-section {
  height: 100% !important;
}

.access {
  display: flex !important;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 80vw;
  height: 100%;
  padding-bottom: 7.5vh;
  color: #fff;
  background-color: #000;
}

.gmap {
  position: relative;
  background-color: #f3f3f3;
}
.gmap::before {
  content: "";
  display: block;
  padding-top: 55%;
}
.gmap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -ms-filter: grayscale(100%);
  filter: grayscale(100%);
}

.access-info {
  max-width: 30rem;
  margin: 0 auto;
}
.access-info .access-img {
  margin-bottom: 6rem;
}
.access-info p {
  line-height: 1.8;
  font-size: 1.4rem;
}
.access-info p + p {
  margin-top: 1.5em;
}
@keyframes fadeInUp {
  0% {
    transform: translateY(50px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* -----------------------------------------
 SP SIZE
------------------------------------------- */
@media screen and (max-width: 840px) {
  html {
    font-size: 2.6666666667vw;
    perspective: 1px;
  }
  body {
    overflow: visible;
    perspective: 1px;
  }
  .contents-main {
    height: auto;
    overflow: hidden;
  }
  .contents-main::before {
    display: none;
  }
  .contents-main::after {
    content: "";
    display: block;
    width: 100%;
    height: 2rem;
    background-color: #000;
  }
  .bg-street {
    display: none;
  }
  .scroll-section {
    display: block;
    width: auto;
    font-size: 1.4rem;
  }
  /* intro */
  .intro {
    width: 100vw;
    height: 100dvh;
    margin-right: 0;
    margin-bottom: 10rem;
  }
  .logo {
    width: 62%;
    min-width: 0;
  }
  .fumikiri-wrap {
    display: none;
  }
  /* about */
  .train {
    position: absolute;
    bottom: 0;
    left: 55%;
    width: 113.86%;
  }
  .about {
    position: relative;
    bottom: 0;
    width: 100%;
    margin-right: 0;
    margin-bottom: 20rem;
  }
  .about .bg-street {
    display: block;
    position: absolute;
    bottom: -0.6rem;
    width: 100%;
    height: 2.5rem;
    transform: translate3d(0, 0, 0);
  }
  .about::before {
    padding-top: 70%;
  }
  .about img {
    position: absolute;
  }
  .about-img1 {
    top: 0;
    right: 0;
    left: 0;
    margin: auto;
    width: 76.53%;
  }
  .about-img2 {
    top: 17.8%;
    right: 0;
    left: 0;
    margin: auto;
    width: 31.46%;
  }
  .shop-img {
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    width: 80.8%;
  }
  .shop-line {
    display: none;
  }
  /* shop-list */
  .shop-section {
    height: auto !important;
    padding-bottom: 0;
  }
  .shop-outer {
    display: block;
    height: auto;
    padding: 0 4rem;
  }
  .botefuri {
    position: absolute;
    bottom: -19rem;
    left: -60%;
    z-index: 20;
    width: 14.2rem;
  }
  .botefuri img {
    transform: scale(-1, 1);
  }
  .chari {
    position: absolute;
    bottom: -26rem;
    left: 40%;
    z-index: 20;
    width: 13.6rem;
  }
  .anime-box .botefuri {
    display: none;
  }
  .anime-box .chari {
    display: none;
  }
  .shop-list {
    display: block;
    margin-right: 0;
    margin-bottom: 32.3rem;
  }
  .shop-list-item {
    display: block;
    position: relative;
    width: auto;
    margin-right: 0;
  }
  .shop-list-item:not(:first-child) {
    margin-top: 24rem;
  }
  .shop-list-item.is-inview {
    animation: fadeInUp 0.7s ease-out forwards;
  }
  .shop-list-item .botefuri {
    display: block;
  }
  .shop-list-item .chari {
    display: block;
  }
  .shop-list-item .item-title {
    text-align: center;
  }
  .shop-list-item .item-title img {
    max-width: 19.2rem;
  }
  .shop-list-item:nth-child(1) .item-title {
    aspect-ratio: 251/58;
  }
  .shop-list-item:nth-child(1) .item-title img {
    max-width: 25.1rem;
  }
  .shop-list-item:nth-child(2) .item-title {
    aspect-ratio: 170/60;
  }
  .shop-list-item:nth-child(2) .item-title img {
    max-width: 17rem;
  }
  .shop-list-item .item-category {
    margin-top: 0.9rem;
    font-size: 1.2rem;
  }
  .shop-list-item .item-text {
    margin-top: 3.5rem;
    font-size: 1.2rem;
  }
  .sns {
    margin-top: 2.5rem;
  }
  .sns li {
    width: 2.4rem;
  }
  .sns li + li {
    margin-left: 1.4rem;
  }
  .sns li a {
    display: block;
    aspect-ratio: 1/1;
  }
  /* message */
  .message-section {
    height: auto !important;
    margin-bottom: 7.8rem;
    padding-bottom: 0;
  }
  .message-wrap {
    display: block;
    height: auto;
    padding: 0 4rem;
  }
  .message {
    display: block;
    height: -moz-max-content;
    height: max-content;
    margin-right: 0;
  }
  .message > div {
    display: flex;
    flex-direction: column;
    font-size: 1.15rem;
  }
  .message > div:last-child {
    margin-top: 2em;
    margin-left: 0;
  }
  .message > div p {
    line-height: 2.3;
    white-space: nowrap;
  }
  .border-btn-wrap {
    margin-top: 6em;
  }
  .border-btn {
    padding: 0.3em 0.5em 0.3em;
    font-size: 1.15rem;
  }
  /* access */
  .access-section {
    height: auto !important;
    margin-bottom: -2rem;
  }
  .access {
    width: 100%;
    margin-right: 0;
    padding: 7.5rem 4rem 5rem;
  }
  .access-info {
    max-width: none;
    text-align: center;
  }
  .access-info .access-img {
    width: 12.8rem;
    margin: 0 auto 3.5rem;
    text-align: center;
  }
  html.has-scroll-smooth {
    bottom: 0;
    left: 0;
    overflow: hidden;
    position: fixed;
    right: 0;
    top: 0;
  }
}/*# sourceMappingURL=style.css.map */