@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Infant:ital,wght@0,300..700;1,300..700&family=Zen+Kaku+Gothic+New:wght@400;700&family=Zen+Old+Mincho:wght@700&display=swap");
/*///////////////////////////////////////////////////// layout  */
.zen-kaku-gothic-new-regular {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.zen-kaku-gothic-new-bold {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
}

* {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

* {
  box-sizing: border-box;
}
*:focus {
  outline: none;
}

object, embed {
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
}

html, body {
  width: 100%;
  min-height: 100%;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 16px;
  line-height: 1.8;
  font-weight: 400;
}

body {
  color: #252525;
  font-family: "Zen Kaku Gothic New", serif;
  background: #fff;
  font-size: 16px;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 768px) {
  body {
    width: 100%;
  }
}

a {
  text-decoration: none;
}

#wrapper {
  opacity: 0;
  transition: 1.8s;
  width: 100%;
  overflow: hidden;
}
#wrapper.on {
  opacity: 1;
}
@media only screen and (max-width: 768px) {
  #wrapper {
    background: #fff;
  }
}

@media (min-width: 769px) {
  .pc {
    display: block !important;
  }
}
@media only screen and (max-width: 768px) {
  .pc {
    display: none !important;
  }
}

@media (min-width: 769px) {
  .sp {
    display: none !important;
  }
}
@media only screen and (max-width: 768px) {
  .sp {
    display: block !important;
  }
}

@keyframes bgmove {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(8vw);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes btn_ani {
  0% {
    transform: translate(0vw, -50%);
    animation-timing-function: ease-in;
  }
  50% {
    transform: translate(4vw, -50%);
  }
  51% {
    transform: translate(-50vw, -50%);
    animation-timing-function: ease-out;
  }
  100% {
    transform: translate(0vw, -50%);
  }
}
#mv {
  width: 100%;
  height: 44.44vw;
  position: relative;
  z-index: 2;
}
@media only screen and (max-width: 768px) {
  #mv {
    height: 100vw;
  }
}
#mv .bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  overflow: hidden;
}
#mv .bg:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url(../img/bg_mv.jpg) center center no-repeat;
  background-size: 100% 100%;
  animation: bgmove 7.5s linear infinite;
}
@media only screen and (max-width: 768px) {
  #mv .bg:before {
    background: url(../img/bg_mv_sp.png) center center no-repeat;
    background-size: 100% 100%;
  }
}
#mv h1 {
  display: flex;
  width: 100%;
  height: 100%;
  position: relative;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  z-index: 2;
}
#mv h1 .mv-inner {
  width: 100%;
  height: 100%;
  position: relative;
  padding-top: 8.66vw;
}
@media only screen and (max-width: 768px) {
  #mv h1 .mv-inner {
    padding-top: 27.08vw;
  }
}
#mv h1 .mv-inner span {
  display: block;
  width: 100%;
  text-align: center;
  font-size: 2.08vw;
  font-family: "Zen Old Mincho", serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.05em;
  margin-bottom: 2.78vw;
  transition: 1.6s;
  opacity: 0;
  transform: translate(0, 2vw);
}
@media only screen and (max-width: 768px) {
  #mv h1 .mv-inner span {
    font-size: 3.85vw;
    margin-bottom: 4.48vw;
    transform: translate(0, 4vw);
  }
}
#mv h1 .mv-inner .text-img {
  width: 100%;
  display: flex;
  justify-content: center;
}
#mv h1 .mv-inner .text-img.text1 {
  margin-bottom: 3.13vw;
}
@media only screen and (max-width: 768px) {
  #mv h1 .mv-inner .text-img.text1 {
    margin-bottom: 5.63vw;
  }
}
#mv h1 .mv-inner .text-img.text1 img {
  width: 51.46vw;
  height: auto;
  display: block;
  transition: 1.6s;
  opacity: 0;
  transform: translate(0, 2vw);
}
@media only screen and (max-width: 768px) {
  #mv h1 .mv-inner .text-img.text1 img {
    width: 87.69vw;
    transform: translate(0, 4vw);
  }
}
#mv h1 .mv-inner .text-img.text2 {
  margin-bottom: 2.08vw;
}
@media only screen and (max-width: 768px) {
  #mv h1 .mv-inner .text-img.text2 {
    margin-bottom: 2.98vw;
  }
}
#mv h1 .mv-inner .text-img.text2 img {
  width: 30.21vw;
  height: auto;
  display: block;
  transition: 1.6s;
  opacity: 0;
  transform: translate(0, 2vw);
}
@media only screen and (max-width: 768px) {
  #mv h1 .mv-inner .text-img.text2 img {
    width: 51.28vw;
    transform: translate(0, 4vw);
  }
}
#mv h1 .mv-inner .text-img.text3 img {
  width: 44.1vw;
  height: auto;
  display: block;
  transition: 1.6s;
  opacity: 0;
  transform: translate(0, 2vw);
}
@media only screen and (max-width: 768px) {
  #mv h1 .mv-inner .text-img.text3 img {
    width: 76.15vw;
    transform: translate(0, 4vw);
  }
}
#mv h1 .mv-inner.on span {
  opacity: 1;
  transform: translate(0, 0);
}
#mv h1 .mv-inner.on .text-img.text1 img {
  opacity: 1;
  transition-delay: 0.2s;
  transform: translate(0, 0);
}
#mv h1 .mv-inner.on .text-img.text2 img {
  opacity: 1;
  transition-delay: 0.8s;
  transform: translate(0, 0);
}
#mv h1 .mv-inner.on .text-img.text3 img {
  opacity: 1;
  transition-delay: 1s;
  transform: translate(0, 0);
}

