@charset "UTF-8";
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

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

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

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

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

body, html {
  width: 100%;
  height: 100%;
  min-height: 680px;
  position: relative;
  font-family: 'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro W3', 'ＭＳ Ｐゴシック', Arial, verdana, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-smoothing: antialiased;
}

body.morning {
  background: #7FB8E1;
}

body.day {
  background: #83ACE8;
}

body.dawn {
  background: #C2A5CD;
}

body.night {
  background: #627EB9;
}

body {
  background-repeat: repeat;
  min-width: 1080px;
  height: auto;
  min-height: 730px;
  overflow-x: hidden;
}

.footerWrap {
  position: fixed;
  width: 50%;
  height: 100%;
  top: 0;
  left: 0;
  min-height: 730px;
}

.bgcanvas {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-repeat: repeat;
}
.bgcanvas--clip {
  opacity: .5;
}

.logo {
  position: relative;
  margin-bottom: 12px;
  width: 252px;
}
.logo__text {
  color: #fff;
  font-size: 16px;
  letter-spacing: .4em;
  position: absolute;
  top: -35px;
  width: 100%;
  text-align: center;
}

.logo__needles {
  position: absolute;
  height: 78px;
  width: 252px;
  left: 50%;
  margin-left: -126px;
  top: 0;
}
.logo__needles__con {
  position: absolute;
  left: 165px;
  top: 12px;
}

.needles {
  position: absolute;
  border: 0;
  background: #fff;
}
.needles--min {
  width: 2px;
  height: 19px;
  left: 20px;
  top: 8px;
}

.needles--sec {
  width: 1px;
  height: 19px;
  left: 21px;
  top: 8px;
}

.needles--hour {
  width: 4px;
  height: 17px;
  left: 19px;
  top: 10px;
}

.needles--min, .needles--sec, .needles--hour {
  -webkit-transform-origin: 52% 70%;
      -ms-transform-origin: 52% 70%;
          transform-origin: 52% 70%;
}

.header {
  position: fixed;
  top: 17%;
  left: 3%;
  z-index: 100;
}

.caption {
  display: block;
  margin-bottom: 6px;
  width: 252px;
  height: 15px;
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap;
}
.caption--jp {
  background: url(../img/read_txt1.png) no-repeat center top;
}
.caption--en {
  background: url(../img/read_txt2.png) no-repeat center top;
}

.background {
  position: fixed;
  left: 0;
  top: 0;
  background: #000;
  height: 100%;
  opacity: 0;
}

.topics {
  position: relative;
  left: 0;
  margin-top: 20px;
  width: 256px;
  font-family: 'Lato';
  color: #fff;
}
.topics__title {
  font-size: 14px;
  margin-bottom: 10px;
  letter-spacing: .15em;
}

.topics__image {
  width: 226.8px;
  height: 170.1px;
  background: #999;
  margin-top: 30px;
  opacity: 0;
  -webkit-transition: opacity 1s linear .5s;
          transition: opacity 1s linear .5s;
}
body.morning .topics__image, body.day .topics__image, body.dawn .topics__image, body.night .topics__image {
  opacity: 1;
}

.topics__list {
  font-size: 12px;
  letter-spacing: .1em;
  overflow: hidden;
}
.topics__list__date {
  margin-bottom: 5px;
}
.topics__list__detail {
  margin-bottom: 10px;
  line-height: 15px;
}
.topics__list__detail:last-child {
  margin-bottom: 0;
}

.movies {
  margin-top: 15px;
  width: 256px;
  color: #fff;
  font-family: 'Lato';
}
.movies__title {
  font-size: 14px;
  margin-bottom: 10px;
  letter-spacing: .15em;
}

.movies__list {
  font-size: 13px;
  letter-spacing: .1em;
}
.movies__list > li {
  padding-left: 25px;
  background: url(/img/mov_icon.svg) no-repeat left top;
  background-size: 18px 12px;
  box-sizing: border-box;
  margin-bottom: 8px;
}
.movies__list > li > a {
  display: inline-block;
}
.movies__list > li > a:after {
  display: block;
  content: " ";
  width: 0;
  height: 1px;
  background: #fff;
  margin-top: 1px;
  -webkit-transition: width .3s ease-out;
          transition: width .3s ease-out;
}
.movies__list > li > a:hover:after {
  width: 100%;
}
.movies a {
  text-decoration: none;
  color: #fff;
}

