@charset "UTF-8";


@media (max-width: 991px) {
  #siteHeader {
    position: absolute;
    top: 43vw;
  }

  body.gNavOpen #siteHeader {
    position: fixed !important;
    top: 0;
    transition: top .3s;
  }
}

@media (min-width: 992px) {
  #siteHeader {
    position: sticky !important;
  }

  #siteHeader:not(.is-fixed) {
    height: 2rem;
  }

  #siteHeader:not(.is-fixed) #logo {
    width: min(100%, 16rem);
    margin-bottom: -7rem;
  }
}


.illust_line {
  pointer-events: none;
}

/* --------------------
  MV
-------------------- */
#mv {
  overflow: hidden;
}

#mv .illust_line {
  content: '';
  display: block;
  width: 40vw;
  height: 45vw;
  background: url(img/mv_line_sp.svg) no-repeat right 105% top 700% / 140%;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}

#mv .mv-video {
  aspect-ratio: 128 / 55;
  clip-path: url(#mv-mask);
  overflow: hidden;
  margin: -4.3vw -2.5vw 0;
}

#mv .mv-video video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: right bottom;
}

@media (max-width: 991px) {
  #mv {
    margin-bottom: 7rem;
  }

  #mv .illust_line {
    display: none;
  }
}

@media (min-width: 992px) {
  #mv .illust_line {
    width: 35vw;
    height: 70vw;
    background: url(img/mv_line.svg) no-repeat right 110% top 700% / 150%;
  }

  #mv .mv-video {
    width: 83.75%;
    aspect-ratio: 2 / 1;
    margin: -9.2vw -2.5vw 0;
  }
}


/* --------------------
  topHeader
-------------------- */
#topHeader {
  display: flex;
  flex-direction: column;
}

#top-info {
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
  margin-top: 1rem;
  margin-bottom: 1rem;
}

#top-info .btn._list-btn {
  padding: 1em 3.5em 1em 4em;
  background-repeat: no-repeat;
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20viewBox%3D%220%200%2033.64%2029.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22m14.06%201.56-13.6%2022.66c-1.29%202.15.26%204.88%202.76%204.88h27.18c2.5%200%204.05-2.73%202.76-4.88l-13.58-22.66c-1.25-2.09-4.27-2.09-5.53%200z%22%20fill%3D%22%23ea4b2d%22%2F%3E%3Cg%20fill%3D%22%23fff%22%3E%3Cpath%20d%3D%22m15.56%207.67h2.52v12.61h-2.52z%22%2F%3E%3Cpath%20d%3D%22m15.56%2022.8h2.52v2.52h-2.52z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E');
  background-position: 1.5em 50%;
  background-size: 1.75em;
}

#top-info .btn._list-btn time {
  color: var(--d-gray);
  letter-spacing: 0;
  transform: scale(.9);
}

#top-info .btn._list-btn .ttl {
  color: var(--red);
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: .05em;
}

#top-info .btn._list-btn .ttl a {
  text-decoration: underline;
}

#top-info .btn._list-btn .ttl a:hover {
  text-decoration: none;
}

#top-info .btn._list-btn.not-hover {
  border-color: initial;
  animation: none;
  box-shadow: none;
  transform: none;
  cursor: auto;
}

@media (min-width: 992px) {
  #top-info {
    margin-top: 3.5rem;
    margin-bottom: 0;
  }
}

/* --------------------
  Top contents
-------------------- */
#top-contents {
  margin-top: 4vw;
  position: relative;
  z-index: 5;
}

#top-contents .txtBox {
  position: relative;
  z-index: 2;
}

#top-contents .bg-object {
  width: 4rem;
  position: absolute;
  bottom: -8%;
  right: -2rem;
}

@media (max-width: 575px) {
  #top-contents {
    margin-bottom: 1.5rem;
  }
}

@media (max-width: 991px) {
  #top-contents .txtBox {
    margin-bottom: 2.5rem;
  }

  #top-contents .copy {
    font-size: 1.154rem;
  }

  #top-contents .bg-object {
    display: none;
  }
}

@media (min-width: 992px) {
  #top-contents .copy {
    padding-top: 5.75rem;
    line-height: 2.25;
  }
}

@media (min-width: 1200px) {
  #top-contents .bg-object {
    right: -4rem;
  }
}

/* --------------------
  slider
-------------------- */
#top-contents .slider .splide__slide {
  width: min(266px, 50vw);
}

#top-contents .splide__arrows {
  width: 100%;
  margin: .5rem 0 0;
}

