@charset "UTF-8";
/* partial */
/*  Import file to Scss or Sass. */
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, textarea, table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup,
menu, nav, input, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-weight: normal;
  vertical-align: baseline;
}

address, em {
  font-style: normal;
}

li {
  list-style-type: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

th {
  text-align: left;
}

img {
  vertical-align: top;
  /*max-width: 100%;*/
  height: auto;
}

legend {
  clear: both;
}

input[type="submit"], button, label, select {
  cursor: pointer;
  -webkit-appearance: none;
}

button {
  border: none;
  box-sizing: content-box;
  background: transparent;
}

hr {
  -webkit-margin-before: 2em;
  -webkit-margin-after: 2em;
  clear: both;
}

main {
  display: block;
}

/* Fonts
------------------------------------------------------------*/
body {
  -webkit-text-size-adjust: 100%;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

body, input, button, textarea, select {
  font-family: 'Noto Sans JP', "Yu Gothic", "ヒラギノ角ゴ ProN","Hiragino Kaku Gothic ProN","HGゴシックE","メイリオ","Meiryo","ＭＳ Ｐゴシック","MS PGothic","ＭＳ ゴシック","MS Gothic", sans-serif;
  /* font-family: ArialMT,'Lucida Grande','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',Meiryo,'メイリオ',sans-serif; */
  color: #000000;
}

html {
  font-size: 62.5%;
}

body {
  font-size: 1.4em;
  /* -> 14px; */
  line-height: 1.8;
}

/* link
------------------------------------------------------------*/
a {
  color: #000000;
}

a img {
  backface-visibility: hidden;
}

input[type="submit"] {
  -webkit-appearance: none;
}

a {
  color: #50362a;
}

body {
  font-family: 'Noto Serif JP', serif;
  color: #50362a;
  letter-spacing: 1px;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
}

@media screen and (min-width: 760px) and (max-width: 1030px) {
  body {
    font-size: 1.6em;
  }
}

body div#wrap {
  width: 80%;
  height: 80%;
  position: relative;
}

@media screen and (max-width: 1030px) {
  body div#wrap {
    width: 90%;
    height: 90%;
  }
}

body div#wrap header {
  position: absolute;
  top: 0;
  left: 0;
  width: 300px;
  height: 90%;
  padding: 12px 10px;
  box-sizing: border-box;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
  justify-content: space-between;
  align-items: flex-start;
  z-index: 5;
}

@media screen and (max-width: 1030px) {
  body div#wrap header {
    padding: 0;
  }
}

body div#wrap header nav#pcNav {
  z-index: 100;
  box-sizing: border-box;
  position: relative;
}

body div#wrap header nav#pcNav div {
  margin: 10px;
  width: 40px;
  height: 40px;
  box-sizing: border-box;
}

body div#wrap header nav#pcNav div a img {
  width: 34px;
  height: 34px;
}

body div#wrap header nav#pcNav div#hamburger span {
  cursor: pointer;
}

body div#wrap header nav#pcNav div#hamburger span.outer {
  position: relative;
  display: inline-block;
  width: 40px;
  height: 40px;
  background: transparent;
}

body div#wrap header nav#pcNav div#hamburger span.outer span.inner {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 26px;
  height: 3px;
  background-color: #50362a;
  transition-duration: 0.3s;
  transition-property: width, transform;
  transition-timing-function: ease-in-out;
  transition-delay: 0s;
}

body div#wrap header nav#pcNav div#hamburger span.outer span.inner:before, body div#wrap header nav#pcNav div#hamburger span.outer span.inner:after {
  content: '';
  position: absolute;
  left: inherit;
  width: inherit;
  height: inherit;
  background-color: inherit;
  transition-duration: 0.3s;
  transition-property: width, transform;
  transition-timing-function: ease-in-out;
  transition-delay: 0s;
}

body div#wrap header nav#pcNav div#hamburger span.outer span.inner:before {
  top: -10px;
}

body div#wrap header nav#pcNav div#hamburger span.outer span.inner:after {
  top: 10px;
}

body div#wrap header nav#pcNav div#hamburger span.outer span.transArrow {
  transform: translateY(0px) translateX(0px) rotate(90deg);
}

body div#wrap header nav#pcNav div#hamburger span.outer span.transArrow:before, body div#wrap header nav#pcNav div#hamburger span.outer span.transArrow:after {
  width: 20px;
  will-change: width, transform;
}

body div#wrap header nav#pcNav div#hamburger span.outer span.transArrow:before {
  transform: translateY(16px) translateX(13px) rotate(-45deg);
}

body div#wrap header nav#pcNav div#hamburger span.outer span.transArrow:after {
  transform: translateY(-16px) translateX(13px) rotate(45deg);
}

body div#wrap header nav#pcNav div#hamburger span.outer span.transArrow.transCross {
  transform: translateY(0px) translateX(0px) rotate(45deg);
  width: 28px;
}

body div#wrap header nav#pcNav div#hamburger span.outer span.transArrow.transCross:before, body div#wrap header nav#pcNav div#hamburger span.outer span.transArrow.transCross:after {
  width: 28px;
}