.navlist {
  color: #fff;
  font-family: 'Lato';
  font-size: 15px;
  text-decoration: none;
  margin: 0;
  padding: 0;
  height: 26px;
  line-height: 26px;
  background-repeat: no-repeat;
  padding-left: 38px;
  letter-spacing: .15em;
  position: relative;
  display: inline-block;
}
.navlist:hover:after, .navlist.current:after {
  width: 100%;
  left: 0;
}
.navlist:after {
  content: "";
  width: 0;
  height: 1px;
  background: #fff;
  position: absolute;
  bottom: -5px;
  left: 0%;
  -webkit-transition: all .3s ease-out;
          transition: all .3s ease-out;
}
.navlist--shoplist {
  background-image: url(../img/icon_shoplist.svg);
  background-size: 23px 24px;
  background-position: 1px 0;
}

.navlist--facilities {
  background-image: url(../img/icon_facilities.svg);
  background-size: 23px 24px;
  background-position: 1px 0;
}

.navlist--floormap {
  background-image: url(../img/icon_floormap.svg);
  background-size: 23px 24px;
  background-position: 1px 0;
}

.navlist--access {
  background-image: url(../img/icon_access.svg);
  background-size: 16px 24px;
  background-position: 4px 0;
}

.navlist--contact {
  background-image: url(../img/icon_mobile.svg);
  background-size: 14px 24px;
  background-position: 5px 0;
}

.footer {
  position: absolute;
  left: 6%;
  bottom: 39px;
}
.footer__contact {
  font-family: 'Lato';
  color: #fff;
  text-decoration: none;
  font-size: 12px;
  padding-left: 15px;
  line-height: 14px;
  background-repeat: no-repeat;
  background-image: url(../img/icon_mobile.svg);
  background-size: 9px 14px;
  display: block;
  margin-bottom: 26px;
}

.copyright {
  font-family: 'Lato';
  font-size: 10px;
  color: #fff;
  letter-spacing: .05em;
}

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

