@import url("https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@300;500&display=swap");
.main-container {
  width: 100%;
  position: relative;
  overflow: hidden;
  background-color: #FFF; }
  .main-container .main-inner {
    width: 100%;
    padding-bottom: 50%;
    pointer-events: none;
    position: relative; }
    .main-container .main-inner video {
      position: absolute;
      top: 0px;
      left: -1px;
      width: calc(100% + 2px);
      height: 100%;
      object-fit: cover;
      object-position: center center;
      border: none; }
    .main-container .main-inner .note {
      position: absolute;
      bottom: 5px;
      left: 5px;
      line-height: 1;
      color: #fff;
      text-shadow: 0 0 5px rgba(0, 0, 0, 0.5), 0 0 10px rgba(0, 0, 0, 0.5);
      opacity: 0;
      transition: 1s linear 0s opacity; }
      .main-container .main-inner .note.active {
        opacity: 1; }
    .main-container .main-inner .main-poster {
      display: none;
      position: absolute;
      top: 0px;
      left: 0px; }
      .main-container .main-inner .main-poster img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center; }
      .main-container .main-inner .main-poster .pc_size {
        display: block; }
      .main-container .main-inner .main-poster .sp_size {
        display: none; }
      .main-container .main-inner .main-poster.active {
        display: block; }
    .main-container .main-inner .badge {
      position: absolute;
      top: 2%;
      left: 2%;
      width: 18%;
      max-width: 233px; }
  .main-container.spMode .main-inner {
    padding-bottom: 125%; }
    .main-container.spMode .main-inner .main-poster .pc_size {
      display: none; }
    .main-container.spMode .main-inner .main-poster .sp_size {
      display: block; }
    .main-container.spMode .main-inner .note {
      left: auto;
      right: 5px; }
    .main-container.spMode .main-inner .badge {
      width: 35%;
      max-width: 233px; }
  .main-container .badge {
    opacity: 0;
    transform: scale(1.2, 1.2);
    transition: 1s linear opacity, 2s cubic-bezier(0.17, 0.69, 0.58, 1) 0s transform; }
    .main-container .badge.active {
      opacity: 1;
      transform: scale(1, 1); }

.main .main-inner {
  position: relative;
  width: 100%; }
  .main .main-inner img {
    width: 100%;
    height: auto;
    vertical-align: top; }
  .main .main-inner .badge {
    position: absolute;
    top: 2%;
    left: 2%;
    width: 18%;
    max-width: 233px; }
  .main .main-inner .note {
    position: absolute;
    bottom: 5px;
    left: 5px;
    line-height: 1;
    color: #fff; }
@media screen and (max-width: 768px) {
  .main .main-inner .badge {
    width: 35%;
    max-width: 233px; } }

.pricebox {
  position: relative;
  border-top: 1px solid #ccc;
  background: #f5f2eb; }
  .pricebox.flash {
    overflow: hidden; }
    .pricebox.flash::after {
      display: block;
      position: absolute;
      z-index: 2;
      left: -30%;
      /*top: -100%;*/
      top: -50%;
      content: "";
      width: 50px;
      height: 700px;
      transform: rotate(30deg);
      -webkit-transform: rotate(30deg);
      -moz-transform: rotate(30deg);
      background-image: linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 0) 100%);
      background-image: -webkit-gradient(linear, left bottom, right bottom, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(50%, rgba(255, 255, 255, 0.9)), color-stop(100%, rgba(255, 255, 255, 0)));
      background-image: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0%, #ffffff white, rgba(255, 255, 255, 0.9) 100%);
      animation: shiny 5s infinite linear;
      -webkit-animation: shiny 7s infinite linear;
      -moz-animation: shiny 7s infinite linear; }
@keyframes shiny {
  0% {
    left: -30%; }
  20% {
    left: 120%; }
  100% {
    left: 120%; } }
@-webkit-keyframes shiny {
  0% {
    left: -30%; }
  20% {
    left: 120%; }
  100% {
    left: 120%; } }
