@charset "utf-8";@charset "UTF-8";
/* ------------------------
    カラム分け
------------------------ */
.grid-cmn {
  -js-display: flex;
  display: flex;
  flex-wrap: wrap;
  position: relative;
}

.grid-cmn.ai-center {
  align-items: center;
}

.grid-cmn.jc-center {
  justify-content: center;
}

.grid-cmn .col {
  box-sizing: border-box;
  position: relative;
}

.grid-cmn .col.col-l-2 {
  width: 16.6666%;
}

.grid-cmn .col.col-l-20p {
  width: 20%;
}

.grid-cmn .col.col-l-3 {
  width: 25%;
}

.grid-cmn .col.col-l-4 {
  width: 33.33333%;
}

.grid-cmn .col.col-l-5 {
  width: 41.66666%;
}

.grid-cmn .col.col-l-6 {
  width: 50%;
}

.grid-cmn .col.col-l-7 {
  width: 58.33333%;
}

.grid-cmn .col.col-l-8 {
  width: 66.66666%;
}

.grid-cmn .col.col-l-9 {
  width: 75%;
}

.grid-cmn .col.col-l-10 {
  width: 83.33333%;
}

.grid-cmn .col.col-l-12 {
  width: 100%;
}

.grid-cmn .order-l-1 {
  order: 1;
}

.grid-cmn .order-l-2 {
  order: 2;
}

.grid-cmn .order-l-3 {
  order: 3;
}

.grid-cmn .order-l-4 {
  order: 4;
}

.grid-cmn .order-l-5 {
  order: 5;
}

.grid-cmn .order-l-6 {
  order: 6;
}

@media screen and (max-width: 1024px) {
  .grid-cmn .col.col-m-2 {
    width: 16.6666%;
  }
  .grid-cmn .col.col-m-20p {
    width: 20%;
  }
  .grid-cmn .col.col-m-3 {
    width: 25%;
  }
  .grid-cmn .col.col-m-4 {
    width: 33.33333%;
  }
  .grid-cmn .col.col-m-5 {
    width: 41.66666%;
  }
  .grid-cmn .col.col-m-6 {
    width: 50%;
  }
  .grid-cmn .col.col-m-7 {
    width: 58.33333%;
  }
  .grid-cmn .col.col-m-8 {
    width: 66.66666%;
  }
  .grid-cmn .col.col-m-9 {
    width: 75%;
  }
  .grid-cmn .col.col-m-10 {
    width: 83.33333%;
  }
  .grid-cmn .col.col-m-12 {
    width: 100%;
  }
  .grid-cmn .order-m-1 {
    order: 1;
  }
  .grid-cmn .order-m-2 {
    order: 2;
  }
  .grid-cmn .order-m-3 {
    order: 3;
  }
  .grid-cmn .order-m-4 {
    order: 4;
  }
  .grid-cmn .order-m-5 {
    order: 5;
  }
  .grid-cmn .order-m-6 {
    order: 6;
  }
}
@media only screen and (max-width: 768px) {
  .grid-cmn .col.col-s-12 {
    width: 100%;
  }
  .grid-cmn .col.col-s-10 {
    width: 83.33333%;
  }
  .grid-cmn .col.col-s-9 {
    width: 75%;
  }
  .grid-cmn .col.col-s-8 {
    width: 66.66666%;
  }
  .grid-cmn .col.col-s-7 {
    width: 58.33333%;
  }
  .grid-cmn .col.col-s-6 {
    width: 50%;
  }
  .grid-cmn .col.col-s-5 {
    width: 41.66666%;
  }
  .grid-cmn .col.col-s-4 {
    width: 33.33333%;
  }
  .grid-cmn .col.col-s-3 {
    width: 25%;
  }
  .grid-cmn .col.col-s-20p {
    width: 20%;
  }
  .grid-cmn .col.col-s-2 {
    width: 16.6666%;
  }
  .grid-cmn .order-s-1 {
    order: 1;
  }
  .grid-cmn .order-s-2 {
    order: 2;
  }
  .grid-cmn .order-s-3 {
    order: 3;
  }
  .grid-cmn .order-s-4 {
    order: 4;
  }
  .grid-cmn .order-s-5 {
    order: 5;
  }
  .grid-cmn .order-s-6 {
    order: 6;
  }
}
.main .pic_10::after, .main .wrap_08::after, .main .pic_05::after, .main .pic_04::before, .main .pic_03 .img::before {
  /*opacity: 0;
  visibility: hidden;
  transition: opacity 0.6s ease-out, visibility 0.6s ease-out;*/
}

