@charset "utf-8";
/* CSS Document */

/* inner layout
-------------------------------------------*/
.main > .contents > .inner {
  padding: calc( 15 * 100vw / 1920 );
}

/* section layout
-------------------------------------------*/
.section {
  width: 100%;
  height: 100%;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column nowrap;
  -ms-flex-flow: column nowrap;
  flex-flow: column nowrap;
  background-color: #eeeeee;
  padding: calc( 6 * 100vw / 1920 );
  padding-right: calc( 13 * 100vw / 1920 );
}
.section > .header {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: calc( 45 * 100vh / 1080 );
}
.section > .header .header-icon {
  display: block;
  width: calc( 52 * 100vh / 1080 );
  height: 100%;
  background-color: #be8572;
}
.section > .header .header-icon > img {
  display: block;
  width: auto;
  height: 100%;
  vertical-align: middle;
}
.section > .header::after {
  content: '';
  display: block;
  height: 100%;
  width: calc( 32 * 100vh / 1080 );
  background-repeat: no-repeat;
  background-size: auto 100%;
  background-image: url('/img/gourmet/title_r.png');
}
.section > .header > h1.title {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  height: 100%;
  padding-top: .35rem;
  padding-right: calc( 10 * 100vh / 1080 );
  padding-left: calc( 10 * 100vh / 1080 );
  background-color: #be8572;
  color: white;
  font-size: calc( 24 * 100vh / 1080 );
  min-width: calc( 500 * 100vh / 1080 );
}
.section > .row {
  -webkit-flex-grow: 1;
  -ms-flex-grow: 1;
  flex-grow: 1;
}

/* row layout
-------------------------------------------*/
.row {
  height: 100%;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row nowrap;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
  background-color: white;
  padding: calc( 15 * 100vh / 1080 ) calc( 15 * 100vw / 1920 );
}
.row > div.content {
  width: calc( 1325 * 100vw / 1920 );
  margin-right: calc( 15 * 100vw / 1920 );
  height: 100%;
}
.row .search-nav {
  width: calc( 265 * 100vw / 1920 );
  padding: calc( 10 * 100vh / 1080 ) calc( 10 * 100vw / 1920 );
  background-color: #eeeeee;
}
.row .nav-description {
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center top;
  height: 100%;
}
/* .row .nav-description {
  background-image: url('/img/ja/gourmet/nav_description_bg.png');
}
.en .row .nav-description {
  background-image: url('/img/en/gourmet/nav_description_bg.png');
} */
.row .nav-description > img {
  display: block;
  width: 100%;
  height: auto;
}

/* content layout
-------------------------------------------*/
div.content {
  background-color: white;
}
div.content-inner {
  height: 100%;
}

/* gourmet layout
-------------------------------------------*/
div.gourmet {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-flow: column nowrap;
  -ms-flex-flow: column nowrap;
  flex-flow: column nowrap;
}
div.gourmet > div.map {
  -webkit-flex-grow: 1;
  -ms-flex-grow: 1;
  flex-grow: 1;
  margin-bottom: calc( 15 * 100vh / 1080 );
}
div.gourmet > .areamenu-nav {
  margin-bottom: calc( 10 * 100vh / 1080 );
}

/* map
-------------------------------------------*/
div.map {
  position: relative;
  background-color: #999999;
}
div.map img.content-img {
  width: 100%;
  height: auto;
  vertical-align: top;
}

/* areamenu
-------------------------------------------*/
div.areamenu {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row nowrap;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
  margin: 0 calc( -5 * 100vw / 1920 );
}
.areamenu-item {
  -webkit-flex-grow: 1;
  -ms-flex-grow: 1;
  flex-grow: 1;
  padding: 0 calc( 5 * 100vw / 1920 );
}
.areamenu-item a > img {
  width: 100%;
  height: auto;
  vertical-align: middle;
}
.areamenu-item a.inactive {
  background-color: white;
  opacity: 0.4;
}
.areamenu-item a.active  {
  opacity: 1;
}

/* shops
-------------------------------------------*/
div.shops {
  background-color: #eeeeee;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  align-content: flex-start;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  padding: calc( 5 * 100vw / 1920 );
}
div.shops > .thumbnail {
  display: block;
  position: relative;
  padding: calc( 5 * 100vw / 1920 );
}
div.shops-child-7 > .thumbnail {
  width: calc( 100% / 7 );
}
div.shops-child-9 > .thumbnail {
  width: calc( 100% / 9 );
}
div.shops > .thumbnail a {
  display: block;
  width: 100%;
}
div.shops > .thumbnail img {
  width: 100%;
  height: auto;
  vertical-align: middle;
}

div.shops > .thumbnail .debug {
  position: absolute;
  right: 0;
  bottom: 0;
}