@-moz-keyframes shiny {
  0% {
    left: -30%; }
  20% {
    left: 120%; }
  100% {
    left: 120%; } }
  .pricebox .inner {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    /*align-items: baseline;*/
    width: 96%;
    /*max-width: 1190px;*/
    /*max-width: 950px;*/
    max-width: 644px;
    /*padding-bottom: 0.5rem;*/
    /*padding: 1.1rem 0 0.3rem;*/
    padding: 1rem 0; }
  .pricebox .ttl {
    margin-right: 1rem;
    font-size: 0.8rem; }
  .pricebox .price {
    margin-bottom: 2rem;
    font-size: 1.2rem;
    line-height: 1.2; }
  .pricebox .ldk {
    margin-right: 0.5rem;
    font-size: 2rem;
    line-height: 1.2;
    font-feature-settings: "palt"; }
  .pricebox .num {
    position: relative;
    bottom: -0.2rem;
    font-size: 5rem;
    color: #730000;
    letter-spacing: 0; }
  .pricebox img {
    width: 100%;
    height: auto;
    vertical-align: top; }
  .pricebox .btn {
    margin: 0 auto 0.5rem; }
    .pricebox .btn a {
      background: #605123;
      background: -moz-linear-gradient(top, #605123 0%, #958244 100%);
      background: -webkit-linear-gradient(top, #605123 0%, #958244 100%);
      background: linear-gradient(to bottom, #605123 0%, #958244 100%);
      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#605123', endColorstr='#958244',GradientType=0 );
      color: #fff;
      text-align: center;
      text-align: center;
      color: #fff;
      padding: 1rem 2rem;
      font-size: 1.6rem;
      line-height: 1.5; }
      .pricebox .btn a .oneminute.a-rs-top {
        top: -10px; }
  @media screen and (max-width: 768px) {
    .pricebox.flash::after {
      height: 1500px;
      top: -200%;
      animation: shiny 2s infinite linear;
      -webkit-animation: shiny 4s infinite linear;
      -moz-animation: shiny 4s infinite linear; }
    @keyframes shiny {
      0% {
        left: -80%; }
      20% {
        left: 120%; }
      100% {
        left: 120%; } }
    @-webkit-keyframes shiny {
      0% {
        left: -80%; }
      20% {
        left: 120%; }
      100% {
        left: 120%; } }
    @-moz-keyframes shiny {
      0% {
        left: -80%; }
      20% {
        left: 120%; }
      100% {
        left: 120%; } }
    .pricebox .inner {
      flex-direction: column;
      align-items: center;
      /*padding-top: 1.5rem;
      padding-bottom: 1rem;*/
      /*padding-top: 1rem;*/ }
    .pricebox .ttl {
      margin-right: 0; }
    .pricebox .price {
      text-align: center;
      /*max-width: 480px;*/
      margin-right: auto;
      margin-left: auto; }
    .pricebox .ldk {
      margin-left: 0; } }
  @media screen and (max-width: 480px) {
    .pricebox .inner {
      /*padding-top: 0.5rem;*/ }
    .pricebox .ldk {
      /*font-size: 1.6rem;*/
      font-size: 1.25rem; }
    .pricebox .num {
      /*font-size: 4.4rem;*/
      font-size: 3rem; } }

.obi {
  line-height: 1.5;
  /*background: #fff;*/
  /*background: #d1ccc3;*/
  background: #ede7da;
  /*padding: 1rem 0 1.5rem;*/
  /*padding: 1rem 0;
  font-size: 2.5rem;*/
  padding: 0.5rem 0;
  /*font-size: 3rem;*/
  font-size: 2rem;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
  border-top: 1px solid #ccc;
  /*span,*/ }
  .obi a {
    /*display: inline-block;
    margin: 0 10px;
    vertical-align: middle;*/ }
  .obi .txt {
    display: inline-block;
    margin: 0 auto;
    /*margin-left: 282px;*/
    /*text-align: left;*/
    text-align: center; }
  .obi .txt-s {
    /*display: block;*/
    font-size: 1.5rem; }
  .obi .txt-m {
    /*font-size: 3.5rem;*/
    font-size: 3rem; }
  .obi .num {
    /*font-size: 5rem;*/
    font-size: 3.4rem;
    letter-spacing: 0; }
  .obi .color {
    color: #ce9c50; }
  .obi .btn {
    display: inline-block;
    margin: 0 auto;
    text-align: left;
    vertical-align: text-bottom; }
  .obi a {
    /*@include btn-gold;
    color: #fff;
    text-align: center;
    color: #fff;
    padding: 0.5rem 2rem;
    font-size: 1.5rem;*/ }
    .obi a:hover {
      filter: opacity(0.6); }
  .obi .link a {
    display: inline-block;
    padding: 0.5rem 1rem;
    border: 1px solid #333; }
  @media screen and (max-width: 1250px) {
    .obi .txt {
      margin: 0 auto; }
    .obi .btn {
      display: block;
      text-align: center; } }
  @media screen and (max-width: 768px) {
    .obi {
      padding: 1rem 0;
      font-size: 2rem;
      /*span,*/ }
      .obi a {
        display: block; }
      .obi a {
        max-width: 300px;
        padding: 0.5rem 0;
        margin: 0.5rem auto 0; }
      .obi .txt {
        text-align: center; }
      .obi .txt-s {
        display: block;
        font-size: 1rem; }
      .obi .txt-m {
        font-size: 2.4rem; }
      .obi .num {
        font-size: 4rem; }
      .obi .btn {
        display: block; }
      .obi .block {
        display: block; }
      .obi .link {
        margin-top: 1rem; }
        .obi .link a {
          width: 96%;
          max-width: inherit;
          margin: 0 auto;
          padding: 0.5rem; } }
  @media screen and (max-width: 480px) {
    .obi {
      font-size: 1.6rem; }
      .obi .txt-m {
        font-size: 2rem;
        line-height: 1.2; }
      .obi .num {
        font-size: 3rem; } }

.merit {
  border: 1px solid #C8B46E;
  border-width: 1px 0; }
  .merit ul {
    display: flex;
    justify-content: center;
    width: 90%;
    margin: auto;
    overflow: hidden; }
    .merit ul li {
      display: flex;
      justify-content: center;
      align-items: center;
      padding: 10px 0;
      box-sizing: border-box;
      border-right: 1px solid #C8B46E;
      /*float: left;*/ }
      .merit ul li:first-child {
        border-left: 1px solid #C8B46E; }
    .merit ul img {
      /*height: 4.0vw;*/
      height: 6.0vw;
      width: auto; }
  @media screen and (max-width: 768px) {
    .merit ul {
      flex-direction: column;
      width: 100%; }
      .merit ul li {
        float: none;
        width: 100%;
        padding: 0;
        border-right: none;
        border-top: 1px solid #C8B46E;
        text-align: center; }
        .merit ul li:first-child {
          border-top: 0;
          border-left: none; }
      .merit ul img {
        /*height: 70px;*/
        height: 80px; } }

.contentsLink {
  max-width: 1024px;
  width: 96%;
  margin: 3rem auto; }
  .contentsLink ul {
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    flex-wrap: wrap; }
  .contentsLink li {
    width: 31.5%;
    margin: 0 2.75% 1rem 0; }
    .contentsLink li:nth-child(3n), .contentsLink li:last-of-type {
      margin-right: 0; }
    .contentsLink li img {
      width: 100%;
      height: auto; }
    .contentsLink li a, .contentsLink li .soon {
      display: block;
      width: 100%;
      position: relative;
      transition: .3s; }
      .contentsLink li a .base, .contentsLink li .soon .base {
        opacity: 0.3; }
      .contentsLink li a .txt, .contentsLink li .soon .txt {
        text-align: center;
        display: block;
        width: 100%;
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        font-size: 1.5rem; }
        .contentsLink li a .txt span.en, .contentsLink li .soon .txt span.en {
          display: block;
          text-align: center;
          font-size: 0.7em;
          color: #5B5B5B; }
    .contentsLink li a {
      background: #f5f2eb; }
      .contentsLink li a .txt {
        color: #a08543; }
      .contentsLink li a:hover {
        background: linear-gradient(0deg, #988546, #e4d79c); }
        .contentsLink li a:hover .txt {
          color: #fff; }
        .contentsLink li a:hover .base {
          opacity: 0.8; }
    .contentsLink li .soon {
      background: #eaeaea; }
      .contentsLink li .soon .txt {
        color: #9C9C9C; }
  @media screen and (max-width: 768px) {
    .contentsLink li a .txt, .contentsLink li .soon .txt {
      font-size: 3.4vw; } }

/* bnr_cam_gw */
.bnr_cam_gw {
  width: 96%;
  max-width: 800px;
  margin: 3rem auto; }
  .bnr_cam_gw .bnr_cam_gw_inner {
    position: relative; }
  .bnr_cam_gw a:hover {
    filter: brightness(105%); }
  .bnr_cam_gw img {
    width: 100%;
    height: auto;
    vertical-align: top; }
  .bnr_cam_gw .bnr_cam_gw_icon {
    position: absolute;
    top: -8%;
    left: -2%;
    width: 16.563%;
    max-width: 132px;
    z-index: 1; }
  .bnr_cam_gw .note {
    margin-top: 0.5rem; }
  @media screen and (max-width: 480px) {
    .bnr_cam_gw {
      margin: 2rem auto; } }

/* bnr_cam */
.bnr_cam {
  width: 96%;
  max-width: 800px;
  margin: 3rem auto; }
  .bnr_cam a:hover {
    filter: brightness(110%); }
  .bnr_cam img {
    width: 100%;
    height: auto;
    vertical-align: top; }
  .bnr_cam .note {
    margin-top: 0.5rem; }
  @media screen and (max-width: 480px) {
    .bnr_cam {
      margin: 2rem auto; } }

/* bnr_cam_newyear */
.bnr_cam_newyear {
  width: 96%;
  max-width: 800px;
  margin: 3rem auto; }
  .bnr_cam_newyear a:hover {
    filter: brightness(110%); }
  .bnr_cam_newyear img {
    width: 100%;
    height: auto;
    vertical-align: top; }
  @media screen and (max-width: 480px) {
    .bnr_cam_newyear {
      margin: 2rem auto; } }

/* f-bnr */
.f-bnr {
  bottom: 335px; }

.bnr_movie_concept {
  padding: 4rem 0;
  width: 100%;
  background-color: #f5f2eb;
  border-bottom: 1px solid #E6E3DD; }
  .bnr_movie_concept .bnr_inner {
    margin: 0 auto;
    width: 90%;
    max-width: 600px; }
    .bnr_movie_concept .bnr_inner .bnr_ttl {
      font-size: 2rem;
      text-align: center;
      color: #a08543;
      border-bottom: 1px solid #a08543;
      margin-bottom: 1rem; }
    .bnr_movie_concept .bnr_inner .lead {
      text-align: center;
      margin-bottom: 2rem; }
    .bnr_movie_concept .bnr_inner img {
      width: 100%;
      height: auto; }
  @media screen and (max-width: 768px) {
    .bnr_movie_concept .bnr_inner .bnr_ttl {
      font-size: 1.6rem; } }
  @media screen and (max-width: 480px) {
    .bnr_movie_concept .bnr_inner .bnr_ttl {
      font-size: 1.2rem; } }

#info_holiday {
  margin: 3rem auto 0;
  text-align: center; }
  #info_holiday .inner {
    display: inline-block;
    width: 96%;
    max-width: 800px;
    padding: 1rem;
    text-align: center;
    font-size: 1rem;
    color: #9e2b21;
    font-feature-settings: "palt";
    letter-spacing: 0.05em;
    border: 1px solid #9e2b21; }
    #info_holiday .inner .holiday-ttl {
      margin-bottom: 0.5rem;
      font-size: 1.1rem; }

/* modal */
#modal {
  /*display: none;*/
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100001; }
  #modal.close {
    display: none;
    pointer-events: none; }
  #modal img {
    width: 100%;
    height: auto;
    vertical-align: top; }
  #modal .modal_bg {
    width: 100%;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.8); }
  #modal .modal_inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    width: 90%;
    max-width: 1000px;
    margin: auto; }
  #modal .modal_contnets {
    position: relative;
    width: 100%;
    margin: auto;
    text-align: right; }
    #modal .modal_contnets .note {
      margin-top: 0.5rem;
      text-align: left;
      color: #fff; }
  #modal .modal_close {
    display: inline-block;
    /*position: absolute;
    top: 0;
    right: 0;*/
    cursor: pointer;
    /*overflow: hidden;*/
    width: 6%;
    max-width: 30px;
    z-index: 10; }
    #modal .modal_close:hover {
      filter: brightness(125%); }
  #modal a {
    display: block;
    width: 100%;
    text-decoration: none;
    /*padding: .5rem;
    background: #fff;*/ }
    #modal a:hover {
      filter: brightness(110%); }
  @media screen and (max-width: 480px) {
    #modal {
      display: inline-block; }
      #modal .modal_inner {
        width: 94%; } }