.img {
  opacity: 0; /* 透明 */
  transform: translateY(15px); /* 少し下にずらす */
  visibility: hidden; /* **初期は完全に非表示** */
  /* opacityとtransformはアニメーションの秒数を指定 */
  /* visibilityは、フェードアウト後に隠すためにトランジション秒数を0sにして遅延時間を設定 */
  transition: opacity 0.8s ease-out, transform 0.8s ease-out, visibility 0s 0.8s;
}

/* アニメーション後の状態：完全に表示され、元の位置に戻る */
.img.is-visible {
  opacity: 1; /* 不透明 */
  transform: translateY(0); /* 元の位置に戻る */
  visibility: visible; /* **表示状態にする** */
  /* フェードインする際に、visibilityはすぐに表示されるように遅延を0sに設定 */
  transition: opacity 0.6s ease-out, transform 0.6s ease-out, visibility 0s 0s;
}

.pic_02 {
  /* 初期状態: 透明で、通常の位置に表示 */
  opacity: 0; /* 最初は非表示 */
  transform: translateY(0px); /* 少し下に配置して、上へ移動するように見せる */
  transition: opacity 0.5s ease-out, margin-top 0.5s ease-out; /* フェードインと移動のアニメーション */
}

.pic_02.is-active {
  opacity: 1; /* フェードイン */
  transform: translateY(0); /* 元の位置に戻る */
  margin-top: -94px !important;
}

.pc {
  width: 100%;
  background-color: #431018;
}

