@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 );
  margin-bottom: calc( 3 * 100vh / 1080 );
}
.section > .header::before,
.section > .header::after {
  content: '';
  display: block;
  height: 100%;
  background-repeat: no-repeat;
  background-size: auto 100%;
}
.section > .header::before {
  background-image: url('/img/events/title_icon.png');
  background-color: #f05e82;
  width: calc( 50 * 100vh / 1080 );
}
.section > .header::after {
  background-image: url('/img/events/title_r.png');
  width: calc( 32 * 100vh / 1080 );
}
.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 );
  background-color: #f05e82;
  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;
}
.row > div.content {
  width: calc( 1390 * 100vw / 1920 );
  margin-right: calc( 15 * 100vw / 1920 );
  height: 100%;
}
.row .search-nav {
  width: calc( 215 * 100vw / 1920 );
}
.row > div.content.w100 {
  width: 100%;
  margin-right: 0;
  height: 100%;
}

/* content layout
-------------------------------------------*/
div.content {
  position: relative;
  font-size: calc( 20 * 100vw / 1920 );
  border: 0 solid #999999;
  border-width: calc( 1em / 20 );
  background-color: #fdfbe8;
}
div.content-inner {
  width: 100%;
  height: 100%;
  padding: calc( 15 * 100vh / 1080 ) calc( 15 * 100vw / 1920 );
}

/* events
-------------------------------------------*/
div.events {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  align-content: flex-start;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}
div.events div.summary {
  background-color: white;
  margin-bottom: calc( 15 * 100vh / 1080 );
  margin-right: calc( 75 * 100vw / 1920 );
  max-height: calc( 275 * 100vh / 1080 );
  overflow: hidden;
}
div.events div.summary:last-child {
  margin-bottom: 0;
}

/* notfound
-------------------------------------------*/
div.notfound {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
}
div.notfound p {
  margin: 0;
  font-size: calc( 28 * 100vw / 1920 );
  font-weight: bold;
  color: #f05e82;
}

/* media
-------------------------------------------*/
.media {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: flex-start;
  text-decoration: none;
}
.media-img {
  width: calc( 370 * 100vw / 1920 );
  height: auto;
  vertical-align: middle;
}
.media-body {
  width: calc( 920 * 100vw / 1920 );
  height: 100%;
  padding: calc( 20 * 100vh / 1080 ) calc( 20 * 100vw / 1920 ) 0;
  font-weight: bold;
  font-size: calc( 18 * 100vw / 1920 );
  color: #333333;
}
.media-title {
  margin: 0;
  margin-bottom: .5rem;
  font-size: calc( 30 * 100vw / 1920 );
  line-height: 1.2;
}
.media-body p {
  margin: 0;
  margin-bottom: .75rem;
  line-height: 1.4;
}
.media-badge {
  display: inline-block;
  width: calc( 100 * 100vw / 1920 );
  vertical-align: middle;
  background-color: #f05e82;
  color: white;
  text-align: center;
  margin-right: 1rem;
  padding: .5rem .25rem;
  line-height: 1.0;
}
.en .media-badge {
  width: calc( 140 * 100vw / 1920 );
}

a.media {
  transition: opacity .3s ease-out;
}
a.media:active {
  opacity: 0.6;
}

/* pager
-------------------------------------------*/
div.content .prev,
div.content .next {
  display: block;
  width: calc( 60 * 100vw / 1920 );
  background-color: white;
  position: absolute;
  right: calc( 15 * 100vw / 1920 );
}
div.content .prev a,
div.content .next a {
  text-decoration: none;
}
div.content .prev img,
div.content .next img {
  width: 100%;
  height: auto;
  vertical-align: middle;
  transition: opacity .5s ease-out;
}
div.content .prev {
  top: calc( 15 * 100vh / 1080 );
}
div.content .next {
  bottom: calc( 15 * 100vh / 1080 );
}
div.content .disabled img {
  opacity: 0.2;
}

/* search nav
-------------------------------------------*/
.search-nav {
  position: relative;
}
.search-nav p.pagination-help {
  width: 100%;
  margin: 0;
  position: absolute;
  right: 0;
  bottom: calc( 10 * 100vh / 1080 );
  padding: .5rem 0;
  text-align: center;
  background-color: #f05e82;
  color: white;
}
.search-nav p.pagination-help .pages {
  padding-left: 1rem;
}

.search-nav .search-return {
  margin-bottom: 0;
  display: block;
  position: absolute;
  left: 0;
  bottom: calc( 10 * 100vh / 1080 );
  background-color: #f05e82;
  text-align: center;
  width: 100%;
  height: calc( 35 * 100vh / 1080 );
}
.search-nav .search-return > img {
  display: inline-block;
  width: auto;
  height: 100%;
  vertical-align: bottom;
}

