@charset "UTF-8";
/*==========================
リセット
==========================*/
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.main-area.lp * {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.main-area.lp table {
  border-spacing: 0;
  border-collapse: collapse;
}

.main-area.lp * html table {
  border-collapse: collapse;
}

.main-area.lp *:first-child + html table {
  border-collapse: collapse;
}

.main-area.lp caption, th {
  text-align: left;
  font-weight: normal;
}

.main-area.lp table, th, td, img {
  border: 0;
}

.main-area.lp input {
  vertical-align: middle;
  outline: none;
}

.main-area.lp q:before, q:after {
  content: "";
}

.main-area.lp ul {
  list-style: none;
}

.main-area.lp hr,
.main-area.lp legend,
.main-area.lp caption {
  display: none;
}

.main-area.lp img {
  border: 0;
  vertical-align: bottom;
}

.main-area.lp a:focus {
  outline: none;
}

/* aタグ設定
------------------------------------- */
.alpha a:hover {
  opacity: 0.75;
}

.main-area.lp a {
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
  text-decoration: none;
}

/* 基本設定
------------------------------------- */
html {
  font-size: 62.5%;
}

body {
  -webkit-text-size-adjust: 100%;
  font-family: "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", 'Noto Serif JP', "MS P明朝", "MS PMincho", serif;
  color: #595757;
}

.main-area.lp ul {
  list-style: none;
}

/*
-------------------------------------*/
.main-area.lp {
  width: 100%;
  height: auto;
  background-image: url("../img/background.jpg");
  position: relative;
}
@media screen and (max-width: 767px) {
  .main-area.lp {
    font-family: "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", 'Noto Serif JP', "MS P明朝", "MS PMincho", serif;
  }
}
.main-area.lp img {
  width: 100%;
  height: auto;
}
.main-area.lp .en {
  font-family: "EB Garamond", serif;
  font-weight: 400;
  font-style: normal;
}
.main-area.lp .serif {
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-style: normal;
}
.main-area.lp .fv-area {
  background-image: url("../img/bg_top.jpg");
  background-size: cover;
  width: 100%;
  height: 49.0483162518vw;
  position: relative;
}
@media screen and (max-width: 768px) {
  .main-area.lp .fv-area {
    background-image: url("../img/bg_top_sp.jpg");
       /* background-image: url("../img/bg_top_sp_square.jpg"); */
    height: 135.2vw;
        /* height: 100.2vw; */
  }
}
.main-area.lp .fv-ttl {
  max-width: 25.4758418741vw;
  width: 100%;
  height: auto;
  position: absolute;
  top: 44%;
  margin-left:7vw;
}
@media screen and (max-width: 768px) {
  .main-area.lp .fv-ttl {
    max-width: 65.0666666667vw;
    right: -14.5%;
    transform: translate(-50%, -50%);
    top: unset;
    bottom: 4.4vw;
  }
}
.main-area.lp .bg-light {
  background-image: url("../img/bg_light.png");
  background-repeat: repeat-y;
  background-position: center -25px;
  background-size: contain;
  padding-bottom: 40px;
}
@media screen and (min-width: 1366px) {
  .main-area.lp .bg-light {
    background-size: 1374px;
  }
}
@media screen and (max-width: 768px) {
  .main-area.lp .bg-light {
    background-position: center top;
    background-image: url("../img/bg_light_sp.png");
    padding-bottom: 8vw;
  }
}
.main-area.lp .top-area {
  text-align: center;
}

.main-area.lp .top-area .concept-area {
  max-width: 740px;
  margin: 0 auto;
  
}
@media screen and (max-width: 768px) {
  .main-area.lp .top-area .concept-area {
    max-width: 85.3333333333vw;
    padding: 3.2vw 0;
  }
}
.main-area.lp .top-area .concept-area .inner {
  background-color: #fff;
  /* border-radius: 10px; */
  padding: 80px 20px 70px 20px;
}
@media screen and (max-width: 768px) {
  .main-area.lp .top-area .concept-area .inner {
    max-width: 80vw;
    margin: 0 auto;
    /* border-radius: 1.3333333333vw; */
    padding: calc(121 / 750 * 100vw) 1.3333333333vw calc(120 / 750 * 100vw);
  }
}
.main-area.lp .top-area .concept-area .ttl {
  font-size: 40px;
  letter-spacing: 0.01em;
  padding-bottom: 45px;
}
@media screen and (max-width: 768px) {
  .main-area.lp .top-area .concept-area .ttl {
    font-size: 7.2vw;
    padding-bottom: 11vw;
  }
}
.main-area.lp .top-area .concept-area .sub-ttl {
  font-size: 18px;
  letter-spacing: 0.12em;
  padding-bottom: 43px;
}
@media screen and (max-width: 768px) {
  .main-area.lp .top-area .concept-area .sub-ttl {
    font-size: 3.7333333333vw;
    padding-bottom: 8.1333333333vw;
  }
}
.main-area.lp .top-area .concept-area .text-area p {
  font-size: 16px;
  line-height: 2.1;
  letter-spacing: 0.11em;
}
@media screen and (max-width: 768px) {
  .main-area.lp .top-area .concept-area .text-area p {
    font-size: 3.2vw;
    letter-spacing: 0.12em;
  }
}
.main-area.lp .top-area .concept-area .text-area p:not(:last-child) {
  padding-bottom: 25px;
}
@media screen and (max-width: 768px) {
  .main-area.lp .top-area .concept-area .text-area p:not(:last-child) {
    padding-bottom: calc(30 / 750 * 100vw);
  }
}
.main-area.lp .item-area {
  text-align: center;
  background-color: #998e8a;
  padding: 50px 20px 50px 20px;
}
@media screen and (max-width: 768px) {
  .main-area.lp .item-area {
    padding: 10vw 1.3333333333vw calc(190 / 750 * 10vw) 1.3333333333vw;
  }
}
.main-area.lp .item-area .ttl , .main-area.lp .fair-area .ttl  {
  font-size: 50px;
  padding-bottom: 138px;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 768px) {
  .main-area.lp .item-area .ttl , .main-area.lp .fair-area .ttl {
    font-size: 8.8vw;
    padding-bottom: 13.3333333333vw;
  }
}
.main-area.lp .item-area.limited .ttl{
  padding-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .main-area.lp .item-area.limited .ttl{
    padding-bottom: calc(100 / 750 * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .main-area.lp .item-area.limited {
    padding-top: calc(157 / 750 * 100vw);
    padding-bottom: calc(200 / 750 * 100vw);
  }
}
.main-area.lp .item-area .item-list {
  display: grid;
  gap: 20px;
  max-width: 1040px;
  margin: 0 auto 40px;
  justify-content: center;
}

/* PC表示のデフォルト設定 - これをCSSファイルの上部に追加 */
.pc-items {
  display: block;
}
.sp-items {
  display: none;
}

@media screen and (max-width: 767px) {
  .main-area.lp .item-area .item-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    max-width: 90.6666666667vw;
    margin: 0 auto 20px;
  }
  
  .main-area.lp .item-area .item-list li {
    width: 100%;
    padding-bottom: 5.3333333333vw;
  }
  
  /* 写真サイズの調整 */
  .main-area.lp .item-area .item-list .photo {
    max-width: 100%;
    /* border-radius: 1.3333333333vw 1.3333333333vw 0 0; */
  }
  
  /* ホバー画像サイズの修正 */
  .main-area.lp .item-area .item-list .hover {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

/* PC表示用（768px以上）*/
@media screen and (min-width: 768px) {
  .main-area.lp .item-area .item-list {
    gap: 20px;
    max-width: 1040px;
    margin: 0 auto 40px;
    justify-content: center;
  }
  
  /* 4アイテムの行（最初の行） */
  .main-area.lp .item-area .item-list:nth-of-type(1) {
    grid-template-columns: repeat(4, minmax(200px, 240px));
  }
  
  /* 3アイテムの行（2行目） */
  .main-area.lp .item-area .item-list:nth-of-type(2) {
    grid-template-columns: repeat(3, minmax(200px, 240px));
  }
  
  /* 4アイテムの行（3行目） */
  .main-area.lp .item-area .item-list:nth-of-type(3) {
    grid-template-columns: repeat(4, minmax(200px, 240px));
  }
  
  /* 4アイテムの行（最後の行） */
  .main-area.lp .item-area .item-list:nth-of-type(4) {
    grid-template-columns: repeat(4, minmax(200px, 240px));
  }
}

/* スマホ表示 */
@media screen and (max-width: 767px) {
  .pc-items {
    display: none;
  }
  .sp-items {
    display: block;
  }
  
  /* スマホ用の2列グリッドスタイル */
  .sp-items .item-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    max-width: 90vw;
    margin: 0 auto;
  }
}


.main-area.lp .item-area .item-list a {
  color: #f2f2f2;
}
.main-area.lp .item-area .item-list a .photo .item {
  transition: 0.7s;
}
.main-area.lp .item-area .item-list a:hover .hover {
  opacity: 1;
}
.main-area.lp .item-area .item-list a:hover .photo .item {
  transform: scale(1.2);
}
.main-area.lp .item-area .item-list .hover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%; /* 追加 */
  height: 100%; /* 追加 */
  opacity: 0;
  transition: 0.7s;
  overflow: hidden;
}

.main-area.lp .item-area .item-list .photo {
  position: relative; /* 追加 */
  /* border-radius: 10px 10px 0 0; */
  max-width: 340px;
  aspect-ratio: 1;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .main-area.lp .item-area .item-list .photo {
    /* border-radius: 1.3333333333vw 1.3333333333vw 0 0; */
    max-width: 44vw;
  }
}
.main-area.lp .item-area .item-list .price {
  
  padding: 10px 10px;
  /* border-radius: 0 0 10px 10px; */
  min-height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .main-area.lp .item-area .item-list .price {
    /* border-radius: 0 0 1.3333333333vw 1.3333333333vw; */
    padding: 0.6666666667vw 1vw;
    min-height: 12vw;
    background-color:#998e8a ;
  }
}
.main-area.lp .item-area .item-list .price p {
  font-size: 12px;
  letter-spacing: 0.05em;
  line-height: 1.83;
}
@media screen and (max-width: 768px) {
  .main-area.lp .item-area .item-list .price p {
    font-size: 2.9666666667vw;
    letter-spacing: 0.02em;
    line-height: 1.5;
  }
}

.main-area.lp .item-area.limited {
  background-color: #fff5f0;
}
.main-area.lp .item-area .fv-limited {
  max-width: 1040px;
  margin: 0 auto;
  padding-bottom: 85px;
}
@media screen and (max-width: 768px) {
  .main-area.lp .item-area .fv-limited {
    max-width: calc(680 / 750 * 100vw);
    padding-bottom: calc(60 / 750 * 100vw);
  }
}



.main-area.lp .bottom-area {
  padding: 50px 20px 30px 20px;
}

.main-area.lp .fair-area {
  background-color: #998e8a;
  max-width: 950px;
  margin: 0 auto;
  padding: 110px 20px 68px 20px;
 
}
@media screen and (max-width: 768px) {
  .main-area.lp .fair-area {
    max-width: calc(680 / 750 * 100vw);
  }
}
.main-area.lp .fair-area .ttl {
  text-align: center;
  padding-bottom: 32px;
}
@media screen and (max-width: 768px) {
  .main-area.lp .fair-area .ttl {
    padding-bottom: calc(38 / 750 * 100vw);
  }
}
.main-area.lp .fair-area .period {
  text-align: center;
  font-size: 22px;
  letter-spacing: 0.03em;
  padding-bottom: 70px;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .main-area.lp .fair-area .period {
    font-size: calc(26 / 750 * 100vw);
    padding-bottom: calc(80 / 750 * 100vw);
  }
}

.main-area.lp .fair-area .period .day {
  font-size: 16px;
  margin-left: 0.4em;
  margin-right: -0.6em;
  letter-spacing: 0.3em;
}
@media screen and (max-width: 768px) {
  .main-area.lp .fair-area .period .day {
    font-size: calc(20 / 750 * 100vw);
  }
}
.main-area.lp .fair-area .period .line {
  font-size: 18px;
  margin-left: 1em;
  margin-right: 0.5em;
}
@media screen and (max-width: 768px) {
  .main-area.lp .fair-area .period .line {
    font-size: calc(24 / 750 * 100vw);
  }
}
.main-area.lp .fair-area .period .num {
  display: inline-block;
  margin-left: 0.18em;
  margin-right: 0.15em;
}



.main-area.lp .bottom-area .wrap {
  max-width: 820px;
  margin: 0 auto;
  /* border-radius: 10px; */
  padding: 45px 20px;
  background-color: #ffffff;
  border: 1px solid rgb(12, 12, 12);
}
@media screen and (max-width: 768px) {
  .main-area.lp .bottom-area .wrap {
    max-width: calc(600 / 750 * 100vw);
    /* border-radius: 1.3333333333vw; */
    padding: calc(80 / 750 * 100vw) 0 calc(66 / 750 * 100vw);
    background-color: #ffffff;
    border: 1px solid rgb(12, 12, 12);
  }
}
.main-area.lp .bottom-area .wrap:nth-child(3) {
  margin-bottom: 45px;
}
@media screen and (max-width: 768px) {
  .main-area.lp .bottom-area .wrap:nth-child(3) {
    margin-bottom: calc(40 / 750 * 100vw);
  }
}
.main-area.lp .bottom-area .inner {
  max-width: 716px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .main-area.lp .bottom-area .inner {
    max-width: 76vw;
    justify-content: center;
    text-align: center;
  }
}
.main-area.lp .bottom-area .inner .text-side {
  max-width: 367px;
  padding-right: 20px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .main-area.lp .bottom-area .inner .text-side {
    max-width: none;
    padding-right: 0;
  }
}
@media screen and (max-width: 768px) {
  .main-area.lp .bottom-area .inner .text-side img {
    max-width: 46.6666666667vw;
    margin: 0 auto;
    padding-bottom: 4.8vw;
    border-radius: calc(10 / 750 * 100vw);
  }
}
.main-area.lp .bottom-area .inner .sub-ttl {
  font-size: 40px;
  letter-spacing: 0.01em;
  padding-bottom: 15px;
}
@media screen and (max-width: 768px) {
  .main-area.lp .bottom-area .inner .sub-ttl {
    font-size: calc(54 / 750 * 100vw);
    letter-spacing: 0.02em;
    padding-bottom: calc(20 / 750 * 100vw);
  }
}
.main-area.lp .bottom-area .inner .ttl {
  font-size: 18px;
  padding-bottom: 29px;
  border-bottom: 1px solid #5d5d5d;
  margin-bottom: 10px;
  letter-spacing: 0.12em;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .main-area.lp .bottom-area .inner .ttl {
    max-width: calc(480 / 750 * 100vw);
    font-size: 3.2vw;
    letter-spacing: 0.12em;
    padding-bottom: 4.5333333333vw;
    text-align: center;
    margin: 0 auto 5.8666666667vw;
  }
}
.main-area.lp .bottom-area .inner .text {
  font-size: 14px;
  line-height: 1.85;
  letter-spacing: 0.1em;
  padding-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .main-area.lp .bottom-area .inner .text {
    font-size: 3.0vw;
    line-height: 1.75;
    letter-spacing: 0.08em;
    padding-bottom: 5.7333333333vw;
  }
}
.main-area.lp .bottom-area .inner .note {
  font-size: 12px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .main-area.lp .bottom-area .inner .note {
    line-height: 1.83;
    font-size: 2.6666666667vw;
    letter-spacing: 0.04em;
  }
}
.main-area.lp .bottom-area .inner .img-side {
  max-width: 340px;
  width: 100%;
  height: auto;
}
.main-area.lp .btn.back {
  display: flex;
  justify-content: center;
}
.main-area.lp .btn.back a {
  color: #595757;
  font-size: 3rem;
  letter-spacing: 0.01em;
  line-height: 1;
  padding-bottom: 8px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .main-area.lp .btn.back a {
    font-size: 5.3333333333vw;
    padding-bottom: 0.6666666667vw;
  }
}
.main-area.lp .btn.back a::after {
  content: "";
  width: 0;
  height: 1px;
  background-color: #595757;
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  transition: 0.7s;
}
@media screen and (max-width: 768px) {
  .main-area.lp .btn.back a::after {
    height: 0.1333333333vw;
  }
}
.main-area.lp .btn.back a:hover::after {
  width: 100%;
}
.main-area.lp .btn.top {
  position: fixed;
  right: 70px;
  bottom: 100px;
  max-width: 40px;
}
@media screen and (max-width: 768px) {
  .main-area.lp .btn.top {
    right: 4vw;
    bottom: 13.3333333333vw;
    max-width: 7.4666666667vw;
  }
}

.main-area.lp .sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .main-area.lp .sp {
    display: block !important;
  }
}
@media screen and (max-width: 768px) {
  .main-area.lp .pc {
    display: none !important;
  }
}







/* anim
------------------------------------- */

.main-area{
	overflow:hidden;
}
.main-area.lp .bg-light {
    background:none!important;
	overflow:hidden;
	position:relative;
}
.main-area.lp .bg-light .bgplate,.main-area.lp .bg-light .bgplate_sp{
	pointer-events:none;
	opacity:1;
	transition-duration:3s;
	transition-property:opacity,margin;
	
    /*background-image: url(../img/bg_light.png);
    background-repeat: repeat-y;
    background-position: center -25px;
    background-size: contain;*/
	position:absolute;
	width:100%;
	height:100%;
	/*transform-origin:50% 30%;
	transform:scale(1.1);
	opacity:0;
	transition-duration:1.5s;
	transition-property:opacity,transform;*/
	z-index:-1;
}
/*@media screen and (max-width: 768px) {
  .main-area.lp .bg-light .bgplate_sp {
    background-position: center top;
    background-image: url("../img/bg_light_sp.png");
	background-size:100% auto;
	transform-origin:50% 10%;
  }
}*/


.main-area.lp .bg-light .bgplate.on{
	transform:none;
	opacity:1;
}

.main-area.lp .bg-light .bgplate.on{
	transform:none;
	opacity:1;
}

.fv-wrap{
	overflow:hidden;
}


.fv-area{
	filter:blur(5px);
	transform:scale(1.2);
	opacity:0.4;
	transition-property:filter,transform,opacity;
	transition-duration:3s;
	transition-delay:1s;
}
.fv-area.on,.f-up.on{
	filter:none;
	transform:none;
	opacity:1;
}
.f-up{
	transform:translateY(4rem);
	opacity:0;
	transition-property:transform,opacity;
	transition-duration:3s;
	transition-delay:0.5s;
}

.l2r{
	mask-image: linear-gradient(90deg, black 0%,black 50%, transparent 52%, transparent 100%);
	mask-size:200% 200%;
	mask-position:100% 0;
	opacity: 0;
	transition-duration:3s;
	transition-delay:1s;
	transition-property:mask-position , opacity;
}

.l2r.on,.on .l2r{
	mask-position:0% 0;
	opacity:1;
}
.item-list li{
	overflow:hidden;
}


  .text-area span{
	  opacity:0;
	  transform:translateY(1rem);
		transition-duration:3s;
		transition-property:transform , opacity;
  }
  
.on  .text-area span{
	  opacity:1;
	  transform:none;
  }
  
.text-area span.ta1{
	transition-delay:1.5s;
}
.text-area span.ta2{
	transition-delay:2s;
}
.text-area span.ta3{
	transition-delay:2.5s;
}
.text-area span.ta4{
	transition-delay:3s;
}
.text-area span.ta5{
	transition-delay:3.5s;
}




.main-area.lp .item-list li a,.teximgwrap >img,.img-side >img{
	transform:scale(1.1);
	transition-property:opacity  , transform;
	opacity:0;
	filter:blur(5px);
	transition-duration:1.5s;
}
.fair-area .fair-area-h2-div{
	text-align:center;
}
.concept-area  h2.l2r,.item-area h2.l2r,.fair-area h2.l2r{
	transition-delay:0s;
	display:inline-block;
}
.sub-ttl{
	display:inline-block;
	transition-delay:0s;
}
.main-area.lp .item-list li.on a{
	transform:none;
	opacity:1;
	filter:none;
}

  @media screen and (max-width: 767px) {
	  .main-area.lp .item-list li:nth-child(2n) a{
		  transition-delay:0.5s;
  }
  }
  
    @media screen and (min-width: 768px) {
	  .main-area.lp .item-list li:nth-child(3n+2) a{
		  transition-delay:0.5s;
	  }
	  .main-area.lp .item-list li:nth-child(3n) a{
		  transition-delay:1s;
	  }
  }
  

.img-side >img{
	overflow:hidden;
}
	
.teximgwrap >img,.img-side >img{
	opacity:0;
	transition-delay:1.5s;
}

.on .teximgwrap >img,.on .img-side >img{
	transform:none;
	opacity:1;
	filter:none;
}
.teximgwrap{
	display:inline-block;
	overflow:hidden;
}


/*
.bg-light > *,.fv-area
{
	display:none;
}
.bgplate{
	display:block;
	height:2000px!important;
	width:100vw;
	pointer-events:all;
}

.bg-light{
	height:10000px;
	background:rgba(0,0,0,1)!important;
}
body{
	background:#000;
}
*/


@media screen and (max-width: 768px) {
	.bgplate{
		display:none;
	}
	/*.bgplate_sp{
		display:block;
		height:2000px!important;
		width:100vw;
		pointer-events:all;
	}*/
}
@media screen and (min-width: 768px) {
	.bgplate_sp{
		display:none;
	}
}

/*.bgplate,.bgplate_sp{
	background-position: center top;
    background-image: url("../img/bg_light_sp.png");
	background-size:100% auto;
}*/
	
.bgplate > div,.bgplate_sp > div{
	position:absolute;
	width:0;
	height:0;
}
.bgplate > div.rgt,.bgplate_sp > div.rgt{
	transform:scale(-100%);
}

.bgplate > div >div,.bgplate_sp > div >div{
	position:absolute;
	transform:translate(-50%,-50%);
	width:0;
	height:0;
	left:0;
	top:0;
	background-image:url(../img/spot1.png);
	background-size:contain;
	background-repeat:no-repeat;
}
.bgplate div.imgtype0{
	background-image:url(../img/spot2.png);
	width:6vw;
	height:6vw;
  transition-delay:0.5s;
	
}
.bgplate div.imgtype1{
	width:2.7vw;
	height:2.7vw;
	transform:translate(-50%,-50%) rotate(-90deg);
  transition-delay:0.2s;
	
}
.bgplate div.imgtype2{
	width:2.7vw;
	height:2.7vw;
  transition-delay:0.7s;
	
}
.bgplate div.imgtype3{
	background-image:url(../img/spot2.png);
	width:2.7vw;
	height:2.7vw;
	transform:translate(-50%,-50%) rotate(-90deg);
  transition-delay:0.3s;
	
}

.bgplate div.imgtype4{
	width:2.5vw;
	height:2.5vw;
	transform:translate(-50%,-50%) rotate(-70deg);
  transition-delay:0.9s;
	
}

.bgplate div.imgtype5{
	background-image:url(../img/spot2.png);
	width:6vw;
	height:6vw;
  transition-delay:0.3s;
	
}

.bgplate div.imgtype6{
	background-image:url(../img/spot2.png);
	width:2.6vw;
	height:2.6vw;
  transition-delay:0.4s;
	
}

.bgplate div.imgtype7{
	width:2.7vw;
	height:2.7vw;
  transition-delay:0.5s;
	
}



.bgplate_sp div.imgtype0{
	background-image:url(../img/spot2.png);
	width:8vw;
	height:8vw;
	
}
.bgplate_sp div.imgtype1{
	width:4vw;
	height:4vw;
	transform:translate(-50%,-50%) rotate(-60deg);
	
}
.bgplate_sp div.imgtype2{
	width:4vw;
	height:4vw;
	
}
.bgplate_sp div.imgtype3{
	background-image:url(../img/spot2.png);
	width:4vw;
	height:4vw;
	transform:translate(-50%,-50%) rotate(-90deg);
	
}

.bgplate_sp div.imgtype4{
	width:3.5vw;
	height:3.5vw;
	transform:translate(-50%,-50%) rotate(-70deg);
	
}

.bgplate_sp div.imgtype5{
	background-image:url(../img/spot2.png);
	width:8vw;
	height:8vw;
	
}

.bgplate_sp div.imgtype6{
	background-image:url(../img/spot2.png);
	width:3.5vw;
	height:3.5vw;
	
}

.bgplate_sp div.imgtype7{
	width:4vw;
	height:4vw;
	
}


.main-area.lp .bg-light .bgplate >div div,.main-area.lp .bg-light .bgplate_sp >div div{
	opacity:0;
	transition-duration:1.5s;
	filter:blur(3px);
  transform:translate(-50%,-50%) scale(2.7) ;
  transition-property: transform,opacity,filter,margin;

}
.main-area.lp .bg-light .bgplate.on >div.on div,.main-area.lp .bg-light .bgplate_sp.on>div.on  div{
	opacity:1;
  filter:none;
  margin :0;
  transform:translate(-50%,-50%);
}

.main-area.lp .item-area .fv-limited {
	overflow:hidden;
	/* border-radius:10px; */
	padding-bottom:0!important;
	margin-bottom:85px;
}
@media screen and (max-width: 768px) {
	.main-area.lp .item-area .fv-limited {
		border-radius:calc(10 / 750 * 100vw);
		margin-bottom: calc(60 / 750 * 100vw);
	}
}
.fv-limited img{
	filter:blur(5px);
	transform:scale(1.2);
	opacity:0.4;
	transition-property:filter,transform,opacity;
	transition-duration:3s;
	transition-delay:1s;
}
.fv-limited.on img{
	filter:none;
	transform:none;
	opacity:1;
}

/* カルーセル用のスタイル */
.carousel-container {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  /* border-radius: 10px 10px 0 0; */
  -webkit-tap-highlight-color: transparent;
  touch-action: pan-y;
  cursor: grab;
}

.carousel-container:active {
  cursor: grabbing;
}

.carousel-slides {
  display: flex;
  width: 200%;
  height: 100%;
  transition: transform 0.7s ease; /* 0.4s→0.7sに変更 */
  will-change: transform;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.carousel-slide {
  width: 50%;
  height: 100%;
  flex-shrink: 0;
}

.carousel-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  -webkit-user-drag: none;
  pointer-events: none;
  user-select: none;
}

/* インジケーター */
.carousel-indicators {
  position: absolute;
  bottom: 10px;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  gap: 8px;
  z-index: 5;
}

.indicator {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #998e8a;
  cursor: pointer;
  transition: background-color 0.3s ease;
  border: 1px solid rgba(0, 0, 0, 0.2);
}

.indicator:hover {
  background-color: #998e8a;
}

.indicator.active {
  background-color: #fff;
}

/* レスポンシブ対応 */
@media screen and (max-width: 768px) {
  .carousel-container {
    /* border-radius: 1.3333333333vw 1.3333333333vw 0 0; */
  }
  
  .carousel-indicators {
    bottom: 5px;
  }
  
  .indicator {
    width: 8px;
    height: 8px;
  }
}