.al-center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.main {
  font-family: "Libre Baskerville";
  font-optical-sizing: auto;
  color: #fff;
  width: 100%;
  margin: 0 auto;
  background-color: #431018;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.05em;
  width: 100%;
  max-width: 560px;
}
.main a {
  transition-property: opacity;
  transition-duration: 0.4s;
  color: #fff;
  text-decoration: underline;
}
.main a:hover {
  opacity: 1;
  text-decoration: none;
}
.main p {
  font-size: 14px;
  font-weight: 300;
  line-height: 1.64;
  margin-left: auto;
  margin-right: auto;
}
.main img {
  vertical-align: bottom;
  width: 100%;
}
@keyframes revealText_Width {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}
@keyframes revealText_Height {
  from {
    height: 0;
  }
  to {
    height: 100%;
  }
}
.main .pic_01 {
  display: block;
  width: 100%;
  height: 100lvh;
  background-image: url("/photo/page/20250924/img/001.jpg");
  background-repeat: no-repeat;
  background-size: auto 100%;
  background-position: center 0;
  position: relative;
  /*position: sticky;
  top: 0;*/
}
.main .pic_01 .tex_flex {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.main .pic_01 .tex_warp {
  position: relative;
  top: -5lvh;
  left: 1.45vw;
}
.main .pic_01 .main__title {
  display: none;
  width: 100%;
  text-align: center;
  font-size: 12px;
  text-align: center;
  letter-spacing: 0.05em;
  line-height: 1.66;
  padding: 20px 0 0 0;
}
.main .pic_01 .txt_01 {
  width: 0;
  margin: 0;
  top: 25px;
  left: -8%;
  position: relative;
  overflow: hidden;
}
.main .pic_01 .txt_01 img {
  width: 88px;
  max-width: none !important;
}
.main .pic_01 .txt_01_anime {
  width: 88px;
  transition: width 0.3s ease-in-out;
  /*@extend %anime-base;
  &::after {
      content: '';
      width: 0;
      animation: revealText_Width 0.5s forwards; 
      background-image: url('/photo/page/20250924/img/txt_1er.svg');
  }*/
}
.main .pic_01 .img_wrap_copy02 {
  width: 284px;
}
.main .pic_01 .txt_02 {
  width: 0;
  margin: 0;
  overflow: hidden;
}
.main .pic_01 .txt_02 img {
  width: 284px;
  max-width: none !important;
}
.main .pic_01 .txt_02_anime {
  width: 284px;
  transition: width 0.5s ease-in-out;
}
.main .wrap_content {
  width: 100%;
  position: relative;
  top: 0px;
}
.main .pic_02 {
  width: 85.3%;
  margin: 0 auto 0 auto;
  position: relative;
}
.main .pic_03 {
  padding: 42px 0 0 0;
  margin: 0 0 80px 0;
  position: relative;
  display: block;
  box-sizing: border-box;
}
.main .pic_03 .img {
  width: 100%;
  margin: 0;
  position: relative;
  z-index: 100;
}
.main .pic_03 .img img {
  display: block;
  width: 61.8%;
  margin: 0 0 0 auto;
}
.main .pic_03 .img::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: url("/photo/page/20250924/img/decoration_1.png") no-repeat center 98%;
  background-size: 100% auto;
}
.main .pic_03 .img_02 {
  width: 100%;
  margin: -65px 0 0 0;
  position: relative;
  z-index: 99;
}
.main .pic_03 .img_02 img {
  display: block;
  width: 85.3%;
  margin: 0 auto 0 0;
}
.main .pic_03 .tex_warp {
  display: inline-block;
  position: absolute;
  left: calc((100% - 318px) / 2);
  z-index: 102;
}
.main .pic_03 .tex_warp .txt_01 {
  width: 0;
  margin: 0 auto;
  overflow: hidden;
}
.main .pic_03 .tex_warp .txt_01 img {
  width: 318px;
  max-width: none !important;
}
.main .pic_03 .tex_warp .txt_01_anime {
  width: 318px;
  transition: width 0.5s ease-in-out;
}
.main .pic_03 .tex_warp_02 {
  display: inline-block;
  position: absolute;
  left: 10%;
  margin-top: -47px;
  z-index: 101;
}
.main .pic_03 .tex_warp_02 .txt_01 {
  width: 0;
  margin: 0 auto;
  overflow: hidden;
}
.main .pic_03 .tex_warp_02 .txt_01 img {
  width: 322px;
  max-width: none !important;
}
.main .pic_03 .tex_warp_02 .txt_01_anime {
  width: 322px;
  transition: width 0.5s ease-in-out;
}
.main .pic_03 .tex_warp_03 {
  display: inline-block;
  position: absolute;
  left: 72%;
  margin-top: 15px;
  z-index: 101;
}
.main .pic_03 .tex_warp_03 .txt_01 {
  width: 0;
  margin: 0 auto;
  overflow: hidden;
}
.main .pic_03 .tex_warp_03 .txt_01 img {
  width: 93px;
  max-width: none !important;
}
.main .pic_03 .tex_warp_03 .txt_01_anime {
  width: 93px;
  transition: width 0.3s ease-in-out;
}
.main .pic_03_item {
  padding: 0 0 105px 0;
}
.main .wrap_04 {
  padding: 80px 0 45px 0;
  background-color: #c7c7c7;
  position: relative;
}
.main .wrap_04 .item {
  color: #000;
  padding-top: 40px;
}
.main .wrap_04 .item a {
  color: #000;
}
.main .pic_04::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 5px;
  left: 0px;
  background: url("/photo/page/20250924/img/decoration_2.png") no-repeat 15px 36px;
  background-size: 17% auto;
}
.main .pic_04 .img {
  width: 85.3%;
  margin: 0 auto 0 auto;
  position: relative;
}
.main .pic_04 .tex_warp {
  display: inline-block;
  position: absolute;
  left: calc((100% - 117px) / 2);
  top: 32px;
}
.main .pic_04 .tex_warp .txt_01 {
  width: 0;
  overflow: hidden;
}
.main .pic_04 .tex_warp .txt_01 img {
  width: 117px;
  max-width: none !important;
}
.main .pic_04 .tex_warp .txt_01_anime {
  width: 117px;
  transition: width 0.3s ease-in-out;
}
.main .pic_05 {
  position: relative;
}
.main .pic_05::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 51%;
  background: url("/photo/page/20250924/img/decoration_3.png") no-repeat 0 100%;
  background-size: 100% auto;
  z-index: 105;
}
.main .pic_05 .img {
  width: 100%;
  margin: 0 auto 0 auto;
  position: relative;
  top: -1px;
}
.main .pic_06 {
  position: relative;
  top: 100px;
  z-index: 106;
}
.main .pic_06 .img {
  width: 80%;
  margin: 0 0 0 auto;
  position: relative;
}
.main .pic_06 .tex_warp {
  display: inline-block;
  position: relative;
  left: calc(100% - 288px);
  top: 10px;
}
.main .pic_06 .tex_warp .txt_01 {
  width: 0;
  overflow: hidden;
}
.main .pic_06 .tex_warp .txt_01 img {
  width: 276px;
  max-width: none !important;
}
.main .pic_06 .tex_warp .txt_01_anime {
  width: 276px;
  transition: width 0.5s ease-in-out;
}
.main .pic_07 {
  position: relative;
  top: 120px;
}
.main .pic_07 .img {
  width: 100%;
  margin: 0 auto 0 auto;
  position: relative;
}
.main .pic_07 .tex_warp {
  display: inline-block;
  position: relative;
  top: 20px;
  left: calc(100% - 90px);
}
.main .pic_07 .tex_warp .txt_01 {
  width: 0;
  overflow: hidden;
}
.main .pic_07 .tex_warp .txt_01 img {
  width: 71px;
  max-width: none !important;
}
.main .pic_07 .tex_warp .txt_01_anime {
  width: 71px;
  transition: width 0.3s ease-in-out;
}
.main .pic_07_item {
  padding: 180px 0 90px 0;
}
.main .wrap_08 {
  padding: 0 0 74px 0;
  background-color: #c7c7c7;
  position: relative;
}
.main .wrap_08::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  background: url("/photo/page/20250924/img/decoration_4.png") no-repeat 30px 40px;
  background-size: 92% auto;
  z-index: 106;
}
.main .wrap_08 .item {
  color: #000;
  padding-top: 95px;
}
.main .wrap_08 .item a {
  color: #000;
}
.main .pic_08 {
  position: relative;
  top: -1px;
}
.main .pic_08 .img {
  width: 91.7%;
  margin: 0 auto 0 0;
  position: relative;
}
.main .pic_09 {
  position: relative;
  top: 64px;
}
.main .pic_09 .img {
  width: 91.7%;
  margin: 0 0 0 auto;
  position: relative;
  top: -12px;
}
.main .pic_09 .tex_warp {
  display: inline-block;
  position: relative;
  left: 0;
  top: -13px;
  z-index: 107;
}
.main .pic_09 .tex_warp .txt_01 {
  width: 0;
  overflow: hidden;
}
.main .pic_09 .tex_warp .txt_01 img {
  width: 100vw;
  max-width: none !important;
}
.main .pic_09 .tex_warp .txt_01_anime {
  width: 100%;
  transition: width 0.5s ease-in-out;
}
.main .pic_09 .tex_warp_02 {
  display: inline-block;
  position: relative;
  left: 38px;
  top: 10px;
}
.main .pic_09 .tex_warp_02 .txt_01 {
  width: 0;
  overflow: hidden;
}
.main .pic_09 .tex_warp_02 .txt_01 img {
  width: 70px;
  max-width: none !important;
}
.main .pic_09 .tex_warp_02 .txt_01_anime {
  width: 70px;
  transition: width 0.3s ease-in-out;
}
.main .pic_10 {
  position: relative;
}
.main .pic_10 .img {
  width: 100%;
  margin: 0 auto 0 auto;
  position: relative;
}
.main .pic_10::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  background: url("/photo/page/20250924/img/decoration_5.png") no-repeat center 92%;
  background-size: 100% auto;
  z-index: 108;
}
.main .pic_10 .tex_warp {
  display: inline-block;
  position: absolute;
  top: 47%;
  left: 0;
  z-index: 109;
}
.main .pic_10 .tex_warp .txt_01 {
  width: 0;
  overflow: hidden;
}
.main .pic_10 .tex_warp .txt_01 img {
  width: 100vw;
  max-width: none !important;
}
.main .pic_10 .tex_warp .txt_01_anime {
  width: 100%;
  transition: width 0.5s ease-in-out;
}
.main .pic_11 {
  position: relative;
  top: 42px;
}
.main .pic_11 .img {
  width: 90.6%;
  margin: 0 auto 0 auto;
  position: relative;
  top: 34px;
}
.main .pic_11 .tex_warp {
  display: inline-block;
  position: relative;
  left: calc((100% - 84px) / 2);
}
.main .pic_11 .tex_warp .txt_01 {
  width: 0;
  overflow: hidden;
}
.main .pic_11 .tex_warp .txt_01 img {
  width: 84px;
  max-width: none !important;
}
.main .pic_11 .tex_warp .txt_01_anime {
  width: 84px;
  transition: width 0.3s ease-in-out;
}
.main .pic_11_item {
  padding: 120px 0 150px 0;
}
.main .item {
  line-height: 1;
  position: relative;
  z-index: 500;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
}
.main .item.item_left_18 {
  margin: 0 0 0 18px;
}
.main .item.item_left_30 {
  margin: 0 0 0 30px;
}
.main .item.item_left_40 {
  margin: 0 0 0 40px;
}
.main .item.item_left_20 {
  margin: 0 0 0 20px;
}
.main .item.item_left_28 {
  margin: 0 0 0 28px;
}
.main .item.item_center {
  margin: 0 auto;
}
.main .item.item_right {
  margin: 0;
}
.main .item .item_lists {
  text-align: left;
}
.main .item .item_lists .list {
  font-size: 10px !important;
  letter-spacing: 0;
  margin: 0 0 10px 0;
}
.main .item .item_lists .list .item_name {
  display: inline-block;
  margin: 0 5px 0 0;
}
.main .item .item_lists .list .price {
  display: inline-block;
  margin: 0 5px 0 0;
}
.main .item .item_lists .list .bland {
  display: inline-block;
  margin: 0 5px 0 0;
}
.main .item .item_lists .list .link {
  display: inline-block;
}
.main .item .item_lists .list:last-child {
  margin: 0;
}
.main .sticky-fix {
  position: sticky;
  width: 100%;
  height: 100vh;
  top: 65px;
}
.main .staff {
  display: inline-block;
  box-sizing: border-box;
  text-align: center;
  padding: 0px 0 70px 0;
  margin: 0 auto;
  line-height: 1.8;
  font-size: 10px;
  letter-spacing: 0.03em;
}