@keyframes tako {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
.navigation {
  position: absolute;
  left: 295px;
  top: 80px;
  width: 200px;
}
.navigation__list__inner {
  margin-bottom: 30px;
}

.navigation__image {
  width: 156.6px;
  opacity: 0;
  -webkit-transition: opacity 1s linear .5s;
          transition: opacity 1s linear .5s;
}
body.morning .navigation__image, body.day .navigation__image, body.dawn .navigation__image, body.night .navigation__image {
  opacity: 1;
}

.wrapper {
  position: relative;
  width: 56%;
  top: 0;
  left: 44%;
  height: 100%;
  padding-bottom: 54px;
  z-index: 100;
}
.wrapper__content {
  font-family: 'Lato';
  color: #fff;
  position: relative;
  min-height: 100%;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
}
.wrapper__content__title {
  font-size: 18px;
  letter-spacing: .15em;
  margin-top: 10%;
  -webkit-transform-origin: 0 50%;
      -ms-transform-origin: 0 50%;
          transform-origin: 0 50%;
}
.wrapper__content__title span {
  display: inline-block;
  margin: 0;
  padding: 0;
}
.wrapper__content__title:before {
  content: " ";
  display: block;
  width: 260px;
  height: 1px;
  margin-bottom: 10px;
  background: #fff;
}

.shoplist {
  margin: 48px 0 0 108px;
  width: 494px;
  overflow: hidden;
  *zoom: 1;
}
.shoplist__box {
  display: block;
  width: 218px;
  height: 76px;
  border: 1px solid #fff;
  float: left;
  margin: 0 54px 29px 0;
}
.shoplist__box canvas {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.shoplist__box:nth-child(even) {
  margin-right: 0;
}
.shoplist__box__caption {
  color: #fff;
  font-family: 'Lato';
  display: block;
  font-size: 12px;
  margin-top: 4px;
  letter-spacing: .1em;
  text-align: center;
  line-height: 15px;
}
.shoplist__box__caption--lsLittle {
  letter-spacing: 0em;
}
.shoplist__box__icon {
  display: table-cell;
  position: relative;
  width: 218px;
  height: 76px;
  background: rgba(255, 255, 255, 0.5);
  -webkit-transition: background-color .3s l32ear;
          transition: background-color .3s l32ear;
  vertical-align: middle;
}
.shoplist__box__icon:before {
  content: " ";
  width: 15px;
  height: 15px;
  position: absolute;
  background: url(../img/outer_icon.svg) no-repeat;
  right: 10px;
  top: 10px;
}
.shoplist__box__icon:hover {
  background: rgba(255, 255, 255, 0.3);
}
.shoplist__box__icon__image {
  text-align: center;
  display: block;
  margin: 0 auto;
}

.facilitiesHead {
  font-size: 14px;
  margin: 45px 0 10px 10px;
}

.facilitiesMap {
  margin: 0 0 0 15px;
}

.floormap {
  padding: 30px 0 0 30px;
  width: 650px;
  overflow: hidden;
}
.floormap__wrapper {
  width: 750px;
  margin-left: 10px;
}

.floormap__image {
  margin: 10px 0 38px 20px;
}

.floormap__detail {
  font-size: 14px;
  height: 224px;
  width: 375px;
  float: left;
}
.floormap__detail__head {
  height: 26px;
  display: inline;
  line-height: 26px;
  padding: 3px 10px;
}
.floormap__detail__head--first {
  background: #37B599;
}
.floormap__detail__head--second {
  background: #EF939B;
}
.floormap__detail__head--third {
  background: #3DB5E3;
}
.floormap__detail__head--forth {
  background: #CF79C5;
}

.floorList {
  line-height: 24px;
  font-size: 14px;
  letter-spacing: .05em;
  margin-top: 10px;
}

.map {
  padding: 44px 0 0 44px;
  font-size: 14px;
  width: 580px;
}
.map__image {
  width: 580px;
  height: 312px;
  margin-bottom: 20px;
}

.map__address {
  margin-bottom: 37px;
}

.map__trafic {
  clear: both;
  margin-bottom: 20px;
}
.map__trafic__head {
  display: inline-block;
  font-size: 16px;
  height: 26px;
  border-bottom: 1px solid #fff;
  margin-bottom: 12px;
  letter-spacing: .15em;
}
.map__trafic__detail {
  line-height: 24px;
}

.map__space {
  float: left;
  display: block;
  width: 184px;
  height: 45px;
  border: 1px solid #fff;
  position: relative;
  line-height: 45px;
  margin-right: 40px;
  text-decoration: none;
  font-size: 13px;
  text-indent: 33px;
  color: #fff;
  background: rgba(255, 255, 255, 0);
  -webkit-transition: background .2s linear;
          transition: background .2s linear;
  margin-bottom: 30px;
}
.map__space--cf {
  overflow: hidden;
  *zoom: 1;
}
.map__space:hover {
  background: rgba(255, 255, 255, 0.2);
}
.map__space--outer {
  width: 210px;
}
.map__space--outer img {
  position: relative;
  top: 4px;
  margin-left: 8px;
}
.map__space:before {
  content: " ";
  width: 8px;
  height: 45px;
  position: absolute;
  background: url(../img/arrow.svg) no-repeat left center;
  left: 17px;
}

.contact {
  margin: 50px 0 0 40px;
}
.contact__head {
  display: inline-block;
  font-size: 16px;
  height: 26px;
  border-bottom: 1px solid #fff;
  margin-bottom: 12px;
  letter-spacing: .15em;
}

.contact__info {
  margin: 34px 0 0 30px;
  padding-bottom: 54px;
  overflow: hidden;
  *zoom: 1;
}
.contact__info__pdf {
  width: 186px;
  height: 46px;
  border: 1px solid #fff;
  float: left;
  margin-right: 18px;
  position: relative;
}
.contact__info__pdf:before {
  content: " ";
  width: 8px;
  height: 45px;
  position: absolute;
  background: url(../img/arrow.svg) no-repeat left center;
  left: 50px;
}

.contact__list {
  width: 451px;
  border-top: 1px solid rgba(255, 255, 255, 0.5);
  font-size: 13px;
  margin: 28px 0 44px 32px;
}
.contact__list--img {
  border: none;
}
.contact__list__name {
  width: 288px;
  border-right: 1px solid rgba(255, 255, 255, 0.5);
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  line-height: 40px;
  text-indent: 16px;
}
.contact__list__phone {
  width: 162px;
  border-bottom: 1px solid #fff;
  line-height: 40px;
  text-indent: 25px;
}
.contact__list__info {
  width: 70px;
  border-right: 1px solid rgba(255, 255, 255, 0.5);
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  line-height: 40px;
  text-indent: 16px;
}
.contact__list__data {
  width: 217px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  line-height: 40px;
  text-indent: 15px;
  letter-spacing: .1em;
}

.pdf {
  display: block;
  line-height: 46px;
  text-decoration: none;
  color: #fff;
  width: 100%;
  text-indent: 65px;
  font-size: 13px;
  letter-spacing: .1em;
  background: rgba(255, 255, 255, 0);
  -webkit-transition: background .2s linear;
          transition: background .2s linear;
}
.pdf:hover {
  background: rgba(255, 255, 255, 0.2);
}
.pdf:after {
  width: 21px;
  height: 21px;
  position: relative;
  top: 3px;
  left: 4px;
  content: url(../img/pdficon.png);
}

.opening {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 10000;
  overflow: hidden;
}
.opening__cover {
  position: absolute;
  top: 0;
  width: 50%;
  height: 100%;
  background: #fff;
}
.opening__cover--left {
  left: -1px;
}
.opening__cover--right {
  right: -1px;
}

.opening__bar {
  position: absolute;
  width: 2px;
  height: 50%;
  left: 50%;
  margin-left: -1px;
  background: #fff;
}
.opening__bar--top {
  top: 0;
  -webkit-transform-origin: 50% 100%;
      -ms-transform-origin: 50% 100%;
          transform-origin: 50% 100%;
}
.opening__bar--bottom {
  top: 50%;
  -webkit-transform-origin: 50% 0%;
      -ms-transform-origin: 50% 0%;
          transform-origin: 50% 0%;
}

.opening__logo {
  margin: 0;
  padding: 0;
  position: absolute;
  width: 254px;
  height: 62px;
  left: 50%;
  top: 50%;
  margin-left: -127px;
  margin-top: -31px;
  display: block;
}

#google_translate_element {
  position: absolute;
  top: -40px;
}

.langselect {
  font-size: 12px;
  z-index: 10000;
  margin-top: 20px;
  position: relative;
}
.langselect__title {
  line-height: 24px;
}

.langselect__selected {
  width: 88px;
  height: 22px;
  border: 1px solid #fff;
  color: #fff;
  line-height: 22px;
  padding-left: 10px;
  position: absolute;
  left: 78px;
  bottom: 0;
  cursor: pointer;
}
.langselect__selected:after {
  content: '';
  background: url(../img/select_down.png) no-repeat left center;
  width: 10px;
  height: 22px;
  position: absolute;
  top: 0;
  right: 5px;
}
.langselect__selected:hover {
  background: rgba(255, 255, 255, 0.3);
}

.langselect__list {
  display: none;
  border: 1px solid #fff;
  position: absolute;
  bottom: -89px;
  left: 78px;
  width: 98px;
  color: #656565;
  line-height: 22px;
  background: rgba(255, 255, 255, 0.8);
}
.langselect__list.on {
  display: block;
}
.langselect__list__inner {
  padding-left: 10px;
  cursor: pointer;
}
.langselect__list__inner.off {
  display: none;
}
.langselect__list__inner:hover {
  background: #fff;
}