#top-contents .splide__arrow {
  width: min(2rem, 6vw);
  height: min(2rem, 6vw);
  background: transparent;
  border: 0;
  border-radius: 0;
  background-size: contain;
  background-position: center;
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20viewBox%3D%220%200%2040%2040%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22m6.2%2040c-1.2%200-2.3-.6-3-1.7-1-1.6-.5-3.8%201.2-4.7l22.7-13.6-22.7-13.6c-1.6-1-2.2-3.1-1.2-4.7%201-1.7%203.1-2.2%204.8-1.2l27.6%2016.6c1%20.6%201.7%201.7%201.7%203s-.6%202.3-1.7%203l-27.6%2016.4c-.6.3-1.2.5-1.8.5z%22%20fill%3D%22%23fda11a%22%2F%3E%3C%2Fsvg%3E');
}

#top-contents .splide__arrow svg {
  display: none;
}

@media (min-width: 992px) {
  #top-contents .splide__arrows {
    width: 230px;
    margin-left: auto;
  }
}

@media (min-width: 1200px) {
  #top-contents .slider-wrapper {
    padding-left: 19px;
  }
}

@media (min-width: 1441px) {
  #top-contents .slider-wrapper {
    padding-left: 28px;
  }

  #top-contents .slider .splide__slide {
    width: 307px;
  }

  #top-contents .splide__arrows {
    width: 307px;
  }
}


/* --------------------
  Pickup
-------------------- */
#pickup {
  margin-top: 2rem;
}

#pickup .inner {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

@media (min-width: 992px) {
  #pickup {
    margin-top: 4rem;
  }
}

/* --------------------
  Action
-------------------- */
#action {
  background: var(--l-gray);
  padding: 2.5rem 0 3.5rem;
  position: relative;
}

#action .inner {
  display: flex;
  flex-direction: column;
}

#action .en_ttl {
  line-height: 1.5;
}

#action .bg-object {
  margin-top: 1.5em;
  margin-bottom: -2rem;

}

#action .copy {
  margin-top: 0;
}

@media (min-width: 576px) {
  #action .bg-object {
    margin-top: -.5vw;
    margin-bottom: -.5vw;
  }

  #action .copy {
    align-self: flex-end;
  }
}

@media (min-width: 992px) {
  #action {
    padding-top: 0;
  }

  #action .en_ttl {
    position: absolute;
    top: 4rem;
  }

  #action .bg-object {
    margin-bottom: -2vw;
  }
}


/* --------------------
  Service & Shop
-------------------- */
#shopguide {
  position: relative;
  z-index: 2;
}

#shopguide .illust_line {
  content: '';
  display: block;
  width: 100vw;
  height: 190vw;
  background: url(img/shopguide_line_sp.svg) no-repeat left 77% top 0% / 170%;
  position: absolute;
  top: 4.75rem;
  left: 0;
  z-index: -1;
}

#shopguide .mask-img {
  width: min(320px, 86%);
  margin: 0 auto;
}

#shopguide .bg-object {
  width: 6rem;
  position: absolute;
  bottom: -10%;
  right: 3%;
  z-index: 2;
}

#shopguide .search-form {
  padding: 1.5rem 0 .5rem;
  align-items: flex-end;
}

@media (min-width: 576px) {
  #shopguide .illust_line {
    width: 46vw;
    height: 90vw;
    background: url(img/shopguide_line.svg) no-repeat left 120% top 0% / 150%;
    top: 5.5rem;
    left: 0;
  }

  #shopguide .mask-img {
    margin: .5rem 0 0;
  }

  #shopguide .bg-object {
    margin: auto 0 0;
  }
}

@media (min-width: 576px) and (max-width: 767px) {
  #shopguide .copy {
    font-size: 1.154rem;
  }
}

@media (min-width: 992px) {
  #shopguide .illust_line {
    width: 53vw;
    top: 4.75rem;
  }

  #shopguide .section__header {
    margin-bottom: 1.5rem;
  }

  #shopguide .mask-img {
    width: 86%;
    margin: 0;
  }

  #shopguide .bg-object {
    width: 8rem;
    bottom: -20%;
    right: 13%;
  }

  #shopguide .copy {
    margin-top: 2rem;
    padding-left: .75em;
  }

  #shopguide .search-form {
    padding-top: 0;
  }

  #shopguide input[type="search"]+button {
    flex: 0 0 4.5rem;
    width: 4.5rem;
    height: 4.5rem;
  }
}

@media (min-width: 1366px) {
  #shopguide .mask-img {
    width: 100%;
  }
}

/* --------------------
  US CINEMAS
-------------------- */
#cinema .btn img {
  height: 1.75em;
}

@media (max-width: 575px) {
  #cinema .copy {
    font-size: 1.154rem;
  }
}

/* --------------------
  Event News
-------------------- */
#eventnews .illust_line {
  content: '';
  display: block;
  width: 24vw;
  height: 31vw;
  background: url(img/eventnews_line.svg) no-repeat left top / 500%;
  position: absolute;
  top: 101%;
  right: 0;
  z-index: -1;
}