body div#wrap header nav#pcNav div#hamburger span.outer span.transArrow.transCross:before {
  opacity: 0;
  transform: translateY(10px) translateX(0px) rotate(0deg);
}

body div#wrap header nav#pcNav div#hamburger span.outer span.transArrow.transCross:after {
  transform: translateY(-10px) translateX(0px) rotate(-90deg);
}

body div#wrap header nav#pcNav div span#english {
  position: absolute;
  right: -30px;
  bottom: 5px;
  opacity: 0;
  transition: 0.6s all ease-in-out 0s;
  backface-visibility: hidden;
  will-change: transform;
}

body div#wrap header nav#pcNav div span#english.active {
  opacity: 1;
}

body div#wrap header nav#global {
  width: 100%;
  margin-left: 17px;
  transform: translate3d(0px, 20px, 0);
  opacity: 0;
  transition: 0.6s all ease-in-out 0s;
  backface-visibility: hidden;
  will-change: transform;
  pointer-events: none;
}

body div#wrap header nav#global.transAfter {
  transform: translate3d(0px, 0, 0);
  opacity: 1;
  pointer-events: auto;
}

body div#wrap header nav#global ul {
  width: 100%;
}

body div#wrap header nav#global ul li {
  width: 100%;
  height: 24px;
  margin: 34px 0;
  position: relative;
  cursor: pointer;
}

body div#wrap header nav#global ul li a p {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  opacity: 0;
  transform: translate3d(0, 26px, 0);
  will-change: transform;
}

body div#wrap header nav#global ul li a p.active {
  animation: changeLang 1s ease 0s 1 alternate none running;
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

@keyframes changeLang {
  0% {
    opacity: 0;
    transform: translate3d(0, 26px, 0);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

body div#wrap header nav#global ul li a p:hover {
  text-decoration: underline;
}

@media screen and (max-width: 1030px) {
  body div#wrap header nav#global ul li a p {
    text-decoration: underline;
  }
}

body div#wrap header dl#shopInfo {
  width: 100%;
  margin: 17px;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
  justify-content: flex-end;
  align-items: flex-start;
  transform: translate3d(0px, 20px, 0);
  opacity: 0;
  transition: 0.6s all ease-in-out 0s;
  backface-visibility: hidden;
  will-change: transform;
  pointer-events: none;
}

body div#wrap header dl#shopInfo.transAfter {
  transform: translate3d(0px, 0, 0);
  opacity: 1;
  pointer-events: auto;
}

body div#wrap header dl#shopInfo dt, body div#wrap header dl#shopInfo dd {
  width: 100%;
  height: 24px;
  position: relative;
}

body div#wrap header dl#shopInfo dt span.jp, body div#wrap header dl#shopInfo dt span.en, body div#wrap header dl#shopInfo dd span.jp, body div#wrap header dl#shopInfo dd span.en {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  white-space: nowrap;
  opacity: 0;
  transform: translate3d(0, 26px, 0);
  will-change: transform;
}

body div#wrap header dl#shopInfo dt span.jp.active, body div#wrap header dl#shopInfo dt span.en.active, body div#wrap header dl#shopInfo dd span.jp.active, body div#wrap header dl#shopInfo dd span.en.active {
  animation: changeLang 1s ease 0s 1 alternate none running;
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

@media screen and (max-width: 1030px) {
  body div#wrap header dl#shopInfo dt span.jp, body div#wrap header dl#shopInfo dt span.en, body div#wrap header dl#shopInfo dd span.jp, body div#wrap header dl#shopInfo dd span.en {
    font-size: 80%;
  }
}

body div#wrap main {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 300px;
  height: 90%;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
  transform: translate3d(0, 0, 0);
  will-change: transform;
  z-index: 4;
  cursor: pointer;
}

body div#wrap main a {
  width: 100%;
  height: 100%;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
}

body div#wrap main a img {
  height: 100%;
}

@media screen and (max-width: 1030px) {
  body div#wrap main a img {
    height: 80%;
  }
}

body div#wrap main.transForwards {
  animation: transForwards 1.8s ease 0s 1 normal none running;
  transform: translate3d(200px, 0, 0);
}

@keyframes transForwards {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(200px, 0, 0);
  }
}

body div#wrap main.transBack {
  animation: transBack 1.8s ease 0s 1 normal none running;
  transform: translate3d(0, 0, 0);
}

@keyframes transBack {
  0% {
    transform: translate3d(200px, 0, 0);
  }
  100% {
    transform: translate3d(0, 0, 0);
  }
}

/* CSS Document */
body div#wrap main#page404 {
  width: 50%;
  cursor: auto;
}

body div#wrap main#page404 a {
  width: auto;
  height: auto;
  padding: 10px 20px;
  border: 1px solid #50362a;
  border-radius: 10px;
  text-decoration: none;
}

body div#wrap main#page404 a:hover {
  color: white;
  background-color: #50362a;
}

@media screen and (max-width: 1030px) {
  body div#wrap main#page404 {
    width: 100%;
  }
}