/* search menu
-------------------------------------------*/
.search-menu {
  margin-bottom: calc( 15 * 100vh / 1080 );
}
.search-header {
  margin: 0;
}
.search-block,
.search-item {
  border: 0 solid #f05e82;
  font-size: calc( 20 * 100vw / 1920 );
}
.search-block {
  background-color: white;
  border-width: calc( 2em / 20 );
  padding-top: calc( 5 * 100vh / 1080 );
  padding-bottom: calc( 6 * 100vh / 1080 );
  padding-left: calc( 3 * 100vw / 1920 );
  padding-right: calc( 8 * 100vw / 1920 );
}
.search-item {
  border-bottom-width: calc( 2em / 20 );
}
.search-item {
  text-decoration: none;
  text-align: center;
  font-size: calc( 14 * 100vw / 1920 );
  color: #f05e82;
  font-weight: bold;
  line-height: 1.4;
  padding: .35rem 0;
  padding-left: calc( 18 * 100vw / 1920 );
  transition-duration: .3s;
  transition-timing-function: ease-out;
  transition-property: opacity;
}
.search-item:first-child {
  border-top-width: calc( 2em / 20 );
}
.search-item > img {
  width: 100%;
  height: auto;
  vertical-align: middle;
}

.search-item:active {
  opacity: 0.5;
}
.search-item.active {
  background-position: left center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-image: url('/img/events/nav_active_bg.png');
}

/* detail
-------------------------------------------*/
div.detail {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: flex-start;
  background-color: white;
  padding: calc( 20 * 100vh / 1080 ) calc( 20 * 100vw / 1920 );
  height: 100%;
  position: relative;
}
.detail-img {
  position: relative;
  width: calc( 590 * 100vw / 1920 );
  margin-right: calc( 30 * 100vw / 1920 );
}
.detail-img > img {
  display: block;
  width: 100%;
  height: auto;
  vertical-align: middle;
}
.detail-body {
  width: calc( 730 * 100vw / 1920 );
}
.detail-title {
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: calc( 30 * 100vw / 1920 );
  color: #f05e82;
  border: 0 solid #f05e82;
  border-bottom-width: calc( 4em / 18 );
  padding: 0 .5rem .25rem;
}
.detail-body p {
  margin: 0;
  margin-bottom: .75rem;
  padding: 0 .5rem;
  font-size: calc( 18 * 100vw / 1920 );
  line-height: 1.4;
  font-weight: bold;
}
.detail-list {
  padding: 0 .5rem;
}
.detail-list-item {
  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-bottom: calc( 20 * 100vh / 1080 );
}
.detail-label, .detail-text {
  display: block;
  font-size: calc( 18 * 100vw / 1920 );
  font-weight: bold;
  padding: .15em 0;
  line-height: 1.4;
}
.detail-label {
  width: calc( 100 * 100vw / 1920 );
  margin-right: calc( 20 * 100vw / 1920 );
  background-color: #f05e82;
  color: white;
  text-align: center;
  padding: .5rem .25rem;
  line-height: 1.0;
}
.detail-text {
  width: calc( 605 * 100vw / 1920 );
}
.detail-text-url {
  word-wrap: break-word;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: flex-start;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
.detail-text-url span {
  display: block;
  width: calc( 515 * 100vw / 1920 );
}
.detail-qrcode {
  display: block;
  width: calc( 70 * 100vw / 1920 );
  height: calc( 70 * 100vw / 1920 );
}
.detail-return {
  display: block;
  position: absolute;
  right: calc( 15 * 100vw / 1920 );
  bottom: calc( 15 * 100vh / 1080 );
  width: calc( 50 * 100vw / 1920 );
}
.detail-return > img {
  width: 100%;
  height: auto;
  vertical-align: top;
}

.en .detail-label {
  width: calc( 140 * 100vw / 1920 );
}
.en .detail-text {
  width: calc( 565 * 100vw / 1920 );
}
.en .detail-text-url span {
  width: calc( 475 * 100vw / 1920 );
}

/* tag
-------------------------------------------*/
.open-tag {
  display: none;
  position: absolute;
  left: calc( 15 * 100vw / 1920 );
  top: 0;
  padding: .5rem 0;
  text-align: center;
  font-size: calc( 14 * 100vw / 1920 );
  font-weight: bold;
  width: calc( 60em / 14 );
  color: white;
  background-color: #777676;
}
.open-tag::after {
  content: '';
  position: absolute;
  left: 0;
  top: 100%;
  height: 0;
  width: 0;
  font-size: calc( 20 * 100vw / 1920 );
  border-style: solid;
  border-width: 0 calc( 30em / 20 ) calc( 15em / 20 );
  border-left-color: #777676;
  border-right-color: #777676;
  border-bottom-color: transparent;
}
.open-tag-now {
  display: inline-block;
  background-color: #dc1515;
}
.open-tag-now::after {
  border-left-color: #dc1515;
  border-right-color: #dc1515;
}
.open-tag-before {
  display: inline-block;
  background-color: #4bc0e7;
}
.open-tag-before::after {
  border-left-color: #4bc0e7;
  border-right-color: #4bc0e7;
}

.en .open-tag {
  width: calc( 70em / 14 );
}
.en .open-tag::after {
  border-width: 0 calc( 35em / 20 ) calc( 17.5em / 20 );
}

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

[data-selected='detail'] #contents.out .pagination-help,
[data-selected='detail'] #contents.out .search-return {
  transition: opacity .1s ease-out;
  opacity: 0;
}
