@charset "UTF-8";


/* ----------------------------
  Base Layout
---------------------------- */
html, body {
  height: 100%;
}

/* For Custom Cursor */
.menu-trigger,
.logo-wwd {
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
  -webkit-transition-delay: 0.6s;
  transition-delay: 0.6s;
}
.bar-visible > .menu-trigger,
.bar-visible .logo-wwd {
  opacity: 0;
  visibility: hidden;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
.logo-wwd {
  position: fixed;
}



/* ----------------------------
  Bar
---------------------------- */
.bar {
  height: 65px;
  background: #fff;
  box-shadow: 1px 2px 2px 0px rgba(11, 11, 11, 0.08);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10001;
  -webkit-transform: translate(0, -100%);
  transform: translate(0, -100%);
  -webkit-transition: all 0.8s cubic-bezier(0.77, 0, 0.175, 1);
  transition: all 0.8s cubic-bezier(0.77, 0, 0.175, 1);
}
.bar-visible .bar {
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
}
.bar-logo {
  padding-top: 4px;
  text-align: center;
}
.bar .menu-trigger {
  position: absolute;
  top: 17px;
  left: 16px;
  cursor: pointer;
}

@media screen and (max-width: 812px) {
  .bar {
    height: 50px;
  }
  .bar-logo {
    padding-top: 5px;
  }
  .bar-logo img {
    width: 201px;
  }
  .bar .menu-trigger {
    position: absolute;
    top: 12px;
    left: 12px;
  }
}


/* ----------------------------
  Intro Modal
---------------------------- */
.intro {
  display: -webkit-box; /* Less than android 4.3 */
  display: -webkit-flex; /* Less than iOS8 */
  display: flex;
  -webkit-box-pack: center; /* Less than android 4.3 */
  -webkit-justify-content: center; /* Less than iOS8 */
  justify-content: center;
  -webkit-box-align: center; /* Less than android 4.3 */
  -webkit-align-items: center; /* Less than iOS8 */
  align-items: center;
  letter-spacing: 0.05em;
  background: rgba(126, 216, 208, 0.63);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10002;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
}
.intro-open .intro {
  opacity: 1;
  visibility: visible;
}
.intro-inner {
  padding: 40px 90px 80px 106px;
  width: 780px;
  box-shadow: 2px 2px 2px 0px rgba(11, 11, 11, 0.22);
  box-sizing: border-box;
  background: #fff;
}

@media screen and (max-width: 812px) {
  .intro-inner {
    margin: 18px auto;
    padding: 18px 0 28px;
    width: 80%;
    max-width: 300px;
  }
}


/* Intro Head
---------------------------- */
.intro-head {
  display: -webkit-box; /* Less than android 4.3 */
  display: -webkit-flex; /* Less than iOS8 */
  display: flex;
  -webkit-box-orient: vertical; /* Less than android 4.3 */
  -webkit-box-direction: reverse; /* Less than android 4.3 */
  -webkit-flex-direction: column-reverse; /* Less than iOS8 */
  flex-direction: column-reverse;
  -webkit-box-align: center; /* Less than android 4.3 */
  -webkit-align-items: center; /* Less than iOS8 */
  align-items: center;
}
.intro-head h2 {
  margin-top: 8px;
  text-align: center;
  font-family: "Marion", serif;
  font-size: 16px;
}

@media screen and (max-width: 812px) {
  .intro-head h2 {
    margin-top: 4px;
    font-size: 14px;
  }
}


/* Intro Icon
---------------------------- */
.intro-icon {
  width: 104px;
  height: 104px;
  background: url(../img/index/intro-bg.png) no-repeat center;
  background-size: contain;
  position: relative;
}
.intro-icon img {
  display: block;
  width: 30px;
  height: 54px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -30px;
  margin-left: -18px;
  -webkit-animation: cursor-shake 1.8s infinite cubic-bezier(0.77, 0, 0.175, 1);
  animation: cursor-shake 1.8s infinite cubic-bezier(0.77, 0, 0.175, 1);
}

@media screen and (max-width: 812px) {
  .intro-icon {
    width: 63px;
    height: 63px;
  }
  .intro-icon img {
    width: 19px;
    height: 34px;
    margin-top: -19px;
    margin-left: -11px;
  }
}

@-webkit-keyframes cursor-shake {
  0% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  10% {
    -webkit-transform: translate(0, -4px);
    transform: translate(0, -4px);
  }
  20% {
    -webkit-transform: translate(0, 3px);
    transform: translate(0, 3px);
  }
  30% {
    -webkit-transform: translate(0, -2px);
    transform: translate(0, -2px);
  }
  40% {
    -webkit-transform: translate(0, 1px);
    transform: translate(0, 1px);
  }
  50% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  60% {
    -webkit-transform: translate(4px, 0);
    transform: translate(4px, 0);
  }
  70% {
    -webkit-transform: translate(-3px, 0);
    transform: translate(-3px, 0);
  }
  80% {
    -webkit-transform: translate(2px, 0);
    transform: translate(2px, 0);
  }
  90% {
    -webkit-transform: translate(-1px, 0);
    transform: translate(-1px, 0);
  }
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}

@keyframes cursor-shake {
  0% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  10% {
    -webkit-transform: translate(0, -4px);
    transform: translate(0, -4px);
  }
  20% {
    -webkit-transform: translate(0, 3px);
    transform: translate(0, 3px);
  }
  30% {
    -webkit-transform: translate(0, -2px);
    transform: translate(0, -2px);
  }
  40% {
    -webkit-transform: translate(0, 1px);
    transform: translate(0, 1px);
  }
  50% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  60% {
    -webkit-transform: translate(4px, 0);
    transform: translate(4px, 0);
  }
  70% {
    -webkit-transform: translate(-3px, 0);
    transform: translate(-3px, 0);
  }
  80% {
    -webkit-transform: translate(2px, 0);
    transform: translate(2px, 0);
  }
  90% {
    -webkit-transform: translate(-1px, 0);
    transform: translate(-1px, 0);
  }
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}


/* Intro Lead
---------------------------- */
.intro-lead {
  margin-top: 6px;
  text-align: center;
}

@media screen and (max-width: 812px) {
  .intro-lead {
    line-height: 1.47826087;
    font-size: 12px;
  }
}


/* Intro Bottom
---------------------------- */
.intro-bottom {
  display: -webkit-box; /* Less than android 4.3 */
  display: -webkit-flex; /* Less than iOS8 */
  display: flex;
  -webkit-box-pack: justify; /* Less than android 4.3 */
  -webkit-justify-content: space-between; /* Less than iOS8 */
  justify-content: space-between;
  margin-top: 28px;
}

@media screen and (max-width: 812px) {
  .intro-bottom {
    display: block;
    margin-top: 7px;
  }
}


/* Intro Image
---------------------------- */
@media screen and (max-width: 812px) {
  .intro-image {
    margin: 0 auto;
    width: 200px;
  }
}


/* Intro Body
---------------------------- */
.intro-body {
  margin-top: 20px;
  text-align: center;
}
.intro-body p {
  margin-top: 14px;
  text-indent: -0.5em;
  font-size: 15px;
}

@media screen and (max-width: 812px) {
  .intro-body {
    margin-top: 7px;
  }
  .intro-body img {
    width: 202px;
  }
  .intro-body p {
    margin-top: 10px;
    text-indent: 0;
    font-size: 10px;
  }
}


/* Intro Button
---------------------------- */
.intro-button {
  margin: 34px auto 0;
  padding: 8px 0 6px;
  max-width: 280px;
  width: 100%;
  background: #7ed8d0;
  font-family: "Marion", serif;
  font-size: 22px;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.intro-button:hover {
  background: #c8cece;
}

@media screen and (max-width: 812px) {
  .intro-button {
    margin-top: 10px;
    padding: 6px 0 5px;
    max-width: 200px;
    font-size: 16px;
  }
}




/* ----------------------------
  Wrapper
---------------------------- */
.wrapper {
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  cursor: none;
  user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
}
.wrapper-inner {
  width: 100%;
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.wrapper button,
.wrapper a {
  cursor: none;
}
.wrapper [data-cursor="hide"]:hover {
  cursor: pointer;
}

@media screen and (max-width: 812px) {
  .wrapper {
    cursor: default;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }
  .wrapper-inner {
    -webkit-transition: none;
    transition: none;
  }
  .wrapper button,
  .wrapper a {
    cursor: pointer;
  }
}



/* ----------------------------
  Cursor
---------------------------- */
.cursor {
  width: 56px;
  height: 56px;
  background: url(../img/common/icon-hand.png) no-repeat 17px 11px;
  background-size: 18px auto;
  position: fixed;
  top: 50%;
  right: 50%;
  z-index: 10001;
  pointer-events: none;
}
.cursor svg {
  position: absolute;
  margin: auto;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.intro-open .cursor {
  opacity: 0;
}
.cursor-hide .cursor {
  opacity: 0;
}


/* iPad
---------------------------- */
.ipad .cursor {
  background: none;
  top: auto !important;
  bottom: 20px !important;
  left: 20px !important;
}

@media screen and (max-width: 812px) {
  .cursor {
    width: 38px;
    height: 38px;
    background: none;
    top: auto !important;
    bottom: 20px !important;
    left: 20px !important;
  }
}


/* Animation
---------------------------- */
.cursor-blink {
  fill: #fff;
  -webkit-animation: blink 1.2s infinite;
  animation: blink 1.2s infinite;
}
.cursor-fixed {
  fill: #8e9092;
  opacity: 0;
  visibility: hidden;
}
.cursor-end-left .cursor-left,
.cursor-end-right .cursor-right,
.cursor-end-top .cursor-top,
.cursor-end-bottom .cursor-bottom {
  opacity: 0;
  visibility: hidden;
}
.cursor-end-left .cursor-left.cursor-fixed,
.cursor-end-right .cursor-right.cursor-fixed,
.cursor-end-top .cursor-top.cursor-fixed,
.cursor-end-bottom .cursor-bottom.cursor-fixed {
  opacity: 1;
  visibility: visible;
}

@-webkit-keyframes blink {
  0% { opacity: 0; }
  50% { opacity: 1; }
  100% { opacity: 0; }
}
@keyframes blink {
  0% { opacity: 0; }
  50% { opacity: 1; }
  100% { opacity: 0; }
}


/* Arrows
---------------------------- */
.cursor-right,
.cursor-left {
  width: 11px;
  height: 13px;
  top: 0;
  bottom: 0;
}
.cursor-top,
.cursor-bottom {
  width: 13px;
  height: 11px;
  left: 0;
  right: 0;
}
.cursor-top { top: 0; }
.cursor-bottom { bottom: 0; }
.cursor-right { right: 0; }
.cursor-left { left: 0; }

@media screen and (max-width: 812px) {
  .cursor-right,
  .cursor-left {
    width: 9px;
    height: 10px;
  }
  .cursor-top,
  .cursor-bottom {
    width: 10px;
    height: 9px;
  }
}



/* ----------------------------
  Map
---------------------------- */
.map {
  width: 100%;
  height: 1320px;
  background-color: #7ed8d0;
  position: relative;
}
.map-inner {
  width: 1614px;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url(../img/index/bg-map-pc.jpg);
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -807px;
  -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
}

@media screen and (max-width: 812px) {
  .map {
    height: 733px;
  }
  .map-inner {
    width: 856px;
    background-image: url(../img/index/bg-map-sp.jpg);
    margin-left: -428px;
    -webkit-transition: none;
    transition: none;
  }
}


/* Map Title
---------------------------- */
.map-title {
  width: 437px;
  text-align: center;
  position: absolute;
  top: 54px;
  left: 50%;
  margin-left: -218px;
  z-index: 10000;
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
  -webkit-transition-delay: 0.6s;
  transition-delay: 0.6s;
  pointer-events: none;
}
.bar-visible .map-title {
  opacity: 0;
  visibility: hidden;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
.map-title p {
  margin-top: 6px;
  letter-spacing: 0.05em;
  font-size: 15px;
}

@media screen and (max-width: 812px) {
  .map-title {
    width: 266px;
    top: 39px;
    margin-left: -133px;
  }
  .map-title p {
    line-height: 1.4;
  }
}


/* Map Gif
---------------------------- */
.map-gif li {
  position: absolute;
}
.map-gif img {
  pointer-events: none;
}

/* Each */
.map-gif .nakameguro {
  width: 169px;
  top: 825px;
  left: 184px;
}
.map-gif .ginza {
  width: 172px;
  right: 248px;
  top: 303px;
}
.map-gif .harajuku {
  width: 136px;
  top: 343px;
  left: 260px;
}
.map-gif .omotesando {
  width: 160px;
  top: 318px;
  left: 438px;
}
.map-gif .roppongi {
  width: 150px;
  top: 500px;
  left: 622px;
}
.map-gif .shibuya {
  width: 144px;
  top: 587px;
  left: 180px;
}
.map-gif .shinjuku {
  width: 160px;
  top: 30px;
  left: 390px;
}
.map-gif .shirokane {
  width: 228px;
  top: 866px;
  left: 532px;
}
.map-gif .tokyo {
  width: 168px;
  top: -10px;
  left: 1157px;
}

@media screen and (max-width: 812px) {
  .map-gif .nakameguro {
    width: 82px;
    top: 480px;
    left: 101px;
  }
  .map-gif .ginza {
    width: 90px;
    right: 132px;
    top: 188px;
  }
  .map-gif .harajuku {
    width: 68px;
    top: 214px;
    left: 135px;
  }
  .map-gif .omotesando {
    width: 79px;
    top: 199px;
    left: 239px;
  }
  .map-gif .roppongi {
    width: 80px;
    top: 292px;
    left: 325px;
  }
  .map-gif .shibuya {
    width: 86px;
    top: 340px;
    left: 59px;
  }
  .map-gif .shinjuku {
    width: 72px;
    top: 84px;
    left: 238px;
  }
  .map-gif .shirokane {
    width: 132px;
    top: 476px;
    left: 275px;
  }
  .map-gif .tokyo {
    width: 100px;
    top: 2px;
    left: 606px;
  }
}


/* Map Buttons
---------------------------- */
.map-buttons button {
  height: 54px;
  position: absolute;
}
.map-buttons button[disabled] {
  height: 44px;
  pointer-events: none;
}

@media screen and (max-width: 812px) {
  .map-buttons button {
    height: 34px;
  }
  .map-buttons button[disabled] {
    height: 24px;
  }
}

/* Each */
.map-buttons .nakameguro {
  width: 178px;
  left: 197px;
  top: 1082px;
}
.map-buttons .ginza {
  width: 76px;
  left: 1329px;
  top: 488px;
}
.map-buttons .harajuku {
  width: 135px;
  left: 267px;
  top: 567px;
}
.map-buttons .omotesando {
  width: 174px;
  left: 440px;
  top: 567px;
}
.map-buttons .roppongi {
  width: 130px;
  left: 636px;
  top: 684px;
}
.map-buttons .shibuya {
  width: 110px;
  left: 265px;
  top: 764px;
}
.map-buttons .shinjuku {
  width: 128px;
  left: 492px;
  top: 193px;
}
.map-buttons .shirokane {
  width: 146px;
  left: 578px;
  top: 1059px;
}
.map-buttons .tokyo {
  width: 84px;
  left: 1266px;
  top: 245px;
}

@media screen and (max-width: 812px) {
  .map-buttons .nakameguro {
    width: 96px;
    left: 97px;
    top: 604px;
  }
  .map-buttons .ginza {
    width: 41px;
    left: 702px;
    top: 287px;
  }
  .map-buttons .harajuku {
    width: 72px;
    left: 135px;
    top: 329px;
  }
  .map-buttons .omotesando {
    width: 94px;
    left: 226px;
    top: 329px;
  }
  .map-buttons .roppongi {
    width: 70px;
    left: 332px;
    top: 391px;
  }
  .map-buttons .shibuya {
    width: 60px;
    left: 133px;
    top: 434px;
  }
  .map-buttons .shinjuku {
    width: 69px;
    left: 266px;
    top: 166px;
  }
  .map-buttons .shirokane {
    width: 79px;
    left: 300px;
    top: 592px;
  }
  .map-buttons .tokyo {
    width: 47px;
    left: 668px;
    top: 157px;
  }
}

/* Icon */
.map-buttons i {
  display: block;
  margin: 0 auto;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #E74733;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
}
.map-buttons [disabled] i {
  width: 11px;
  height: 11px;
  background: #fff;
}
.map-buttons i:before {
  content: "";
  display: block;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: rgba(231, 71, 51, 0.27);
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -26px;
  margin-left: -26px;
  -webkit-animation: glow 1.6s infinite;
  animation: glow 1.6s infinite;
}

@media screen and (max-width: 812px) {
  .map-buttons i {
    width: 12px;
    height: 12px;
  }
  .map-buttons [disabled] i {
    width: 9px;
    height: 9px;
  }
  .map-buttons i:before {
    width: 34px;
    height: 34px;
    margin-top: -17px;
    margin-left: -17px;
  }
}

/* Icon Animation */
.map-buttons [disabled] i:before {
  display: none;
}
.map-buttons button:nth-child(1) i:before {
  -webkit-animation-delay: 0.1s;
  animation-delay: 0.1s;
}
.map-buttons button:nth-child(2) i:before {
  -webkit-animation-delay: 0.2s;
  animation-delay: 0.2s;
}
.map-buttons button:nth-child(3) i:before {
  -webkit-animation-delay: 0.3s;
  animation-delay: 0.3s;
}
.map-buttons button:nth-child(4) i:before {
  -webkit-animation-delay: 0.4s;
  animation-delay: 0.4s;
}
.map-buttons button:nth-child(5) i:before {
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s;
}
.map-buttons button:nth-child(6) i:before {
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s;
}
.map-buttons button:nth-child(7) i:before {
  -webkit-animation-delay: 0.7s;
  animation-delay: 0.7s;
}
.map-buttons button:nth-child(8) i:before {
  -webkit-animation-delay: 0.8s;
  animation-delay: 0.8s;
}
.map-buttons button:nth-child(9) i:before {
  -webkit-animation-delay: 0.9s;
  animation-delay: 0.9s;
}

@-webkit-keyframes glow {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 0;
  }
}

@keyframes glow {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 0;
  }
}

/* Coming Soon */
.map-buttons [disabled]:before {
  content: "";
  display: block;
  margin: 0 auto;
  width: 72px;
  height: 16px;
  background: url(../img/index/map-coming.png) no-repeat center;
  background-size: contain;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -22px;
}

@media screen and (max-width: 812px) {
  .map-buttons [disabled]:before {
    width: 56px;
    height: 12px;
    bottom: -16px;
    left: 50%;
    right: auto;
    margin-left: -26px;
  }
}



/* ----------------------------
  Guide
---------------------------- */
.guide {
  padding: 10px 0 60px;
  background: #7ed8d0;
  color: #434646;
}
.ipad .guide {
  margin-top: -1px;
}
.guide-inner {
  margin: 0 auto;
  width: 100%;
  max-width: 480px;
}

@media screen and (max-width: 812px) {
  .guide {
    padding: 18px 0 46px;
  }
}


/* Guide Head
---------------------------- */
.guide-head {
  margin-bottom: 6px;
  text-align: center;
  font-family: "Marion", serif;
  font-size: 30px;
}

@media screen and (max-width: 812px) {
  .guide-head {
    margin-bottom: 9px;
    font-size: 23px;
  }
}


/* Guide Slide
---------------------------- */
.guide-slide {
  margin-bottom: 18px;
  text-align: center;
  letter-spacing: 0.05em;
  font-family: "Marion", serif;
}
.guide-slide-inner {
  display: -webkit-box; /* Less than android 4.3 */
  display: -webkit-flex; /* Less than iOS8 */
  display: flex;
  -webkit-box-pack: justify; /* Less than android 4.3 */
  -webkit-justify-content: space-between; /* Less than iOS8 */
  justify-content: space-between;
}
.guide-slide-item section {
  width: 135px;
}
.guide-slide-item a {
  display: block;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.guide-slide-item a:hover {
  opacity: 0.6;
}

@media screen and (max-width: 812px) {
  .guide-slide {
    margin-bottom: 16px;
    word-break: break-all;
  }
  .guide-slide-inner {
    -webkit-box-pack: center; /* Less than android 4.3 */
    -webkit-justify-content: center; /* Less than iOS8 */
    justify-content: center;
  }
  .guide-slide-item section {
    width: 29.972752%;
    max-width: 220px;
  }
}


/* Guide Slide Contents
---------------------------- */
.guide-slide h3 {
  line-height: 1.2;
  font-size: 15px;
}
.guide-slide figure {
  margin: 6px auto 11px;
}
.guide-slide p {
  line-height: 1;
  font-size: 12px;
}

@media screen and (max-width: 812px) {
  .guide-slide h3 {
    font-size: 11px;
  }
  .guide-slide figure {
    margin: 5px auto 4px;
    width: 81.8181818%;
  }
  .guide-slide p {
    line-height: 1.222222222;
    font-size: 10px;
  }
}


/* Guide Navigation
---------------------------- */
.guide-nav {
  display: -webkit-box; /* Less than android 4.3 */
  display: -webkit-flex; /* Less than iOS8 */
  display: flex;
  -webkit-box-pack: justify; /* Less than android 4.3 */
  -webkit-justify-content: space-between; /* Less than iOS8 */
  justify-content: space-between;
  -webkit-box-align: center; /* Less than android 4.3 */
  -webkit-align-items: center; /* Less than iOS8 */
  align-items: center;
  padding: 0 6px;
}
.guide-nav button {
  padding: 4px 0 8px;
  width: 64px;
  line-height: 1;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.guide-nav button:hover {
  opacity: 0.6;
}

@media screen and (max-width: 812px) {
  .guide-nav {
    padding: 0 7.3569482%;
  }
  .guide-nav button {
    width: 56px;
  }
}

/* Count */
.guide-nav-count {
  width: 60px;
  height: 54px;
  line-height: 1;
  font-family: "Marion", serif;
  font-size: 34px;
  color: #65656b;
  position: relative;
}
.guide-nav-count em {
  display: block;
  position: absolute;
}
.guide-nav-count em:first-child {
  color: #fff;
  top: -3px;
  right: 34px;
}
.guide-nav-count em:last-child {
  bottom: -4px;
  left: 34px;
}
.guide-nav-count span {
  display: block;
  padding-top: 36px;
  width: 36px;
  height: 0;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
.guide-nav-count span:before {
  content: "";
  display: block;
  width: 141.421356237%;
  height: 1px;
  background: #65656b;
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);
  -webkit-transform-origin: center;
  transform-origin: center;
  position: absolute;
  top: 50%;
  left: 50%;
}

@media screen and (max-width: 812px) {
  .guide-nav-count {
    width: 42px;
    height: 42px;
    font-size: 27px;
  }
  .guide-nav-count em:first-child {
    right: 26px;
  }
  .guide-nav-count em:last-child {
    bottom: -3px;
    left: 26px;
  }
  .guide-nav-count span {
    padding-top: 30px;
    width: 30px;
  }
}


/* Guide Button
---------------------------- */
.guide-button {
  margin: 30px auto 0;
  max-width: 350px;
}
.guide-button a {
  display: block;
  padding: 13px 0 10px;
  background: #fff;
  text-align: center;
  font-family: "Marion", serif;
  font-size: 17px;
  color: #535454;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.guide-button a:hover {
  background: #535454;
  color: #fff;
}

@media screen and (max-width: 812px) {
  .guide-button {
    margin-top: 22px;
    max-width: 250px;
  }
  .guide-button a {
    padding: 9px 0 8px;
    font-size: 12px;
  }
}


/* Guide SNS
---------------------------- */
.guide-sns {
  margin-top: 36px;
  line-height: 1;
  text-align: center;
}
.guide-sns li {
  display: inline-block;
  margin: 0 22px;
  vertical-align: top;
}
.guide-sns a {
  display: block;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.guide-sns a:hover {
  opacity: 0.6;
}
.guide-sns svg {
  display: block;
  fill: #1B1B1B;
}
.guide .guide-sns-line {
  display: none;
}
.guide-sns-line path:last-child {
  fill: #7ed8d0;
}

@media screen and (max-width: 812px) {
  .guide .guide-sns-line {
    display: inline-block;
  }
}


/* Guide Credit
---------------------------- */
.guide-credit {
  margin-top: 32px;
}
.guide-credit dt {
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #7b7b7b;
  text-align: center;
  font-family: "Marion", serif;
  font-size: 16px;
}
.guide-credit dd {
  line-height: 1.5;
  font-size: 12px;
}
.guide-credit a span {
  text-decoration: underline;
}
.guide-credit a:hover span {
  text-decoration: none;
}

@media screen and (max-width: 812px) {
  .guide-credit {
    margin-top: 34px;
    padding: 0 7.3569482%;
  }
  .guide-credit dd {
    line-height: 1.75;
    font-size: 10px;
  }
}


/* Guide Contact
---------------------------- */
.guide-contact {
  margin-top: 30px;
  text-align: center;
  letter-spacing: 0.05em;
  line-height: 1.916666667;
  font-size: 12px;
}
.guide-contact dd:last-child a {
  text-decoration: underline;
}
.guide-contact dd:last-child a:hover {
  text-decoration: none;
}

@media screen and (max-width: 812px) {
  .guide-contact {
    margin-top: 8px;
    line-height: 2.117647059;
    font-size: 10px;
  }
}


/* ----------------------------
  Gallery
---------------------------- */
.gallery {
  display: -webkit-box; /* Less than android 4.3 */
  display: -webkit-flex; /* Less than iOS8 */
  display: flex;
  -webkit-box-align: center; /* Less than android 4.3 */
  -webkit-align-items: center; /* Less than iOS8 */
  align-items: center;
  -webkit-box-pack: center; /* Less than android 4.3 */
  -webkit-justify-content: center; /* Less than iOS8 */
  justify-content: center;
  background: #fff;
  letter-spacing: 0.05em;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10001;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s;
}
.gallery-open .gallery {
  opacity: 1;
  visibility: visible;
}
.gallery-inner {
  width: 100%;
  max-width: 756px;
}

@media screen and (max-width: 812px) {
  .gallery {
    display: block;
    overflow: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .gallery-inner {
    padding: 32px 0 56px;
    box-sizing: border-box;
  }
}


/* Gallery Head
---------------------------- */
.gallery-head {
  margin-bottom: 10px;
  text-align: center;
  line-height: 1;
  position: relative;
}
.gallery-head span {
  display: block;
  font-family: "Marion", serif;
  font-size: 18px;
}
.gallery-head img {
  position: absolute;
  left: 22.4867725%;
  top: 35px;
}

@media screen and (max-width: 812px) {
  .gallery-head span {
    font-size: 15px;
  }
  .gallery-head img {
    width: 104.5px;
    left: 50%;
    top: 28px;
    margin-left: -144px;
  }
}


/* Gallery Count
---------------------------- */
.gallery-count {
  margin: 0 auto;
  width: 32px;
  height: 32px;
  line-height: 1;
  font-family: "Marion", serif;
  font-size: 20px;
  position: relative;
}
.gallery-count em {
  display: block;
  position: absolute;
}
.gallery-count em:first-child {
  top: -2px;
  right: 18px;
}
.gallery-count em:last-child {
  bottom: -2px;
  left: 18px;
}
.gallery-count span {
  display: block;
  padding-top: 20px;
  width: 20px;
  height: 0;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
.gallery-count span:before {
  content: "";
  display: block;
  width: 141.421356237%;
  height: 1px;
  background: #65656b;
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);
  -webkit-transform-origin: center;
  transform-origin: center;
  position: absolute;
  top: 50%;
  left: 50%;
}


/* Gallery Close
---------------------------- */
.gallery-close {
  padding-top: 36px;
  width: 36px;
  height: 0;
  overflow: hidden;
  position: fixed;
  top: 20px;
  left: 20px;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.gallery-close:hover {
  opacity: 0.6;
}
.gallery-close:before,
.gallery-close:after {
  content: "";
  display: block;
  width: 141.421356237%;
  height: 1px;
  background: #535353;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -70.710678118%;
}
.gallery-close:before {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.gallery-close:after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

@media screen and (max-width: 812px) {
  .gallery-close {
    padding-top: 52px;
    width: 52px;
    position: absolute;
    top: 0;
    left: 0;
  }
  .gallery-close:before,
  .gallery-close:after {
    width: 34px;
    margin-left: -17px;
  }
}



/* ----------------------------
  Gallery Slide
---------------------------- */
.gallery-slide {
  margin-top: 28px;
  padding: 0 76px;
  outline: none;
}
.gallery-slide-item {
  outline: none;
}

@media screen and (max-width: 812px) {
  .gallery-slide {
    padding: 0 10%;
  }
}


/* Galler Slide Head
---------------------------- */
.gallery-slide-head {
  margin-bottom: 14px;
  text-align: center;
  line-height: 1;
  font-family: "Marion", serif;
}
.gallery-slide-head em {
  display: block;
  font-size: 34px;
}
.gallery-slide-head span {
  display: block;
  margin-top: 6px;
  font-size: 24px;
}

@media screen and (max-width: 812px) {
  .gallery-slide-head {
    margin-bottom: 10px;
  }
  .gallery-slide-head em {
    font-size: 27px;
  }
  .gallery-slide-head span {
    margin-top: 4px;
    font-size: 18px;
  }
}


/* Gallery Slide Lead
---------------------------- */
.gallery-slide-lead {
  margin-bottom: 14px;
  letter-spacing: 0.04em;
  line-height: 1.5;
  font-size: 12px;
}

@media screen and (max-width: 812px) {
  .gallery-slide-lead {
    margin-bottom: 24px;
    line-height: 1.384615385;
    font-size: 13px;
  }
}


/* Gallery Slide Panel
---------------------------- */
.gallery-slide-panel {
  display: -webkit-box; /* Less than android 4.3 */
  display: -webkit-flex; /* Less than iOS8 */
  display: flex;
  -webkit-box-pack: justify; /* Less than android 4.3 */
  -webkit-justify-content: space-between; /* Less than iOS8 */
  justify-content: space-between;
}
.gallery-slide-panel li {
  width: 33.1125828%;
}
.gallery-slide-panel a {
  display: block;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.gallery-slide-panel a:hover {
  opacity: 0.6;
}

@media screen and (max-width: 812px) {
  .gallery-slide-panel {
    display: block;
  }
  .gallery-slide-panel li {
    margin-top: 2px;
    width: 100%;
  }
  .gallery-slide-panel li:first-child {
    margin-top: 0;
  }
  .gallery-slide-panel a:after {
    content: "";
    display: block;
    clear: both;
  }
}


/* Gallery Slide Image
---------------------------- */
.gallery-slide-image {
  position: relative;
}
@media screen and (max-width: 812px) {
  .gallery-slide-image {
    width: 50%;
    float: left;
  }
}


/* Gallery Slide Body
---------------------------- */
.gallery-slide-body {
  margin: 6px 8px 0;
}

@media screen and (max-width: 812px) {
  .gallery-slide-body {
    margin: 0;
    padding-left: 14px;
    width: 50%;
    float: right;
    box-sizing: border-box;
  }
}


/* Gallery Slide Text
---------------------------- */
.gallery-slide-text {
  margin-bottom: 6px;
  line-height: 1.454545455;
  letter-spacing: 0;
  font-size: 11px;
  position: relative;
}

@media screen and (max-width: 812px) {
  .gallery-slide-text {
    line-height: 1.571428571;
    font-size: 10px;
  }
}


/* Gallery Slide More
---------------------------- */
.gallery-slide-more {
  display: block;
  padding: 6px 0 4px;
  width: 116px;
  line-height: 1.5;
  letter-spacing: 0;
  text-align: center;
  font-family: "Marion", serif;
  font-size: 12px;
  position: relative;
}
.gallery-slide-more:before {
  content: "";
  display: block;
  width: 0;
  height: 28px;
  background-repeat: no-repeat;
  background-position: left center;
  background-image: url(../img/gallery/label-bg-pc.png);
  background-size: 116px 28px;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
  -webkit-transition-delay: 0.6s;
  transition-delay: 0.6s;
}
.slick-active .gallery-slide-more:before {
  width: 100%;
}
.gallery-slide-more span {
  display: block;
  position: relative;
}

@media screen and (max-width: 812px) {
  .gallery-slide-more {
    padding: 3px 0;
    width: 114px;
    font-size: 11px;
    position: relative;
  }
  .gallery-slide-more:before {
    width: 0;
    height: 22px;
    background-image: url(../img/gallery/label-bg-sp.png);
    background-size: 114px 22px;
  }
}


/* Gallery Slide Item Image
---------------------------- */
.gallery-slide-body img {
  margin-left: auto;
}

/* Ginza */
.gallery-slide-item.ginza li:nth-child(1) .gallery-slide-body img {
  margin-top: -31px;
}
.gallery-slide-item.ginza li:nth-child(2) .gallery-slide-body img {
  margin-top: -8px;
}
.gallery-slide-item.ginza li:nth-child(3) .gallery-slide-body img {
  margin-top: 0;
}

@media screen and (max-width: 812px) {
  .gallery-slide-item.ginza li:nth-child(1) .gallery-slide-body img {
    margin-top: -8px;
    width: 64px;
  }
  .gallery-slide-item.ginza li:nth-child(2) .gallery-slide-body img {
    margin-top: 10px;
    width: 96px;
  }
  .gallery-slide-item.ginza li:nth-child(3) .gallery-slide-body img {
    margin-top: 10px;
    width: 98px;
  }
}

/* Shinjuku */
.gallery-slide-item.shinjuku li:nth-child(1) .gallery-slide-body img {
  margin-right: -8px;
  margin-top: -27px;
}
.gallery-slide-item.shinjuku li:nth-child(2) .gallery-slide-body img {
  margin-top: -39px;
  margin-right: -22px;
}
.gallery-slide-item.shinjuku li:nth-child(3) .gallery-slide-body img {
  margin-top: -47px;
  margin-right: -17px;
}

@media screen and (max-width: 812px) {
  .gallery-slide-item.shinjuku li:nth-child(1) .gallery-slide-body img {
    margin-top: 4px;
    margin-right: 0;
    width: 64px;
  }
  .gallery-slide-item.shinjuku li:nth-child(2) .gallery-slide-body img {
    margin-top: -44px;
    margin-right: -11px;
    width: 84px;
  }
  .gallery-slide-item.shinjuku li:nth-child(3) .gallery-slide-body img {
    margin-top: -12px;
    margin-right: -5px;
    width: 78px;
  }
}

/* Nakameguro */
.gallery-slide-item.nakameguro li:nth-child(1) .gallery-slide-body img {
  margin-right: -13px;
  margin-top: -10px;
}
.gallery-slide-item.nakameguro li:nth-child(2) .gallery-slide-body img {
  margin-top: -53px;
  margin-right: -16px;
}
.gallery-slide-item.nakameguro li:nth-child(3) .gallery-slide-body img {
  margin-top: -69px;
  margin-right: -17px;
}

@media screen and (max-width: 812px) {
  .gallery-slide-item.nakameguro li:nth-child(1) .gallery-slide-body img {
    margin-right: -8px;
    margin-top: 0;
    width: 96px;
  }
  .gallery-slide-item.nakameguro li:nth-child(2) .gallery-slide-body img {
    margin-top: -30px;
    margin-right: -8px;
    width: 72px;
  }
  .gallery-slide-item.nakameguro li:nth-child(3) .gallery-slide-body img {
    margin-top: -20px;
    margin-right: -5px;
    width: 84px;
  }
}

/* Harajuku */
.gallery-slide-item.harajuku li:nth-child(1) .gallery-slide-body img {
  margin-right: -40px;
  margin-top: -100px;
}
.gallery-slide-item.harajuku li:nth-child(2) .gallery-slide-body img {
  margin-top: -66px;
  margin-right: -22px;
}
.gallery-slide-item.harajuku li:nth-child(3) .gallery-slide-body img {
  margin-top: -80px;
  margin-right: -8px;
}

@media screen and (max-width: 812px) {
  .gallery-slide-item.harajuku li:nth-child(1) .gallery-slide-body img {
    margin-right: -24px;
    margin-top: -66px;
    width: 110px;
  }
  .gallery-slide-item.harajuku li:nth-child(2) .gallery-slide-body img {
    margin-top: -55px;
    margin-right: -17px;
    width: 110px;
  }
  .gallery-slide-item.harajuku li:nth-child(3) .gallery-slide-body img {
    margin-top: -46px;
    margin-right: 0;
    width: 92px;
  }
}

/* Shibuya */
.gallery-slide-item.shibuya li:nth-child(1) .gallery-slide-body img {
  margin-right: 0;
  margin-top: -80px;
}
.gallery-slide-item.shibuya li:nth-child(2) .gallery-slide-body img {
  margin-top: -48px;
  margin-right: -18px;
}
.gallery-slide-item.shibuya li:nth-child(3) .gallery-slide-body img {
  margin-top: -72px;
  margin-right: -16px;
}

@media screen and (max-width: 812px) {
  .gallery-slide-item.shibuya li:nth-child(1) .gallery-slide-body img {
    margin-right: 0;
    margin-top: -48px;
    width: 70px;
  }
  .gallery-slide-item.shibuya li:nth-child(2) .gallery-slide-body img {
    margin-top: -20px;
    margin-right: -10px;
    width: 78px;
  }
  .gallery-slide-item.shibuya li:nth-child(3) .gallery-slide-body img {
    margin-top: -46px;
    margin-right: -12px;
    width: 64px;
  }
}

/* Omotesando */
.gallery-slide-item.omotesando li:nth-child(1) .gallery-slide-body img {
  margin-right: -55px;
  margin-top: -74px;
}
.gallery-slide-item.omotesando li:nth-child(2) .gallery-slide-body img {
  margin-top: -58px;
  margin-right: -26px;
}
.gallery-slide-item.omotesando li:nth-child(3) .gallery-slide-body img {
  margin-top: -170px;
  margin-right: -68px;
  max-width: none;
}

@media screen and (max-width: 812px) {
  .gallery-slide-item.omotesando li:nth-child(1) .gallery-slide-body img {
    margin-right: -28px;
    margin-top: -32px;
    width: 90px;
  }
  .gallery-slide-item.omotesando li:nth-child(2) .gallery-slide-body img {
    margin-top: -20px;
    margin-right: -20px;
    width: 78px;
  }
  .gallery-slide-item.omotesando li:nth-child(3) .gallery-slide-body img {
    margin-top: -76px;
    margin-right: -34px;
    width: 138px;
  }
}

/* Shirokane */
.gallery-slide-item.shirokane li:nth-child(1) .gallery-slide-body img {
  margin-right: -12px;
  margin-top: -72px;
}
.gallery-slide-item.shirokane li:nth-child(2) .gallery-slide-body img {
  margin-top: -29px;
  margin-right: -5px;
}
.gallery-slide-item.shirokane li:nth-child(3) .gallery-slide-body img {
  margin-top: -28px;
  margin-right: -5px;
}

@media screen and (max-width: 812px) {
  .gallery-slide-item.shirokane li:nth-child(1) .gallery-slide-body img {
    margin-right: -6px;
    margin-top: -52px;
    width: 38px;
  }
  .gallery-slide-item.shirokane li:nth-child(2) .gallery-slide-body img {
    margin-top: -8px;
    margin-right: 0;
    width: 96px;
  }
  .gallery-slide-item.shirokane li:nth-child(3) .gallery-slide-body img {
    margin-top: -5px;
    margin-right: 1px;
    width: 88px;
  }
}

/* Tokyo */
.gallery-slide-item.tokyo li:nth-child(1) .gallery-slide-body img {
  margin-right: -4px;
  margin-top: -32px;
}
.gallery-slide-item.tokyo li:nth-child(2) .gallery-slide-body img {
  margin-top: -72px;
  margin-right: -12px;
}
.gallery-slide-item.tokyo li:nth-child(3) .gallery-slide-body img {
  margin-top: -22px;
  margin-right: -16px;
}

@media screen and (max-width: 812px) {
  .gallery-slide-item.tokyo li:nth-child(1) .gallery-slide-body img {
    margin-right: 4px;
    margin-top: -20px;
    width: 60px;
  }
  .gallery-slide-item.tokyo li:nth-child(2) .gallery-slide-body img {
    margin-top: -60px;
    margin-right: 0px;
    width: 68px;
  }
  .gallery-slide-item.tokyo li:nth-child(3) .gallery-slide-body img {
    margin-top: 6px;
    margin-right: 2px;
    width: 86px;
  }
}

/* Roppongi */
.gallery-slide-item.roppongi li:nth-child(1) .gallery-slide-body img {
  margin-right: -6px;
  margin-top: -13px;
}
.gallery-slide-item.roppongi li:nth-child(2) .gallery-slide-body img {
  margin-top: -9px;
  margin-right: -15px;
}
.gallery-slide-item.roppongi li:nth-child(3) .gallery-slide-body img {
  margin-top: -43px;
  margin-right: 0;
}
.gallery-slide-item.roppongi li:nth-child(3) .gallery-slide-text {
  letter-spacing: -0.02em;
}

@media screen and (max-width: 812px) {
  .gallery-slide-item.roppongi li:nth-child(1) .gallery-slide-body img {
    margin-right: 10px;
    margin-top: 6px;
    width: 90px;
  }
  .gallery-slide-item.roppongi li:nth-child(2) .gallery-slide-body img {
    margin-top: 14px;
    margin-right: 5px;
    width: 76px;
  }
  .gallery-slide-item.roppongi li:nth-child(3) .gallery-slide-body img {
    margin-top: -8px;
    margin-right: 2px;
    width: 80px;
  }
  .gallery-slide-item.roppongi li:nth-child(3) .gallery-slide-text {
    letter-spacing: normal;
  }
}



/* Gallery Slide Arrow
---------------------------- */
.gallery .slick-arrow {
  padding-top: 64px;
  width: 30px;
  height: 0;
  overflow: hidden;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  top: 50%;
  margin-top: -32px;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.gallery .slick-arrow:hover {
  opacity: 0.6;
}
.gallery .slick-prev {
  background-image: url(../img/gallery/arrow-left.png);
  left: 0;
}
.gallery .slick-next {
  background-image: url(../img/gallery/arrow-right.png);
  right: 0;
}

@media screen and (max-width: 812px) {
  .gallery .slick-arrow {
    padding-top: 49px;
    width: 10%;
    background-size: 19.5px auto;
    top: 0;
    margin-top: 0;
  }
  .gallery .slick-prev {
    background-image: url(../img/gallery/arrow-left-sp.png);
  }
  .gallery .slick-next {
    background-image: url(../img/gallery/arrow-right-sp.png);
  }
}