/* search menu
-------------------------------------------*/
.search-item {
  margin-bottom: calc( 10 * 100vh / 1080 );
}
.search-item > img {
  width: 100%;
  height: auto;
  vertical-align: middle;
}
.search-item.inactive {
  background-color: white;
  opacity: 0.6;
}
.search-item.active  {
  opacity: 1;
}

/* detail
-------------------------------------------*/
.detail {
  position: absolute;
  right: calc( 20 * 100vw / 1920 );
  top: 2.85%;
  background-color: #eeeeee;
  padding: calc( 10 * 100vh / 1080 ) calc( 10 * 100vw / 1920 );
  width: calc( 520 * 100vw / 1920 );
  height: 94.31%;
  z-index: 1000;
  overflow: auto;
}
.detail-title {
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  align-items: center;
  font-size: calc( 18 * 100vw / 1920 );
  line-height: 1.4;
  color: #be8572;
  font-weight: bold;
  border: 0 solid #be8572;
  border-bottom-width: calc( 4em / 18 );
  padding-bottom: .25rem;
}
.detail-icon {
  display: block;
  width: 9.57%;
  text-align: center;
}
.detail-icon > img {
  width: 100%;
  height: auto;
  vertical-align: top;
}
.detail-name {
  display: block;
  width: 84.43%;
  padding-left: .5rem;
  padding-right: .5rem;
  vertical-align: middle;
}
.detail-close {
  display: block;
  width: 6%;
  align-self: flex-start;
  transition: opacity 0.1s ease-in-out;
}
.detail-close > img {
  width: 100%;
  height: auto;
  vertical-align: top;
}
.detail-close:active {
  opacity: 0.6;
}

.detail-list {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
}
.detail-list-item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row nowrap;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
  align-items: flex-start;
  margin-top: calc( 10 * 100vh / 1080 );
}
.detail-list-item.space-between {
  justify-content: space-between;
}
.detail-list-item.mt-20 {
  margin-top: calc( 20 * 100vh / 1080 );
}
.detail-label, .detail-text {
  display: block;
  font-size: calc( 12 * 100vw / 1920 );
  font-weight: bold;
  padding: .25rem 0;
  line-height: 1.4;
}
.detail-label {
  width: 16%;
  margin-right: 3%;
  background-color: #be8572;
  color: white;
  text-align: center;
}
.detail-text {
  width: 81%;
}
.detail-text-w320 {
  width: 64%;
}
.detail-img {
  width: 49%;
  height: auto;
  vertical-align: top;
}

.detail-list-qrcode {
  position: absolute;
  right: 0;
  top: 0;
  width: 16%;
}
.detail-img-qrcode {
  width: 100%;
  height: auto;
  vertical-align: top;
}

.detail-list-item .debug {
  position: absolute;
  right: 0;
  bottom: 0;
}

.en .detail-label {
  width: 22%;
}
.en .detail-text {
  width: 75%;
}
.en .detail-text-w320 {
  width: 58%;
}


/* transition
-------------------------------------------*/
/*
 * The following styles are auto-applied to elements with
 * data-selected='search' when their visibility is toggled
 */
[data-selected='search'] .header-icon > img,
[data-selected='search'] h1.title > span,
[data-selected='search'] .nav-description > img,
[data-selected='search'] .content-inner {
  opacity: 0;
}
[data-selected='search'] #contents.in .header-icon > img,
[data-selected='search'] #contents.in h1.title > span,
[data-selected='search'] #contents.in .nav-description > img,
[data-selected='search'] #contents.in .content-inner {
  transition: opacity .5s ease-out;
  opacity: 1;
}
[data-selected='search'] #contents.out .header-icon > img,
[data-selected='search'] #contents.out h1.title > span,
[data-selected='search'] #contents.out .nav-description > img,
[data-selected='search'] #contents.out .content-inner {
  transition: opacity .1s ease-out;
  opacity: 0;
}

/*
 * The following styles are auto-applied to elements with
 * detail when their visibility is toggled
 */
.detail {
  opacity: 0;
  -webkit-transform: translate(0, calc( -50 * 100vh / 1080 ));
  transform: translate(0, calc( -50 * 100vh / 1080 ));
}
#contents.in .detail {
  transition: opacity .3s ease-out, transform .5s ease-out;
  opacity: 1;
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
}
#contents.out .detail {
  transition: opacity .1s ease-out;
  opacity: 0;
}

[data-selected='close'] #contents.out .detail {
  transition: opacity .5s ease-out, transform .5s ease-out;
  -webkit-transform: translate(0, calc( -50 * 100vh / 1080 ));
  transform: translate(0, calc( -50 * 100vh / 1080 ));
}
