/* ========================================

	style_common.css

========================================== */

/* reset
--------------------------------- */

html {
  color: #333;
  height: 100%;
  width: 100%;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
legend,
input,
textarea,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset,
img {
  border: 0;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
  font-style: normal;
  font-weight: normal;
}

li {
  list-style: none;
}

caption,
th {
  text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal;
}

q:before,
q:after {
  content: '';
}

abbr,
acronym {
  border: 0;
  font-variant: normal;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

input,
textarea,
select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}

input,
textarea,
select {
  *font-size: 100%;
}

legend {
  color: #000;
}

del,
ins {
  text-decoration: none;
}

body {
  font: 14px/1.231 arial, helvetica, clean, sans-serif;
  *font-size: small;
  *font: x-small
}

select,
input,
button,
textarea {
  font: 99% arial, helvetica, clean, sans-serif
}

table {
  font-size: inherit;
  font: 100%
}

pre,
code,
kbd,
samp,
tt {
  font-family: monospace;
  *font-size: 108%;
  line-height: 100%
}


/* clearfix
--------------------------------- */
.clearfix:after,
.clearfix:before {
  display: table;
  content: " "
}

.clearfix:after {
  clear: both
}

/* base
================================= */
* {
  box-sizing: border-box;
}

img {
  width: 100%;
}

.nav--menu li a,
.more a,
.back a,
.section--schedule .inner .scheduleList .thead th,
footer .copyright,
.list--share li:first-child,
.section--news .inner li .date,
.drawer__btn span,
body:not(.page--home) .section--detail .date,
.list--accordion li [class^="icon--"],
.keyvisual .scroll p {
  font-family: 'Londrina Solid', cursive;
  letter-spacing: 0.05em;
}

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

body {
  width: 100%;
  min-height: 100%;
  position: relative;
  background: #FFFCEF;
  color: #333;
  font-size: 14px;
  font-weight: normal;
}

.container {
  width: 100%;
  position: relative;
}

.container .contents-inner {
  overflow: hidden;
}

.bold {
  font-weight: bold;
}

.red {
  color: #e84b28;
}

.more {
  text-align: right;
}

.back {
  text-align: center;
}

.more a,
.back a {
  color: #333;
  position: relative;
  text-decoration: none;
}

.new {
  display: none;
}

.btn {
  text-align: center;
}

.btn a {
  color: #fff;
  background: #333;
  padding: 20px 0;
  text-align: center;
  text-decoration: none;
  font-weight: bold;
}

.list--sub li,
.txt--sub {
  display: block;
  text-indent: -1em;
  padding-left: 1em;
  font-size: 12px;
}

.list--accordion li [class^="icon--"] {
  position: relative;
  float: left;
}

.list--accordion li .icon--a {
  color: #e84b28;
}

.list--accordion li:not(.current) .accordion-detail {
  display: none;
}

.list--accordion li:not(.current) .tit {
  position: relative;
}

.list--accordion li:not(.current) .tit:before,
.list--accordion li:not(.current) .tit:after {
  content: ' ';
  display: block;
  background: #bbbbbb;
  background: #bbbbbb;
  width: 30px;
  height: 2px;
  position: absolute;
  top: 50%;
  right: 40px;
  -webkit-transition: .3s;
  transition: .3s;
  margin-top: -1px;
  visibility: visible;
}

.list--accordion li:not(.current) .tit:before {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.list--accordion li:not(.current) .tit.open:before {
  -webkit-transform: rotate(135deg) !important;
  transform: rotate(135deg) !important;
}

.list--accordion li:not(.current) .tit.open:after {
  -webkit-transform: rotate(45deg) !important;
  transform: rotate(45deg) !important;
}

/* loading
--------------------------------- */
.loading {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background: #FFFCEF;
  z-index: 999;
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
}


/* header
--------------------------------- */
.header .g-nav .nav--menu li.disabled a {
  color: #d8d2c5;
  pointer-events: none;
}

.header .logo a {
  display: block;
}

.header .g-nav .nav--menu li a span svg {
  fill: #333;
}

/* keyvisual
--------------------------------- */
.keyvisual {
  position: relative;
}

.keyvisual .main-tit {
  position: absolute;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.main-tit .list--logo li {
  line-height: 0;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}

.main-tit .list--logo {
  position: relative;
}

.keyvisual .scroll {
  opacity: 0;
  bottom: -20px;
  -webkit-transition: all .5s ease;
  transition: all .5s ease;
  -webkit-transition-delay: 2s;
  transition-delay: 2s;
}

.keyvisual .scroll .icon {
  -webkit-animation: scroll 5s ease-in-out 0s infinite normal;
  animation: scroll 5s ease-in-out 0s infinite normal;
}

.loaded .keyvisual .scroll {
  opacity: 1;
  bottom: 10px;
}

@-webkit-keyframes scroll {
  0% {
    transform: translateY(0px);
  }

  92% {
    transform: translateY(0px);
  }

  94% {
    transform: translateY(-10px);
  }

  96% {
    transform: translateY(0px);
  }

  98% {
    transform: translateY(-10px);
  }

  100% {
    transform: translateY(0px);
  }
}

@keyframes scroll {
  0% {
    transform: translateY(0px);
  }

  92% {
    transform: translateY(0px);
  }

  94% {
    transform: translateY(-10px);
  }

  96% {
    transform: translateY(0px);
  }

  98% {
    transform: translateY(-10px);
  }

  100% {
    transform: translateY(0px);
  }
}

/*start*/
.main-tit .list--logo li.backnumber,
.main-tit .list--logo li.oneroom,
.main-tit .list--logo li.party,
.main-tit .list--logo li.vol5 {
  -webkit-transform: translateY(60px);
  transform: translateY(60px);
}

.main-tit .list--logo li.flag_right {
  -webkit-transform: translate(-20px, -40px);
  transform: translate(-20px, -40px);
}

.main-tit .list--logo li.flag_left {
  -webkit-transform: translate(20px, -40px);
  transform: translate(20px, -40px);
}

.main-tit .list--logo li.flag_fc {
  -webkit-transform: translate(-20px, 40px);
  transform: translate(-20px, 40px);
}

/*timing*/
.main-tit .list--logo li.backnumber {
  -webkit-transition: transform .8s .05s cubic-bezier(.9, -.05, .07, 1.5), opacity .8s .05s cubic-bezier(.9, -.05, .07, 1.5);
  transition: transform .8s .05s cubic-bezier(.9, -.05, .07, 1.5), opacity .8s .05s cubic-bezier(.9, -.05, .07, 1.5);
}

.main-tit .list--logo li.oneroom {
  -webkit-transition: transform .8s .1s cubic-bezier(.9, -.05, .07, 1.5), opacity .8s .1s cubic-bezier(.9, -.05, .07, 1.5);
  transition: transform .8s .1s cubic-bezier(.9, -.05, .07, 1.5), opacity .8s .1s cubic-bezier(.9, -.05, .07, 1.5);
}

.main-tit .list--logo li.party {
  -webkit-transition: transform .8s .15s cubic-bezier(.9, -.05, .07, 1.5), opacity .8s .15s cubic-bezier(.9, -.05, .07, 1.5);
  transition: transform .8s .15s cubic-bezier(.9, -.05, .07, 1.5), opacity .8s .15s cubic-bezier(.9, -.05, .07, 1.5);
}

.main-tit .list--logo li.vol5 {
  -webkit-transition: transform .8s .2s cubic-bezier(.9, -.05, .07, 1.5), opacity .8s .2s cubic-bezier(.9, -.05, .07, 1.5);
  transition: transform .8s .2s cubic-bezier(.9, -.05, .07, 1.5), opacity .8s .2s cubic-bezier(.9, -.05, .07, 1.5);
}

.main-tit .list--logo li.flag_right,
.main-tit .list--logo li.flag_left {
  -webkit-transition: all .8s .8s ease;
  transition: all .8s .8s ease;
}

.main-tit .list--logo li.flag_right,
.main-tit .list--logo li.flag_fc {
  -webkit-transition: all .8s .8s ease;
  transition: all .8s .8s ease;
}


/*finish*/
.loaded .main-tit .list--logo li.backnumber,
.loaded .main-tit .list--logo li.oneroom,
.loaded .main-tit .list--logo li.party,
.loaded .main-tit .list--logo li.vol5 {
  -webkit-transform: translateY(0px);
  transform: translateY(0px);
  opacity: 1;
}

.loaded .main-tit .list--logo li.flag_right,
.loaded .main-tit .list--logo li.flag_left,
.loaded .main-tit .list--logo li.flag_fc {
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
  opacity: 1;
}

.loaded .main-tit .list--logo li.emphasis {
  animation-name: blink;
  animation-duration: .5s;
  animation-timing-function: ease;
  animation-iteration-count: 1;
  animation-delay: 1.5s;
  animation-fill-mode: forwards;
}

@keyframes blink {
  0% {
    opacity: 0;
  }

  20% {
    opacity: 1;
  }

  60% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}


/* banner
--------------------------------- */
.banner .list--bnr li a {
  display: block;
  line-height: 0;
  border: 1px solid #ddd;
}

/* contents
--------------------------------- */
[class^="section--"] {
  width: 100%;
  position: relative;
}

.section--news {
  background: #F5B0A1;
}

.section--schedule {
  background-color: #FFEEA2;
}

.section--twitter {
  background-color: #CFE0EA;
}

.section--detail {
  background-color: #fff;
}

.section-tit {
  position: absolute;
}

.inview {
  -webkit-transition: all .5s ease;
  transition: all .5s ease;
  opacity: 0;
}

.inview.view {
  opacity: 1;
}

/* news
--------------------------------- */
.section--news .inner .list--news li .date .new {
  color: #e84b28;
}

.section--news .inner .list--news li,
.page--qa .section--qa .list--qa>li,
.page--ticket .section--ticket .block--ticket,
.list--accordion>li {
  background: #fff;
  border-radius: 3px;
}

.page--news .section--detail .text .ph {
  position: relative;
  line-height: 0;
}

.page--news .section--detail .text .ph img {
  width: 100% !important;
}

.page--news .section--detail .text .ph img.dummy {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
}

.page--news .section--detail .text .iframe-wrap {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.page--news .section--detail .text .iframe-wrap iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/* schedule
--------------------------------- */
.section--schedule .inner .scheduleList .venue a {
  color: #333;
}

.section--schedule .inner .scheduleList .venue a i {
  font-size: 12px;
  position: relative;
  bottom: 2px;
  margin-left: 6px;
}

/* home
--------------------------------- */
.page--home .header .logo,
.page--home .header .g-nav .nav--menu li.home {
  display: none;
}


/* page
--------------------------------- */
body:not(.page--home) .section--detail .text a,
.page--ticket .section--ticket .block--ticket .list--caption li a,
.list--accordion li .accordion-detail .text a,
.page--ticket .section--ticket .ticket-info dd a {
  color: #F5B0A1;
}

body:not(.page--home) .section--detail .tit {
  font-weight: bold;
}

/* ticket
--------------------------------- */
.page--ticket .section--ticket {
  background: #CFE0EA;
}

.page--ticket .section--ticket .block--ticket .block-tit,
.page--ticket .section--ticket .list--ticket li .tit {
  font-weight: bold;
}

.page--ticket .section--ticket .ticket-info {
  width: 100%;
  border-top: 1px solid #bbb;
}

.page--ticket .section--ticket .ticket-info dt {
  font-weight: bold;
}

.page--ticket .section--ticket .ticket-info dd {
  border-bottom: 1px solid #bbb;
}

.page--ticket .section--ticket .ticket-info dd .entry a {
  display: block;
  line-height: 0;
}

.page--ticket .section--ticket .ticket-info dd .txt--sub {
  display: block;
}


/* qa
--------------------------------- */
.page--qa .section--qa {
  background: #F5B0A1;
}

.page--qa .section--qa .list--qa>li:last-child {
  margin-bottom: 0;
}

.page--qa .section--qa .list--qa li .text {
  border-top: 1px solid #bbb;
}

.page--qa .section--qa .list--qa li .text .red.bold {
  text-decoration: underline;
}



/* banner_bottom
--------------------------------- */
.block--banner-bottom {
  box-shadow: none;
  border-radius: 0;
}

.block--banner-bottom .list--bnr li a {
  display: block;
}

.block--banner-bottom .list--bnr li a img {
  width: 100%;
  border: 1px solid #ddd;
}



/* footer
--------------------------------- */
footer {
  position: absolute;
  width: 100%;
  overflow: hidden;
  bottom: 0;
  left: 0;
}

.block--sns .list--share li a {
  display: block;
  color: #333;
}


/* admissionnotice
--------------------------------- */
.page--admissionnotice .text .block--attention,
.page--admissionnotice .text .block--attention dd .list--attention>li .document {
  border-radius: 3px;
}

.page--admissionnotice .text .block--attention {
  background: #fff2b6;
}

.page--admissionnotice .text .block--attention:last-of-type {
  margin-bottom: 0;
}

.page--admissionnotice .text .block--attention dt {
  color: #e84b28;
  font-weight: bold;
}

.page--admissionnotice .text .block--attention dt:before,
.page--admissionnotice .text .block--attention dd li:before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

.page--admissionnotice .text .block--attention dt:before {
  content: "\f071";
}

.page--admissionnotice .text .block--attention dd .list--attention>li:before {
  content: "\f00c";
  color: #e84b28;
}

.page--admissionnotice .text .block--attention dd .list--attention>li:last-child {
  margin-bottom: 0;
}

.page--admissionnotice .text .block--attention dd .list--attention>li .document {
  display: block;
  background: #fff;
  text-indent: 0;
}

.page--admissionnotice .text .block--ticket-type .ticket-type {
  text-align: center;
}

.page--admissionnotice .text .block--ticket-type .ticket-type:last-of-type {
  margin-bottom: 0;
}

.page--admissionnotice .text .block--ticket-type .ticket-type dt {
  font-weight: bold;
  color: #e84b28;
}

.page--admissionnotice .text .block--ticket-type .ticket-type dt span {
  display: block;
  font-weight: 400;
}

.page--admissionnotice .text .block--ticket-type .ticket-type dd p {
  color: #fff;
  font-weight: bold;
  background: #e84b28;
  border-radius: 3px 3px 0 0 / 3px 3px 0 0;
}

.page--admissionnotice .text .block--ticket-type .ticket-type dd .thumb {
  border: 1px solid #e84b28;
  margin: 0;
  border-radius: 0 0 3px 3px / 0 0 3px 3px;
}

.page--admissionnotice .text .block--ticket-type .ticket-type.paper dt {
  color: #333;
}

.page--admissionnotice .text .block--ticket-type .ticket-type.paper dd p {
  background: #ada9a2;
}

.page--admissionnotice .text .block--ticket-type .ticket-type.paper dd .thumb {
  border-color: #ada9a2;
}

.page--admissionnotice .text .block--ticket-type .ticket-type.paper dd .txt--sub {
  padding: 5px 0 0 0;
  text-indent: 0;
}





/* goods
--------------------------------- */
.section--goods {
  background-color: #FFEEA2;
}

.section--goods .list--category>li+li {
  margin-top: 55px;
}

.section--goods .tit--category {
  margin: 0 0 25px;
  font-size: 24px;
  font-weight: bold;
}

.list--goods {
  display: flex;
  display: webkit-flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
}

.list--goods li {
  width: 32%;
  margin: 0 0 1.25vw;
  background: #fff;
  border-radius: 20px;
  padding: .5vw 1.5vw 1.5vw;
  cursor: pointer;
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
}

.list--goods::after {
  content: "";
  display: block;
  width: 30%;
}

.list--goods .thumb {
  line-height: 0;
}

.page--goods .list--goods .thumb img {
  background: no-repeat center;
  background-size: contain;
}

.list--goods .tit {
  font-weight: bold;
  font-size: 16px;
}

.list--goods .tit span {
  font-weight: normal;
  display: block;
  font-size: 12px;
  margin-top: 5px;
}

/* popup */
.block--overlay {
  display: none;
  position: fixed;
  top: -10px;
  right: 0;
  bottom: -10px;
  overflow: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 9999;
  background: rgba(255, 238, 162, 0.8);
  width: 80%;
}

.block--overlay .overlay__container {
  /*display: table;*/
  padding: 10px 0;
  width: 100%;
  height: 100%;
}

.block--overlay .overlay__inner {
  /*display: table-cell;*/
  vertical-align: middle;
}

.block--overlay .overlay__modal {
  background: #fff;
  padding: 0 5% 4vw;
  width: 80%;
  margin: 4vw auto;
  border-radius: 50px;
}

.block--overlay .slick-slider {
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
}

.block--overlay .list--ph-thumb .slick-list {
  padding: 0 !important;
  text-align: center;
}

.block--overlay .list--ph-thumb .slick-track {
  transform: none !important;
}

.block--overlay .list--ph img,
.block--overlay .list--ph-thumb img {
  background: no-repeat center;
  background-size: contain;
  margin: 0 auto;
}

.block--overlay .list--ph img {
  width: 80%;
}

.block--overlay .list--ph-thumb {
  line-height: 0;
  margin: 0 0 50px;
  text-align: center;
}

.block--overlay .list--ph-thumb li {
  max-width: 100px;
  cursor: pointer;
  outline: none;
  position: relative;
  margin: 0 .5vw;
  border: 2px solid #e4e4e4;
  border-radius: 6px;
  padding: 5px;
  float: none;
  display: inline-block;
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
}

.block--overlay .list--ph-thumb li::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.1);
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
  opacity: 0;
  border-radius: 4px;
}

.block--overlay .list--ph-thumb li:hover::after,
.block--overlay .list--ph-thumb li.slick-current::after {
  opacity: 1;
}

.block--overlay .list--ph.one {
  text-align: center;
}

.block--descriptoin>p {
  margin: 30px 0;
}

.block--descriptoin .tit {
  font-size: 24px;
  margin: 0 0 30px;
  font-weight: bold;
}

.sizeTable {
  border: 1px solid #ccc;
  border-bottom: none;
  font-size: 12px;
}

.sizeTable th,
.sizeTable td {
  padding: 5px 20px;
  text-align: center;
}

.sizeTable tr {
  border-bottom: 1px solid #ccc;
}

.sizeTable th {
  font-weight: bold;
  background: #eee;
  border-right: 1px solid #ccc;
}

.sizeTable tr:first-of-type th:not(:first-child) {
  border-right: none;
}

.block--overlay .overlay__modal::after {
  display: table;
  content: '';
  clear: both;
}

.block--overlay .btn--close {
  width: 48px;
  height: 48px;
  top: 30px;
  right: 30px;
  display: block;
  position: fixed;
  border: none;
  text-decoration: none;
  cursor: pointer;
  background: none;
  outline: none;
}

.block--overlay .btn--close:before,
.block--overlay .btn--close:after {
  content: '';
  display: block;
  position: absolute;
  right: 0px;
  width: 60px;
  height: 4px;
  background: #333;
}

.block--overlay .btn--close:before {
  -webkit-transform: translateY(23px) rotate(-45deg);
  transform: translateY(23px) rotate(-45deg);
  top: 0px;
}

.block--overlay .btn--close:after {
  -webkit-transform: translateY(-23px) rotate(45deg);
  transform: translateY(-23px) rotate(45deg);
  bottom: 0px;
}

.section--goods .list--description {
    margin: 50px 0 0;
    padding: 55px 0 0;
    border-top: 1px solid #E3D283;
}

.section--goods .list--description>li+li {
  margin-top: 45px;
}

.section--goods .list--description .tit {
  font-weight: bold;
  font-size: 18px;
  margin: 0 0 10px;
}

.section--goods .list--description .tit::before {
  content: "\f111";
  font-family: 'Font Awesome 5 Free';
  margin-right: .6em;
  font-size: .6em;
  position: relative;
  top: -.25em;
  color: #bdae68;
}

.section--goods .link--external {
  color: inherit;
  font-weight: bold;
}

.section--goods .link--external::after {
  content: "\f35d";
  font-family: 'Font Awesome 5 Free';
}