#mv-items {
  position: relative;
  z-index: 2;
}
#mv-items ul {
  display: flex;
  flex-wrap: wrap;
}
#mv-items ul li {
  width: 12.5%;
  position: relative;
  transition: 1.6s;
  transform: translate(0, 2vw);
  opacity: 0;
}
@media only screen and (max-width: 768px) {
  #mv-items ul li {
    width: 25%;
  }
}
@media only screen and (max-width: 768px) {
  #mv-items ul li:nth-child(1) {
    order: 1;
  }
}
@media only screen and (max-width: 768px) {
  #mv-items ul li:nth-child(2) {
    order: 2;
  }
}
@media only screen and (max-width: 768px) {
  #mv-items ul li:nth-child(3) {
    order: 3;
  }
}
@media only screen and (max-width: 768px) {
  #mv-items ul li:nth-child(4) {
    order: 4;
  }
}
@media only screen and (max-width: 768px) {
  #mv-items ul li:nth-child(5) {
    order: 7;
  }
}
@media only screen and (max-width: 768px) {
  #mv-items ul li:nth-child(6) {
    order: 8;
  }
}
@media only screen and (max-width: 768px) {
  #mv-items ul li:nth-child(7) {
    order: 5;
  }
}
@media only screen and (max-width: 768px) {
  #mv-items ul li:nth-child(8) {
    order: 6;
  }
}
#mv-items ul li img {
  display: block;
  width: 100%;
  height: auto;
}
#mv-items .mv-caution {
  padding: 30px 0 4%;
}
#mv-items .mv-caution p {
  width: 83.33vw;
  margin: 0 auto;
  font-size: 15px;
  transition: 1.4s;
  opacity: 0;
  transition-delay: 2s;
  transform: translate(0, 2vw);
}
#mv-items.on ul li:nth-child(1) {
  transition-delay: 0s;
  transform: translate(0, 0);
  opacity: 1;
}
@media only screen and (max-width: 768px) {
  #mv-items.on ul li:nth-child(1) {
    order: 1;
  }
}
#mv-items.on ul li:nth-child(2) {
  transition-delay: 0.2s;
  transform: translate(0, 0);
  opacity: 1;
}
@media only screen and (max-width: 768px) {
  #mv-items.on ul li:nth-child(2) {
    order: 2;
  }
}
#mv-items.on ul li:nth-child(3) {
  transition-delay: 0.4s;
  transform: translate(0, 0);
  opacity: 1;
}
@media only screen and (max-width: 768px) {
  #mv-items.on ul li:nth-child(3) {
    order: 3;
  }
}
#mv-items.on ul li:nth-child(4) {
  transition-delay: 0.6s;
  transform: translate(0, 0);
  opacity: 1;
}
@media only screen and (max-width: 768px) {
  #mv-items.on ul li:nth-child(4) {
    order: 4;
  }
}
#mv-items.on ul li:nth-child(5) {
  transition-delay: 0.8s;
  transform: translate(0, 0);
  opacity: 1;
}
@media only screen and (max-width: 768px) {
  #mv-items.on ul li:nth-child(5) {
    order: 7;
    transition-delay: 1.2s;
  }
}
#mv-items.on ul li:nth-child(6) {
  transition-delay: 1s;
  transform: translate(0, 0);
  opacity: 1;
}
@media only screen and (max-width: 768px) {
  #mv-items.on ul li:nth-child(6) {
    order: 8;
    transition-delay: 1.4s;
  }
}
#mv-items.on ul li:nth-child(7) {
  transition-delay: 1.2s;
  transform: translate(0, 0);
  opacity: 1;
}
@media only screen and (max-width: 768px) {
  #mv-items.on ul li:nth-child(7) {
    transition-delay: 0.8s;
    order: 5;
  }
}
#mv-items.on ul li:nth-child(8) {
  transition-delay: 1.4s;
  transform: translate(0, 0);
  opacity: 1;
}
@media only screen and (max-width: 768px) {
  #mv-items.on ul li:nth-child(8) {
    transition-delay: 1s;
    order: 6;
  }
}
#mv-items.on .mv-caution p {
  opacity: 1;
  transform: translate(0, 0);
}

