  @charset "utf-8";
  *, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
  }

  /*body {
	background-position: top, bottom right;
    background-repeat: no-repeat, no-repeat;
    backface-visibility: hidden;
    font-size: 14px;
    font-family: '游明朝', 'Yu Mincho', YuMincho, serif;
    font-weight: normal;
    letter-spacing: .04em;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    min-width: 1200px;
    opacity: 0;
    color: #1a0001;
  }*/

.fin {
	background:rgba(0,0,0,0.7) ;
	z-index:  calc(1 + infinity);
	position: fixed;
    top: 0;
    left:0;
	width: 100vw;
	height: 100vh;
}

.fin .fin--text {
	color: #fff;
	line-height: 1.9;
	font-size:2.2em;
	text-align: center;
	position: relative;
	top: 50%;
}

@media screen and (max-width: 767px) {
  .fin .fin--text {
	line-height: 1.7;
	font-size:1.2em;
	}
}


body{
	background-color: #e7ded3;
	font-family: "Noto Sans JP", "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 500;	
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
}

html, body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  width: 100%;  /* ここを100vw→100%に変更 */
  max-width: 100%;
  box-sizing: border-box;
}



.top_image{
  width: 100%;
    max-width: 769px;
	margin: 0 auto;
	background-color: #ccc;
	object-fit: cover;
}
.top_image img {
    width: 100%;
    vertical-align: bottom;
}

main {
    width: 100%;
    max-width: 769px;
  height:auto;
    margin: 0 auto;
    background-image: url(../img/back_image.jpg);
    overflow: hidden;
}


.summary h3,.summary p {
  margin: 0 auto;
  text-align: center;
  color: #fff;
}
.summary h3 {
    font-size: 2.7em;
    font-size: 40px;
    letter-spacing: 2px;
    padding: 30% 0 0 0;
    margin-bottom: 13px;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.summary p {
    font-size: 23px;
    line-height: 1.7;
    letter-spacing: 1.3px;
}


@keyframes floatSmooth {
  0%   { transform: translateY(0); }
  50%  { transform: translateY(5px); }
  100% { transform: translateY(0); }
}


.summary_txt {
  width: 90%; 
  position: absolute;
  top: 35%;
  left: 50%;
  transform: translateX(-50%); 
  color: white;
  text-align: center;
  opacity: 0;
  animation: fadeInUp 2s ease forwards;
  animation-delay: 1s; 
}


/* 文字のフワッと登場アニメーション */
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translate(-50%, calc(-50% + 20px));
  }
  100% {
    opacity: 1;
    transform: translate(-50%, -50%);
  }
}



.summary {
    position: relative;
    width: 100%;
    top: -69px;
    max-width: 800px;
    height: 1050px;
    margin: 0 auto;
    background-image: url(../img/fuwa_maboroshi.png);
    background-size: 140% auto;
    background-position: center center;
    background-repeat: no-repeat;
    animation: floatBG 4s ease-in-out infinite;
    overflow: hidden;
}

@keyframes floatBG {
  0%   { background-position: center 0; }
  50%  { background-position: center -10px; }
  100% { background-position: center 0; }
}

/* 装飾画像（スクリーンモード） */

.summary::before {
    content: "";
    position: absolute;
    top: -8px;
    left: -175px;
    width: 1100px;
    height: 1100px;
    background-image: url(../img/orange.png);
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 10;
    mix-blend-mode: screen;
}

.summary_wrapp{
	position: relative;
}
.start_txt {
    width: 100%;
    position: absolute;
    top: 80%;
    text-align: center;
    left: 0;
    font-size: 1.5em;
    letter-spacing: 1px;
    line-height: 1.6;
}

.nunu {
    width: 44%;
    position: absolute;
    top: 68%;
    left: 1.5%;
}

.nunu img {
    width: 34%;
    display: inline-block;
}

/*スライドカード----------------------------*/
.swiper {
    margin-top: -6%;
}


  /* スライドの画像調整 */
    .swiper-slide img {
      width: 100%;
      border-radius: 12px;
    }
    /* ページネーション（小さい丸） */
    .swiper-pagination {
      position: relative;
      margin-top: 10px;
      text-align: center;
    }
.swiper-horizontal {
    touch-action: pan-y;
    height: 486px;
}

