@charset "UTF-8";
html {
  scrollbar-gutter: stable;
}

body.fix {
  overflow: hidden; /* スクロール禁止 */
  position: fixed; /* 位置固定（スクロール位置をズラさない） */
  width: 100%; /* 横幅を固定（位置ズレ対策） */
  inset: 0; /* top:0; left:0; right:0; bottom:0; */
}

body.on_scl {
  overflow-y: auto;
}

.pre-inc #main img {
  max-width: inherit;
  width: 100%;
  height: auto;
}
.pre-inc {
  /*****イントロ*****/
}
.pre-inc .skip_bt {
  position: absolute;
  background: #000;
  color: #fff;
  display: inline-block;
  padding: 10px 20px;
  right: 30px;
  top: 15px;
  z-index: 2;
  font-size: 14px;
  border-radius: 5px;
  cursor: pointer;
  transition: all 0.2s ease-out;
  opacity: 0;
}
.pre-inc .set1 .skip_bt {
  opacity: 1;
}
.pre-inc .skip_bt:hover {
  opacity: 0.7;
}
.pre-inc .set3 .skip_bt {
  opacity: 0;
  visibility: hidden;
}
.pre-inc .fix .skip_bt {
  display: none;
}
.pre-inc .intoro {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  z-index: 1000;
  transition: all 0.8s ease-out;
}
.pre-inc .set3 .intoro {
  opacity: 0;
  visibility: hidden;
}
.pre-inc .fix .intoro {
  opacity: 0;
  visibility: hidden;
}
.pre-inc .mv_s1 {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #0a1518;
  z-index: 1;
}
.pre-inc .mv_s1 .cap {
  position: absolute;
  font-size: 11px;
  color: #fff;
  bottom: 15px;
  right: 30px;
}
.pre-inc .mv_1_bg {
  position: relative;
  width: 100%;
  height: 100%;
  opacity: 0;
  overflow: hidden;
  transition: all 2s ease-out;
}
.pre-inc .set1 .mv_1_bg {
  opacity: 1;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.pre-inc .movie_bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pre-inc .mv_1_text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.9);
  width: 34.375%;
  opacity: 0;
  transition: all 4s ease-out;
  transition-delay: 1s;
}
@media (max-width: 767px) {
  .pre-inc .mv_1_text {
    width: 78.5714285714%;
  }
}
.pre-inc .mv_1_text img {
  width: 100%;
  max-width: inherit;
  margin: 0 auto;
}
.pre-inc .set1 .mv_1_text {
  transform: translate(-50%, -50%) scale(1.1);
  opacity: 1;
}
.pre-inc .set1.set2_1 .mv_1_text {
  opacity: 0;
  transform: translate(-50%, -50%) scale(1.1);
  transition: all 1.4s ease-out;
  transition-delay: 0s;
}
.pre-inc .mv_2_text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.9);
  width: 34.375%;
  opacity: 0;
  transition: all 1.5s ease-out;
}
.pre-inc .mv_2_text img {
  width: 100%;
  max-width: inherit;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .pre-inc .mv_2_text {
    width: 78.5714285714%;
  }
}
.pre-inc {
  /***No１ワッペン***/
}
.pre-inc .mv_2_1_text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.9);
  width: auto;
  height: 80%;
  opacity: 0;
  transition: all 1.5s ease-out;
}
.pre-inc .mv_2_1_text img {
  width: auto;
  height: 100%;
  max-width: inherit;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .pre-inc .mv_2_1_text {
    width: auto;
    height: 60%;
  }
}
.pre-inc #main .mv_2_1_text img {
  width: auto;
  height: 100%;
}
.pre-inc .set2_1 .mv_2_1_text {
  transform: translate(-50%, -50%) scale(1);
  opacity: 1;
}
.pre-inc .set1.set2_1.set2_2 .mv_2_1_text {
  opacity: 0;
  transform: translate(-50%, -50%) scale(1.1);
  transition: all 1.5s ease-out;
  transition-delay: 0s;
}
.pre-inc {
  /***テキスト2***/
}
.pre-inc .set1.set2_1.set2_2 .mv_2_text {
  transform: translate(-50%, -50%) scale(1);
  opacity: 1;
}
.pre-inc {
  /*****MV*****/
}
.pre-inc .mv {
  width: 100%;
  overflow: hidden;
  position: relative;
}
.pre-inc .mv_s2 {
  width: 100%;
  position: relative;
  z-index: 3;
  filter: brightness(9);
  opacity: 0;
  transition: all 1s ease-out;
}
.pre-inc .mv_s2 img {
  max-width: inherit;
  width: 100%;
  height: auto;
}
.pre-inc .mv_s2 .mv_in_text {
  width: 58%;
  position: absolute;
  top: 41%;
  left: 21%;
  z-index: 2;
  transform: translateY(50px);
  opacity: 0;
  transition: all 1s ease-out;
  transition-delay: 0.3s;
}
@media (max-width: 767px) {
  .pre-inc .mv_s2 .mv_in_text {
    width: 74%;
    top: 33%;
    left: 13%;
  }
}
.pre-inc .mv_s2 .mv_in_v1 {
  width: 11%;
  position: absolute;
  top: 35%;
  left: 8%;
  z-index: 2;
  transform: translateY(50px);
  opacity: 0;
  transition: all 1s ease-out;
  transition-delay: 0.3s;
}
@media (max-width: 767px) {
  .pre-inc .mv_s2 .mv_in_v1 {
    width: 16%;
    top: auto;
    left: 13%;
    bottom: 2%;
  }
}
.pre-inc .mv_s2 .cap {
  position: absolute;
  font-size: 11px;
  color: #fff;
  bottom: 15px;
  right: 15px;
}
.pre-inc .set3 .mv_s2 {
  filter: brightness(1);
  opacity: 1;
}
.pre-inc .set3 .mv_s2 .mv_in_text {
  transform: translateY(0px);
  opacity: 1;
}
.pre-inc .fix .mv_s2 {
  filter: brightness(1);
  opacity: 1;
}
.pre-inc .fix .mv_s2 .mv_in_text {
  transform: translateY(0px);
  opacity: 1;
}
.pre-inc .fix .mv_s2 .mv_in_v1 {
  transform: translateY(0px);
  opacity: 1;
}
.pre-inc {
  /******************/
}
.pre-inc .do_text {
  background: #fff;
  padding: 0;
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  .pre-inc .do_text {
    margin-bottom: 30px;
  }
}
.pre-inc .do_text .do_text_in {
  width: 96%;
  max-width: 700px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .pre-inc .do_text .do_text_in {
    width: 90%;
  }
}
.pre-inc .point_wrapp {
  background: #151b47;
  padding: 50px 0;
  margin-bottom: 50px;
}
.pre-inc .point_wrapp .point_text {
  width: 92%;
  max-width: 1100px;
  margin: 0 auto 20px;
  position: relative;
}
.pre-inc .point_wrapp .price_wrapp {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto 0px;
  position: relative;
}
.pre-inc .document_title_wrapp {
  text-align: center;
}
.pre-inc .document .document_text {
  position: relative;
  text-align: center;
  margin: 0 auto 55px;
  color: #000;
  font-size: min(1.8vw, 18px);
}
@media (max-width: 767px) {
  .pre-inc .document .document_text {
    font-size: min(2.8vw, 18px);
    margin-bottom: 25px;
  }
}
.pre-inc .document .document_title {
  display: inline-block;
  position: relative;
  margin: auto;
  text-align: center;
  font-size: min(4.8vw, 70px);
  color: #801F40;
  font-weight: normal;
  letter-spacing: 0.15em;
  border-top: 1px solid #333;
  padding: 20px 20px 0;
}
@media (max-width: 767px) {
  .pre-inc .document .document_title {
    font-size: min(9.5vw, 60px);
    letter-spacing: 0.05em;
    padding: 20px 0px 0;
  }
}
.pre-inc .document .document_btn {
  position: relative;
  max-width: 365px;
  width: 88%;
  margin: 50px auto 50px;
  background: #a52020;
  box-shadow: 2px 3px 8px rgba(0, 0, 0, 0.5);
}
.pre-inc {
  /***キャンペーンバナー****/
}
.pre-inc .campaign_wrapp {
  padding: 0px 20px;
  background: #fff;
}
.pre-inc .campaign_wrapp .inner {
  max-width: 1100px;
  margin-inline: auto;
}
.pre-inc .campaign_wrapp.single .inner {
  max-width: 700px;
  margin-inline: auto;
  margin: 0 auto;
}
.pre-inc .campaign_wrapp .title {
  position: relative;
  font-size: 40px;
  text-align: center;
  letter-spacing: 0.1em;
  color: #333;
}
.pre-inc .campaign_wrapp .title span {
  display: inline-block;
  position: relative;
  z-index: 2;
  background: #fff;
  padding: 0 15px;
}
.pre-inc .campaign_wrapp .title:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background: #333;
}
.pre-inc .campaign_wrapp .bnrs {
  display: flex;
  justify-content: space-between;
  margin-top: 40px;
}
.pre-inc .campaign_wrapp .bnrs div:nth-child(2) {
  display: inline-block;
  width: 39.9852995222%;
}
.pre-inc .campaign_wrapp .bnrs div:nth-child(1) {
  display: inline-block;
  width: 55.6413083425%;
  padding-top: 6px;
}
.pre-inc .campaign_wrapp.single .bnrs div:nth-child(1) {
  display: inline-block;
  width: 100%;
  padding-top: 6px;
}
.pre-inc .campaign_wrapp .bnrs div .cp_cap {
  display: block;
  text-align: left;
  margin: 10px 0px 0;
  font-size: min(1vw, 9px);
  line-height: 160%;
}
.pre-inc .campaign_wrapp.list2 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 92%;
  max-width: 1200px;
  margin: 0 auto;
}
.pre-inc .campaign_wrapp.list2 .inner {
  width: 48%;
}
@media (max-width: 767px) {
  .pre-inc .campaign_wrapp {
    padding: 0px 20px;
  }
  .pre-inc .campaign_wrapp .inner {
    width: 100%;
  }
  .pre-inc .campaign_wrapp .title {
    font-size: 20px;
  }
  .pre-inc .campaign_wrapp .bnrs {
    display: block;
    width: 90%;
    margin-inline: auto;
    margin-top: 10px;
  }
  .pre-inc .campaign_wrapp .bnrs div:nth-child(1) {
    width: 100%;
  }
  .pre-inc .campaign_wrapp .bnrs div:nth-child(2) {
    width: 100%;
    margin-top: 10px;
  }
  .pre-inc .campaign_wrapp .bnrs div .cp_cap {
    display: block;
    text-align: left;
    margin: 10px 0px 0;
    font-size: min(1.4vw, 8px);
  }
  .pre-inc .campaign_wrapp.list2 {
    width: 100%;
    padding: 0;
  }
  .pre-inc .campaign_wrapp.list2 .inner {
    width: 100%;
  }
}
.pre-inc {
  /**********スクロールコンテンツ***********/
}
.pre-inc .top_contents {
  background: #000;
}
.pre-inc .pin-section {
  position: relative;
}
.pre-inc {
  /* 背景レイヤー */
}
.pre-inc .bg-layer {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.pre-inc .bg-item {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.6s ease;
  background-size: cover;
  background-position: center;
}
.pre-inc .bg-item .cap {
  position: absolute;
  font-size: 11px;
  color: #fff;
  right: 15px;
  bottom: 15px;
}
.pre-inc .bg-item .cap.bk {
  font-weight: bold;
  color: #000;
  text-shadow: -1px -1px 1px rgb(255, 255, 255), 0 0 3px rgba(255, 255, 255, 0.9), 1px 1px 3px rgba(255, 255, 255, 0.9);
}
.pre-inc {
  /* ここで背景画像を指定 */
}
.pre-inc .content-item {
  background-size: cover;
  background-position: center;
}
.pre-inc .content-1 {
  background-image: url("../images/top3/contents1_bg_pc.jpg");
}
.pre-inc .content-2 {
  background-image: url("../images/top3/contents2_bg_pc.jpg");
}
.pre-inc .content-3 {
  background-image: url("../images/top3/contents3_bg_pc.jpg");
}
.pre-inc .content-4 {
  background-image: url("../images/top3/contents4_bg_pc.jpg");
}
@media (max-width: 767px) {
  .pre-inc .content-1 {
    background-image: url("../images/top3/contents1_bg_sp.jpg");
  }
  .pre-inc .content-2 {
    background-image: url("../images/top3/contents2_bg_sp.jpg");
  }
  .pre-inc .content-3 {
    background-image: url("../images/top3/contents3_bg_sp.jpg");
  }
  .pre-inc .content-4 {
    background-image: url("../images/top3/contents4_bg_sp.jpg");
  }
}
.pre-inc .bg-item {
  filter: brightness(300%) blur(10px) contrast(150%);
  transition: all 1s ease;
}
.pre-inc .bg-item.is-active {
  filter: brightness(100%) blur(0px) contrast(100%);
  opacity: 1;
}
.pre-inc {
  /* コンテンツレイヤー */
}
.pre-inc .content-layer {
  position: relative;
  z-index: 2;
  width: 100%;
}
.pre-inc .content-item {
  position: relative;
  width: 100%;
  height: 100vh;
  color: #ffffff;
  box-sizing: border-box;
  transition: opacity 0.5s ease, transform 0.5s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pre-inc .content-item .cap {
  position: absolute;
  font-size: 11px;
  color: #fff;
  right: 15px;
  bottom: 15px;
  z-index: 3;
  opacity: 0.7;
}
.pre-inc .content-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1;
}
.pre-inc .top_in_contents {
  transform: translateY(30px);
  opacity: 0;
  transition: all 1s ease-out;
  transition-delay: 0.5s;
}
.pre-inc .is-show .top_in_contents {
  transform: translateY(0px);
  opacity: 1;
}
.pre-inc .top_in_contents {
  width: 94%;
  height: 100%;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  z-index: 2;
}
@media (max-width: 767px) {
  .pre-inc .top_in_contents {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
  }
}
.pre-inc .top_in_contents .text_wrapp {
  width: 45%;
}
@media (max-width: 767px) {
  .pre-inc .top_in_contents .text_wrapp {
    width: 94%;
    margin: 0 auto;
    text-align: center;
  }
}
.pre-inc .top_in_contents .text_wrapp h3 {
  font-size: min(3.8vw, 48px);
  margin-bottom: 15px;
  background: linear-gradient(90deg, #b78d45 0%, #e8d4a3 40%, #ad8847 100%);
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-fill-color: transparent;
}
@media (max-width: 767px) {
  .pre-inc .top_in_contents .text_wrapp h3 {
    font-size: min(7.8vw, 52px);
  }
}
.pre-inc .top_in_contents .text_wrapp p {
  font-size: min(2.5vw, 28px);
  line-height: 180%;
  margin-bottom: 20px;
  font-weight: 400;
}
@media (max-width: 767px) {
  .pre-inc .top_in_contents .text_wrapp p {
    font-size: min(3.8vw, 32px);
  }
}
.pre-inc .top_in_contents .image_wrapp {
  width: 55%;
  position: relative;
}
@media (max-width: 767px) {
  .pre-inc .top_in_contents .image_wrapp {
    width: 60%;
    margin: 0 auto 30px;
    text-align: center;
  }
}
.pre-inc .top_in_contents .image_wrapp .cap {
  position: absolute;
  font-size: 11px;
  right: 0;
  bottom: 0;
}
@media (max-width: 767px) {
  .pre-inc .top_in_contents .image_wrapp .cap {
    bottom: -20px;
  }
}
.pre-inc .top_in_contents .image_wrapp.plan {
  height: 100%;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pre-inc .top_in_contents .image_wrapp.plan {
    height: auto;
  }
}
@media (max-width: 767px) {
  .pre-inc .top_in_contents .image_wrapp.plan {
    height: auto;
  }
}
.pre-inc .top_in_contents .image_wrapp.plan img {
  height: 80%;
  margin-top: 20%;
  width: auto;
  max-width: none;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pre-inc .top_in_contents .image_wrapp.plan img {
    height: auto;
    margin-top: 0;
    width: 100%;
    max-width: 100%;
  }
}
@media (max-width: 767px) {
  .pre-inc .top_in_contents .image_wrapp.plan img {
    height: auto;
    margin-top: 0;
    width: 100%;
    max-width: 100%;
  }
}
.pre-inc .top_in_contents .link_bt {
  width: 50%;
  border-radius: 50px;
  position: relative;
  z-index: 3;
  overflow: hidden;
}
@media (max-width: 767px) {
  .pre-inc .top_in_contents .link_bt {
    display: none;
  }
}
.pre-inc .top_in_contents .link_bt.sp {
  display: none;
}
@media (max-width: 767px) {
  .pre-inc .top_in_contents .link_bt.sp {
    display: block;
    margin: 0 auto;
    width: 70%;
  }
}
.pre-inc .top_in_contents .link_bt a {
  display: block;
}
.pre-inc .top_in_contents .link_bt a:hover {
  background: rgba(6, 1, 1, 0.4784313725);
}
.pre-inc .top_in_contents .link_bt a:hover img {
  opacity: 1;
}
.pre-inc {
  /* スクロールダウンの位置 */
}
.pre-inc .scroll {
  position: absolute;
  right: 52%;
  bottom: 13%;
  writing-mode: vertical-rl;
  color: #ffffff;
  z-index: 10;
}
@media (max-width: 767px) {
  .pre-inc .scroll {
    left: 5%;
    right: auto;
    bottom: 25%;
  }
}
.pre-inc .scroll span {
  transform: rotate(270deg);
  display: block;
}
@media (max-width: 767px) {
  .pre-inc .scroll span {
    transform: rotate(0deg);
  }
}
.pre-inc {
  /* 線のアニメーション部分 */
}
.pre-inc .scroll::before {
  animation: scroll 2s infinite;
  background-color: #ffffff;
  bottom: -85px;
  content: "";
  height: 90px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  width: 1px;
  z-index: 2;
}
@media (max-width: 767px) {
  .pre-inc .scroll::before {
    bottom: -105px;
  }
}
.pre-inc {
  /* 線の背景色 */
}
.pre-inc .scroll::after {
  background-color: #8d8d8d;
  bottom: -85px;
  content: "";
  height: 90px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  width: 1px;
}
@media (max-width: 767px) {
  .pre-inc .scroll::after {
    bottom: -105px;
  }
}
.pre-inc {
  /* 線のアニメーション */
}
@keyframes scroll {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  51% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}
.pre-inc {
  /***下空撮部分***/
}
.pre-inc .top_under {
  width: 100%;
  aspect-ratio: 2200/2043;
  background-image: url(../images/top3/top_under_bg_pc.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  padding-top: 8%;
  position: relative;
}
@media (max-width: 767px) {
  .pre-inc .top_under {
    aspect-ratio: 175/52;
    background-image: url(../images/top3/top_under_bg_sp.jpg);
    padding-bottom: 43vh;
  }
}
.pre-inc .top_under .document_title {
  position: relative;
  margin: 0 auto 50px;
  text-align: center;
  font-size: min(4.8vw, 60px);
  color: #000000;
  font-weight: normal;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  .pre-inc .top_under .document_title {
    font-size: min(9.8vw, 60px);
    margin-bottom: 30px;
  }
}
.pre-inc .top_under .document_btn {
  position: relative;
  max-width: 365px;
  width: 88%;
  margin: 50px auto 0;
  background: #a52020;
  box-shadow: 2px 3px 8px rgba(0, 0, 0, 0.5);
}
@media (max-width: 767px) {
  .pre-inc .top_under .document_btn {
    width: 80%;
  }
}
.pre-inc .top_under .visitmerit_wrapp {
  width: 90%;
  max-width: 900px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .pre-inc .top_under .visitmerit_wrapp {
    width: 86%;
  }
}
.pre-inc .top_under .cap {
  position: absolute;
  bottom: 15px;
  right: 15px;
  font-size: 11px;
  color: #fff;
  font-weight: 700;
  text-shadow: 6px 0 3px rgba(0, 0, 0, 0.4705882353), 2px 2px 3px rgba(0, 0, 0, 0.4784313725), -2px 2px 3px rgba(0, 0, 0, 0.4588235294), -2px -2px 3px rgba(0, 0, 0, 0.3215686275), 2px -2px 3px rgba(0, 0, 0, 0.4509803922);
}
.pre-inc #main .top_in_contents .image_wrapp.plan img {
  height: 80%;
  margin-top: 20%;
  width: auto;
  max-width: none;
}
@media (max-width: 767px) {
  .pre-inc #main .top_in_contents .image_wrapp.plan img {
    height: auto;
    margin-top: 0;
    width: 100%;
    max-width: 100%;
  }
}
.pre-inc {
  /****インフォ_特別***/
}
.pre-inc .winter_info_wrapp {
  background: #970000;
  color: #fff;
  text-align: center;
  padding: 20px;
  font-size: min(2vw, 18px);
  margin: 40px auto 0px;
  width: 80%;
  max-width: 1100px;
}
@media only screen and (max-width: 767px) {
  .pre-inc .winter_info_wrapp {
    width: 100%;
    font-size: 14px;
    padding: 20px 10px;
    margin: 30px auto 0px;
  }
}
.pre-inc .movie_bunner {
  width: 90%;
  max-width: 800px;
  margin: 0 auto 50px;
}

/***動画モーダル***/
.remodal {
  width: 96%;
  max-width: 1000px;
  padding: 0px;
  background: none;
}

.remodal video {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}

.remodal iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}

.remodal-close {
  position: absolute;
  top: -4em;
  left: auto;
  right: 0;
  width: 55px;
  height: 55px;
}

.remodal-close:before {
  font-size: 55px;
  line-height: 55px;
  width: 55px;
  content: "×";
}

.remodal-close:hover,
.remodal-close:focus {
  color: #777d8d;
}/*# sourceMappingURL=top_re.css.map */