/* /modal */
/* bnr_cam_w */
.bnr_cam_w {
  width: 96%;
  max-width: 800px;
  margin: 3rem auto; }
  .bnr_cam_w a {
    display: block; }
    .bnr_cam_w a:hover {
      filter: brightness(110%); }
  .bnr_cam_w img {
    width: 100%;
    height: auto;
    vertical-align: top; }
  .bnr_cam_w .note {
    margin: .5rem 0 0 2%; }
  @media screen and (max-width: 480px) {
    .bnr_cam_w {
      margin: 2rem auto; } }

.bnr_60minute {
  width: 96%;
  max-width: 800px;
  margin: 3rem auto; }
  .bnr_60minute a {
    display: block; }
    .bnr_60minute a:hover {
      filter: brightness(110%); }
  .bnr_60minute img {
    width: 100%;
    height: auto;
    vertical-align: top; }
  @media screen and (max-width: 480px) {
    .bnr_60minute {
      margin: 2rem auto; } }

.bnr_cam_gradeup {
  width: 96%;
  max-width: 800px;
  margin: 3rem auto; }
  .bnr_cam_gradeup a {
    display: block; }
    .bnr_cam_gradeup a:hover {
      filter: brightness(110%); }
  .bnr_cam_gradeup img {
    width: 100%;
    height: auto;
    vertical-align: top; }
  @media screen and (max-width: 480px) {
    .bnr_cam_gradeup {
      margin: 2rem auto; } }

.bnr_cam_taxi {
  width: 96%;
  max-width: 800px;
  margin: 3rem auto; }
  .bnr_cam_taxi a {
    display: block; }
    .bnr_cam_taxi a:hover {
      filter: brightness(110%); }
  .bnr_cam_taxi img {
    width: 100%;
    height: auto;
    vertical-align: top; }
  .bnr_cam_taxi .note {
    margin: .5rem 0 0 2%; }
  @media screen and (max-width: 480px) {
    .bnr_cam_taxi {
      margin: 2rem auto; } }