/* 共通スタイル */
.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: 50%;                     /* 縦中央 */
  width: 30px;                   /* クリック範囲 */
  height: 30px;                  /* クリック範囲 */
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #80807e !important;
  font-size: 24px;               /* 矢印サイズ */
  transform: translateY(-50%);   /* 縦中央補正 */
}

.swiper-pagination-bullet-active {
  background: #f7931e !important;
}

/* 矢印の見た目 */
.swiper-button-prev::after,
.swiper-button-next::after {
  font-size: 24px;
}

.swiper-button-prev {
  left: calc(50% - 206px)!important;  /* 少し中央に寄せる */
}

.swiper-button-next {
  left: calc(50% + 180px)!important;  /* 少し中央に寄せる */
}



/*item-----------------------------------------*/

/*.contents_wrapp section{
	margin-bottom: 10%;
}*/

.space {
    letter-spacing: 3px;
    text-align: center;
    line-height: 1.25;
}
.item_wrapp{
	width: 100%;
	position: relative;
}


.item_left_img,.item_right_img {
    padding: 10% 0 5% 0;
}
.item_left_img img,.item_right_img img{
	width: 95%;
}

.contents_wrapp h3 {
    width: 90%;
    margin: 0 auto;
    font-size: 40px;
    color: #603813;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.item_txt {
    width: 90%;
    margin: 0 auto;
    margin-top: 5px;
    font-size: 1.3em;
    font-size: 20px;
    line-height: 1.6;
    letter-spacing: 1px;
    text-align: justify;
    color: #603813;
}

.item_wrapp .txtbold{
    font-family: "Noto Sans JP", "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 900!important;
}


.revival_wrapp {
    width: 90%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 4% 0 0% 0;
    margin: 0 auto;
}

.revival_item {
    width: 47.5%;
    margin-bottom: 7%;
    display: flex;            /* 縦並びflexにする */
    flex-direction: column;   /* 縦方向に要素を積む */
}

.revival_item img{
	width: 100%;
}
.revival_item h4 {
    font-size: 20px;
    font-family: "Noto Sans JP", "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 600;
    color: #603813;
}
.revival_item p {
    font-size: 16px;
    color: #603813;
    padding: 4px 0 37px 0;
}

.revival_wrapp .revival_item .btn{
	width: 100%;
    margin-top: auto;  
}

.revival_wrapp .revival_item .btn a{
	padding: 4% 12%;
    display: inline-block;
    text-decoration: none;
    color: #603813;
    font-size: 18px;
}
.revival_wrapp .revival_item .btn:hover{
  background-color: #603813;
transition: 0.5s;
	  color: #fff;
}
.revival_wrapp .revival_item .btn a:hover{
	  color: #fff;
	transition: 0.5s;
}




.comingsoon{
	position: relative;
}
.comingsoon img {
    width: 110px;
    position: absolute;
    top: -51%;
    left: 31%;
}

.comingsoon span{
	mix-blend-mode: multiply;
}


.movie img {
    top: -16%;
    left: 43%;
}

.decoration_1 {
    position: absolute;
    top: 17%;
    left: 79%;
    mix-blend-mode: screen;
}

.decoration_1 img {
    width: 176%;
}

.decoration_2 {
    position: absolute;
    top: 18.7%;
    left: 7.5%;
}

.decoration_2 img {
    width: 75%;
}

.item_left_img, .item_right_img {
    padding: 10% 0 2% 0;
}
.item_right_img {
    margin-left: auto;
    text-align: right;
}

.item_left_img img,.item_right_img img{
	width: 95%;
}

.decoration_3 {
    position: absolute;
    top: -5%;
    right: -6%;
}
.decoration_3 img{
	width: 75%;
}

.decoration_4 {
    position: absolute;
    top: -5%;
    right: 45%;
    width: 75%;
    max-width: 100%;
    box-sizing: border-box;
    mix-blend-mode: screen;
}

.decoration_4 img{
	width: 55%;
}

.decoration_5 {
    position: absolute;
    top: 1%;
    left: 83%;
    width: 71%;
    mix-blend-mode: screen;
}
.decoration_5 img {
    width: 38%;
}

.decoration_6 {
    position: absolute;
    top: 29.5%;
    left: 80%;
    width: 123%;
}