#eventnews .mask-img {
  width: min(320px, 86%);
  margin: 0 auto;
}

#eventnews .bg-object {
  width: 14rem;
  margin: 1rem 0 0 auto;
}

@media (min-width: 576px) {
  #eventnews .mask-img {
    margin: .5rem 0 0;
  }

  #eventnews .bg-object {
    margin: 1.5rem 0 0 auto;
  }
}

@media (min-width: 576px) {
  #eventnews .illust_line {
    width: 30vw;
    height: 70vw;
    background-size: 300%;
    right: 0;
  }
}

@media (min-width: 576px) and (max-width: 767px) {
  #eventnews .copy {
    font-size: 1.154rem;
    padding-top: 2em;
    margin-left: -2rem;
  }
}

@media (min-width: 992px) {
  #eventnews .illust_line {
    width: 42vw;
    background-size: 192%;
    top: 40%;
  }

  #eventnews .section__header {
    margin-bottom: 1.5rem;
  }

  #eventnews .mask-img {
    width: 86%;
    margin: 0;
  }

  #eventnews .bg-object {
    width: 94%;
    margin: 2rem 0 0;
  }

  #eventnews .copy,
  #eventnews .buttons {
    padding-left: .75em;
  }
}

@media (min-width: 1366px) {
  #eventnews .mask-img {
    width: 100%;
  }
}


#eventnews .pickup {
  margin-top: 3rem;
  margin-bottom: 2.5rem;
}

#eventnews .event-slider {
  padding-top: 5.5%;
}

@media (min-width: 992px) {
  #eventnews .pc-only-0 {
    display: none;
  }

  #eventnews .pc-only-1:nth-child(n+2) {
    display: none;
  }

  #eventnews .pc-only-2:nth-child(n+3) {
    display: none;
  }

  #eventnews .pc-only-3:nth-child(n+4) {
    display: none;
  }
}

/* SPではすべて表示 */
@media (max-width: 991px) {

  #eventnews .pc-only-1,
  #eventnews .pc-only-2,
  #eventnews .pc-only-3 {
    display: block !important;
  }
}

#eventnews .card .card-meta {
  flex-direction: column;
  align-items: flex-start;
}

@media (max-width: 991px) {
  #eventnews .pickup .card-img[data-category]::after {
    font-size: 1rem;
  }
}

@media (min-width: 768px) {
  #eventnews .event-slider {
    padding-top: 3.25%;
  }
}

@media (min-width: 992px) {
  #eventnews .pickup {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }

  #eventnews .over-right {
    margin: 0 !important;
  }
}

/* --------------------
  Shop News
-------------------- */
#shopnews {
  position: relative;
  z-index: 2;
}

@media (max-width: 991px) {
  #shopnews .tab-panels.over-right {
    padding-right: 7.5%;
  }
}

@media (min-width: 992px) {
  #shopnews .container {
    position: relative;
  }

  #shopnews .tab-panels.over-right .container {
    max-width: 100%;
    padding: 0;
  }

  #shopnews .buttons {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 3;
  }
}

@media (min-width: 1366px) {
  #shopnews .tab-panels {
    padding-left: 80px;
  }
}

/* --------------------
  LINE
-------------------- */
.line-banner {
  display: flex;
  align-items: center;
}

.line-banner .line-icon {
  flex: 0 0 72px;
}

@media (min-width: 992px) {
  .line-banner {
    display: block;
  }

  .line-banner .section__header {
    flex-direction: column;
  }

  .line-banner .section__header .ttl {
    margin-top: 1.75rem;
  }

  .line-banner .line-icon {
    width: 120px;
    margin-top: 2.5rem;
  }
}

/* --------------------
  Shop guide
-------------------- */
#shopguide .list-box {
  padding: max(2%, 1.25rem) max(2%, 1.25rem);
}

#shopguide .list-ttl {
  line-height: 1.5;
  padding: .2em 0 .75em;
}

#shopguide .list-ttl .ttl {
  display: block;
}

#shopguide .list-ttl .en_ttl {
  display: block;
  font-size: .75rem;
  opacity: .7;
}

#shopguide .list-box+.list-box {
  border-top: 1px solid var(--color1);
}

#shopguide .list-box .btn {
  min-height: 3.25em;
}

@media (min-width: 768px) {
  #shopguide .list-box.floor .col-md {
    flex: 0 0 20%;
    max-width: 20%;
  }
}

@media (min-width: 992px) {
  #shopguide .list-box .btn {
    font-size: .875rem;
  }
}

@media (min-width: 1200px) {
  #shopguide .list-box {
    display: flex;
    padding: 2% 0;
  }

  #shopguide .list-box .list-ttl {
    flex: 0 0 11em;
    padding: .6em 0;
  }
}