.contents-wrap {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  justify-content: center;
  z-index: 1;
}

section {
  transition: 1.8s;
  opacity: 0;
  transform: translateY(12vw);
}
section.is-active {
  opacity: 1;
  transform: translateY(0);
}
section#access {
  padding-top: 6.94vw;
  margin-bottom: 9.72vw;
  width: 100%;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  section#access {
    padding-top: 10.94vw;
    margin-bottom: 18.72vw;
  }
}
section#access:after {
  content: "";
  display: block;
  width: 46.25vw;
  height: 151.18vw;
  position: absolute;
  z-index: 1;
  top: 6vw;
  right: 0;
  background: url(../img/bg_1.png) center center no-repeat;
  background-size: 100% 100%;
  transition: 4.4s;
  opacity: 0;
  transition-delay: 1.2s;
  transform: translateY(50vw);
  pointer-events: none;
}
@media only screen and (max-width: 768px) {
  section#access:after {
    width: 100vw;
    height: 431.54vw;
    top: -110vw;
    right: 0;
    background: url(../img/bg_1_sp.png) center center no-repeat;
    background-size: 100% 100%;
  }
}
section#access.is-active:after {
  opacity: 1;
  transform: translateY(0);
}
section#access .sec-inner {
  width: 83.33vw;
  margin: 0 auto;
  text-align: center;
  z-index: 2;
  position: relative;
}
@media only screen and (max-width: 768px) {
  section#access .sec-inner {
    width: 87.69vw;
  }
}
section#access h2 {
  font-family: "Cormorant Infant", serif;
  font-weight: 400;
  font-size: 4.44vw;
  margin-bottom: 1.94vw;
}
@media only screen and (max-width: 768px) {
  section#access h2 {
    font-size: 10.26vw;
  }
}
section#access .googlemap-wrap {
  width: 100%;
  height: 27.78vw;
  position: relative;
  overflow: hidden;
  margin-bottom: 2.15vw;
}
@media only screen and (max-width: 768px) {
  section#access .googlemap-wrap {
    height: 51.28vw;
    margin-bottom: 4.15vw;
  }
}
section#access .googlemap-wrap iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
section#access .map-text p {
  font-size: 15px;
  text-align: center;
  letter-spacing: 0.05em;
  font-family: "Zen Kaku Gothic New", sans-serif;
  padding-bottom: 1.28vw;
}
@media only screen and (max-width: 768px) {
  section#access .map-text p {
    font-size: 14px;
    padding-bottom: 4.28vw;
  }
}
section#access .map-text .link-text {
  font-size: 14px;
  text-align: center;
  letter-spacing: 0.05em;
  font-family: "Zen Kaku Gothic New", sans-serif;
  display: flex;
  width: 100%;
  justify-content: center;
}
section#access .map-text .link-text a {
  color: #252525;
  display: flex;
  align-items: center;
  position: relative;
}
@media (min-width: 769px) {
  section#access .map-text .link-text a {
    opacity: 1;
    transition: 0.8s;
  }
  section#access .map-text .link-text a:hover {
    opacity: 0.5;
  }
}
@media only screen and (max-width: 768px) {
  section#access .map-text .link-text a {
    font-size: 13px;
  }
}
section#access .map-text .link-text a:before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 20px;
  margin-right: 5px;
  background: url(../img/icon_map.png) center center no-repeat;
  background-size: contain;
}
@media only screen and (max-width: 768px) {
  section#access .map-text .link-text a:before {
    transform: translateY(2px);
  }
}
section#access .map-text .link-text a:after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #252525;
  position: absolute;
  bottom: -2px;
  left: 0;
}
section#wik {
  text-align: center;
  margin-bottom: 160px;
  width: 100%;
  padding: 0 4%;
  position: relative;
  z-index: 2;
}
@media only screen and (max-width: 768px) {
  section#wik {
    margin-bottom: 44vw;
  }
}
section#wik:after {
  content: "";
  display: block;
  width: 40.21vw;
  height: 150.21vw;
  position: absolute;
  z-index: 1;
  top: -40vw;
  left: 0;
  background: url(../img/bg_2.png) center center no-repeat;
  background-size: 100% 100%;
  transition: 2.4s;
  transition-delay: 1.2s;
  opacity: 0;
  transform: translateY(50vw);
  pointer-events: none;
}
@media only screen and (max-width: 768px) {
  section#wik:after {
    width: 100%;
    height: 554.62vw;
    top: -120vw;
    background: url(../img/bg_2.png) center center no-repeat;
    background-size: 100% 100%;
  }
}
section#wik.is-active:after {
  opacity: 1;
  transform: translateY(0);
}
section#wik .sec-inner {
  position: relative;
  z-index: 2;
}
section#wik h2 {
  font-family: "Cormorant Infant", serif;
  font-weight: 400;
  font-size: 5.56vw;
  margin-bottom: 0.97vw;
}
@media only screen and (max-width: 768px) {
  section#wik h2 {
    font-size: 12.31vw;
    line-height: 1.1;
    margin-bottom: 9.67vw;
  }
}
section#wik .sp-text-wrap {
  overflow: hidden;
  transition: max-height 0.4s ease;
}
section#wik {
  /* スマホだけ7行制限 */
}
@media (max-width: 767px) {
  section#wik .sp-text-wrap {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    line-clamp: 7;
    -webkit-line-clamp: 7;
    position: relative;
    margin-bottom: 24px;
  }
  section#wik .sp-text-wrap:after {
    content: "";
    display: block;
    width: 100%;
    height: 60px;
    background: url(../img/bg_more.png) center center no-repeat;
    background-size: 100% 100%;
    z-index: 10;
    position: absolute;
    left: 0;
    bottom: -16px;
    opacity: 1;
    transition: 0.4s;
  }
  section#wik .sp-text-wrap.is-open:after {
    pointer-events: none;
    opacity: 0;
  }
  section#wik .sp-text-wrap.is-open {
    line-clamp: unset;
    -webkit-line-clamp: unset;
  }
}
section#wik .sp-more-btn-wrap {
  width: 100%;
}
section#wik {
  /* 「もっと見る」ボタン */
}
section#wik .sp-more-btn {
  font-size: 20px;
  font-family: "Cormorant Infant", serif;
  font-weight: 400;
  letter-spacing: 0.05em;
  text-align: center;
  cursor: pointer;
  color: #000;
  user-select: none;
  transition: opacity 0.2s ease;
  position: relative;
  letter-spacing: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