.decoration_6 img {
    width: 14%;
}

.decoration_7 {
    position: absolute;
    top: -5%;
    left: 81%;
    width: 75%;
}

.decoration_7 img {
    width: 19%;
}

.decoration_8 {
    position: absolute;
    top: 8%;
    left: -12%;
    width: 100%;
    mix-blend-mode: screen;
}

.decoration_8 img {
    width: 26%;
}

.decoration_9 {
    position: absolute;
    top: 62%;
    left: -25.5%;
    width: 45%;
    mix-blend-mode: screen;
}

.decoration_9 img {
    width: 71%;
}

.decoration_10 {
    position: absolute;
    top: 0%;
    left: 76%;
    width: 75%;
}
.decoration_10 img {
    width: 23%;
}

.decoration_11 {
    position: absolute;
    bottom: -2%;
    left: 68%;
    width: 100%;
	z-index: 20;
}

.decoration_11 img {
    width: 22%;
}

.decoration_12 {
    position: absolute;
    top: 43.5%;
    left: 91%;
    mix-blend-mode: screen;
}

.decoration_12 img {
    width: 200%;
}

.btn {
    width: 40%;
    margin: 0 auto;
    margin-top: 5%;
    text-align: center;
    border: 1px solid #603813;
/*    font-size: 23px;*/
    letter-spacing: 2px;
    background-color: #fff;
	cursor: pointer;
}

.btn a{
    padding: 5% 19%;
    display: inline-block;
    text-decoration: none;
    color: #603813;
	font-size: 22px;
}
.btn:hover{
  background-color: #603813;
transition: 0.5s;
}
.btn a:hover{
	  color: #fff;
	transition: 0.5s;
}



/* 左からスライドイン--------------- */
.item_left_img img {
  opacity: 0;
  transform: translateX(-80px);
  transition: all 0.8s ease-out;
}

.item_left_img img.show {
  opacity: 1;
  transform: translateX(0);
}
/* 右からスライドイン--------------- */
.item_right_img img {
  opacity: 0;
  transform: translateX(80px);
  transition: all 0.8s ease-out;
}

.item_right_img img.show {
  opacity: 1;
  transform: translateX(0);
}

/* 下からスライドイン--------------- */

.summary h3,.summary p,.start_txt,.contents_wrapp h3,.item_txt{
  opacity: 0;
  transform: translateY(50px); /* 下に50pxずらす */
  transition: all 0.8s ease-out;
}

.summary h3.show,.summary p.show,.start_txt.show,.contents_wrapp h3.show,.item_txt.show {
  opacity: 1;
  transform: translateY(0);
}


footer {
    width: 100%;
    max-width: 769px;
    margin: 0 auto;
    text-align: center;
    padding: 13px 0 10px 0;
    background-color: #2c1106;
    color: #fff;
}

footer ul{
	width: 40%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}

footer ul li{
list-style:none;
	font-size: 13px;
}
footer ul li a{
text-decoration: none;
	color: #fff;
}

.social {
    width: 40%;
    margin: 0 auto;
    padding: 16px 0 10px 0;
    justify-content: space-between;
    display: flex;
}
.social img{
	width: 40px;
	height: 40px;
}

.copyright{
	font-size: 10px;
}

/* TOPに戻るボタン */
#page_top {
    width: 5.5vw;
    height: 5.5vw;
    position: fixed;
    right: 12%;
    bottom: 3%;
    background: #603813;
    border-radius: 50%;
    transition: transform 0.3s ease;
    z-index: 999;
}

/* Font Awesome */
#page_top::before {
	font-family: 'Font Awesome 5 Free';
    font-weight: 600;
    content: '\f106';
    font-size: 3vw;
    color: #ffffff;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
}
#page_top:hover{
	transform: translateY(-5px); 
}




.top_image {
  position: relative;
  width: 768px;
  max-width: 100%;
  margin: 0 auto;
  height: auto;
}

.top_image img {
  width: 100%;
  height: auto;
  display: block;
}

.top_image canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.on_txt{
	position: absolute;
	top:0;
	left: 0;
  	z-index: 11;
}


/*  */
.top_image {
  position: relative;
}
.on_txt2 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  animation: fadeSlideIn 1.2s ease-out forwards;
  z-index: 2;
}