.fade-target.is-visible::before {
  opacity: 1 !important;
  visibility: visible !important;
}

.only-pc {
  display: block;
}

.only-sp {
  display: none;
}

@media only screen and (min-width: 769px) {
  .main .pic_01 {
    background-size: cover;
  }
  .main .pic_01 .tex_warp .txt_01 {
    width: 0;
    top: 3vw;
  }
  .main .pic_01 .tex_warp .txt_01 img {
    width: 131.384px;
  }
  .main .pic_01 .tex_warp .txt_01_anime {
    width: 131.384px;
    transition: width 0.3s ease-in-out;
  }
  .main .pic_01 .tex_warp .img_wrap_copy02 {
    width: 424.012px;
  }
  .main .pic_01 .tex_warp .txt_02 {
    width: 0;
  }
  .main .pic_01 .tex_warp .txt_02 img {
    width: 424.012px;
  }
  .main .pic_01 .tex_warp .txt_02_anime {
    width: 424.012px;
    transition: width 0.6s ease-in-out;
  }
  .main .pic_02 {
    width: 85.3%;
  }
  .main .pic_03 .tex_warp .txt_01 img {
    width: 474.774px;
  }
  .main .pic_03 .tex_warp .txt_01_anime {
    width: 474.774px;
    transition: width 0.5s ease-in-out;
  }
  .main .pic_03 .tex_warp_02 {
    left: 11%;
    margin-top: -74px;
  }
  .main .pic_03 .tex_warp_02 .txt_01 img {
    width: 480.746px;
    max-width: none !important;
  }
  .main .pic_03 .tex_warp_02 .txt_01_anime {
    width: 480.746px;
  }
  .main .pic_03 .tex_warp_03 .txt_01 img {
    width: 138.849px;
    max-width: none !important;
  }
  .main .pic_03 .tex_warp_03 .txt_01_anime {
    width: 138.849px;
  }
  .main .wrap_04 {
    padding-top: 18.5%;
  }
  .main .pic_04 .tex_warp {
    left: calc((100% - 174.681px) / 2);
  }
  .main .pic_04 .tex_warp .txt_01 img {
    width: 174.681px;
    max-width: none !important;
  }
  .main .pic_04 .tex_warp .txt_01_anime {
    width: 174.681px;
  }
  .main .pic_06 .tex_warp {
    left: 22%;
  }
  .main .pic_06 .tex_warp .txt_01 img {
    width: 412.068px;
    max-width: none !important;
  }
  .main .pic_06 .tex_warp .txt_01_anime {
    width: 412.068px;
  }
  .main .pic_07 .tex_warp .txt_01 img {
    width: 106.003px;
    max-width: none !important;
  }
  .main .pic_07 .tex_warp .txt_01_anime {
    width: 106.003px;
  }
  .main .pic_09 .tex_warp .txt_01 img {
    width: 559.875px;
    max-width: none !important;
  }
  .main .pic_09 .tex_warp .txt_01_anime {
    width: 559.875px;
  }
  .main .pic_09 .tex_warp_02 {
    left: 50px;
  }
  .main .pic_09 .tex_warp_02 .txt_01 img {
    width: 104.51px;
    max-width: none !important;
  }
  .main .pic_09 .tex_warp_02 .txt_01_anime {
    width: 104.51px;
  }
  .main .pic_10 .tex_warp .txt_01 img {
    width: 559.875px;
    max-width: none !important;
  }
  .main .pic_10 .tex_warp .txt_01_anime {
    width: 559.875px;
  }
  .main .pic_11 .tex_warp .txt_01 img {
    width: 125.412px;
    max-width: none !important;
  }
  .main .pic_11 .tex_warp .txt_01_anime {
    width: 125.412px;
  }
  .main .staff {
    font-size: 10px;
  }
}
@media only screen and (max-width: 768px) {
  .only-pc {
    display: none !important;
  }
  .only-sp {
    display: block !important;
  }
}