section#wik .sp-more-btn:after {
  content: "";
  display: inline-block;
  width: 22px;
  height: 22px;
  background: url(../img/btn_more.png) center center no-repeat;
  background-size: 100% 100%;
  margin-left: 5px;
}
section#wik .sp-more-btn:hover {
  opacity: 0.7;
}
section#wik p {
  line-height: 2.5;
  margin-bottom: 24px;
  font-size: 16px;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
@media only screen and (max-width: 768px) {
  section#wik p {
    font-size: 15px;
    line-height: 2.3;
    margin-bottom: 22px;
  }
  section#wik p:last-of-type {
    padding-bottom: 60px;
    margin-bottom: 0px;
  }
}
section#wik .link-btn {
  width: 894px;
  margin: 0 auto;
  padding-top: 36px;
}
@media only screen and (max-width: 768px) {
  section#wik .link-btn {
    width: 100%;
  }
}
section#wik .link-btn ul {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  section#wik .link-btn ul {
    flex-wrap: wrap;
  }
}
section#wik .link-btn ul li {
  width: 435px;
  height: 65px;
}
@media only screen and (max-width: 768px) {
  section#wik .link-btn ul li {
    width: 100%;
    height: 52px;
    margin-bottom: 10px;
  }
}
section#wik .link-btn ul li a {
  display: flex;
  width: 100%;
  height: 100%;
  padding: 0 36px;
  align-items: center;
  color: #fff;
  background: #252525;
  transition: 0.6s;
  position: relative;
  border-radius: 8px;
}
@media only screen and (max-width: 768px) {
  section#wik .link-btn ul li a {
    font-size: 14px;
    padding: 0 22px;
  }
}
section#wik .link-btn ul li a > div.btn {
  display: block;
  width: 45px;
  height: 45px;
  position: absolute;
  right: 20px;
  top: 10px;
  overflow: hidden;
}
section#wik .link-btn ul li a > div.btn span {
  display: block;
  height: 14px;
  width: 50px;
  position: absolute;
  top: 50%;
  left: -22px;
  transition: 0.6s;
  transform: translate(0, -50%);
}
section#wik .link-btn ul li a > div.btn span:before {
  content: "";
  display: block;
  width: 8px;
  height: 14px;
  background: url(../img/icon_btn_arrow.png) center center no-repeat;
  background-size: contain;
  position: absolute;
  right: 0px;
  top: 50%;
  transform: translate(0vw, -50%);
}
section#wik .link-btn ul li a > div.btn span:after {
  content: "";
  display: block;
  width: 8px;
  height: 14px;
  background: url(../img/icon_btn_arrow.png) center center no-repeat;
  background-size: contain;
  position: absolute;
  left: 0px;
  top: 50%;
  transform: translate(0vw, -50%);
}
section#wik .link-btn ul li a > div.text {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
}
section#wik .link-btn ul li a > div.text span {
  display: block;
  width: 100%;
  text-align: left;
}
@media (min-width: 769px) {
  section#wik .link-btn ul li a:hover {
    background: #3a3a3a;
  }
  section#wik .link-btn ul li a:hover > div.btn span {
    left: 20px;
  }
}
section#shopinformation {
  text-align: center;
  margin-bottom: 200px;
  width: 100%;
  padding: 0 4%;
  position: relative;
  z-index: 3;
}
section#shopinformation:after {
  content: "";
  display: block;
  width: 47.22vw;
  height: 120.49vw;
  position: absolute;
  z-index: 1;
  top: 32vw;
  right: 0;
  background: url(../img/bg_3.png) center center no-repeat;
  background-size: 100% 100%;
  transition: 2.4s;
  transition-delay: 1.2s;
  opacity: 1;
  transform: translateY(50vw);
  pointer-events: none;
}
@media only screen and (max-width: 768px) {
  section#shopinformation:after {
    height: 334.62vw;
    width: 100%;
    top: 222vw;
    right: -20vw;
  }
}
section#shopinformation.is-active:after {
  opacity: 1;
  transform: translateY(0);
}
section#shopinformation.is-active .sec-inner .deco {
  transition-delay: 1.2s;
  opacity: 1;
  transform: translateY(0);
}
section#shopinformation .sec-inner {
  position: relative;
  z-index: 2;
}
section#shopinformation h2 {
  font-family: "Cormorant Infant", serif;
  font-weight: 400;
  font-size: 5.56vw;
  margin-bottom: 2.17vw;
}
@media only screen and (max-width: 768px) {
  section#shopinformation h2 {
    font-size: 12.31vw;
    letter-spacing: 0;
  }
}
section#shopinformation .floormap {
  display: flex;
  width: 83.33vw;
  margin: 0 auto;
  justify-content: space-between;
  margin-bottom: 7.29vw;
}
@media only screen and (max-width: 768px) {
  section#shopinformation .floormap {
    flex-wrap: wrap;
    width: 100%;
  }
}
section#shopinformation .floormap .floor-item {
  width: 40.83vw;
  height: 30.42vw;
  position: relative;
}
@media only screen and (max-width: 768px) {
  section#shopinformation .floormap .floor-item {
    width: 100%;
    height: auto;
    padding-top: 4vw;
  }
  section#shopinformation .floormap .floor-item:first-child {
    margin-bottom: 12vw;
  }
}
section#shopinformation .floormap .floor-item img {
  position: absolute;
  width: 40.83vw;
  height: 30.42vw;
  left: 0;
  top: 0;
}
@media only screen and (max-width: 768px) {
  section#shopinformation .floormap .floor-item img {
    width: 100%;
    height: auto;
    display: block;
    position: relative;
  }
}
section#shopinformation .floormap .floor-item .floor {
  font-size: 6.94vw;
  font-family: "Cormorant Infant", serif;
  font-weight: 300;
  position: absolute;
  left: 2.2vw;
  top: 0;
  line-height: 1;
}
@media only screen and (max-width: 768px) {
  section#shopinformation .floormap .floor-item .floor {
    font-size: 16.41vw;
    left: 4.8vw;
  }
}
section#shopinformation .floormap .floor-item .text-col {
  text-align: left;
  position: absolute;
  right: 0;
  bottom: 0;
}
@media only screen and (max-width: 768px) {
  section#shopinformation .floormap .floor-item .text-col {
    position: relative;
    right: auto;
    bottom: auto;
    text-align: center;
    padding-top: 6vw;
  }
}
section#shopinformation .floormap .floor-item .text-col .st {
  font-size: 1.53vw;
  line-height: 1;
  font-family: "Cormorant Infant", serif;
  font-weight: 400;
  margin-bottom: 0.7vw;
}
@media only screen and (max-width: 768px) {
  section#shopinformation .floormap .floor-item .text-col .st {
    font-size: 5.64vw;
    margin-bottom: 1.6vw;
  }
}
section#shopinformation .floormap .floor-item .text-col p {
  font-size: 1.11vw;
}
@media only screen and (max-width: 768px) {
  section#shopinformation .floormap .floor-item .text-col p {
    font-size: 4.1vw;
  }
}
section#shopinformation .information-text {
  width: 83.33vw;
  margin: 0 auto;
  text-align: left;
  font-size: 15px;
}
@media only screen and (max-width: 768px) {
  section#shopinformation .information-text {
    font-size: 14px;
  }
}
section#shopinformation .information-text dl {
  display: flex;
  width: 100%;
  padding: 20px 0px;
  border-bottom: solid 1px rgba(37, 37, 37, 0.1);
}
@media only screen and (max-width: 768px) {
  section#shopinformation .information-text dl {
    flex-wrap: wrap;
  }
}
section#shopinformation .information-text dl dt {
  width: 170px;
}
@media only screen and (max-width: 768px) {
  section#shopinformation .information-text dl dt {
    width: 100%;
  }
}
@media (min-width: 769px) {
  section#shopinformation .information-text dl dd {
    flex: 1;
  }
}
@media only screen and (max-width: 768px) {
  section#shopinformation .information-text dl dd {
    width: 100%;
  }
}
section#shopinformation .deco {
  position: absolute;
  top: 0;
  z-index: 5;
  transition: 1.4s;
  transform: translateY(4vw);
  opacity: 0;
  pointer-events: none;
}
section#shopinformation .deco img {
  width: 100%;
  height: 100%;
  display: block;
}
section#shopinformation .deco.deco1 {
  width: 16.39vw;
  height: 12.64vw;
  top: -11.1vw;
  right: 1.8vw;
}
@media only screen and (max-width: 768px) {
  section#shopinformation .deco.deco1 {
    width: 37.95vw;
    height: 30.77vw;
    top: -39.1vw;
  }
}
section#campaign {
  width: 100%;
  height: 38.89vw;
  position: relative;
  margin-bottom: 100px;
  z-index: 5;
}
@media only screen and (max-width: 768px) {
  section#campaign {
    height: 123.08vw;
  }
}
section#campaign.is-active:after {
  opacity: 1;
  transform: translateY(0);
}
section#campaign.is-active .deco.deco1 {
  transition-delay: 1.4s;
  opacity: 1;
  transform: translateY(0);
}
section#campaign.is-active .deco.deco2 {
  transition-delay: 1.8s;
  opacity: 1;
  transform: translateY(0);
}
section#campaign h2 {
  font-family: "Cormorant Infant", serif;
  font-weight: 400;
  font-size: 5.56vw;
  margin-bottom: 2.17vw;
  position: absolute;
  top: 0;
  line-height: 1;
  font-size: 8.33vw;
  color: #fff;
  z-index: 2;
}
@media only screen and (max-width: 768px) {
  section#campaign h2 {
    font-size: 18.46vw;
    letter-spacing: 0;
  }
}
section#campaign h2 span {
  position: absolute;
}
section#campaign h2 span:nth-child(1) {
  top: 7.5vw;
  left: 8.1vw;
}
@media only screen and (max-width: 768px) {
  section#campaign h2 span:nth-child(1) {
    top: 14.6vw;
    left: 5.1vw;
  }
}
section#campaign h2 span:nth-child(2) {
  top: 15.3vw;
  left: 18.5vw;
}
@media only screen and (max-width: 768px) {
  section#campaign h2 span:nth-child(2) {
    top: 32.1vw;
    left: 27.9vw;
  }
}
section#campaign h2 span:nth-child(3) {
  top: 21.4vw;
  left: 11.3vw;
}
@media only screen and (max-width: 768px) {
  section#campaign h2 span:nth-child(3) {
    top: 45.3vw;
    left: 12.4vw;
  }
}
section#campaign > p {
  font-size: 3.33vw;
  position: absolute;
  font-family: "Cormorant Infant", serif;
  font-weight: 400;
  top: 16.5vw;
  left: 60.6vw;
  letter-spacing: 0;
  z-index: 2;
  color: #fff;
}
@media only screen and (max-width: 768px) {
  section#campaign > p {
    font-size: 7.18vw;
    top: 81.5vw;
    left: 26.6vw;
    white-space: nowrap;
  }
}
section#campaign .bg {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
}
section#campaign .bg:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url(../img/bg_campaign.jpg) center center no-repeat;
  background-size: 100% 100%;
  position: relative;
}
@media only screen and (max-width: 768px) {
  section#campaign .bg:before {
    background: url(../img/bg_campaign_sp.jpg) center center no-repeat;
    background-size: 100% 100%;
  }
}
section#campaign .bg:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  position: absolute;
  top: 0;
  z-index: 2;
}
section#campaign .deco {
  position: absolute;
  top: 0;
  z-index: 5;
  transition: 1.4s;
  transform: translateY(0);
}
section#campaign .deco img {
  width: 100%;
  height: 100%;
  display: block;
}
section#campaign .deco.deco1 {
  width: 15vw;
  height: 13.75vw;
  top: -8.1vw;
  left: 5.8vw;
  opacity: 0;
  transform: translateY(4vw);
}
@media only screen and (max-width: 768px) {
  section#campaign .deco.deco1 {
    width: 35.64vw;
    height: 34.1vw;
    top: -24.6vw;
    left: 0.9vw;
  }
}
section#campaign .deco.deco2 {
  width: 14.17vw;
  height: 11.94vw;
  top: auto;
  left: auto;
  bottom: -1.2vw;
  right: 4.5vw;
  opacity: 0;
  transform: translateY(4vw);
}
@media only screen and (max-width: 768px) {
  section#campaign .deco.deco2 {
    width: 31.54vw;
    height: 26.41vw;
    bottom: -3.2vw;
    right: 4.5vw;
  }
}