@keyframes fadeSlideIn {
  0% {
    transform: translateX(-50px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}


.on_txt2 {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 12;
  overflow: hidden; /* ← これが重要。マスクの役割をする */
  width: fit-content; /* 画像の幅に合わせて */
  height: auto;
}

.on_txt2 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  z-index: 2;
  animation: fadeSlideIn 4s ease-out forwards;
  pointer-events: none;
}

@keyframes fadeSlideIn {
  0% {
    clip-path: inset(0 100% 0 0); /* 視覚的にスライド感を出す */
    opacity: 0;
  }
  100% {
    clip-path: inset(0 0 0 0);
    opacity: 1;
  }
}





.illust {
  text-align: center; /* 中央寄せ */
  overflow: hidden;   /* はみ出し隠したいときだけ */
}

.illust img {
    width: 86%;
    padding-top: 13%;
    transform: scale(1.3);
    transform-origin: center;
    display: inline-block;
}

.shop{
	color: #603813;
	width: 90%;
	margin: 0 auto;
}

.shop h2 {
    width: 100%;
    text-align: center;
    padding: 8% 0 2% 0;
    font-size: 32px;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.shop p{
    font-size: 14px;
	letter-spacing: 1px;
	margin-bottom: 3%;
}
.shop__list{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.shop__list__item {
    width: 31.5%;
	text-align: center;
}

.shop__list__item .image img{
	width: 100%;
}

.shop__list__item .text-area p{
	font-size: 13px;
}

.shop__list__item .btn {
    width: 90%;
    border-radius: 50px;
}

.shop__list__item .btn a {
    padding: 2% 13%;
	font-size: 16px;
}

.shop__list__item .text{
	height: 55px;
}
.official {
    width: 50%;
}
.official a {
    font-size: 13px;
    padding: 4% 12%;
}

.comingsoon .btn span{
	font-size: 16px;
}
.movie-btn a {
    font-size: 26px;
    line-height: 1;
}
.movie-btn span {
    mix-blend-mode:normal;
}

.movie-btn a {
    color: #603813;
    text-decoration: none;
    display: inline-block;
    transition: color 0.5s;
}

.movie-btn:hover a {
    color: #fff;
}

/*
レスポンシブ（490px以下）----------------------------------------------
*/
@media screen and (max-width: 490px) {
  #page_top {
		width: 9.5vw;
        height: 9.5vw;
        right: 3%;
        bottom: 4%;
    }
	
  #page_top::before {   
      font-size: 5vw;
  }
 
    .item_txt {
      font-size: 13px;
    font-weight: 500;
	letter-spacing: 1px;

      }
	.contents_wrapp h3 {
    font-size: 19px;
}
	.btn a {
    font-size: 13px;
	font-weight: bold;
}

       .decoration_1 {
        position: absolute;
        top: 15%;
        left: 82%;
        mix-blend-mode: screen;
    }

  .decoration_2 {
        top: 200px;
    }
    .decoration_2 img{
        width: 48%!important;
    }
	
	.decoration_3 {
    right: -26%;
}
	.decoration_3 img {
    width: 42%;
}	
   .decoration_6 {
        top: 25%;
    }
	
  .decoration_7 {
        top: -4%;
    }
.decoration_8 {
        top: 6%;
        left: -14%;
    }
  .decoration_9 img{
        width: 69%;
  }
  .decoration_9 {
        top: -3%;
        left: -38%;
        width: 72%;
  }
	     .decoration_10 {
        top: -1%;
        left: 77%;
        width: 79%;
    }
	.decoration_11 {
    position: absolute;
    bottom: 0%;
    left: 66%;
    width: 100%;
}
	.decoration_11 img {
    width: 24%;
}
	.decoration_12 {
    position: absolute;
    top: 33.5%;
    left: 90%;
    mix-blend-mode: screen;
}	
    .summary {
        height: 570px;
        top: -48px;
    }

  .summary::before {
        top: 6px;
        left: -80px;
        width: 136%;
        height: 1100px;
    }
.summary h3{
  font-size: 22px;
  padding: 0;
  margin-bottom: 3px;
}
	
.summary p{
  font-size: 12px;
}

.summary_txt {
  width: 100%;
  top: 43%;
}

.start_txt {
  position: absolute;
top: 71.5% !important;
	left: 50%;
  transform: translateX(-50%) translateY(50px);
  opacity: 0;
  width: 90%;
  max-width: 400px;
  text-align: center;
  font-size: 13px;
  box-sizing: border-box;
  transition: transform 0.8s ease, opacity 0.8s ease;
  z-index: 18;
}


.start_txt.show {
  transform: translateX(-50%) translateY(0); /* 真下から上 */
  opacity: 1;
}
.swiper {
  margin-top: -19%;
}


    .nunu {
        top: 60.5%;
        left: 0.5%;
    }

.nunu img {
    width: 32%;
    display: inline-block;
}

/* 矢印の見た目 */
.swiper-button-prev::after,
.swiper-button-next::after {
  font-size: 24px!important;
}

   .swiper-button-next {
        left: calc(50% + 89px) !important;
    }

.swiper-button-prev {
        left: calc(50% - 114px) !important;
    }


.swiper-pagination {
  position: relative;
  margin-top: 10px!important;  /* ここで上下位置を調整 */
  text-align: center;
}

.swiper-horizontal{
        height: 254px;
}
	
	
	.revival_item h4 {
    font-size: 14px;
    font-weight: 900;
}
.revival_item p {
    font-size: 11px;
    color: #603813;
	padding: 4px 0 20px 0;
	display: flex;           /* 縦方向にflex配置 */
    flex-direction: column;  /* 上から下に積む */
	height: 81px;
}

.revival_wrapp .revival_item .btn a {
    padding: 4% 0%;
    display: inline-block;
    text-decoration: none;
    color: #603813;
    font-size: 10px;
}

.revival_item .btn {
    margin-top: auto;        /* 残りの余白を使って一番下に配置 */
}
	

	
	.comingsoon img {
    width: 74px;
    position: absolute;
    top: -79%;
    left: 28%;
}
	
	
	
	.illust{
    margin-top: 7%;
  position: relative;
  width: 100%;       
  height: 400px;     
  overflow: hidden;  
}

.illust img {
    width: 96%;
    position: absolute;
    top: 46%;
    left: 63%;
    transform: translate(-50%, -50%) scale(1.5);
    object-fit: cover;
}
	
	footer ul {
    width: 76%;
}

.social {
    width: 70%;
	}
	.space {
    letter-spacing: 1px;
}

	/*SHOP----------------------------*/
 .item_txt {
        font-size: 13px;
        padding-bottom: 10px;
    }

    .comingsoon img {
        top: -60%;
        left: 40%;
    }

.shop h2 {
    padding: 14% 0 2% 0;
    font-size: 24px;
}

.shop p {
    font-size: 13px;
    margin-bottom: 3%;
}
	
   .shop__list__item {
    width: 100%;
}

.shop__list__item .text {
    height: auto;
}

.shop__list__item .btn {
    width: 60%;
    border-radius: 50px;
    margin-bottom: 8%;
}
	.shop__list__item .btn a {
    padding: 2% 13%;
    font-size: 15px;
}
.official {
    width: 90%;
}
	    .comingsoon img {
        top: -74%;
        left: 27%;
    }
    .comingsoon .movie img {
        top: -8%;
        left: 41%;
    }
	
	/*------------------------------------------------------------------*/
	
   .swiper-horizontal {
        height: 283px !important;
    }
	
	    .start_txt {
        top: 436px !important;
    }
	    .swiper {
        margin-top: -13%;
    }
	
	    .start_txt {
        top: 434px !important;
    }

    .swiper-horizontal {
        height: 283px !important;
    }

    .swiper-button-next {
        left: calc(50% + 95px) !important;
    }
    .swiper-button-prev {
        left: calc(50% - 120px) !important;
    }
	
    .decoration_2 {
        top: 200px;
    }
	
	.summary_txt {
        width: 100%;
        top: 44%;
    }
	
	
.movie-btn {
     width: 61%;
}
	.btn {
    width: 70%;
}
	   .btn a {
        font-size: 16px;
        font-weight: bold;
    }

.comingsoon .btn span {
    font-size: 13px;
    letter-spacing: 0.8px;
}


.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
    bottom: var(--swiper-pagination-bottom, 0px);
}
	


    
  }




