@charset "utf-8";
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: normal;
  src: url('NotoSans_Regular.woff2') format('woff2'), url('NotoSans_regular.woff') format('woff'), url('NotoSans_regular.otf') format('opentype');
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: bold;
  src: url('NotoSans_Bold.woff2') format('woff2'), url('NotoSans_bold.woff') format('woff'), url('NotoSans_bold.otf') format('opentype');
}
html[lang="ja"] {
  font-weight: normal;
  font-family: 'Noto Sans JP', "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
/******************************************************************************************************/
body {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  background-color: #000;
  letter-spacing: 0.03rem;
  overflow-x: hidden;
}
.footer-body {
  background-color: #ffc107;
  letter-spacing: normal;
}
/*Small devices (landscape phones, 576px and up)*/
@media screen and (min-width: 768px) {
  .footer-body {
    background-color: transparent;
    margin-bottom: 40px;
  }
  .footer-body a {
    box-shadow: 0px 0px 15px -5px #000000;
  }
}
/******************************************************************************************************/
p {
  text-align: left;
  font-size: 0.9rem;
  line-height: 1.8;
}
a {
  color: #343a40;
  text-decoration: none;
}
li {
  list-style: none;
  line-height: 1.5;
}
.note li {
  text-indent: -2.3em;
  padding-left: 2.3em;
}
h3 {
  font-size: 1.1rem;
}
/*Small devices (landscape phones, 576px and up)*/
@media screen and (min-width: 576px) {}
/*Medium devices (tablets, 768px and up)*/
@media screen and (min-width: 768px) {
  h3 {
    font-size: 1.4rem;
  }
}
/*X-Large devices (large desktops, 1200px and up)*/
@media screen and (min-width: 1200px) {
  h3 {
    font-size: 1.6rem;
  }
}
#totop {
  z-index: 9999;
}
/*
.container {
  width: 60% !important
}
*/
.w-80 {
  width: 80% !important;
  magin: 0 auto;
}
.pc-90 {
  width: 90% !important;
  magin: 0 auto;
}
.pc-80 {
  width: 80% !important;
  magin: 0 auto;
}
.pc-70 {
  width: 70% !important;
  magin: 0 auto;
}
.pc-60 {
  width: 60% !important;
  magin: 0 auto;
}
.pc-50 {
  width: 50% !important;
  magin: 0 auto;
}
.fluid img {
  width: 100%;
  height: auto;
}
.text-pink {
  color: #de0051;
}
/* アクション-------------------------------------------アクション */
.a-link:hover {
  transform: scale(1.05, 1.05);
  transition: 0.2s all;
}
/* 他-------------------------------------------他 */
.pconly {
  display: block;
}
.sponly {
  display: none;
}
.slick-arrow {
  z-index: 2;
}
.slick-prev {
  left: 0 !important;
}
.slick-next {
  right: 0 !important;
}
#double-slider {
  width: 100%;
  margin: 0 auto;
}
@media screen and (min-width: 992px) {
  #double-slider {
    width: 90%;
    margin: 20px auto;
  }
}
@media screen and (min-width: 1400px) {
  #double-slider {
    width: 90%;
  }
}
@media screen and (min-width: 1600px) {
  #double-slider {
    width: 75%;
  }
}
@media screen and (min-width: 1800px) {
  #double-slider {
    width: 70%;
  }
}
.br-sp {
  display: block;
}
@media screen and (min-width: 768px) {
  .br-sp {
    display: inline;
  }
}
/* hero-------------------------------------------hero */
.hero {
  width: 100%;
  min-height: calc(100vh - 82px);
  position: relative;
  padding: 80px 0;
  display: flex;
  align-items: end;
  justify-content: center;
}
@media (max-width: 1200px) {
  .hero {
    min-height: calc(100vh - 68px);
  }
}
.hero img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}
.hero .container {
  position: relative;
  z-index: 3;
}
.hero h2 {
  margin: 0;
  color: #ffffff;
  font-size: 30px;
  font-weight: 700;
}
.hero p {
  margin: 10px 0 0 0;
  color: #ffffff;
  font-size: 15px;
}
@media (max-width: 768px) {
  .hero {
    padding: 30px 0;
  }
  .hero h2 {
    font-size: 20px;
  }
  .hero p {
    font-size: 12px;
  }
}
/* hero end */
/* about-------------------------------------------about */
.title-box h3 {
  padding: 1.0rem 2.0rem;
  margin: 0 auto;
  display: inline-block;
  text-align: center;
  width: auto;
  border: 1px solid #de0051;
  border-radius: 0.4rem;
}
.title-box h3:before {
  content: "\f03d";
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  margin-right: 10px;
  color: #de0051;
}
.video-wrapper {
  position: relative;
  height: 70vh;
  width: 100%;
}
.video-wrapper video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
.video-wrapper::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  height: 70vh;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.2);
  background-image: radial-gradient(#111 30%, transparent 31%), radial-gradient(#111 30%, transparent 31%);
  background-size: 4px 4px;
  background-position: 0 0, 2px 2px;
}
.about-desc {
  z-index: 999;
}
.about-desc p {
  font-size: 0.95rem;
  line-height: 2.0;
  letter-spacing: 0.2rem !important
}
.about-note {
  font-size: 0.8rem !important;
  line-height: 2.0 !important;
}
.video-wrapper .about-desc {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
  text-align: center;
  font-size: calc(22px + 4vw);
  color: #fff;
  margin: auto;
}
.note {
  font-size: 0.8rem;
  text-align: start;
}
.mapTheater .note {
  font-size: 0.6rem;
}
@media screen and (max-width: 768px) {
  .video-wrapper {
    height: 100vh;
  }
  .video-wrapper::after {
    height: 100vh;
  }
  .about-desc p {
    font-size: 0.8rem;
    line-height: 2.0;
    letter-spacing: 0.1rem !important
  }
}
/* about end */
/* feature-------------------------------------------feature */
#main-slider {
  border: 1px solid white;
}
@media screen and (max-width: 767px) {
  #main-slider {
    border: none;
  }
}
.slide-desc p {
  padding: 1.0rem 0.5rem;
  text-align: center;
  width: auto;
  max-width: 80%;
  display: inline-block;
  font-size: 0.75rem;
  line-height: 1.5 !important;
  margin-bottom: 0;
}
.txt {
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  background-color: white;
  padding: 2px;
  color: #000 !important
}
@media screen and (min-width: 992px) {
  .slide-desc p {
    padding: 1.0rem 2.0rem;
    text-align: center;
    width: auto;
    max-width: 85%;
    display: inline-block;
    font-size: 0.9rem;
    line-height: 1.5 !important;
    letter-spacing: 0rem !important
  }
}
@media screen and (min-width: 1400px) {
  .slide-desc p {
    padding: 1.0rem 2.0rem;
    text-align: center;
    width: auto;
    max-width: 85%;
    display: inline-block;
    font-size: 0.9rem;
    line-height: 1.5 !important;
    letter-spacing: 0rem !important
  }
}
@media screen and (min-width: 1600px) {
  #double-slider {
    width: 75%;
  }
}
@media screen and (min-width: 1800px) {
  #double-slider {
    width: 70%;
  }
}
.slick-next {
  right: 10px !important;
}
.slick-prev {
  left: 10px !important;
}
/*
#text-slider {
  margin-top: 20px !important
}
*/
/* feature end */
/* imax dolby-------------------------------------------imax dolby */
.balloo {
  position: relative;
  display: inline-block;
  margin: 1.5em 0;
  padding: 7px 10px;
  min-width: 120px;
  max-width: 100%;
  color: #555;
  font-size: 16px;
  /*  border-bottom: solid 2px #fff;*/
  border: solid 2px #fff;
  box-sizing: border-box;
}
.balloo:before {
  content: "";
  position: absolute;
  bottom: -24px;
  left: 50%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-top: 12px solid #000;
  z-index: 2;
}
.balloo:after {
  content: "";
  position: absolute;
  bottom: -30px;
  left: 50%;
  margin-left: -17px;
  border: 14px solid transparent;
  border-top: 14px solid #fff;
  z-index: 1;
}
.balloo p {
  margin: 0;
  padding: 0 10px;
  font-size: 1.0rem;
}
.tab-name {
  margin-top: 25px;
}
.pcase {
  padding: 1.0rem;
  margin: 0 auto;
  display: inline-block;
  text-align: left;
  border: 2px solid #fff;
  border-radius: 0.4rem;
}
.nav-underline button {
  padding: 0;
}
.plf-theater {
  min-height: 50px;
  font-size: 0.9rem;
  line-height: 1.1;
  background-color: white;
  border-radius: 0.5rem;
  padding: 0 1.0rem;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
.nav-underline .nav-link {
  font-size: 1.6rem;
  padding-right: 0;
  padding-left: 0;
  border-bottom: #de0051 solid transparent !important
}
.nav-underline .nav-link:focus, .nav-underline .nav-link:hover {
  border-bottom-color: #de0051 !important
}
.nav-underline .nav-link.active, .nav-underline .show > .nav-link {
  font-weight: normal;
  color: white !important;
  border-bottom-color: #de0051 !important
}
@media screen and (max-width: 767px) {
  .pcase {
    border: none;
    padding-top: 0;
    padding-bottom: 0;
  }
  .plf-theater {
    padding: 0.25rem;
    border-radius: 0.2rem;
  }
  .tab-name {
    margin-bottom: 20px;
  }
  .format-desc {
    line-height: 1.5rem;
    letter-spacing: 0;
    color: white;
    text-align: center;
  }
}
/* imax dolby end */
/* format-------------------------------------------format */
.bg-format {
  background: url("wave.png") center top repeat-x #de0051;
}
@media screen and (max-width: 768px) {
  .bg-format {
    background: url("wave-sp.png") center top repeat-x #de0051;
  }
}
.bg-format .title-box h3 {
  padding: 1.0rem 2.0rem;
  margin: 0 auto;
  display: inline-block;
  text-align: center;
  width: auto;
  border: 1px solid #fff;
  border-radius: 0.4rem;
}
.bg-format .title-box h3:before {
  color: #fff;
}
.format-desc {
  line-height: 2.0rem;
  color: white;
  text-align: center;
}
.cls-1 {
  fill: transparent;
}
.kyushu {
  fill: transparent;
}
.kyushu:hover {
  fill: #e4bbb4;
  opacity: 0.5;
  transition: 0.5s;
}
.chugoku {
  fill: transparent;
}
.chugoku:hover {
  fill: #ffefcc;
  opacity: 0.5;
  transition: 0.5s;
}
.kansai {
  fill: transparent;
}
.kansai:hover {
  fill: #c1d3db;
  opacity: 0.5;
  transition: 0.5s;
}
.kantou {
  fill: transparent;
}
.kantou:hover {
  fill: #cdd6bc;
  opacity: 0.5;
  transition: 0.5s;
}
.hokuriku {
  fill: transparent;
}
.hokuriku:hover {
  fill: #e3cad2;
  opacity: 0.5;
  transition: 0.5s;
}
#imgWrap, #imgWrap-map, #imgWrap-contact, #imgWrap-contact-sp {
  position: relative;
  width: max-content;
  max-width: 100%;
  z-index: 1;
}
#imgWrap img, #imgWrap-map img, #imgWrap-contact img, #imgWrap-contact-sp img {
  display: block;
  max-width: 100%;
}
#imgWrap svg, #imgWrap-map svg, #imgWrap-contact svg, #imgWrap-contact-sp svg {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  z-index: 2;
}
.other:hover {
  cursor: pointer;
}
.other:hover .hvr {
  /* fill: #de0051; */
  fill: #ffdf7d;
  opacity: 0.3;
  transition: 0.5s;
}
.btn-format {
  color: #fff;
  border: 1px solid #ffffff;
  background-color: #de0051;
}
.btn-format:hover {
  color: #de0051;
  border: 1px solid #de0051;
  background-color: #ffffff;
}
/* format end */
/* map-------------------------------------------map */
.map-size {
  width: 100%;
  magirn: 0 auto;
  padding: 0;
}
.map-size svg {
  magirn: 0 auto;
}
/*Large devices (desktops, 992px and up)*/
@media screen and (min-width: 992px) {
  .map-size {
    padding: 0 5%;
  }
}
h5 {
  font-size: 1.0rem !important;
  font-weight: bold !important;
  margin-bottom: 0;
}
.mapTheater {
  padding: 0.5rem 0;
  border-bottom: #dedede 1px solid;
}
.non-bdr {
  border-bottom: none;
}
.text-bg-blue {
  color: #fff !important;
  background-color: #0073bd !important
}
.text-bg-green {
  color: #fff !important;
  background-color: #00a784 !important
}
.text-bg-red {
  color: #fff !important;
  background-color: #dc4c5e !important
}
.text-bg-orange {
  color: #fff !important;
  background-color: #f3873f !important
}
.text-bg-pink {
  color: #fff !important;
  background-color: #e58cbd !important
}
small .badge {
  font-size: 0.5rem !important;
}
/* map end */
/* contact */
.contact {
  fill: transparent;
}
.contact:hover {
  fill: #fff;
  opacity: 0.5;
  transition: 0.5s;
}
/* contact end */
@media screen and (max-width: 768px) {
  html {
    scroll-padding-top: 0;
  }
  .pc-90, .pc-80, .pc-70, .pc-60, .pc-50 {
    width: 100% !important
  }
  .container {
    width: 100% !important
  }
  .pconly {
    display: none;
  }
  .sponly {
    display: block;
  }
  .note, .copy {
    font-size: 0.6rem;
  }
}