footer {
  width: 100%;
  padding: 0 64px;
  padding-bottom: 84px;
}
@media only screen and (max-width: 768px) {
  footer {
    padding: 0 4%;
    text-align: center;
  }
}
footer .footer-inner {
  position: relative;
}
@media only screen and (max-width: 768px) {
  footer .footer-inner .logo {
    display: flex;
    justify-content: center;
    margin-bottom: 52px;
  }
}
footer .footer-inner .logo img {
  display: inline-block;
  width: 280px;
  height: 59px;
}
@media only screen and (max-width: 768px) {
  footer .footer-inner .logo img {
    width: 240px;
    height: 65px;
  }
}
@media (min-width: 769px) {
  footer .footer-inner nav {
    position: absolute;
    right: 0;
    top: 0;
  }
  footer .footer-inner nav ul {
    text-align: right;
  }
  footer .footer-inner nav ul li {
    margin-bottom: 11px;
  }
  footer .footer-inner nav ul li a {
    white-space: nowrap;
  }
}
@media (min-width: 769px) and (min-width: 769px) {
  footer .footer-inner nav ul li a {
    transition: 0.5s;
    opacity: 1;
  }
  footer .footer-inner nav ul li a:hover {
    opacity: 0.5;
  }
}
@media (min-width: 769px) {
  footer .footer-inner nav ul li.nolink {
    opacity: 0.2;
  }
}
footer .footer-inner nav ul li {
  font-size: 16px;
  font-family: "Cormorant Infant", serif;
  font-weight: 500;
  letter-spacing: 0.02em;
}
@media only screen and (max-width: 768px) {
  footer .footer-inner nav ul li {
    margin-bottom: 12px;
  }
}
footer .footer-inner nav ul li a {
  color: #252525;
}
footer .footer-inner nav ul li.nolink {
  opacity: 0.2;
}
footer .footer-inner .link-list {
  display: flex;
  padding-top: 84px;
}
@media only screen and (max-width: 768px) {
  footer .footer-inner .link-list {
    padding-top: 36px;
    justify-content: center;
  }
}
@media (min-width: 769px) {
  footer .footer-inner .link-list li {
    margin-right: 30px;
  }
}
@media only screen and (max-width: 768px) {
  footer .footer-inner .link-list li {
    margin: 0 14px;
  }
}
footer .footer-inner .link-list li a {
  font-size: 16px;
  color: #252525;
  position: relative;
  padding-bottom: 4px;
}
@media only screen and (max-width: 768px) {
  footer .footer-inner .link-list li a {
    font-size: 14px;
  }
}
footer .footer-inner .link-list li a:after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #252525;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media (min-width: 769px) {
  footer .footer-inner .link-list li a {
    transition: 0.6s;
    opacity: 1;
  }
  footer .footer-inner .link-list li a:hover {
    opacity: 0.5;
  }
}
footer .footer-inner > p {
  padding: 40px 0;
  line-height: 2;
}
@media only screen and (max-width: 768px) {
  footer .footer-inner > p {
    font-size: 14px;
  }
}
footer .footer-inner .link-btn {
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  footer .footer-inner .link-btn {
    margin-bottom: 48px;
  }
}
footer .footer-inner .link-btn ul {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
footer .footer-inner .link-btn ul li {
  width: 435px;
  height: 65px;
}
@media only screen and (max-width: 768px) {
  footer .footer-inner .link-btn ul li {
    width: 100%;
    height: 52px;
  }
}
footer .footer-inner .link-btn ul li a {
  display: flex;
  width: 100%;
  height: 100%;
  padding: 0 36px;
  align-items: center;
  color: #fff;
  background: #252525;
  transition: 0.6s;
  position: relative;
  border-radius: 8px;
}
@media only screen and (max-width: 768px) {
  footer .footer-inner .link-btn ul li a {
    font-size: 14px;
    padding: 0 22px;
  }
}
footer .footer-inner .link-btn ul li a > div.btn {
  display: block;
  width: 45px;
  height: 45px;
  position: absolute;
  right: 20px;
  top: 10px;
  overflow: hidden;
}
@media only screen and (max-width: 768px) {
  footer .footer-inner .link-btn ul li a > div.btn {
    right: 6px;
    top: 5px;
  }
}
footer .footer-inner .link-btn ul li a > div.btn span {
  display: block;
  height: 14px;
  width: 50px;
  position: absolute;
  top: 50%;
  left: -22px;
  transition: 0.6s;
  transform: translate(0, -50%);
}
footer .footer-inner .link-btn ul li a > div.btn span:before {
  content: "";
  display: block;
  width: 8px;
  height: 14px;
  background: url(../img/icon_btn_arrow.png) center center no-repeat;
  background-size: contain;
  position: absolute;
  right: 0px;
  top: 50%;
  transform: translate(0vw, -50%);
}
footer .footer-inner .link-btn ul li a > div.btn span:after {
  content: "";
  display: block;
  width: 8px;
  height: 14px;
  background: url(../img/icon_btn_arrow.png) center center no-repeat;
  background-size: contain;
  position: absolute;
  left: 0px;
  top: 50%;
  transform: translate(0vw, -50%);
}
footer .footer-inner .link-btn ul li a > div.text {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
}
footer .footer-inner .link-btn ul li a > div.text span {
  display: block;
  width: 100%;
  text-align: left;
}
@media (min-width: 769px) {
  footer .footer-inner .link-btn ul li a:hover {
    background: #3a3a3a;
  }
  footer .footer-inner .link-btn ul li a:hover > div.btn span {
    left: 20px;
  }
}
@media (min-width: 769px) {
  footer .footer-inner .sns-btn {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 2;
  }
  footer .footer-inner .sns-btn ul li a {
    transition: 0.4s;
    opacity: 1;
  }
  footer .footer-inner .sns-btn ul li a:hover {
    opacity: 0.5;
  }
}
footer .footer-inner .sns-btn ul {
  display: flex;
}
@media only screen and (max-width: 768px) {
  footer .footer-inner .sns-btn ul {
    justify-content: center;
  }
}
@media (min-width: 769px) {
  footer .footer-inner .sns-btn ul li {
    margin-left: 12px;
  }
}
@media only screen and (max-width: 768px) {
  footer .footer-inner .sns-btn ul li {
    margin: 0 6px;
  }
}
footer .footer-inner .sns-btn ul li a img {
  display: block;
  width: 56px;
  height: 56px;
}
footer .footer-inner small {
  font-size: 16px;
  display: block;
  opacity: 0.5;
  font-family: "Cormorant Infant", serif;
  font-weight: 400;
  position: relative;
  z-index: 1;
}
@media (min-width: 769px) {
  footer .footer-inner small {
    padding-top: 70px;
  }
}
@media only screen and (max-width: 768px) {
  footer .footer-inner small {
    font-size: 14px;
    padding: 55px 0 86px;
  }
}

/*# sourceMappingURL=style.css.map */
